{
  "_format": "hh-sol-artifact-1",
  "contractName": "LineaRollup",
  "sourceName": "contracts/LineaRollup.sol",
  "abi": [
    {
      "inputs": [],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "ArrayLengthsDoNotMatch",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "emptyBlobIndex",
          "type": "uint256"
        }
      ],
      "name": "BlobSubmissionDataEmpty",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BlobSubmissionDataIsMissing",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BytesLengthNotMultipleOf32",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "bytesLength",
          "type": "uint256"
        }
      ],
      "name": "BytesLengthNotMultipleOfTwo",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "currentDataHash",
          "type": "bytes32"
        }
      ],
      "name": "DataAlreadySubmitted",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "index",
          "type": "uint256"
        }
      ],
      "name": "EmptyBlobDataAtIndex",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "EmptySubmissionData",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "recipient",
          "type": "address"
        }
      ],
      "name": "FeePaymentFailed",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "FeeTooLow",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "shnarf",
          "type": "bytes32"
        }
      ],
      "name": "FinalBlobNotSubmitted",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "finalBlockNumber",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "lastFinalizedBlock",
          "type": "uint256"
        }
      ],
      "name": "FinalBlockNumberLessThanOrEqualToLastFinalizedBlock",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "FinalBlockStateEqualsZeroHash",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "expected",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "value",
          "type": "bytes32"
        }
      ],
      "name": "FinalShnarfWrong",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "l2BlockTimestamp",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "currentBlockTimestamp",
          "type": "uint256"
        }
      ],
      "name": "FinalizationInTheFuture",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "expected",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "value",
          "type": "bytes32"
        }
      ],
      "name": "FinalizationStateIncorrect",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "FirstByteIsNotZero",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidMerkleProof",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidProof",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "errorReason",
          "type": "string"
        }
      ],
      "name": "InvalidProofOrProofVerificationRanOutOfGas",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidProofType",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "enum IPauseManager.PauseType",
          "name": "pauseType",
          "type": "uint8"
        }
      ],
      "name": "IsNotPaused",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "enum IPauseManager.PauseType",
          "name": "pauseType",
          "type": "uint8"
        }
      ],
      "name": "IsPaused",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "messageNumber",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "rollingHash",
          "type": "bytes32"
        }
      ],
      "name": "L1RollingHashDoesNotExistOnL1",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "merkleRoot",
          "type": "bytes32"
        }
      ],
      "name": "L2MerkleRootAlreadyAnchored",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "L2MerkleRootDoesNotExist",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "LastFinalizationTimeNotLapsed",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint32",
          "name": "leafIndex",
          "type": "uint32"
        },
        {
          "internalType": "uint32",
          "name": "maxAllowedIndex",
          "type": "uint32"
        }
      ],
      "name": "LeafIndexOutOfBounds",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "LimitIsZero",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "messageIndex",
          "type": "uint256"
        }
      ],
      "name": "MessageAlreadyClaimed",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "messageHash",
          "type": "bytes32"
        }
      ],
      "name": "MessageDoesNotExistOrHasAlreadyBeenClaimed",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "destination",
          "type": "address"
        }
      ],
      "name": "MessageSendingFailed",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "rollingHash",
          "type": "bytes32"
        }
      ],
      "name": "MissingMessageNumberForRollingHash",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "messageNumber",
          "type": "uint256"
        }
      ],
      "name": "MissingRollingHashForMessageNumber",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "OnlyNonFallbackOperator",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "shnarf",
          "type": "bytes32"
        }
      ],
      "name": "ParentBlobNotSubmitted",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "PeriodIsZero",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "PointEvaluationFailed",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "fieldElements",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "blsCurveModulus",
          "type": "uint256"
        }
      ],
      "name": "PointEvaluationResponseInvalid",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "expected",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "actual",
          "type": "uint256"
        }
      ],
      "name": "PrecompileReturnDataLengthWrong",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ProofIsEmpty",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "actual",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "expected",
          "type": "uint256"
        }
      ],
      "name": "ProofLengthDifferentThanMerkleDepth",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "RateLimitExceeded",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ReentrantCall",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint8",
          "name": "bits",
          "type": "uint8"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "SafeCastOverflowedUintDowncast",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "StartingRootHashDoesNotMatch",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ValueSentTooLow",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ZeroAddressNotAllowed",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ZeroHashNotAllowed",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "resettingAddress",
          "type": "address"
        }
      ],
      "name": "AmountUsedInPeriodReset",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "startBlockNumber",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "endBlockNumber",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "shnarf",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "parentStateRootHash",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "finalStateRootHash",
          "type": "bytes32"
        }
      ],
      "name": "DataFinalizedV3",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "parentShnarf",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "shnarf",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "finalStateRootHash",
          "type": "bytes32"
        }
      ],
      "name": "DataSubmittedV3",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "caller",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "fallbackOperator",
          "type": "address"
        }
      ],
      "name": "FallbackOperatorAddressSet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "caller",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "fallbackOperator",
          "type": "address"
        }
      ],
      "name": "FallbackOperatorRoleGranted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint8",
          "name": "version",
          "type": "uint8"
        }
      ],
      "name": "Initialized",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "l2MerkleRoot",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "treeDepth",
          "type": "uint256"
        }
      ],
      "name": "L2MerkleRootAdded",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "l2Block",
          "type": "uint256"
        }
      ],
      "name": "L2MessagingBlockAnchored",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "amountChangeBy",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "bool",
          "name": "amountUsedLoweredToLimit",
          "type": "bool"
        },
        {
          "indexed": false,
          "internalType": "bool",
          "name": "usedAmountResetToZero",
          "type": "bool"
        }
      ],
      "name": "LimitAmountChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes8",
          "name": "previousVersion",
          "type": "bytes8"
        },
        {
          "indexed": true,
          "internalType": "bytes8",
          "name": "newVersion",
          "type": "bytes8"
        }
      ],
      "name": "LineaRollupVersionChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_messageHash",
          "type": "bytes32"
        }
      ],
      "name": "MessageClaimed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "_from",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_to",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_fee",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_value",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_nonce",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "_calldata",
          "type": "bytes"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_messageHash",
          "type": "bytes32"
        }
      ],
      "name": "MessageSent",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "enum IPauseManager.PauseType",
          "name": "pauseType",
          "type": "uint8"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "role",
          "type": "bytes32"
        }
      ],
      "name": "PauseTypeRoleSet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "messageSender",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "enum IPauseManager.PauseType",
          "name": "pauseType",
          "type": "uint8"
        }
      ],
      "name": "Paused",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "periodInSeconds",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "limitInWei",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "currentPeriodEnd",
          "type": "uint256"
        }
      ],
      "name": "RateLimitInitialized",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "role",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "previousAdminRole",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "newAdminRole",
          "type": "bytes32"
        }
      ],
      "name": "RoleAdminChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "role",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "account",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "sender",
          "type": "address"
        }
      ],
      "name": "RoleGranted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "role",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "account",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "sender",
          "type": "address"
        }
      ],
      "name": "RoleRevoked",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "messageNumber",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "rollingHash",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "messageHash",
          "type": "bytes32"
        }
      ],
      "name": "RollingHashUpdated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "enum IPauseManager.PauseType",
          "name": "unPauseType",
          "type": "uint8"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "role",
          "type": "bytes32"
        }
      ],
      "name": "UnPauseTypeRoleSet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "messageSender",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "enum IPauseManager.PauseType",
          "name": "pauseType",
          "type": "uint8"
        }
      ],
      "name": "UnPaused",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "verifierAddress",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "proofType",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "verifierSetBy",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "oldVerifierAddress",
          "type": "address"
        }
      ],
      "name": "VerifierAddressChanged",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "CONTRACT_VERSION",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "DEFAULT_ADMIN_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "INBOX_STATUS_RECEIVED",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "INBOX_STATUS_UNKNOWN",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "OPERATOR_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "OUTBOX_STATUS_RECEIVED",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "OUTBOX_STATUS_SENT",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "OUTBOX_STATUS_UNKNOWN",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "PAUSE_ALL_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "PAUSE_BLOB_SUBMISSION_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "PAUSE_FINALIZATION_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "PAUSE_L1_L2_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "PAUSE_L2_L1_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "RATE_LIMIT_SETTER_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "UNPAUSE_ALL_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "UNPAUSE_BLOB_SUBMISSION_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "UNPAUSE_FINALIZATION_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "UNPAUSE_L1_L2_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "UNPAUSE_L2_L1_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "USED_RATE_LIMIT_RESETTER_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "VERIFIER_SETTER_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "VERIFIER_UNSETTER_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "shnarf",
          "type": "bytes32"
        }
      ],
      "name": "blobShnarfExists",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "exists",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_from",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_fee",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_value",
          "type": "uint256"
        },
        {
          "internalType": "address payable",
          "name": "_feeRecipient",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "_calldata",
          "type": "bytes"
        },
        {
          "internalType": "uint256",
          "name": "_nonce",
          "type": "uint256"
        }
      ],
      "name": "claimMessage",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "bytes32[]",
              "name": "proof",
              "type": "bytes32[]"
            },
            {
              "internalType": "uint256",
              "name": "messageNumber",
              "type": "uint256"
            },
            {
              "internalType": "uint32",
              "name": "leafIndex",
              "type": "uint32"
            },
            {
              "internalType": "address",
              "name": "from",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "to",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "fee",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "value",
              "type": "uint256"
            },
            {
              "internalType": "address payable",
              "name": "feeRecipient",
              "type": "address"
            },
            {
              "internalType": "bytes32",
              "name": "merkleRoot",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "data",
              "type": "bytes"
            }
          ],
          "internalType": "struct IL1MessageService.ClaimMessageWithProofParams",
          "name": "_params",
          "type": "tuple"
        }
      ],
      "name": "claimMessageWithProof",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "currentFinalizedShnarf",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "currentFinalizedState",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "currentL2BlockNumber",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "currentL2StoredL1MessageNumber",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "currentL2StoredL1RollingHash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "currentPeriodAmountInWei",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "currentPeriodEnd",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "currentTimestamp",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "dataHash",
          "type": "bytes32"
        }
      ],
      "name": "dataEndingBlock",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "endingBlock",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "dataHash",
          "type": "bytes32"
        }
      ],
      "name": "dataFinalStateRootHashes",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "finalStateRootHash",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "dataHash",
          "type": "bytes32"
        }
      ],
      "name": "dataParents",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "parentHash",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "dataHash",
          "type": "bytes32"
        }
      ],
      "name": "dataShnarfHashes",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "shnarfHash",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "dataHash",
          "type": "bytes32"
        }
      ],
      "name": "dataStartingBlock",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "startingBlock",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "fallbackOperator",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "_aggregatedProof",
          "type": "bytes"
        },
        {
          "internalType": "uint256",
          "name": "_proofType",
          "type": "uint256"
        },
        {
          "components": [
            {
              "internalType": "bytes32",
              "name": "parentStateRootHash",
              "type": "bytes32"
            },
            {
              "internalType": "uint256",
              "name": "endBlockNumber",
              "type": "uint256"
            },
            {
              "components": [
                {
                  "internalType": "bytes32",
                  "name": "parentShnarf",
                  "type": "bytes32"
                },
                {
                  "internalType": "bytes32",
                  "name": "snarkHash",
                  "type": "bytes32"
                },
                {
                  "internalType": "bytes32",
                  "name": "finalStateRootHash",
                  "type": "bytes32"
                },
                {
                  "internalType": "bytes32",
                  "name": "dataEvaluationPoint",
                  "type": "bytes32"
                },
                {
                  "internalType": "bytes32",
                  "name": "dataEvaluationClaim",
                  "type": "bytes32"
                }
              ],
              "internalType": "struct ILineaRollup.ShnarfData",
              "name": "shnarfData",
              "type": "tuple"
            },
            {
              "internalType": "uint256",
              "name": "lastFinalizedTimestamp",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "finalTimestamp",
              "type": "uint256"
            },
            {
              "internalType": "bytes32",
              "name": "lastFinalizedL1RollingHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes32",
              "name": "l1RollingHash",
              "type": "bytes32"
            },
            {
              "internalType": "uint256",
              "name": "lastFinalizedL1RollingHashMessageNumber",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "l1RollingHashMessageNumber",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "l2MerkleTreesDepth",
              "type": "uint256"
            },
            {
              "internalType": "bytes32[]",
              "name": "l2MerkleRoots",
              "type": "bytes32[]"
            },
            {
              "internalType": "bytes",
              "name": "l2MessagingBlocksOffsets",
              "type": "bytes"
            }
          ],
          "internalType": "struct ILineaRollup.FinalizationDataV3",
          "name": "_finalizationData",
          "type": "tuple"
        }
      ],
      "name": "finalizeBlocks",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "role",
          "type": "bytes32"
        }
      ],
      "name": "getRoleAdmin",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "role",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "grantRole",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "role",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "hasRole",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "messageHash",
          "type": "bytes32"
        }
      ],
      "name": "inboxL2L1MessageStatus",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "messageStatus",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "bytes32",
              "name": "initialStateRootHash",
              "type": "bytes32"
            },
            {
              "internalType": "uint256",
              "name": "initialL2BlockNumber",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "genesisTimestamp",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "defaultVerifier",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "rateLimitPeriodInSeconds",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "rateLimitAmountInWei",
              "type": "uint256"
            },
            {
              "components": [
                {
                  "internalType": "address",
                  "name": "addressWithRole",
                  "type": "address"
                },
                {
                  "internalType": "bytes32",
                  "name": "role",
                  "type": "bytes32"
                }
              ],
              "internalType": "struct IPermissionsManager.RoleAddress[]",
              "name": "roleAddresses",
              "type": "tuple[]"
            },
            {
              "components": [
                {
                  "internalType": "enum IPauseManager.PauseType",
                  "name": "pauseType",
                  "type": "uint8"
                },
                {
                  "internalType": "bytes32",
                  "name": "role",
                  "type": "bytes32"
                }
              ],
              "internalType": "struct IPauseManager.PauseTypeRole[]",
              "name": "pauseTypeRoles",
              "type": "tuple[]"
            },
            {
              "components": [
                {
                  "internalType": "enum IPauseManager.PauseType",
                  "name": "pauseType",
                  "type": "uint8"
                },
                {
                  "internalType": "bytes32",
                  "name": "role",
                  "type": "bytes32"
                }
              ],
              "internalType": "struct IPauseManager.PauseTypeRole[]",
              "name": "unpauseTypeRoles",
              "type": "tuple[]"
            },
            {
              "internalType": "address",
              "name": "fallbackOperator",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "defaultAdmin",
              "type": "address"
            }
          ],
          "internalType": "struct ILineaRollup.InitializationData",
          "name": "_initializationData",
          "type": "tuple"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_messageNumber",
          "type": "uint256"
        }
      ],
      "name": "isMessageClaimed",
      "outputs": [
        {
          "internalType": "bool",
          "name": "isClaimed",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "enum IPauseManager.PauseType",
          "name": "_pauseType",
          "type": "uint8"
        }
      ],
      "name": "isPaused",
      "outputs": [
        {
          "internalType": "bool",
          "name": "pauseTypeIsPaused",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "merkleRoot",
          "type": "bytes32"
        }
      ],
      "name": "l2MerkleRootsDepths",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "treeDepth",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "limitInWei",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "nextMessageNumber",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "messageHash",
          "type": "bytes32"
        }
      ],
      "name": "outboxL1L2MessageStatus",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "messageStatus",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "enum IPauseManager.PauseType",
          "name": "_pauseType",
          "type": "uint8"
        }
      ],
      "name": "pauseByType",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "pauseType",
          "type": "bytes32"
        }
      ],
      "name": "pauseTypeStatuses",
      "outputs": [
        {
          "internalType": "bool",
          "name": "pauseStatus",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "periodInSeconds",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "addressWithRole",
              "type": "address"
            },
            {
              "internalType": "bytes32",
              "name": "role",
              "type": "bytes32"
            }
          ],
          "internalType": "struct IPermissionsManager.RoleAddress[]",
          "name": "_roleAddresses",
          "type": "tuple[]"
        },
        {
          "components": [
            {
              "internalType": "enum IPauseManager.PauseType",
              "name": "pauseType",
              "type": "uint8"
            },
            {
              "internalType": "bytes32",
              "name": "role",
              "type": "bytes32"
            }
          ],
          "internalType": "struct IPauseManager.PauseTypeRole[]",
          "name": "_pauseTypeRoles",
          "type": "tuple[]"
        },
        {
          "components": [
            {
              "internalType": "enum IPauseManager.PauseType",
              "name": "pauseType",
              "type": "uint8"
            },
            {
              "internalType": "bytes32",
              "name": "role",
              "type": "bytes32"
            }
          ],
          "internalType": "struct IPauseManager.PauseTypeRole[]",
          "name": "_unpauseTypeRoles",
          "type": "tuple[]"
        },
        {
          "internalType": "address",
          "name": "_fallbackOperator",
          "type": "address"
        }
      ],
      "name": "reinitializeLineaRollupV6",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_role",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "_account",
          "type": "address"
        }
      ],
      "name": "renounceRole",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "resetAmountUsedInPeriod",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "resetRateLimitAmount",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "role",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "revokeRole",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "messageNumber",
          "type": "uint256"
        }
      ],
      "name": "rollingHashes",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "rollingHash",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_fee",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "_calldata",
          "type": "bytes"
        }
      ],
      "name": "sendMessage",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "sender",
      "outputs": [
        {
          "internalType": "address",
          "name": "originalSender",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_messageNumber",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "_rollingHash",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "_lastFinalizedTimestamp",
          "type": "uint256"
        }
      ],
      "name": "setFallbackOperator",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_newVerifierAddress",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_proofType",
          "type": "uint256"
        }
      ],
      "name": "setVerifierAddress",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "blockNumber",
          "type": "uint256"
        }
      ],
      "name": "stateRootHashes",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "stateRootHash",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "dataEvaluationClaim",
              "type": "uint256"
            },
            {
              "internalType": "bytes",
              "name": "kzgCommitment",
              "type": "bytes"
            },
            {
              "internalType": "bytes",
              "name": "kzgProof",
              "type": "bytes"
            },
            {
              "internalType": "bytes32",
              "name": "finalStateRootHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes32",
              "name": "snarkHash",
              "type": "bytes32"
            }
          ],
          "internalType": "struct ILineaRollup.BlobSubmission[]",
          "name": "_blobSubmissions",
          "type": "tuple[]"
        },
        {
          "internalType": "bytes32",
          "name": "_parentShnarf",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "_finalBlobShnarf",
          "type": "bytes32"
        }
      ],
      "name": "submitBlobs",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "bytes32",
              "name": "finalStateRootHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes32",
              "name": "snarkHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "compressedData",
              "type": "bytes"
            }
          ],
          "internalType": "struct ILineaRollup.CompressedCalldataSubmission",
          "name": "_submission",
          "type": "tuple"
        },
        {
          "internalType": "bytes32",
          "name": "_parentShnarf",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "_expectedShnarf",
          "type": "bytes32"
        }
      ],
      "name": "submitDataAsCalldata",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "interfaceId",
          "type": "bytes4"
        }
      ],
      "name": "supportsInterface",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "systemMigrationBlock",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "enum IPauseManager.PauseType",
          "name": "_pauseType",
          "type": "uint8"
        }
      ],
      "name": "unPauseByType",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_proofType",
          "type": "uint256"
        }
      ],
      "name": "unsetVerifierAddress",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "proofType",
          "type": "uint256"
        }
      ],
      "name": "verifiers",
      "outputs": [
        {
          "internalType": "address",
          "name": "verifierAddress",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "[encoded data, 43134 characters]",
  "deployedBytecode": "[encoded data, 42686 characters]",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
