diff --git a/fork.yaml b/fork.yaml index f418088..6ce720a 100644 --- a/fork.yaml +++ b/fork.yaml @@ -9,7 +9,7 @@ base: fork: name: Layr-Labs/nitro-contracts url: https://github.com/Layr-Labs/nitro-contracts - ref: refs/tags/v2.1.0 + ref: refs/heads/eigenda def: title: "EigenDA x Arbitrum Nitro Contracts fork diff" description: | # description in markdown diff --git a/index.html b/index.html deleted file mode 100755 index 1f50169..0000000 --- a/index.html +++ /dev/null @@ -1,35608 +0,0 @@ - - - - - - - - - - layr-labs/nitro-contracts - - - - - - - - - - -
-
-
-
-
-
- - -
-
-
-
-
-
- -

EigenDA x Arbitrum Nitro Contracts fork diff

- - -
-
- - diff: - - - ignored: - -
-
-
-
- -
+1463
-
-121
- - -
+30160
-
-129
- -
-
-
- -
-

The original nitro codebase can be found at github.com/OffchainLabs/nitro-contracts. -And the fork at github.com/Layr-Labs/nitro-contracts.

-
-
- - -
-
- -
- -
-

Added an addSequencerL2BatchFromEigenDA function which process an EigenDA certificate within the inbox. -Certificates are verified within the inbox by calling verifyBlob against the EigenDARollupManager contract -to remove a trust assumption on the Arbitrum sequencer.

-
-
- -
- - - - -
- -
- -
+3
-
-1
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/src/bridge/IBridge.sol Layr-Labs/nitro-contracts/src/bridge/IBridge.sol -index 1137fcd367ffa85e4ba3ce4597fd5df8763b42dc..efa667092273f9610708ffe4ba8fd3e7e8b66087 100644 ---- OffchainLabs/nitro-contracts/src/bridge/IBridge.sol -+++ Layr-Labs/nitro-contracts/src/bridge/IBridge.sol -@@ -20,7 +20,9 @@ SeparateBatchEvent, - /// @notice This batch contains no data - NoData, - /// @notice The data can be found in the 4844 data blobs on this transaction -- Blob -+ Blob, -+ /// @notice The data can be found via the blob's certificate -+ EigenDA - } -  - struct TimeBounds {
-
- - -
- - - - -
- -
- -
+38
-
-0
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/src/bridge/ISequencerInbox.sol Layr-Labs/nitro-contracts/src/bridge/ISequencerInbox.sol -index 47db30f003633e79fc86bcd6d5521c83e740e375..d25cf1774afd33ced8b1a681131525b070c9e82b 100644 ---- OffchainLabs/nitro-contracts/src/bridge/ISequencerInbox.sol -+++ Layr-Labs/nitro-contracts/src/bridge/ISequencerInbox.sol -@@ -9,6 +9,10 @@ - import "../libraries/IGasRefunder.sol"; - import "./IDelayedMessageProvider.sol"; - import "./IBridge.sol"; -+import "./IRollupManager.sol"; -+ -+import {EigenDARollupUtils} from "@eigenda/eigenda-utils/libraries/EigenDARollupUtils.sol"; -+import {IEigenDAServiceManager} from "@eigenda/eigenda-utils/interfaces/IEigenDAServiceManager.sol"; -  - interface ISequencerInbox is IDelayedMessageProvider { - struct MaxTimeVariation { -@@ -27,6 +31,18 @@ uint256 afterDelayedMessagesRead, - IBridge.TimeBounds timeBounds, - IBridge.BatchDataLocation dataLocation - ); -+ -+ struct EigenDACert { -+ EigenDARollupUtils.BlobVerificationProof blobVerificationProof; -+ IEigenDAServiceManager.BlobHeader blobHeader; -+ } -+ -+ struct SequenceMetadata { -+ uint256 sequenceNumber; -+ uint256 afterDelayedMessagesRead; -+ uint256 prevMessageCount; -+ uint256 newMessageCount; -+ } -  - event OwnerFunctionCalled(uint256 indexed id); -  -@@ -83,6 +99,12 @@ /// See: https://github.com/OffchainLabs/nitro/blob/69de0603abf6f900a4128cab7933df60cad54ded/arbstate/das_reader.go - // solhint-disable-next-line func-name-mixedcase - function ZERO_HEAVY_MESSAGE_HEADER_FLAG() external view returns (bytes1); -  -+ /// @dev If the first data byte after the header has this bit set, -+ /// then the batch data is an eigenDA message -+ /// See: https://github.com/Layr-Labs/nitro/blob/2ad088cb5943ec50ed8b521c4681561817a602c5/das/eigenda/eigenda.go -+ // solhint-disable-next-line func-name-mixedcase -+ function EIGENDA_MESSAGE_HEADER_FLAG() external view returns (bytes1); -+ - function rollup() external view returns (IOwnable); -  - function isBatchPoster(address) external view returns (bool); -@@ -94,6 +116,8 @@ - /// @notice The batch poster manager has the ability to change the batch poster addresses - /// This enables the batch poster to do key rotation - function batchPosterManager() external view returns (address); -+ -+ function eigenDARollupManager() external view returns (IRollupManager); -  - struct DasKeySetInfo { - bool isValidKeyset; -@@ -179,7 +203,21 @@ uint256 prevMessageCount, - uint256 newMessageCount - ) external; -  -+ function addSequencerL2BatchFromEigenDA( -+ uint256 sequenceNumber, -+ EigenDACert calldata cert, -+ IGasRefunder gasRefunder, -+ uint256 afterDelayedMessagesRead, -+ uint256 prevMessageCount, -+ uint256 newMessageCount -+ ) external; -+ - // ---------- onlyRollupOrOwner functions ---------- -+ /** -+ * @notice Set the rollup manager contract address -+ * @param newRollupManager the new rollup manager contract address -+ */ -+ function setEigenDARollupManager(address newRollupManager) external; -  - /** - * @notice Set max delay for sequencer inbox
-
- - -
- - - - -
- -
- -
+99
-
-0
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/src/bridge/SequencerInbox.sol Layr-Labs/nitro-contracts/src/bridge/SequencerInbox.sol -index 16a65e7703ac05c59c5c2d78e625105e887fe3c1..d73d84e32229f116c4412bc643c7b4efa8a43c12 100644 ---- OffchainLabs/nitro-contracts/src/bridge/SequencerInbox.sol -+++ Layr-Labs/nitro-contracts/src/bridge/SequencerInbox.sol -@@ -8,6 +8,7 @@ import { - AlreadyInit, - HadZeroInit, - BadPostUpgradeInit, -+ NotEOA, - NotOrigin, - DataTooLarge, - DelayedBackwards, -@@ -46,6 +47,7 @@ import {IGasRefunder} from "../libraries/IGasRefunder.sol"; - import {GasRefundEnabled} from "../libraries/GasRefundEnabled.sol"; - import "../libraries/ArbitrumChecker.sol"; - import {IERC20Bridge} from "./IERC20Bridge.sol"; -+import "./IRollupManager.sol"; -  - /** - * @title Accepts batches from the sequencer and adds them to the rollup inbox. -@@ -124,6 +126,15 @@ // If the chain this SequencerInbox is deployed on is an Arbitrum chain. - bool internal immutable hostChainIsArbitrum = ArbitrumChecker.runningOnArbitrum(); - // True if the chain this SequencerInbox is deployed on uses custom fee token - bool public immutable isUsingFeeToken; -+ -+ /// @inheritdoc ISequencerInbox -+ bytes1 public constant EIGENDA_MESSAGE_HEADER_FLAG = 0xed; -+ -+ // gap used to ensure forward compatiblity with newly introduced storage variables -+ // from upstream offchainlabs/nitro-contracts. Any newly introduced storage vars -+ // made in subsequent releases should result in decrementing the gap counter -+ uint256[38] internal __gap; -+ IRollupManager public eigenDARollupManager; -  - constructor( - uint256 _maxDataSize, -@@ -465,6 +476,71 @@ submitBatchSpendingReport(dataHash, seqMessageIndex, block.basefee, blobGas); - } - } -  -+ function addSequencerL2BatchFromEigenDA( -+ uint256 sequenceNumber, -+ EigenDACert calldata cert, -+ IGasRefunder gasRefunder, -+ uint256 afterDelayedMessagesRead, -+ uint256 prevMessageCount, -+ uint256 newMessageCount -+ ) external refundsGas(gasRefunder, IReader4844(address(0))) { -+ if(msg.sender != tx.origin) revert NotOrigin(); -+ if (!isBatchPoster[msg.sender]) revert NotBatchPoster(); -+ if (address(msg.sender).code.length > 0) revert NotEOA(); -+ // Verify that the blob was actually included before continuing -+ eigenDARollupManager.verifyBlob(cert.blobHeader, cert.blobVerificationProof); -+ // Form the EigenDA data hash and get the time bounds -+ (bytes32 dataHash, IBridge.TimeBounds memory timeBounds) = formEigenDADataHash( -+ cert, -+ afterDelayedMessagesRead -+ ); -+ -+ ISequencerInbox.SequenceMetadata memory metadata = ISequencerInbox.SequenceMetadata({ -+ sequenceNumber: sequenceNumber, -+ afterDelayedMessagesRead: afterDelayedMessagesRead, -+ prevMessageCount: prevMessageCount, -+ newMessageCount: newMessageCount -+ }); -+ -+ // Call a helper function to add the sequencer L2 batch -+ _addSequencerL2Batch(metadata, dataHash, timeBounds); -+ } -+ -+ function _addSequencerL2Batch( -+ ISequencerInbox.SequenceMetadata memory sequenceMetadata, -+ bytes32 dataHash, -+ IBridge.TimeBounds memory timeBounds -+ ) internal { -+ ( -+ uint256 seqMessageIndex, -+ bytes32 beforeAcc, -+ bytes32 delayedAcc, -+ bytes32 afterAcc -+ ) = addSequencerL2BatchImpl( -+ dataHash, -+ sequenceMetadata.afterDelayedMessagesRead, -+ 0, -+ sequenceMetadata.prevMessageCount, -+ sequenceMetadata.newMessageCount -+ ); -+ -+ uint256 sequenceNumber = sequenceMetadata.sequenceNumber; -+ // Check the sequence number -+ if (seqMessageIndex != sequenceNumber && sequenceNumber != ~uint256(0)) { -+ revert BadSequencerNumber(seqMessageIndex, sequenceNumber); -+ } -+ -+ emit SequencerBatchDelivered( -+ seqMessageIndex, -+ beforeAcc, -+ afterAcc, -+ delayedAcc, -+ totalDelayedMessagesRead, -+ timeBounds, -+ IBridge.BatchDataLocation.EigenDA -+ ); -+ } -+ - function addSequencerL2Batch( - uint256 sequenceNumber, - bytes calldata data, -@@ -630,6 +706,24 @@ block.basefee > 0 ? blobCost / block.basefee : 0 - ); - } -  -+ /// @dev Form a hash of the eigenDA certificate -+ /// @param afterDelayedMessagesRead The delayed messages count read up to -+ /// @return The data hash -+ /// @return The timebounds within which the message should be processed -+ function formEigenDADataHash( -+ ISequencerInbox.EigenDACert calldata cert, -+ uint256 afterDelayedMessagesRead -+ ) internal view returns (bytes32, IBridge.TimeBounds memory) { -+ (bytes memory header, IBridge.TimeBounds memory timeBounds) = packHeader( -+ afterDelayedMessagesRead -+ ); -+ -+ return ( -+ keccak256(bytes.concat(header, EIGENDA_MESSAGE_HEADER_FLAG, abi.encode(cert))), -+ timeBounds -+ ); -+ } -+ - /// @dev Submit a batch spending report message so that the batch poster can be reimbursed on the rollup - /// This function expect msg.sender is tx.origin, and will always record tx.origin as the spender - /// @param dataHash The hash of the message the spending report is being submitted for -@@ -790,6 +884,11 @@ /// @inheritdoc ISequencerInbox - function setBatchPosterManager(address newBatchPosterManager) external onlyRollupOwner { - batchPosterManager = newBatchPosterManager; - emit OwnerFunctionCalled(5); -+ } -+ -+ function setEigenDARollupManager(address newRollupManager) external onlyRollupOwner { -+ eigenDARollupManager = IRollupManager(newRollupManager); -+ emit OwnerFunctionCalled(6); - } -  - function isValidKeysetHash(bytes32 ksHash) external view returns (bool) {
-
- - -
- - - - -
- -
- -
+6
-
-0
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/src/libraries/Error.sol Layr-Labs/nitro-contracts/src/libraries/Error.sol -index 2eb496e7c7bf29a0455180273bf8502262427817..bdafde1dc357ab888fffc3c2a63b560ceb30424f 100644 ---- OffchainLabs/nitro-contracts/src/libraries/Error.sol -+++ Layr-Labs/nitro-contracts/src/libraries/Error.sol -@@ -158,6 +158,9 @@ - /// @dev This can only be called by the batch poster - error NotBatchPoster(); -  -+/// @dev This can only be called by an EOA account without EIP-7702 enabled -+error NotEOA(); -+ - /// @dev The sequence number provided to this message was inconsistent with the number of batches already included - error BadSequencerNumber(uint256 stored, uint256 received); -  -@@ -166,6 +169,9 @@ error BadSequencerMessageNumber(uint256 stored, uint256 received); -  - /// @dev Tried to create an already valid Data Availability Service keyset - error AlreadyValidDASKeyset(bytes32); -+ -+/// @dev The EigenDA certificate provided to the inbox was stale -+error ExpiredEigenDACert(uint256 currentBlock, uint256 l1ReferenceBlock); -  - /// @dev Tried to use or invalidate an already invalid Data Availability Service keyset - error NoSuchKeyset(bytes32);
-
- - -
- - - - -
- -
- -
+8
-
-1
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/src/mocks/SequencerInboxStub.sol Layr-Labs/nitro-contracts/src/mocks/SequencerInboxStub.sol -index 49b317020e106da334c6b626066bf97e5377274a..cb0aa69b5420aedd7cddfd044aa380b8d6ef49e4 100644 ---- OffchainLabs/nitro-contracts/src/mocks/SequencerInboxStub.sol -+++ Layr-Labs/nitro-contracts/src/mocks/SequencerInboxStub.sol -@@ -5,8 +5,12 @@ - pragma solidity ^0.8.0; -  - import "../bridge/SequencerInbox.sol"; -+import "../bridge/EigenDABlobVerifierL2.sol"; -+ - import "../bridge/IEthBridge.sol"; - import {INITIALIZATION_MSG_TYPE} from "../libraries/MessageTypes.sol"; -+ -+import "../bridge/IRollupManager.sol"; -  - contract SequencerInboxStub is SequencerInbox { - constructor( -@@ -24,6 +28,10 @@ futureBlocks = uint64(maxTimeVariation_.futureBlocks); - delaySeconds = uint64(maxTimeVariation_.delaySeconds); - futureSeconds = uint64(maxTimeVariation_.futureSeconds); - isBatchPoster[sequencer_] = true; -+ -+ // inject dummy rollup manager dependency for testing -+ IRollupManager bv = new EigenDABlobVerifierL2(); -+ eigenDARollupManager = bv; - } -  - function addInitMessage(uint256 chainId) external { -@@ -58,4 +66,4 @@ function getTimeBounds() internal view override returns (IBridge.TimeBounds memory bounds) { - this; // silence warning about function not being view - return bounds; - } --} -+} -\ No newline at end of file
-
- - -
- - - - -
- -
- -
+371
-
-60
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/test/foundry/SequencerInbox.t.sol Layr-Labs/nitro-contracts/test/foundry/SequencerInbox.t.sol -index 92902d68779946e84e5dc39a54039f1aab00488e..c0d57c6d54d3a3cd8d487d9c88b862ffdcab28dd 100644 ---- OffchainLabs/nitro-contracts/test/foundry/SequencerInbox.t.sol -+++ Layr-Labs/nitro-contracts/test/foundry/SequencerInbox.t.sol -@@ -8,6 +8,9 @@ import "../../src/bridge/SequencerInbox.sol"; - import {ERC20Bridge} from "../../src/bridge/ERC20Bridge.sol"; - import "@openzeppelin/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol"; -  -+import "../../src/bridge/EigenDABlobVerifierL2.sol"; -+import {BN254} from "@eigenda/eigenda-utils/libraries/BN254.sol"; -+ - contract RollupMock { - address public immutable owner; -  -@@ -42,7 +45,7 @@ ); -  - Random RAND = new Random(); - address rollupOwner = address(137); -- uint256 maxDataSize = 10000; -+ uint256 maxDataSize = 10_000; - ISequencerInbox.MaxTimeVariation maxTimeVariation = - ISequencerInbox.MaxTimeVariation({ - delayBlocks: 10, -@@ -53,8 +56,10 @@ }); - address dummyInbox = address(139); - address proxyAdmin = address(140); - IReader4844 dummyReader4844 = IReader4844(address(137)); -+ IEigenDAServiceManager dummyEigenDAServiceManager = IEigenDAServiceManager(address(138)); -+ IRollupManager rollupManager = IRollupManager(address(139)); -  -- uint256 public constant MAX_DATA_SIZE = 117964; -+ uint256 public constant MAX_DATA_SIZE = 117_964; -  - function deployRollup(bool isArbHosted) internal returns (SequencerInbox, Bridge) { - RollupMock rollupMock = new RollupMock(rollupOwner); -@@ -123,15 +128,67 @@ - return (seqInbox, bridge); - } -  -+ // Split the logic that deals with calculating and emitting the spending report into a separate function because of stack too deep limits -+ function _handleSpendingReport( -+ IBridge bridge, -+ SequencerInbox seqInbox, -+ uint256 delayedMessagesRead, -+ bytes32 dataHash, -+ uint256 sequenceNumber, -+ bool hostChainIsArbitrum -+ ) internal { -+ if (!hostChainIsArbitrum) return; // If not Arbitrum, no need to process this part -+ -+ // set 0.1 gwei basefee -+ uint256 basefee = 100_000_000; -+ vm.fee(basefee); -+ // 30 gwei TX L1 fees -+ uint256 l1Fees = 30_000_000_000; -+ vm.mockCall( -+ address(0x6c), -+ abi.encodeWithSignature("getCurrentTxL1GasFees()"), -+ abi.encode(l1Fees) -+ ); -+ uint256 expectedReportedExtraGas = l1Fees / basefee; -+ -+ bytes memory spendingReportMsg = abi.encodePacked( -+ block.timestamp, -+ msg.sender, -+ dataHash, -+ sequenceNumber, -+ block.basefee, -+ uint64(expectedReportedExtraGas) -+ ); -+ -+ // spending report -+ vm.expectEmit(); -+ emit MessageDelivered( -+ delayedMessagesRead, -+ bridge.delayedInboxAccs(delayedMessagesRead - 1), // directly use the call here to reduce a variable -+ address(seqInbox), -+ L1MessageType_batchPostingReport, -+ tx.origin, -+ keccak256(spendingReportMsg), -+ block.basefee, -+ uint64(block.timestamp) -+ ); -+ -+ // spending report event in seq inbox -+ vm.expectEmit(); -+ emit InboxMessageDelivered(delayedMessagesRead, spendingReportMsg); -+ } -+ - function expectEvents( - IBridge bridge, - SequencerInbox seqInbox, - bytes memory data, - bool hostChainIsArbitrum, -- bool isUsingFeeToken -+ bool isUsingFeeToken, -+ bool isUsingEigenDA - ) internal { - uint256 delayedMessagesRead = bridge.delayedMessageCount(); - uint256 sequenceNumber = bridge.sequencerMessageCount(); -+ - IBridge.TimeBounds memory timeBounds; - if (block.timestamp > maxTimeVariation.delaySeconds) { - timeBounds.minTimestamp = uint64(block.timestamp - maxTimeVariation.delaySeconds); -@@ -141,67 +198,54 @@ if (block.number > maxTimeVariation.delayBlocks) { - timeBounds.minBlockNumber = uint64(block.number - maxTimeVariation.delayBlocks); - } - timeBounds.maxBlockNumber = uint64(block.number + maxTimeVariation.futureBlocks); -- bytes32 dataHash = keccak256( -- bytes.concat( -- abi.encodePacked( -- timeBounds.minTimestamp, -- timeBounds.maxTimestamp, -- timeBounds.minBlockNumber, -- timeBounds.maxBlockNumber, -- uint64(delayedMessagesRead) -- ), -- data -- ) -- ); -+ -+ bytes32 dataHash; -+ -+ if (isUsingEigenDA) { -+ dataHash = keccak256( -+ bytes.concat( -+ abi.encodePacked( -+ timeBounds.minTimestamp, -+ timeBounds.maxTimestamp, -+ timeBounds.minBlockNumber, -+ timeBounds.maxBlockNumber, -+ uint64(delayedMessagesRead) -+ ), -+ data -+ ) -+ ); -+ } else { -+ dataHash = keccak256( -+ bytes.concat( -+ abi.encodePacked( -+ timeBounds.minTimestamp, -+ timeBounds.maxTimestamp, -+ timeBounds.minBlockNumber, -+ timeBounds.maxBlockNumber, -+ uint64(delayedMessagesRead) -+ ), -+ data -+ ) -+ ); -+ } -  - bytes32 beforeAcc = bytes32(0); - bytes32 delayedAcc = bridge.delayedInboxAccs(delayedMessagesRead - 1); - bytes32 afterAcc = keccak256(abi.encodePacked(beforeAcc, dataHash, delayedAcc)); -  -- if (!isUsingFeeToken) { -- uint256 expectedReportedExtraGas = 0; -- if (hostChainIsArbitrum) { -- // set 0.1 gwei basefee -- uint256 basefee = 100000000; -- vm.fee(basefee); -- // 30 gwei TX L1 fees -- uint256 l1Fees = 30000000000; -- vm.mockCall( -- address(0x6c), -- abi.encodeWithSignature("getCurrentTxL1GasFees()"), -- abi.encode(l1Fees) -- ); -- expectedReportedExtraGas = l1Fees / basefee; -- } -- -- bytes memory spendingReportMsg = abi.encodePacked( -- block.timestamp, -- msg.sender, -+ if (!isUsingFeeToken && !isUsingEigenDA) { -+ _handleSpendingReport( -+ bridge, -+ seqInbox, -+ delayedMessagesRead, - dataHash, - sequenceNumber, -- block.basefee, -- uint64(expectedReportedExtraGas) -- ); -- -- // spending report -- vm.expectEmit(); -- emit MessageDelivered( -- delayedMessagesRead, -- delayedAcc, -- address(seqInbox), -- L1MessageType_batchPostingReport, -- tx.origin, -- keccak256(spendingReportMsg), -- block.basefee, -- uint64(block.timestamp) -+ hostChainIsArbitrum - ); -- -- // spending report event in seq inbox -- vm.expectEmit(); -- emit InboxMessageDelivered(delayedMessagesRead, spendingReportMsg); - } -  - // sequencer batch delivered -+ - vm.expectEmit(); - emit SequencerBatchDelivered( - sequenceNumber, -@@ -210,7 +254,45 @@ afterAcc, - delayedAcc, - delayedMessagesRead, - timeBounds, -- IBridge.BatchDataLocation.TxInput -+ !isUsingEigenDA ? IBridge.BatchDataLocation.TxInput : IBridge.BatchDataLocation.EigenDA -+ ); -+ } -+ -+ bytes invalidHeaderData = -+ hex"ab4567890a4567890a4567890a4567890a4567890a4567890a4567890a4567890a4567890a"; -+ -+ function testAddSequencerL2BatchFromOrigin_InvalidHeader() public { -+ (SequencerInbox seqInbox, Bridge bridge) = deployRollup(false); -+ address delayedInboxSender = address(140); -+ uint8 delayedInboxKind = 3; -+ bytes32 messageDataHash = RAND.Bytes32(); -+ bytes memory data = invalidHeaderData; // ab is not any valid header flag -+ -+ vm.prank(dummyInbox); -+ bridge.enqueueDelayedMessage(delayedInboxKind, delayedInboxSender, messageDataHash); -+ -+ uint256 subMessageCount = bridge.sequencerReportedSubMessageCount(); -+ uint256 sequenceNumber = bridge.sequencerMessageCount(); -+ uint256 delayedMessagesRead = bridge.delayedMessageCount(); -+ -+ // set 60 gwei basefee -+ uint256 basefee = 60000000000; -+ vm.fee(basefee); -+ -+ vm.prank(tx.origin); -+ vm.expectRevert( -+ abi.encodeWithSignature( -+ "InvalidHeaderFlag(bytes1)", -+ 0xab00000000000000000000000000000000000000000000000000000000000000 -+ ) -+ ); -+ seqInbox.addSequencerL2BatchFromOrigin( -+ sequenceNumber, -+ data, -+ delayedMessagesRead, -+ IGasRefunder(address(0)), -+ subMessageCount, -+ subMessageCount + 1 - ); - } -  -@@ -232,9 +314,9 @@ uint256 sequenceNumber = bridge.sequencerMessageCount(); - uint256 delayedMessagesRead = bridge.delayedMessageCount(); -  - // set 60 gwei basefee -- uint256 basefee = 60000000000; -+ uint256 basefee = 60_000_000_000; - vm.fee(basefee); -- expectEvents(bridge, seqInbox, data, false, false); -+ expectEvents(bridge, seqInbox, data, false, false, false); -  - vm.prank(tx.origin); - seqInbox.addSequencerL2BatchFromOrigin( -@@ -351,7 +433,7 @@ uint256 subMessageCount = bridge.sequencerReportedSubMessageCount(); - uint256 sequenceNumber = bridge.sequencerMessageCount(); - uint256 delayedMessagesRead = bridge.delayedMessageCount(); -  -- expectEvents(bridge, seqInbox, data, true, false); -+ expectEvents(bridge, seqInbox, data, true, false, false); -  - vm.prank(tx.origin); - seqInbox.addSequencerL2BatchFromOrigin( -@@ -379,10 +461,10 @@ uint256 sequenceNumber = bridge.sequencerMessageCount(); - uint256 delayedMessagesRead = bridge.delayedMessageCount(); -  - // set 40 gwei basefee -- uint256 basefee = 40000000000; -+ uint256 basefee = 40_000_000_000; - vm.fee(basefee); -  -- expectEvents(IBridge(address(bridge)), seqInbox, data, true, true); -+ expectEvents(IBridge(address(bridge)), seqInbox, data, true, true, false); -  - vm.prank(tx.origin); - seqInbox.addSequencerL2BatchFromOrigin( -@@ -483,6 +565,131 @@ subMessageCount + 1 - ); - } -  -+ function testAddSequencerL2BatchFromEigenDA() public { -+ EigenDABlobVerifierL2 rollupManagerImpl = new EigenDABlobVerifierL2(); -+ (SequencerInbox seqInbox, Bridge bridge) = deployRollup(false); -+ // update the dummyEigenDAServiceManager to use the holesky serviceManager contract -+ -+ vm.startPrank(rollupOwner); -+ // deploy rollup -+ seqInbox.setEigenDARollupManager(address(rollupManagerImpl)); -+ vm.stopPrank(); -+ -+ address delayedInboxSender = address(140); -+ uint8 delayedInboxKind = 3; -+ bytes32 messageDataHash = RAND.Bytes32(); -+ -+ vm.prank(dummyInbox); -+ bridge.enqueueDelayedMessage(delayedInboxKind, delayedInboxSender, messageDataHash); -+ -+ ( -+ IEigenDAServiceManager.BlobHeader memory blobHeader, -+ EigenDARollupUtils.BlobVerificationProof memory blobVerificationProof -+ ) = readAndParseBlobInfo(); -+ ISequencerInbox.EigenDACert memory cert = ISequencerInbox.EigenDACert({ -+ blobHeader: blobHeader, -+ blobVerificationProof: blobVerificationProof -+ }); -+ -+ bytes memory data = bytes.concat(hex"ed", abi.encode(cert)); -+ -+ uint256 subMessageCount = bridge.sequencerReportedSubMessageCount(); -+ uint256 sequenceNumber = bridge.sequencerMessageCount(); -+ uint256 delayedMessagesRead = bridge.delayedMessageCount(); -+ -+ expectEvents(bridge, seqInbox, data, false, false, true); -+ -+ vm.prank(tx.origin); -+ -+ seqInbox.addSequencerL2BatchFromEigenDA( -+ sequenceNumber, -+ cert, -+ IGasRefunder(address(0)), -+ delayedMessagesRead, -+ subMessageCount, -+ subMessageCount + 1 -+ ); -+ } -+ -+ // TODO: put these in jsons later -+ // create illegal commitment -+ BN254.G1Point illegalCommitment = -+ BN254.G1Point({ -+ X: 11151623676041303181597631684634074376466382703418354161831688442589830350329, -+ Y: 4222041728992406478862708226745479381252734858741080790666424175645694456140 -+ }); -+ -+ IEigenDAServiceManager.BlobHeader illegalBlobHeader; -+ -+ IEigenDAServiceManager.BatchHeader illegalBatchHeader = -+ IEigenDAServiceManager.BatchHeader({ -+ blobHeadersRoot: bytes32(0), -+ quorumNumbers: bytes(""), -+ signedStakeForQuorums: bytes(""), -+ referenceBlockNumber: 1 -+ }); -+ -+ IEigenDAServiceManager.BatchMetadata illegalBatchMetadata = -+ IEigenDAServiceManager.BatchMetadata({ -+ batchHeader: illegalBatchHeader, -+ signatoryRecordHash: bytes32(0), -+ confirmationBlockNumber: 1 -+ }); -+ -+ EigenDARollupUtils.BlobVerificationProof illegalBlobVerificationProof = -+ EigenDARollupUtils.BlobVerificationProof({ -+ batchId: 1, -+ blobIndex: 1, -+ batchMetadata: illegalBatchMetadata, -+ inclusionProof: bytes(""), -+ quorumIndices: bytes("") -+ }); -+ -+ function testAddSequencerL2BatchFrom() public { -+ // finish filling out the illegalBlobHeader -+ illegalBlobHeader.commitment = illegalCommitment; -+ illegalBlobHeader.dataLength = 20; -+ illegalBlobHeader.quorumBlobParams.push( -+ IEigenDAServiceManager.QuorumBlobParam({ -+ quorumNumber: uint8(1), -+ adversaryThresholdPercentage: uint8(1), -+ confirmationThresholdPercentage: uint8(1), -+ chunkLength: uint32(1) -+ }) -+ ); -+ -+ ISequencerInbox.EigenDACert memory illegalCert = ISequencerInbox.EigenDACert({ -+ blobHeader: illegalBlobHeader, -+ blobVerificationProof: illegalBlobVerificationProof -+ }); -+ -+ // change the eigenDAServiceManager to use the holesky testnet contract -+ (SequencerInbox seqInbox, Bridge bridge) = deployRollup(false); -+ address delayedInboxSender = address(140); -+ uint8 delayedInboxKind = 3; -+ bytes32 messageDataHash = RAND.Bytes32(); -+ bytes memory data = biggerData; // 00 is BROTLI_MESSAGE_HEADER_FLAG -+ -+ vm.prank(dummyInbox); -+ bridge.enqueueDelayedMessage(delayedInboxKind, delayedInboxSender, messageDataHash); -+ -+ uint256 subMessageCount = bridge.sequencerReportedSubMessageCount(); -+ uint256 sequenceNumber = bridge.sequencerMessageCount(); -+ uint256 delayedMessagesRead = bridge.delayedMessageCount(); -+ -+ vm.prank(tx.origin); -+ -+ vm.expectRevert(); -+ seqInbox.addSequencerL2BatchFromEigenDA( -+ sequenceNumber, -+ illegalCert, -+ IGasRefunder(address(0)), -+ delayedMessagesRead, -+ subMessageCount, -+ subMessageCount + 1 -+ ); -+ } -+ - function testPostUpgradeInitAlreadyInit() public returns (SequencerInbox, SequencerInbox) { - (SequencerInbox seqInbox, ) = deployRollup(false); - SequencerInbox seqInboxImpl = new SequencerInbox(maxDataSize, dummyReader4844, false); -@@ -611,4 +818,109 @@ futureSeconds: futureSeconds - }) - ); - } --} -+ -+ function readAndParseBlobInfo() -+ public -+ returns ( -+ IEigenDAServiceManager.BlobHeader memory, -+ EigenDARollupUtils.BlobVerificationProof memory -+ ) -+ { -+ string memory json = vm.readFile("test/foundry/blob_info/blob_info.json"); -+ -+ // parse the blob header -+ -+ IEigenDAServiceManager.BlobHeader memory blobHeader; -+ -+ BN254.G1Point memory commitment = BN254.G1Point({ -+ X: uint256(vm.parseJsonInt(json, ".blob_info.blob_header.commitment.x")), -+ Y: uint256(vm.parseJsonInt(json, ".blob_info.blob_header.commitment.y")) -+ }); -+ -+ blobHeader.commitment = commitment; -+ blobHeader.dataLength = uint32( -+ uint256(vm.parseJsonInt(json, ".blob_info.blob_header.data_length")) -+ ); -+ -+ //bytes memory quorumParamsBytes = vm.parseJson(json, ".blob_info.blob_header.blob_quorum_params"); -+ -+ // TODO: Parse these from the array, for some reason parsing them reads in the wrong order -+ IEigenDAServiceManager.QuorumBlobParam[] -+ memory quorumParams = new IEigenDAServiceManager.QuorumBlobParam[](2); -+ -+ quorumParams[0].quorumNumber = 0; -+ quorumParams[0].adversaryThresholdPercentage = 33; -+ quorumParams[0].confirmationThresholdPercentage = 55; -+ quorumParams[0].chunkLength = 1; -+ -+ quorumParams[1].quorumNumber = 1; -+ quorumParams[1].adversaryThresholdPercentage = 33; -+ quorumParams[1].confirmationThresholdPercentage = 55; -+ quorumParams[1].chunkLength = 1; -+ -+ blobHeader.quorumBlobParams = quorumParams; -+ -+ // parse the blob verification proof -+ -+ IEigenDAServiceManager.BatchHeader memory batchHeader = IEigenDAServiceManager.BatchHeader({ -+ blobHeadersRoot: vm.parseJsonBytes32( -+ json, -+ ".blob_info.blob_verification_proof.batch_metadata.batch_header.batch_root" -+ ), -+ quorumNumbers: vm.parseJsonBytes( -+ json, -+ ".blob_info.blob_verification_proof.batch_metadata.batch_header.quorum_numbers" -+ ), -+ signedStakeForQuorums: vm.parseJsonBytes( -+ json, -+ ".blob_info.blob_verification_proof.batch_metadata.batch_header.quorum_signed_percentages" -+ ), -+ referenceBlockNumber: uint32( -+ uint256( -+ vm.parseJsonUint( -+ json, -+ ".blob_info.blob_verification_proof.batch_metadata.batch_header.reference_block_number" -+ ) -+ ) -+ ) -+ }); -+ -+ IEigenDAServiceManager.BatchMetadata memory batchMetadata = IEigenDAServiceManager -+ .BatchMetadata({ -+ batchHeader: batchHeader, -+ signatoryRecordHash: vm.parseJsonBytes32( -+ json, -+ ".blob_info.blob_verification_proof.batch_metadata.signatory_record_hash" -+ ), -+ confirmationBlockNumber: uint32( -+ uint256( -+ vm.parseJsonUint( -+ json, -+ ".blob_info.blob_verification_proof.batch_metadata.confirmation_block_number" -+ ) -+ ) -+ ) -+ }); -+ -+ EigenDARollupUtils.BlobVerificationProof memory blobVerificationProof = EigenDARollupUtils -+ .BlobVerificationProof({ -+ batchId: uint32( -+ uint256(vm.parseJsonUint(json, ".blob_info.blob_verification_proof.batch_id")) -+ ), -+ blobIndex: uint32( -+ uint256(vm.parseJsonUint(json, ".blob_info.blob_verification_proof.blob_index")) -+ ), -+ batchMetadata: batchMetadata, -+ inclusionProof: vm.parseJsonBytes( -+ json, -+ ".blob_info.blob_verification_proof.inclusion_proof" -+ ), -+ quorumIndices: vm.parseJsonBytes( -+ json, -+ ".blob_info.blob_verification_proof.quorum_indexes" -+ ) -+ }); -+ console.logBytes32(keccak256(abi.encode(blobHeader))); -+ return (blobHeader, blobVerificationProof); -+ } -+} -\ No newline at end of file
-
- - -
- - -
-
-
- - (new) - -
- - -
-
- -
- -
- -
+44
-
-0
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/test/foundry/blob_info/blob_info.json Layr-Labs/nitro-contracts/test/foundry/blob_info/blob_info.json -new file mode 100644 -index 0000000000000000000000000000000000000000..90b4937af684423bcf1de0a8877e4a029331d7a7 ---- /dev/null -+++ Layr-Labs/nitro-contracts/test/foundry/blob_info/blob_info.json -@@ -0,0 +1,44 @@ -+{ -+ "request_id": "316638323561613266303032306566376366393164666133306461343636386437393163356434383234666338653431333534623839656330353739356162332d33313337333133393335333233373333333633303336333133363333333533303330333133363266333032663333333332663331326633333333326665336230633434323938666331633134396166626634633839393666623932343237616534316534363439623933346361343935393931623738353262383535", -+ "blob_info": { -+ "blob_header": { -+ "commitment": { -+ "x": "0x2569a1994232d43b210e860d876c0bbc8d7f22dc0b8ae17d4c369ce7c2d33c26", -+ "y": "0x14f8198412fea43aaeb4a5355600d0fe3f175ea2f5d7246a7c6472c453fcde53" -+ }, -+ "data_length": 1, -+ "blob_quorum_params": [ -+ { -+ "quorum_number": 0, -+ "adversary_threshold_percentage": 33, -+ "confirmation_threshold_percentage": 55, -+ "chunk_length": 1 -+ }, -+ { -+ "quorum_number": 1, -+ "adversary_threshold_percentage": 33, -+ "confirmation_threshold_percentage": 55, -+ "chunk_length": 1 -+ } -+ ] -+ }, -+ "blob_verification_proof": { -+ "batch_id": 21103, -+ "blob_index": 1905, -+ "batch_metadata": { -+ "batch_header": { -+ "batch_root": "d627b55c1f307c37d0543562cdb2e1faf907dd98c1e5f94be62785ac30cca851", -+ "quorum_numbers": "0001", -+ "quorum_signed_percentages": "6362", -+ "reference_block_number": 1820787 -+ }, -+ "signatory_record_hash": "390703dea190bab4fc41037a72055dfe8ad3df2cf359a15dca3ebe601c4a0bd9", -+ "fee": "00", -+ "confirmation_block_number": 1820926, -+ "batch_header_hash": "f38003c8fed893238c3e8712efe1149333ed86a163fffdb77c98595fa76454aa" -+ }, -+ "inclusion_proof": "75ad90fbbde05f97f78dd7908f85a45c4e851cc29b796b70f78cf704a6e32815089c0d4db7fafbb64881a16d7f85e0e8c87129295a31a33e496cde48b1d08c8355754e58189833af2acd177159cd5f433420f335089f657643b85bef9d5701972354f1d752a9d31fce3ca7773c341b8aa729c88a2b3a2bb678c166f563b33f622c587b69c2ec92c998385010f08dc4170a08747c42e23ef429b67cf505a471d0eed3f79adb6a4d781e242ff800c29214f8fbf4f57d7d57ea48082f54e52d7f759afd178572e6986ba7ef6e9050184332eebd04cec473279188ae2a0f780d2ed69a0b17cfa3962bc09162db8b469ae8a38e3db31042338457f765c77f6b28cdd7e14df7b2c40f27f32bd7d4907816fb2655e06414a5b180ade4ebe295662c007428e2141faccaee62f177305df72d1f3b0f8dfc90235272f9a741af4eae6af6dc7bce2ce5f9c820c78fe436beaeef9b6734702cfc3d7863fac39ed52dc3061a1cf4f895c0797e6aff0a6076044102b00663e5e74f5ec53e4621312b98f4c74a7e", -+ "quorum_indexes": "0001" -+ } -+ } -+}
-
- - -
- - - - -
- -
- -
+7
-
-6
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/test/storage/SequencerInbox Layr-Labs/nitro-contracts/test/storage/SequencerInbox -index c53e775e3d1e7abe11040213863470bd65a48e59..ed18e3cf6eb23e56f83df4a49cd8a07f1c25c91e 100644 ---- OffchainLabs/nitro-contracts/test/storage/SequencerInbox -+++ Layr-Labs/nitro-contracts/test/storage/SequencerInbox -@@ -6,9 +6,10 @@ | rollup | contract IOwnable | 2 | 0 | 20 | src/bridge/SequencerInbox.sol:SequencerInbox | - | isBatchPoster | mapping(address => bool) | 3 | 0 | 32 | src/bridge/SequencerInbox.sol:SequencerInbox | - | __LEGACY_MAX_TIME_VARIATION | struct ISequencerInbox.MaxTimeVariation | 4 | 0 | 128 | src/bridge/SequencerInbox.sol:SequencerInbox | - | dasKeySetInfo | mapping(bytes32 => struct ISequencerInbox.DasKeySetInfo) | 8 | 0 | 32 | src/bridge/SequencerInbox.sol:SequencerInbox | --| isSequencer | mapping(address => bool) | 9 | 0 | 32 | src/bridge/SequencerInbox.sol:SequencerInbox | --| delayBlocks | uint64 | 10 | 0 | 8 | src/bridge/SequencerInbox.sol:SequencerInbox | --| futureBlocks | uint64 | 10 | 8 | 8 | src/bridge/SequencerInbox.sol:SequencerInbox | --| delaySeconds | uint64 | 10 | 16 | 8 | src/bridge/SequencerInbox.sol:SequencerInbox | --| futureSeconds | uint64 | 10 | 24 | 8 | src/bridge/SequencerInbox.sol:SequencerInbox | --| batchPosterManager | address | 11 | 0 | 20 | src/bridge/SequencerInbox.sol:SequencerInbox | -+| eigenDARollupManager | contract IRollupManager | 9 | 0 | 20 | src/bridge/SequencerInbox.sol:SequencerInbox | -+| isSequencer | mapping(address => bool) | 10 | 0 | 32 | src/bridge/SequencerInbox.sol:SequencerInbox | -+| delayBlocks | uint64 | 11 | 0 | 8 | src/bridge/SequencerInbox.sol:SequencerInbox | -+| futureBlocks | uint64 | 11 | 8 | 8 | src/bridge/SequencerInbox.sol:SequencerInbox | -+| delaySeconds | uint64 | 11 | 16 | 8 | src/bridge/SequencerInbox.sol:SequencerInbox | -+| futureSeconds | uint64 | 11 | 24 | 8 | src/bridge/SequencerInbox.sol:SequencerInbox | -+| batchPosterManager | address | 12 | 0 | 20 | src/bridge/SequencerInbox.sol:SequencerInbox |
-
- - - -
-
- -
-
-
- - -
- -
-

Introduce two new dependency contracts:

- -
    -
  • EigenDABlobVerifierL1: verifies blobs when the rollup parent chain is Ethereum.

  • - -
  • EigenDABlobVerifierL2: “verifies” blobs when the rollup parent chain isn’t Ethereum. This is effectively -a noop since EigenDA blobs can only be verified on Ethereum given required access to the EigenDAServiceManager.

  • -
- -

Both of this contracts implement the IRollupManager interface which is referenced via the SequencerInbox.

-
-
- -
- - -
-
-
- - (new) - -
- - -
-
- -
- -
- -
+56
-
-0
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/scripts/local-deployment/deployBlobVerifierL1.ts Layr-Labs/nitro-contracts/scripts/local-deployment/deployBlobVerifierL1.ts -new file mode 100644 -index 0000000000000000000000000000000000000000..7e2c1891843bfab1d6cdcd84e35299e9ba3bf1b6 ---- /dev/null -+++ Layr-Labs/nitro-contracts/scripts/local-deployment/deployBlobVerifierL1.ts -@@ -0,0 +1,57 @@ -+import { ethers } from 'hardhat' -+import '@nomiclabs/hardhat-ethers' -+import { deployBlobVerifierL1 } from '../deploymentUtils' -+import { promises as fs } from 'fs' -+ -+ -+async function main() { -+ /// read env vars needed for deployment -+ let childChainName = process.env.CHILD_CHAIN_NAME as string -+ if (!childChainName) { -+ throw new Error('CHILD_CHAIN_NAME not set') -+ } -+ -+ let deployerPrivKey = process.env.DEPLOYER_PRIVKEY as string -+ if (!deployerPrivKey) { -+ throw new Error('DEPLOYER_PRIVKEY not set') -+ } -+ -+ let parentChainRpc = process.env.PARENT_CHAIN_RPC as string -+ if (!parentChainRpc) { -+ throw new Error('PARENT_CHAIN_RPC not set') -+ } -+ -+ let eigenDAServiceManagerAddress = process.env.EIGENDA_SERVICE_MANAGER_ADDRESS as string -+ if (!eigenDAServiceManagerAddress) { -+ throw new Error('EIGENDA_SERVICE_MANAGER_ADDRESS not set') -+ } -+ -+ if (!process.env.PARENT_CHAIN_ID) { -+ throw new Error('PARENT_CHAIN_ID not set') -+ } -+ -+ const deployerWallet = new ethers.Wallet( -+ deployerPrivKey, -+ new ethers.providers.JsonRpcProvider(parentChainRpc) -+ ) -+ -+ // deploy templates and rollup creator -+ const blobVerifierL1 = await deployBlobVerifierL1('EigenDABlobVerifierL1', deployerWallet, [eigenDAServiceManagerAddress], true) -+ console.log('BlobVerifierL1 deployed at', blobVerifierL1.address) -+ -+ /// store deployment address -+ // chain deployment info -+ const verifierDeploymentInfo = 'blob_verifier_l1_deploy.json' -+ await fs.writeFile( -+ verifierDeploymentInfo, -+ JSON.stringify(blobVerifierL1.address, null, 2), -+ 'utf8' -+ ) -+} -+ -+main() -+ .then(() => process.exit(0)) -+ .catch((error: Error) => { -+ console.error(error) -+ process.exit(1) -+ }) -\ No newline at end of file
-
- - -
- - -
-
-
- - (new) - -
- - -
-
- -
- -
- -
+40
-
-0
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/src/bridge/EigenDABlobVerifierL1.sol Layr-Labs/nitro-contracts/src/bridge/EigenDABlobVerifierL1.sol -new file mode 100644 -index 0000000000000000000000000000000000000000..8050bdfde06ec999372ce718745635ee86d68c6f ---- /dev/null -+++ Layr-Labs/nitro-contracts/src/bridge/EigenDABlobVerifierL1.sol -@@ -0,0 +1,40 @@ -+// SPDX-License-Identifier: MIT -+pragma solidity ^0.8.9; -+ -+import "./IRollupManager.sol"; -+import { -+ ExpiredEigenDACert -+} from "../libraries/Error.sol"; -+ -+contract EigenDABlobVerifierL1 is IRollupManager { -+ IEigenDAServiceManager public immutable EIGEN_DA_SERVICE_MANAGER; -+ uint256 internal constant MAX_CERTIFICATE_DRIFT = 100; -+ -+ constructor(address _eigenDAServiceManager) { -+ EIGEN_DA_SERVICE_MANAGER = IEigenDAServiceManager(_eigenDAServiceManager); -+ } -+ -+ function verifyBlob( -+ IEigenDAServiceManager.BlobHeader calldata blobHeader, -+ EigenDARollupUtils.BlobVerificationProof calldata blobVerificationProof -+ ) external view { -+ /* -+ Verify that the certificate is less than 2 epochs old from the L1 confirmation block number -+ This is to prevent timing attacks where the sequencer could submit an expired or close to expired -+ certificate which could impact liveness of full nodes as well as the safety of the bridge -+ */ -+ if ( -+ (blobVerificationProof.batchMetadata.confirmationBlockNumber + -+ MAX_CERTIFICATE_DRIFT) < block.number -+ ) { -+ revert ExpiredEigenDACert( -+ block.number, -+ blobVerificationProof.batchMetadata.confirmationBlockNumber + -+ MAX_CERTIFICATE_DRIFT -+ ); -+ } -+ -+ -+ EigenDARollupUtils.verifyBlob(blobHeader, EIGEN_DA_SERVICE_MANAGER, blobVerificationProof); -+ } -+}
-
- - -
- - -
-
-
- - (new) - -
- - -
-
- -
- -
- -
+13
-
-0
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/src/bridge/EigenDABlobVerifierL2.sol Layr-Labs/nitro-contracts/src/bridge/EigenDABlobVerifierL2.sol -new file mode 100644 -index 0000000000000000000000000000000000000000..b5cdd32bf112290b9419f1ad7cb447aa45347ed5 ---- /dev/null -+++ Layr-Labs/nitro-contracts/src/bridge/EigenDABlobVerifierL2.sol -@@ -0,0 +1,13 @@ -+// SPDX-License-Identifier: MIT -+pragma solidity ^0.8.9; -+ -+import "./IRollupManager.sol"; -+ -+contract EigenDABlobVerifierL2 is IRollupManager { -+ function verifyBlob( -+ IEigenDAServiceManager.BlobHeader calldata blobHeader, -+ EigenDARollupUtils.BlobVerificationProof calldata blobVerificationProof -+ ) external view { -+ //EigenDA blob verifcation is only supported on L1 currently -+ } -+}
-
- - -
- - -
-
-
- - (new) - -
- - -
-
- -
- -
- -
+12
-
-0
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/src/bridge/IRollupManager.sol Layr-Labs/nitro-contracts/src/bridge/IRollupManager.sol -new file mode 100644 -index 0000000000000000000000000000000000000000..41c75777700e518365a0d0d93b0e287053346c47 ---- /dev/null -+++ Layr-Labs/nitro-contracts/src/bridge/IRollupManager.sol -@@ -0,0 +1,12 @@ -+// SPDX-License-Identifier: MIT -+pragma solidity ^0.8.9; -+ -+import {EigenDARollupUtils} from "@eigenda/eigenda-utils/libraries/EigenDARollupUtils.sol"; -+import {IEigenDAServiceManager} from "@eigenda/eigenda-utils/interfaces/IEigenDAServiceManager.sol"; -+ -+interface IRollupManager { -+ function verifyBlob( -+ IEigenDAServiceManager.BlobHeader calldata blobHeader, -+ EigenDARollupUtils.BlobVerificationProof calldata blobVerificationProof -+ ) external view; -+}
-
- - -
- - -
-
-
- - (new) - -
- - -
-
- -
- -
- -
+67
-
-0
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/test/foundry/EigenDABlobVerifierL1.t.sol Layr-Labs/nitro-contracts/test/foundry/EigenDABlobVerifierL1.t.sol -new file mode 100644 -index 0000000000000000000000000000000000000000..21bcc64cb56c6c4845e9f0aa9009fa105543ddd8 ---- /dev/null -+++ Layr-Labs/nitro-contracts/test/foundry/EigenDABlobVerifierL1.t.sol -@@ -0,0 +1,67 @@ -+// SPDX-License-Identifier: MIT -+pragma solidity ^0.8.9; -+ -+import "forge-std/Test.sol"; -+import "../../src/bridge/EigenDABlobVerifierL1.sol"; -+import "../../src/libraries/Error.sol"; -+import {EigenDARollupUtils} from "@eigenda/eigenda-utils/libraries/EigenDARollupUtils.sol"; -+import {IEigenDAServiceManager} from "@eigenda/eigenda-utils/interfaces/IEigenDAServiceManager.sol"; -+import {BN254} from "@eigenda/eigenda-utils/libraries/BN254.sol"; -+import {SequencerInboxTest} from "./SequencerInbox.t.sol"; -+import { -+ ExpiredEigenDACert -+} from "../../src/libraries/Error.sol"; -+ -+contract EigenDABlobVerifierL1Test is Test { -+ EigenDABlobVerifierL1 public verifier; -+ IEigenDAServiceManager dummyEigenDAServiceManager = IEigenDAServiceManager(address(138)); -+ -+ SequencerInboxTest inboxTest = new SequencerInboxTest(); -+ -+ function setUp() public { -+ // Deploy the verifier contract with a mock EigenDA Service Manager -+ verifier = new EigenDABlobVerifierL1(address(dummyEigenDAServiceManager)); -+ } -+ -+ function testCertificateTooOld() public { -+ ( -+ IEigenDAServiceManager.BlobHeader memory blobHeader, -+ EigenDARollupUtils.BlobVerificationProof memory blobVerificationProof -+ ) = inboxTest.readAndParseBlobInfo(); -+ -+ // Set the confirmation block number to be MAX_CERTIFICATE_DRIFT + 1 -+ blobVerificationProof.batchMetadata.confirmationBlockNumber = 0; -+ -+ vm.roll(101); -+ vm.expectRevert( -+ abi.encodeWithSelector( -+ ExpiredEigenDACert.selector, -+ block.number, -+ 100 -+ ) -+ ); -+ -+ verifier.verifyBlob( -+ blobHeader, -+ blobVerificationProof -+ ); -+ } -+ -+ function testCertificateWithinSafetyBound() public { -+ ( -+ IEigenDAServiceManager.BlobHeader memory blobHeader, -+ EigenDARollupUtils.BlobVerificationProof memory blobVerificationProof -+ ) = inboxTest.readAndParseBlobInfo(); -+ -+ // Set the confirmation block number to be MAX_CERTIFICATE_DRIFT + 1 -+ blobVerificationProof.batchMetadata.confirmationBlockNumber = 100; -+ -+ vm.roll(101); -+ vm.expectRevert(bytes("")); -+ -+ verifier.verifyBlob( -+ blobHeader, -+ blobVerificationProof -+ ); -+ } -+}
-
- - - -
-
- -
-
-
- - -
- -
-

Updated rollup creator to:

- -
    -
  • support a freezing access modifier which permanently pauses contract functionality and prohibits users -for deploying subsequent parent chain system contracts. This is done to prevent users from utilizing older rollup creators mapped to -outdated system contracts.

  • - -
  • handle the EigenDARollupManager contract address as a constructor argument

  • -
- -

Also extended deployment scripts to deploy blob verifier contract based on parent chain context and -wire the contract via deployment parameters.

-
-
- -
- - - - -
- -
- -
+58
-
-1
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/scripts/deploymentUtils.ts Layr-Labs/nitro-contracts/scripts/deploymentUtils.ts -index 582ae67db25997bc247e8b6ff8da49124cad20b4..7f71812e713d63784b2916cb1dfd28dafe2a1c83 100644 ---- OffchainLabs/nitro-contracts/scripts/deploymentUtils.ts -+++ Layr-Labs/nitro-contracts/scripts/deploymentUtils.ts -@@ -11,6 +11,7 @@ import { - ArbOwner__factory, - ArbSys__factory, - CacheManager__factory, -+ EigenDABlobVerifierL1__factory, - } from '../build/types' -  - const INIT_CACHE_SIZE = 536870912 -@@ -63,6 +64,7 @@ constructorArgs: any[] = [], - verify: boolean = true, - overrides?: Overrides - ): Promise<Contract> { -+ console.log('Deploying contract EigenDA x Arbitrum', contractName) - const factory: ContractFactory = await ethers.getContractFactory(contractName) - const connectedFactory: ContractFactory = factory.connect(signer) -  -@@ -81,15 +83,63 @@ - return contract - } -  -+ -+// Deploy blob verifier for the EigendaRollupManager -+// argument for rollup creator deployment on L1 -+// TODO: This logic will be deprecated in the future in favor of -+// embedding verifications into the service manager directl -+export async function deployBlobVerifierL1( -+ contractName: string, -+ signer: any, -+ constructorArgs: any[] = [], -+ verify: boolean = true, -+ overrides?: Overrides -+): Promise<Contract> { -+ console.log("Deploying contract EigenDA x Arbitrum", contractName) -+ const eigenDARollupUtils = await deployContract('EigenDARollupUtils', signer, [], verify) -+ console.log("EigenDARollupUtils deployed at", eigenDARollupUtils.address) -+ -+ const eigenda_blob_verifier = await ethers.getContractFactory(contractName, { -+ libraries: { -+ EigenDARollupUtils: eigenDARollupUtils.address -+ } -+ }) as EigenDABlobVerifierL1__factory -+ -+ const connectedFactory: ContractFactory = eigenda_blob_verifier.connect(signer) -+ -+ let deploymentArgs = [...constructorArgs] -+ if (overrides) { -+ deploymentArgs.push(overrides) -+ } -+ -+ const contract: Contract = await connectedFactory.deploy(...deploymentArgs) -+ await contract.deployTransaction.wait() -+ console.log(`New ${contractName} created at address:`, contract.address) -+ -+ if (verify) -+ await verifyContract(contractName, contract.address, constructorArgs) -+ -+ return contract -+} -+ - // Deploy upgrade executor from imported bytecode - export async function deployUpgradeExecutor(signer: any): Promise<Contract> { -+ console.log("Deploying contract EigenDA x Arbitrum UpgradeExecutor") - const upgradeExecutorFac = await ethers.getContractFactory( - UpgradeExecutorABI, - UpgradeExecutorBytecode - ) - const connectedFactory: ContractFactory = upgradeExecutorFac.connect(signer) - const upgradeExecutor = await connectedFactory.deploy() -+ await upgradeExecutor.deployTransaction.wait() -+ console.log("Upgrade executor deployed at", upgradeExecutor.address) - return upgradeExecutor -+} -+ -+const L1ServiceManagers = { -+ 1: "0x870679E138bCdf293b7Ff14dD44b70FC97e12fc0", // Ethereum -+ 5: "0xa3b1689Ab85409B15e07d2ED50A6EA9905074Ee5", // Goerli -+ 17000: "0xD4A7E1Bd8015057293f0D0A557088c286942e84b", // Holesky (testnet) - } -  - // Function to handle all deployments of core contracts using deployContract function -@@ -99,6 +149,12 @@ maxDataSize: BigNumber, - verify: boolean = true - ): Promise<Record<string, Contract>> { - const isOnArb = await _isRunningOnArbitrum(signer) -+ const chainId = signer.provider.network.chainId -+ -+ // If signer is on L1, deploy EigenDABlobVerifierL1 with EigenDAServiceManager as constructor argument -+ // If signer is on L2, deploy EigenDABlobVerifierL2; blob verifier is used as eigenDARollupManager as part of rollup creation -+ const eigenDARollupManager = (L1ServiceManagers.hasOwnProperty(chainId)) ? -+ await deployBlobVerifierL1('EigenDABlobVerifierL1', signer, [L1ServiceManagers[chainId as keyof typeof L1ServiceManagers]], verify) : await deployContract('EigenDABlobVerifierL2', signer, [], verify) -  - const ethBridge = await deployContract('Bridge', signer, [], verify) - const reader4844 = isOnArb -@@ -227,6 +283,7 @@ verify - ) - const deployHelper = await deployContract('DeployHelper', signer, [], verify) - return { -+ ethSequencerInbox, - bridgeCreator, - prover0, - proverMem, -@@ -241,6 +298,7 @@ validatorUtils, - validatorWalletCreator, - rollupCreator, - deployHelper, -+ eigenDARollupManager, - } - } -  -@@ -294,4 +352,4 @@ return true - } catch (error) { - return false - } --} -+} -\ No newline at end of file
-
- - -
- - -
-
-
- - (new) - -
- - -
-
- -
- -
- -
+105
-
-0
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/scripts/local-deployment/createRollup.ts Layr-Labs/nitro-contracts/scripts/local-deployment/createRollup.ts -new file mode 100644 -index 0000000000000000000000000000000000000000..03f6b8c61e58527565eaa57e482f4fb797e70a3f ---- /dev/null -+++ Layr-Labs/nitro-contracts/scripts/local-deployment/createRollup.ts -@@ -0,0 +1,106 @@ -+import { ethers } from 'hardhat' -+import '@nomiclabs/hardhat-ethers' -+import { deployAllContracts, deployBlobVerifierL1 } from '../deploymentUtils' -+import { createRollup } from '../rollupCreation' -+import { promises as fs } from 'fs' -+import { BigNumber } from 'ethers' -+import { RollupAdminLogic__factory } from '../../build/types' -+ -+async function main() { -+ /// read env vars needed for deployment -+ let childChainName = process.env.CHILD_CHAIN_NAME as string -+ if (!childChainName) { -+ throw new Error('CHILD_CHAIN_NAME not set') -+ } -+ -+ let deployerPrivKey = process.env.DEPLOYER_PRIVKEY as string -+ if (!deployerPrivKey) { -+ throw new Error('DEPLOYER_PRIVKEY not set') -+ } -+ -+ let parentChainRpc = process.env.PARENT_CHAIN_RPC as string -+ if (!parentChainRpc) { -+ throw new Error('PARENT_CHAIN_RPC not set') -+ } -+ -+ if (!process.env.PARENT_CHAIN_ID) { -+ throw new Error('PARENT_CHAIN_ID not set') -+ } -+ -+ const deployerWallet = new ethers.Wallet( -+ deployerPrivKey, -+ new ethers.providers.JsonRpcProvider(parentChainRpc) -+ ) -+ -+ /// get fee token address, if undefined use address(0) to have ETH as fee token -+ let feeToken = process.env.FEE_TOKEN_ADDRESS as string -+ if (!feeToken) { -+ feeToken = ethers.constants.AddressZero -+ } -+ console.log('Fee token address:', feeToken) -+ -+ const rollupCreatorAddress = process.env.ROLLUP_CREATOR as string -+ if (!rollupCreatorAddress) { -+ throw new Error('ROLLUP_CREATOR not set') -+ } -+ const rollupCreatorFac = await ethers.getContractFactory('RollupCreator') -+ const rollupCreator = rollupCreatorFac.attach(rollupCreatorAddress) -+ -+ const eigenDARollupManager = process.env.EIGENDA_ROLLUP_MANAGER as string -+ if (!eigenDARollupManager) { -+ throw new Error('EIGENDA_ROLLUP_MANAGER not set') -+ } -+ -+ /// Create rollup -+ const chainId = (await deployerWallet.provider.getNetwork()).chainId -+ console.log( -+ 'Create rollup on top of chain', -+ chainId, -+ 'using RollupCreator', -+ rollupCreator.address -+ ) -+ const result = await createRollup( -+ deployerWallet, -+ true, -+ rollupCreator.address, -+ feeToken, -+ eigenDARollupManager, -+ ) -+ -+ if (!result) { -+ throw new Error('Rollup creation failed') -+ } -+ -+ const { rollupCreationResult, chainInfo } = result -+ -+ /// store deployment address -+ // chain deployment info -+ const chainDeploymentInfo = -+ process.env.CHAIN_DEPLOYMENT_INFO !== undefined -+ ? process.env.CHAIN_DEPLOYMENT_INFO -+ : 'deploy.json' -+ await fs.writeFile( -+ chainDeploymentInfo, -+ JSON.stringify(rollupCreationResult, null, 2), -+ 'utf8' -+ ) -+ -+ // child chain info -+ chainInfo['chain-name'] = childChainName -+ const childChainInfo = -+ process.env.CHILD_CHAIN_INFO !== undefined -+ ? process.env.CHILD_CHAIN_INFO -+ : 'l2_chain_info.json' -+ await fs.writeFile( -+ childChainInfo, -+ JSON.stringify([chainInfo], null, 2), -+ 'utf8' -+ ) -+} -+ -+main() -+ .then(() => process.exit(0)) -+ .catch((error: Error) => { -+ console.error(error) -+ process.exit(1) -+ }) -\ No newline at end of file
-
- - -
- - -
-
-
- - (new) - -
- - -
-
- -
- -
- -
+87
-
-0
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/scripts/local-deployment/deployCreator.ts Layr-Labs/nitro-contracts/scripts/local-deployment/deployCreator.ts -new file mode 100644 -index 0000000000000000000000000000000000000000..c8841facf6302e77c6ce25e4b0e56a6eae3f64b8 ---- /dev/null -+++ Layr-Labs/nitro-contracts/scripts/local-deployment/deployCreator.ts -@@ -0,0 +1,88 @@ -+import { ethers } from 'hardhat' -+import '@nomiclabs/hardhat-ethers' -+import { deployAllContracts, deployBlobVerifierL1 } from '../deploymentUtils' -+import { createRollup } from '../rollupCreation' -+import { promises as fs } from 'fs' -+import { BigNumber } from 'ethers' -+import { RollupAdminLogic__factory } from '../../build/types' -+ -+async function main() { -+ /// read env vars needed for deployment -+ let childChainName = process.env.CHILD_CHAIN_NAME as string -+ if (!childChainName) { -+ throw new Error('CHILD_CHAIN_NAME not set') -+ } -+ -+ let deployerPrivKey = process.env.DEPLOYER_PRIVKEY as string -+ if (!deployerPrivKey) { -+ throw new Error('DEPLOYER_PRIVKEY not set') -+ } -+ -+ let parentChainRpc = process.env.PARENT_CHAIN_RPC as string -+ if (!parentChainRpc) { -+ throw new Error('PARENT_CHAIN_RPC not set') -+ } -+ -+ if (!process.env.PARENT_CHAIN_ID) { -+ throw new Error('PARENT_CHAIN_ID not set') -+ } -+ -+ const deployerWallet = new ethers.Wallet( -+ deployerPrivKey, -+ new ethers.providers.JsonRpcProvider(parentChainRpc) -+ ) -+ -+ const maxDataSize = -+ process.env.MAX_DATA_SIZE !== undefined -+ ? ethers.BigNumber.from(process.env.MAX_DATA_SIZE) -+ : ethers.BigNumber.from(117964) -+ -+ /// get fee token address, if undefined use address(0) to have ETH as fee token -+ let feeToken = process.env.FEE_TOKEN_ADDRESS as string -+ if (!feeToken) { -+ feeToken = ethers.constants.AddressZero -+ } -+ console.log('Fee token address:', feeToken) -+ -+ // deploy templates and rollup creator -+ console.log('Deploy RollupCreator') -+ -+ const contracts = await deployAllContracts(deployerWallet, maxDataSize, false) -+ -+ console.log('Set templates on the Rollup Creator') -+ await ( -+ await contracts.rollupCreator.setTemplates( -+ contracts.bridgeCreator.address, -+ contracts.osp.address, -+ contracts.challengeManager.address, -+ contracts.rollupAdmin.address, -+ contracts.rollupUser.address, -+ contracts.upgradeExecutor.address, -+ contracts.validatorUtils.address, -+ contracts.validatorWalletCreator.address, -+ contracts.deployHelper.address, -+ { gasLimit: BigNumber.from('300000') } -+ ) -+ ).wait() -+ -+ console.log('Rollup creator is ready for rollup creation') -+ -+ /// store deployment address -+ // chain deployment info -+ const chainDeploymentInfo = -+ process.env.CHAIN_DEPLOYMENT_INFO !== undefined -+ ? process.env.CHAIN_DEPLOYMENT_INFO -+ : 'rollupCreatorContracts.json' -+ await fs.writeFile( -+ chainDeploymentInfo, -+ JSON.stringify(contracts, null, 2), -+ 'utf8' -+ ) -+} -+ -+main() -+ .then(() => process.exit(0)) -+ .catch((error: Error) => { -+ console.error(error) -+ process.exit(1) -+ }) -\ No newline at end of file
-
- - -
-
diff --git OffchainLabs/nitro-contracts/scripts/local-deployment/deployCreatorAndCreateRollup.ts Layr-Labs/nitro-contracts/scripts/local-deployment/deployCreatorAndCreateRollup.ts -index 1a63b2f76841e73ab47b7c8b4d02482bc0bad6ba..c814aa27682bbaa4d701893633e4f927e8e12c17 100644 ---- OffchainLabs/nitro-contracts/scripts/local-deployment/deployCreatorAndCreateRollup.ts -+++ Layr-Labs/nitro-contracts/scripts/local-deployment/deployCreatorAndCreateRollup.ts -@@ -74,7 +74,8 @@ const result = await createRollup( - deployerWallet, - true, - contracts.rollupCreator.address, -- feeToken -+ feeToken, -+ contracts.eigenDARollupManager.address, - ) -  - if (!result) {
-
- - -
- - - - -
- -
- -
+10
-
-3
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/scripts/rollupCreation.ts Layr-Labs/nitro-contracts/scripts/rollupCreation.ts -index e70b82dcb38567f619d6f9b1763de67118ca621d..1e87c05e1c1fcc6ab286eae69ef64f778bdae22a 100644 ---- OffchainLabs/nitro-contracts/scripts/rollupCreation.ts -+++ Layr-Labs/nitro-contracts/scripts/rollupCreation.ts -@@ -61,7 +61,8 @@ export async function createRollup( - signer: Signer, - isDevDeployment: boolean, - rollupCreatorAddress: string, -- feeToken: string -+ feeToken: string, -+ eigenDARollupManager: string - ): Promise<{ - rollupCreationResult: RollupCreationResult - chainInfo: ChainInfo -@@ -101,7 +102,11 @@ - // Call the createRollup function - console.log('Calling createRollup to generate a new rollup ...') - const deployParams = isDevDeployment -- ? await _getDevRollupConfig(feeToken, validatorWalletCreator) -+ ? await _getDevRollupConfig( -+ eigenDARollupManager, -+ feeToken, -+ validatorWalletCreator -+ ) - : { - config: config.rollupConfig, - validators: config.validators, -@@ -111,6 +116,7 @@ deployFactoriesToL2: true, - maxFeePerGasForRetryables: MAX_FER_PER_GAS, - batchPosters: config.batchPosters, - batchPosterManager: config.batchPosterManager, -+ eigenDARollupManager: eigenDARollupManager, - } -  - const createRollupTx = await rollupCreator.createRollup(deployParams, { -@@ -229,6 +235,7 @@ return null - } -  - async function _getDevRollupConfig( -+ rollupManager: string, - feeToken: string, - validatorWalletCreator: string - ) { -@@ -329,6 +336,7 @@ deployFactoriesToL2: true, - maxFeePerGasForRetryables: MAX_FER_PER_GAS, - batchPosters: batchPosters, - batchPosterManager: batchPosterManager, -+ eigenDARollupManager: rollupManager, - } -  - function _createValidatorAddress( -@@ -363,4 +371,4 @@ return amount.mul(BigNumber.from(10).pow(decimals.sub(BigNumber.from(18)))) - } -  - return amount --} -+} -\ No newline at end of file
-
- - -
- - - - -
- -
- -
+30
-
-6
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/src/rollup/RollupCreator.sol Layr-Labs/nitro-contracts/src/rollup/RollupCreator.sol -index 61351cfe7fc4632ef611015c2688762de1a1a0ac..a95bdd8b920079351e6578625eef13c274a3e68e 100644 ---- OffchainLabs/nitro-contracts/src/rollup/RollupCreator.sol -+++ Layr-Labs/nitro-contracts/src/rollup/RollupCreator.sol -@@ -40,9 +40,19 @@ uint256 maxDataSize; - address nativeToken; - bool deployFactoriesToL2; - uint256 maxFeePerGasForRetryables; -- //// @dev The address of the batch poster, not used when set to zero address - address[] batchPosters; - address batchPosterManager; -+ address eigenDARollupManager; -+ } -+ -+ modifier onlyUnfrozen() { -+ require(!deploymentFrozen, "Deployment no longer permitted from this RollupCreator"); -+ _; -+ } -+ -+ modifier onlyOnce() { -+ require(!templatesSet, "Templates already set"); -+ _; - } -  - BridgeCreator public bridgeCreator; -@@ -56,6 +66,9 @@ address public validatorUtils; - address public validatorWalletCreator; -  - DeployHelper public l2FactoriesDeployer; -+ -+ bool public templatesSet; -+ bool public deploymentFrozen; -  - constructor() Ownable() {} -  -@@ -72,7 +85,7 @@ IUpgradeExecutor _upgradeExecutorLogic, - address _validatorUtils, - address _validatorWalletCreator, - DeployHelper _l2FactoriesDeployer -- ) external onlyOwner { -+ ) external onlyOwner onlyOnce { - bridgeCreator = _bridgeCreator; - osp = _osp; - challengeManagerTemplate = _challengeManagerLogic; -@@ -82,6 +95,8 @@ upgradeExecutorLogic = _upgradeExecutorLogic; - validatorUtils = _validatorUtils; - validatorWalletCreator = _validatorWalletCreator; - l2FactoriesDeployer = _l2FactoriesDeployer; -+ -+ templatesSet = true; - emit TemplatesUpdated(); - } -  -@@ -92,11 +107,11 @@ * @dev - UpgradeExecutor should be the owner of rollup - * @dev - UpgradeExecutor should be the owner of proxyAdmin which manages bridge contracts - * @dev - config.rollupOwner should have executor role on upgradeExecutor - * @dev - Bridge should have a single inbox and outbox -- * @dev - Validators and batch poster should be set if provided -+ * @dev - Validators, batch posters and batch poster manager should be set if provided - * @param deployParams The parameters for the rollup deployment. It consists of: - * - config The configuration for the rollup -- * - batchPoster The address of the batch poster, not used when set to zero address - * - validators The list of validator addresses, not used when set to empty list -+ * - maxDataSize Max size of the calldata that can be posted - * - nativeToken Address of the custom fee token used by rollup. If rollup is ETH-based address(0) should be provided - * - deployFactoriesToL2 Whether to deploy L2 factories using retryable tickets. If true, retryables need to be paid for in native currency. - * Deploying factories via retryable tickets at rollup creation time is the most reliable method to do it since it -@@ -104,12 +119,15 @@ * doesn't require paying the L1 gas. If deployment is not done as part of rollup creation TX, there is a risk that - * anyone can try to deploy factories and potentially burn the nonce 0 (ie. due to gas price spike when doing direct - * L2 TX). That would mean we permanently lost capability to deploy deterministic factory at expected address. - * - maxFeePerGasForRetryables price bid for L2 execution. -- * - dataHashReader The address of the data hash reader used to read blob hashes -+ * - batchPosters The list of batch poster addresses, not used when set to empty list -+ * - batchPosterManager The address which has the ability to rotate batch poster keys -+ * - eigenDARollupManager The address of the EigenDABlobVerifier contract - * @return The address of the newly created rollup - */ - function createRollup(RollupDeploymentParams memory deployParams) - public - payable -+ onlyUnfrozen - returns (address) - { - { -@@ -196,6 +214,9 @@ if (deployParams.batchPosterManager != address(0)) { - bridgeContracts.sequencerInbox.setBatchPosterManager(deployParams.batchPosterManager); - } -  -+ // Setting EigenDAServiceManager and EigenDARollupManager -+ bridgeContracts.sequencerInbox.setEigenDARollupManager(deployParams.eigenDARollupManager); -+ - // Call setValidator on the newly created rollup contract just if validator set is not empty - if (deployParams.validators.length != 0) { - bool[] memory _vals = new bool[](deployParams.validators.length); -@@ -230,6 +251,10 @@ address(validatorUtils), - address(validatorWalletCreator) - ); - return address(rollup); -+ } -+ -+ function freezeDeployment() external onlyOwner { -+ deploymentFrozen = true; - } -  - function _deployUpgradeExecutor(address rollupOwner, ProxyAdmin proxyAdmin) -@@ -331,4 +356,4 @@ } - } - return scaledAmount; - } --} -+} -\ No newline at end of file
-
- - -
- - - - -
- -
- -
+111
-
-4
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/test/foundry/RollupCreator.t.sol Layr-Labs/nitro-contracts/test/foundry/RollupCreator.t.sol -index 68b8ebe243219242cf2a41f1f2220b6d6ae324c0..da80505720ceb83acf025cd18df00a94ad920d50 100644 ---- OffchainLabs/nitro-contracts/test/foundry/RollupCreator.t.sol -+++ Layr-Labs/nitro-contracts/test/foundry/RollupCreator.t.sol -@@ -28,6 +28,8 @@ IRollupAdmin public rollupAdmin; - IRollupUser public rollupUser; - DeployHelper public deployHelper; - IReader4844 dummyReader4844 = IReader4844(address(137)); -+ IEigenDAServiceManager dummyEigenDAServiceManager = IEigenDAServiceManager(address(138)); -+ IRollupManager rollupManager = IRollupManager(address(139)); -  - // 1 gwei - uint256 public constant MAX_FEE_PER_GAS = 1_000_000_000; -@@ -125,6 +127,9 @@ address[] memory validators = new address[](2); - validators[0] = makeAddr("validator1"); - validators[1] = makeAddr("validator2"); -  -+ address eigenDASvcManager = makeAddr("eigenDASvcManager"); -+ address eigenDARollupManager = makeAddr("rollupManager"); -+ - RollupCreator.RollupDeploymentParams memory deployParams = RollupCreator - .RollupDeploymentParams({ - config: config, -@@ -134,8 +139,10 @@ maxDataSize: MAX_DATA_SIZE, - nativeToken: address(0), - deployFactoriesToL2: true, - maxFeePerGasForRetryables: MAX_FEE_PER_GAS, -- batchPosterManager: batchPosterManager -+ batchPosterManager: batchPosterManager, -+ eigenDARollupManager: eigenDARollupManager - }); -+ - address rollupAddress = rollupCreator.createRollup{value: factoryDeploymentFunds}( - deployParams - ); -@@ -280,6 +287,7 @@ address batchPosterManager = makeAddr("batch poster manager"); - address[] memory validators = new address[](2); - validators[0] = makeAddr("validator1"); - validators[1] = makeAddr("validator2"); -+ address eigenDARollupManager = makeAddr("rollupManager"); -  - RollupCreator.RollupDeploymentParams memory deployParams = RollupCreator - .RollupDeploymentParams({ -@@ -290,7 +298,8 @@ maxDataSize: MAX_DATA_SIZE, - nativeToken: nativeToken, - deployFactoriesToL2: true, - maxFeePerGasForRetryables: MAX_FEE_PER_GAS, -- batchPosterManager: batchPosterManager -+ batchPosterManager: batchPosterManager, -+ eigenDARollupManager: eigenDARollupManager - }); -  - address rollupAddress = rollupCreator.createRollup(deployParams); -@@ -398,6 +407,103 @@ "Invalid executor role" - ); - } -  -+ function test_freezeDeployment() public { -+ vm.startPrank(deployer); -+ -+ rollupCreator.freezeDeployment(); -+ assertTrue(rollupCreator.deploymentFrozen(), "rollupCreator not frozen"); -+ -+ ISequencerInbox.MaxTimeVariation memory timeVars = ISequencerInbox.MaxTimeVariation( -+ ((60 * 60 * 24) / 15), -+ 12, -+ 60 * 60 * 24, -+ 60 * 60 -+ ); -+ Config memory config = Config({ -+ confirmPeriodBlocks: 20, -+ extraChallengeTimeBlocks: 200, -+ stakeToken: address(0), -+ baseStake: 1000, -+ wasmModuleRoot: keccak256("wasm"), -+ owner: rollupOwner, -+ loserStakeEscrow: address(200), -+ chainId: 1337, -+ chainConfig: "abc", -+ genesisBlockNum: 15_000_000, -+ sequencerInboxMaxTimeVariation: timeVars -+ }); -+ -+ // prepare funds -+ uint256 factoryDeploymentFunds = 1 ether; -+ vm.deal(deployer, factoryDeploymentFunds); -+ -+ /// deploy rollup -+ address[] memory batchPosters = new address[](1); -+ batchPosters[0] = makeAddr("batch poster 1"); -+ address batchPosterManager = makeAddr("batch poster manager"); -+ address[] memory validators = new address[](2); -+ validators[0] = makeAddr("validator1"); -+ validators[1] = makeAddr("validator2"); -+ -+ address eigenDARollupManager = makeAddr("rollupManager"); -+ -+ RollupCreator.RollupDeploymentParams memory deployParams = RollupCreator -+ .RollupDeploymentParams({ -+ config: config, -+ batchPosters: batchPosters, -+ validators: validators, -+ maxDataSize: MAX_DATA_SIZE, -+ nativeToken: address(0), -+ deployFactoriesToL2: true, -+ maxFeePerGasForRetryables: MAX_FEE_PER_GAS, -+ batchPosterManager: batchPosterManager, -+ eigenDARollupManager: eigenDARollupManager -+ }); -+ -+ vm.expectRevert("Deployment no longer permitted from this RollupCreator"); -+ rollupCreator.createRollup{value: factoryDeploymentFunds}( -+ deployParams -+ ); -+ -+ vm.stopPrank(); -+ } -+ -+ function test_setTemplates_onlyOnce() public { -+ vm.startPrank(deployer); -+ -+ BridgeCreator bridgeCreator = new BridgeCreator(ethBasedTemplates, erc20BasedTemplates); -+ -+ IUpgradeExecutor upgradeExecutorLogic = new UpgradeExecutorMock(); -+ -+ ( -+ IOneStepProofEntry ospEntry, -+ IChallengeManager challengeManager, -+ IRollupAdmin _rollupAdmin, -+ IRollupUser _rollupUser -+ ) = _prepareRollupDeployment(); -+ -+ rollupAdmin = _rollupAdmin; -+ rollupUser = _rollupUser; -+ -+ ValidatorUtils validatorUtils = new ValidatorUtils(); -+ ValidatorWalletCreator validatorWalletCreator = new ValidatorWalletCreator(); -+ -+ vm.expectRevert("Templates already set"); -+ rollupCreator.setTemplates( -+ bridgeCreator, -+ ospEntry, -+ challengeManager, -+ _rollupAdmin, -+ _rollupUser, -+ upgradeExecutorLogic, -+ address(validatorUtils), -+ address(validatorWalletCreator), -+ deployHelper -+ ); -+ -+ vm.stopPrank(); -+ } -+ - function test_upgrade() public { - vm.startPrank(deployer); -  -@@ -433,6 +539,7 @@ address batchPosterManager = makeAddr("batch poster manager"); - address[] memory validators = new address[](2); - validators[0] = makeAddr("validator1"); - validators[1] = makeAddr("validator2"); -+ address eigenDARollupManager = makeAddr("rollupManager"); -  - RollupCreator.RollupDeploymentParams memory deployParams = RollupCreator - .RollupDeploymentParams({ -@@ -443,7 +550,8 @@ maxDataSize: MAX_DATA_SIZE, - nativeToken: address(0), - deployFactoriesToL2: true, - maxFeePerGasForRetryables: MAX_FEE_PER_GAS, -- batchPosterManager: batchPosterManager -+ batchPosterManager: batchPosterManager, -+ eigenDARollupManager: eigenDARollupManager - }); - address rollupAddress = rollupCreator.createRollup{value: factoryDeploymentFunds}( - deployParams -@@ -535,4 +643,4 @@ } -  - contract Dummy { - function dummy() public {} --} -+} -\ No newline at end of file
-
- - - -
-
- -
-
-
- - -
- -
-

Extended the one step prover HostIO to process a polynomial opening proof for an EigenDA preimage type using the BN254 curve. -Since the pairing requires points on BN254’s G2 group, which are inaccessible on-chain, we introduce a new value (gamma) which is -a hash generated off-chain.

-
-
- -
- - - - -
- -
- -
+191
-
-0
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/src/osp/OneStepProverHostIo.sol Layr-Labs/nitro-contracts/src/osp/OneStepProverHostIo.sol -index f5f124d2def15fbefe81dc952f191700187fe6ce..691a888a01d6444060fbcfd89cc8ab40c3898a19 100644 ---- OffchainLabs/nitro-contracts/src/osp/OneStepProverHostIo.sol -+++ Layr-Labs/nitro-contracts/src/osp/OneStepProverHostIo.sol -@@ -14,6 +14,8 @@ import "./IOneStepProver.sol"; - import "../bridge/Messages.sol"; - import "../bridge/IBridge.sol"; -  -+import {BN254} from "@eigenda/eigenda-utils/libraries/BN254.sol"; -+ - contract OneStepProverHostIo is IOneStepProver { - using GlobalStateLib for GlobalState; - using MachineLib for Machine; -@@ -29,6 +31,87 @@ uint256 private constant INBOX_NUM = 2; - uint64 private constant INBOX_HEADER_LEN = 40; - uint64 private constant DELAYED_HEADER_LEN = 112 + 1; -  -+ using BN254 for uint256[4]; -+ using BN254 for uint256[3]; -+ using BN254 for uint256[12]; -+ -+ // AlphaG1 -+ // This is from the SRS points being used. -+ // This is the point at index 1, since index 0 is the generator value of the G1 group. -+ BN254.G1Point private ALPHA_G1 = -+ BN254.G1Point( -+ 5421624913032980671919055010798735843841011930764711817607050648427876929258, -+ 12995821280260994872112541311010834261076556242291585164372488699033268245381 -+ ); -+ -+ function computeGamma( -+ uint256 z, -+ uint256 y, -+ uint256[2] memory p, -+ uint256[4] memory alpha_minus_z_g2, -+ uint256[2] memory proof, -+ BN254.G1Point memory alpha_minus_z_g1 -+ ) internal pure returns (uint256) { -+ // Encode the variables and compute the keccak256 hash -+ bytes32 hash = keccak256( -+ abi.encodePacked( -+ z, -+ y, -+ p[0], -+ p[1], -+ alpha_minus_z_g2[0], -+ alpha_minus_z_g2[1], -+ alpha_minus_z_g2[2], -+ alpha_minus_z_g2[3], -+ proof[0], -+ proof[1], -+ alpha_minus_z_g1.X, -+ alpha_minus_z_g1.Y -+ ) -+ ); -+ return uint256(hash) % BN254.FR_MODULUS; -+ } -+ -+ // e((P - y) + gamma . (alpha - z), G2) = e((Q + gamma), (alpha - z)) -+ function VerifyKzgProofWithG1Equivalence( -+ uint256[2] memory commitment, -+ uint256 y, -+ uint256[2] memory proof, -+ uint256 z, -+ uint256[4] memory alpha_minus_z_g2 -+ ) public view returns (bool) { -+ BN254.G1Point memory yG1Neg = BN254.negate(BN254.scalar_mul(BN254.generatorG1(), y)); -+ BN254.G1Point memory P_minus_y = BN254.plus( -+ BN254.G1Point(commitment[0], commitment[1]), -+ yG1Neg -+ ); -+ -+ // zG1 -+ BN254.G1Point memory zG1Neg = BN254.negate(BN254.scalar_mul(BN254.generatorG1(), z)); -+ -+ // (alphaG1 - zG1) -+ BN254.G1Point memory alpha_minus_z_g1 = BN254.plus(ALPHA_G1, zG1Neg); -+ -+ // gamma -+ uint256 gamma = computeGamma(z, y, commitment, alpha_minus_z_g2, proof, alpha_minus_z_g1); -+ -+ // gamma . (alpha - z)G1 -+ BN254.G1Point memory gamma_alpha_minus_z_g1 = BN254.scalar_mul(alpha_minus_z_g1, gamma); -+ -+ // gammaG1 -+ BN254.G1Point memory gammaG1 = BN254.scalar_mul(BN254.generatorG1(), gamma); -+ -+ // Q + gamma -+ BN254.G1Point memory q_plus_gamma = BN254.plus(BN254.G1Point(proof[0], proof[1]), gammaG1); -+ BN254.G1Point memory lhsG1 = BN254.plus(P_minus_y, gamma_alpha_minus_z_g1); -+ // The order is switched in the arbitrator already. It is passed as x_c1, x_c0, y_c1, y_c0 -+ BN254.G2Point memory alpha_minus_z_g2_point = BN254.G2Point( -+ [alpha_minus_z_g2[0], alpha_minus_z_g2[1]], -+ [alpha_minus_z_g2[2], alpha_minus_z_g2[3]] -+ ); -+ return BN254.pairing(lhsG1, BN254.negGeneratorG2(), q_plus_gamma, alpha_minus_z_g2_point); -+ } -+ - function setLeafByte( - bytes32 oldLeaf, - uint256 idx, -@@ -125,6 +208,12 @@ require(modExpOutput.length == 32, "MODEXP_WRONG_LENGTH"); - return uint256(bytes32(modExpOutput)); - } -  -+ uint256 internal constant BN_254_PRIMITIVE_ROOT_OF_UNITY = -+ 19103219067921713944291392827692070036145651957329286315305642004821462161904; -+ -+ // see: https://github.com/Layr-Labs/eigenda/blob/master/disperser/apiserver/server.go#L35 -+ uint256 internal constant eigenDAMaxFieldElementsPerBlob = (2 * 1024 * 1024) / 32; -+ - function executeReadPreImage( - ExecutionContext calldata, - Machine memory mach, -@@ -236,6 +325,92 @@ require(bytes32(kzgProof[32:64]) == bytes32(z), "KZG_PROOF_WRONG_Z"); -  - extracted = kzgProof[64:96]; - } -+ } else if (inst.argumentData == 3) { -+ // The machine is asking for a EigenDA versioned hash preimage -+ -+ require(proofType == 0, "UNKNOWN_EIGENDA_PREIMAGE_PROOF"); -+ -+ bytes calldata kzgProof = proof[proofOffset:]; -+ -+ // NOTE we are expecting the following layout for our proof data, similar -+ // to that expected for the point evaluation precompile -+ // [0:32] - evaluation point -+ // [32:64] - expected output -+ // [64:192] - g2TauMinusG2z -+ // [192:256] - kzg commitment (g1 point) -+ // [256:320] - proof (g1 point) -+ // [320:352] - preimage length -+ -+ { -+ uint256[2] memory kzgCommitment = [ -+ uint256(bytes32(kzgProof[192:224])), -+ uint256(bytes32(kzgProof[224:256])) -+ ]; -+ uint256[4] memory alphaMinusG2 = [ -+ uint256(bytes32(kzgProof[64:96])), -+ uint256(bytes32(kzgProof[96:128])), -+ uint256(bytes32(kzgProof[128:160])), -+ uint256(bytes32(kzgProof[160:192])) -+ ]; -+ uint256[2] memory proofUint256 = [ -+ uint256(bytes32(kzgProof[256:288])), -+ uint256(bytes32(kzgProof[288:320])) -+ ]; -+ uint256 z = uint256(bytes32(kzgProof[0:32])); -+ uint256 y = uint256(bytes32(kzgProof[32:64])); -+ uint32 length_u32 = uint32(uint256(bytes32(kzgProof[320:352]))); -+ -+ require(kzgCommitment[0] < BN254.FP_MODULUS, "COMMIT_X_LARGER_THAN_FIELD"); -+ require(kzgCommitment[1] < BN254.FP_MODULUS, "COMMIT_Y_LARGER_THAN_FIELD"); -+ -+ require(proofUint256[0] < BN254.FP_MODULUS, "PROOF_X_LARGER_THAN_FIELD"); -+ require(proofUint256[1] < BN254.FP_MODULUS, "PROOF_Y_LARGER_THAN_FIELD"); -+ -+ require(z < BN254.FR_MODULUS, "Z_LARGER_THAN_FIELD"); -+ require(y < BN254.FR_MODULUS, "Y_LARGER_THAN_FIELD"); -+ -+ require( -+ keccak256(abi.encodePacked(kzgProof[192:256], length_u32)) == leafContents, -+ "BN254_KZG_PROOF_WRONG_HASH" -+ ); -+ -+ // must be valid proof -+ require( -+ VerifyKzgProofWithG1Equivalence( -+ kzgCommitment, -+ y, -+ proofUint256, -+ z, -+ alphaMinusG2 -+ ), -+ "INVALID_BN254_KZG_PROOF" -+ ); -+ } -+ -+ // read the preimage length -+ uint32 preimage_length = uint32(uint256(bytes32(kzgProof[320:352]))); -+ -+ // If preimageOffset is greater than or equal to the blob size, leave extracted empty and call it here. -+ if (preimageOffset < preimage_length) { -+ // preimageOffset was required to be 32 byte aligned above -+ uint256 tmp = preimageOffset / 32; -+ // First, we get the root of unity of order 2**fieldElementsPerBlob. -+ // We start with a root of unity of order 2**32 and then raise it to -+ // the power of (2**32)/fieldElementsPerBlob to get root of unity we need. -+ uint256 rootOfUnityPower = ((1 << 28) / preimage_length) * 32; -+ // Then, we raise the root of unity to the power of bitReversedIndex, -+ // to retrieve this word of the KZG commitment. -+ rootOfUnityPower *= tmp; -+ // z is the point the polynomial is evaluated at to retrieve this word of data -+ uint256 z = modExp256( -+ BN_254_PRIMITIVE_ROOT_OF_UNITY, -+ rootOfUnityPower, -+ BN254.FR_MODULUS -+ ); -+ require(bytes32(kzgProof[0:32]) == bytes32(z), "KZG_PROOF_WRONG_Z"); -+ -+ extracted = kzgProof[32:64]; -+ } - } else { - revert("UNKNOWN_PREIMAGE_TYPE"); - } -@@ -645,5 +820,21 @@ revert("INVALID_MEMORY_OPCODE"); - } -  - impl(execCtx, mach, mod, inst, proof); -+ } -+ -+ // G2_SRS_1 -+ -+ //note might be useful to give back to the bn library -+ uint256 internal constant G2Taux1 = -+ 21039730876973405969844107393779063362038454413254731404052240341412356318284; -+ uint256 internal constant G2Taux0 = -+ 7912312892787135728292535536655271843828059318189722219035249994421084560563; -+ uint256 internal constant G2Tauy1 = -+ 7586489485579523767759120334904353546627445333297951253230866312564920951171; -+ uint256 internal constant G2Tauy0 = -+ 18697407556011630376420900106252341752488547575648825575049647403852275261247; -+ -+ function g2Tau() internal pure returns (BN254.G2Point memory) { -+ return BN254.G2Point({X: [G2Taux1, G2Taux0], Y: [G2Tauy1, G2Tauy0]}); - } - }
-
- - -
- - -
-
-
- - (new) - -
- - -
-
- -
- -
- -
+56
-
-0
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/test/foundry/Bn254KZG.t.sol Layr-Labs/nitro-contracts/test/foundry/Bn254KZG.t.sol -new file mode 100644 -index 0000000000000000000000000000000000000000..8ebad3b7e630a55ff80b85bd25bb13f4d95bd43b ---- /dev/null -+++ Layr-Labs/nitro-contracts/test/foundry/Bn254KZG.t.sol -@@ -0,0 +1,57 @@ -+// SPDX-License-Identifier: UNLICENSED -+pragma solidity ^0.8.12; -+ -+import "../../src/osp/OneStepProverHostIo.sol"; -+import "forge-std/Test.sol"; -+ -+contract VerifyKzgBN245Commitment is Test { -+ OneStepProverHostIo public osp; -+ -+ function setUp() public { -+ osp = new OneStepProverHostIo(); -+ } -+ -+ function testVerifyCommitment() public { -+ uint256 commitX = 19070058680970706162154662779699659917241938423048978712039328696898981234708; -+ uint256 commitY = 11823711927945062212181456259672826202645633805996688691575607391116183704220; -+ uint256 evaluationY = 124448554745810004944228143885327110275920855486363883336842102793103679599; -+ -+ uint256[2] memory commit = [commitX, commitY]; -+ -+ uint256 proofX = 3494873036786265278705899204171091912768379376170087008335233101540628332609; -+ uint256 proofY = 8608960508439403080401521741368234568803206554328273041427052980854260749148; -+ -+ uint256[2] memory proofArray = [proofX, proofY]; -+ -+ uint256 z = 1; -+ -+ uint256 alphaMinusZG2x0 = 3835064393148581205232814970864979673787834430112792762416742772525023890054; -+ uint256 alphaMinusZG2x1 = 21870966891160875056996525725939836296469570838755910925871109003952938425221; -+ uint256 alphaMinusZG2y0 = 1003462328537511635851373881294094113215131010279982437048829782051523402493; -+ uint256 alphaMinusZG2y1 = 1812648663781569755056741449255719259077856056456933971984290530760064403988; -+ -+ uint256[4] memory alphaMinusZG2 = [ -+ alphaMinusZG2x0, -+ alphaMinusZG2x1, -+ alphaMinusZG2y0, -+ alphaMinusZG2y1 -+ ]; -+ -+ assertTrue( -+ osp.VerifyKzgProofWithG1Equivalence(commit, evaluationY, proofArray, z, alphaMinusZG2) -+ ); -+ -+ // Test with bad z which should fail -+ -+ uint256 bad_z = 69; -+ assertFalse( -+ osp.VerifyKzgProofWithG1Equivalence( -+ commit, -+ evaluationY, -+ proofArray, -+ bad_z, -+ alphaMinusZG2 -+ ) -+ ); -+ } -+} -\ No newline at end of file
-
- - - -
-
- -
-
-
- - -
- -
-

Updated to latest to solidity (v8.12.0) to ensure compatibility with [@eigenda-utils](https://www.npmjs.com/package/@eigenda/eigenda-utils) library. -Also changed repo NPM package namespace to that of EigenDA.

-
-
- -
- - - - -
- -
- -
+3
-
-1
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/foundry.toml Layr-Labs/nitro-contracts/foundry.toml -index 1bb66e837965d7b9d74733e6e78122dd8b3feade..a74a7db239c1d27ecac106b97aecced2bde3ff49 100644 ---- OffchainLabs/nitro-contracts/foundry.toml -+++ Layr-Labs/nitro-contracts/foundry.toml -@@ -7,11 +7,13 @@ cache_path = 'forge-cache/sol' - optimizer = true - optimizer_runs = 100 - via_ir = false --solc_version = '0.8.9' -+solc_version = '0.8.12' - remappings = ['ds-test/=lib/forge-std/lib/ds-test/src/', - 'forge-std/=lib/forge-std/src/', - '@openzeppelin/contracts/=node_modules/@openzeppelin/contracts/', - '@openzeppelin/contracts-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/'] -+ -+fs_permissions = [{ access = "read", path = "./test/foundry/blob_info"}] -  - [profile.yul] - src = 'yul'
-
- - -
- - - - -
- -
- -
+11
-
-4
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/hardhat.config.ts Layr-Labs/nitro-contracts/hardhat.config.ts -index 35c7adc8472dc653142623f98994a3b34d1449d0..6e895ba50c51bcee8eb100450c035524ae8784ed 100644 ---- OffchainLabs/nitro-contracts/hardhat.config.ts -+++ Layr-Labs/nitro-contracts/hardhat.config.ts -@@ -15,7 +15,7 @@ - const solidity = { - compilers: [ - { -- version: '0.8.9', -+ version: '0.8.12', - settings: { - optimizer: { - enabled: true, -@@ -26,7 +26,7 @@ }, - ], - overrides: { - 'src/rollup/RollupUserLogic.sol': { -- version: '0.8.9', -+ version: '0.8.12', - settings: { - optimizer: { - enabled: true, -@@ -104,6 +104,12 @@ accounts: process.env['DEVNET_PRIVKEY'] - ? [process.env['DEVNET_PRIVKEY']] - : [], - }, -+ holesky: { -+ url: 'https://holesky.infura.io/v3/' + process.env['INFURA_KEY'], -+ accounts: process.env['DEVNET_PRIVKEY'] -+ ? [process.env['DEVNET_PRIVKEY']] -+ : [], -+ }, - sepolia: { - url: 'https://sepolia.infura.io/v3/' + process.env['INFURA_KEY'], - accounts: process.env['DEVNET_PRIVKEY'] -@@ -155,6 +161,7 @@ apiKey: { - mainnet: process.env['ETHERSCAN_API_KEY'], - goerli: process.env['ETHERSCAN_API_KEY'], - sepolia: process.env['ETHERSCAN_API_KEY'], -+ holesky: process.env['ETHERSCAN_API_KEY'], - rinkeby: process.env['ETHERSCAN_API_KEY'], - arbitrumOne: process.env['ARBISCAN_API_KEY'], - arbitrumTestnet: process.env['ARBISCAN_API_KEY'], -@@ -200,6 +207,6 @@ outDir: 'build/types', - target: 'ethers-v5', - }, - contractSizer: { -- strict: true -- } -+ strict: true, -+ }, - }
-
- - -
- - - - -
- -
- -
+11
-
-11
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/yarn.lock Layr-Labs/nitro-contracts/yarn.lock -index 00d8467d7e2c30d1fb5918c71e7ac6519e5cd5b1..9be2e7f3c9e1c7f4b098bb6d529e607b9910b337 100644 ---- OffchainLabs/nitro-contracts/yarn.lock -+++ Layr-Labs/nitro-contracts/yarn.lock -@@ -46,6 +46,11 @@ integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== - dependencies: - "@jridgewell/trace-mapping" "0.3.9" -  -+"@eigenda/eigenda-utils@2.0.0": -+ version "2.0.0" -+ resolved "https://registry.yarnpkg.com/@eigenda/eigenda-utils/-/eigenda-utils-2.0.0.tgz#4a2b179d2b41cc7d4ccfbff4aef210b5fa23d1ca" -+ integrity sha512-aijRWVPZWw3WA7sZHu1lmYRwQxWqK51YcZPq/QkyyfVsVqHJQdW3zUpuyKLesH1jVkfcQ3f1LdFPZTonvj8oIg== -+ - "@eslint-community/eslint-utils@^4.2.0": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" -@@ -893,22 +898,17 @@ dependencies: - "@openzeppelin/contracts" "4.7.3" - "@openzeppelin/contracts-upgradeable" "4.7.3" -  --"@openzeppelin/contracts-upgradeable@4.5.2": -- version "4.5.2" -- resolved "https://registry.yarnpkg.com/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-4.5.2.tgz#90d9e47bacfd8693bfad0ac8a394645575528d05" -- integrity sha512-xgWZYaPlrEOQo3cBj97Ufiuv79SPd8Brh4GcFYhPgb6WvAq4ppz8dWKL6h+jLAK01rUqMRp/TS9AdXgAeNvCLA== -+"@openzeppelin-upgrades/contracts@npm:@openzeppelin/contracts-upgradeable@4.7": -+ version "4.7.3" -+ resolved "https://registry.yarnpkg.com/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-4.7.3.tgz#f1d606e2827d409053f3e908ba4eb8adb1dd6995" -+ integrity sha512-+wuegAMaLcZnLCJIvrVUDzA9z/Wp93f0Dla/4jJvIhijRrPabjQbZe6fWiECLaJyfn5ci9fqf9vTw3xpQOad2A== -  --"@openzeppelin/contracts-upgradeable@4.7.3": -+"@openzeppelin/contracts-upgradeable@4.7", "@openzeppelin/contracts-upgradeable@4.7.3": - version "4.7.3" - resolved "https://registry.yarnpkg.com/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-4.7.3.tgz#f1d606e2827d409053f3e908ba4eb8adb1dd6995" - integrity sha512-+wuegAMaLcZnLCJIvrVUDzA9z/Wp93f0Dla/4jJvIhijRrPabjQbZe6fWiECLaJyfn5ci9fqf9vTw3xpQOad2A== -  --"@openzeppelin/contracts@4.5.0": -- version "4.5.0" -- resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-4.5.0.tgz#3fd75d57de172b3743cdfc1206883f56430409cc" -- integrity sha512-fdkzKPYMjrRiPK6K4y64e6GzULR7R7RwxSigHS8DDp7aWDeoReqsQI+cxHV1UuhAqX69L1lAaWDxenfP+xiqzA== -- --"@openzeppelin/contracts@4.7.3": -+"@openzeppelin/contracts@4.7", "@openzeppelin/contracts@4.7.3": - version "4.7.3" - resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-4.7.3.tgz#939534757a81f8d69cc854c7692805684ff3111e" - integrity sha512-dGRS0agJzu8ybo44pCIf3xBaPQN/65AIXNgK8+4gzKd5kbvlqyxryUYVLJv7fK98Seyd2hDZzVEHSWAh0Bt1Yw==
-
- - - -
-
- -
-
-
- - -
- -
-
-
- -
- - - - -
- -
- -
+2
-
-2
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/.github/workflows/audit-ci.yml Layr-Labs/nitro-contracts/.github/workflows/audit-ci.yml -index 661d4e3712f3ec0ebc21b4fc21b593ea0bb722a9..d8daf03e03a52784c609829572372fa74d055f91 100644 ---- OffchainLabs/nitro-contracts/.github/workflows/audit-ci.yml -+++ Layr-Labs/nitro-contracts/.github/workflows/audit-ci.yml -@@ -12,7 +12,7 @@ - jobs: - install: - name: 'Install' -- runs-on: ubuntu-latest -+ runs-on: linux-2xl - strategy: - matrix: - node-version: [18, 20] -@@ -30,7 +30,7 @@ uses: OffchainLabs/actions/node-modules/install@main -  - yarn-audit: - name: Audit -- runs-on: ubuntu-latest -+ runs-on: linux-2xl - needs: install - steps: - - name: Checkout
-
- - -
- - - - -
- -
- -
+1
-
-1
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/.github/workflows/base-branch-check.yml Layr-Labs/nitro-contracts/.github/workflows/base-branch-check.yml -index 1cb9003c5d85dc2251b56b3ad87d898d5234e3ca..4ebe8942d8fec7a34fc1fc21236fa7152cd5340a 100644 ---- OffchainLabs/nitro-contracts/.github/workflows/base-branch-check.yml -+++ Layr-Labs/nitro-contracts/.github/workflows/base-branch-check.yml -@@ -7,7 +7,7 @@ - jobs: - base_branch_check: - name: Pull request base branch check -- runs-on: ubuntu-latest -+ runs-on: linux-2xl - steps: - - name: Check the pull request base branch - run: |
-
- - -
- - - - -
- -
- -
+9
-
-10
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/.github/workflows/contract-tests.yml Layr-Labs/nitro-contracts/.github/workflows/contract-tests.yml -index 22a89750645b55fbe6f460a676b375bae917fa4f..db7d24065c2c41d41398cf95ec839697b7523d18 100644 ---- OffchainLabs/nitro-contracts/.github/workflows/contract-tests.yml -+++ Layr-Labs/nitro-contracts/.github/workflows/contract-tests.yml -@@ -12,7 +12,7 @@ - jobs: - test-unit: - name: Test unit -- runs-on: ubuntu-latest -+ runs-on: linux-2xl - steps: - - uses: actions/checkout@v3 - with: -@@ -112,7 +112,7 @@ verbose: false - token: ${{ secrets.CODECOV_TOKEN }} - test-4844: - name: 4844 tests -- runs-on: ubuntu-latest -+ runs-on: linux-2xl - steps: - - uses: actions/checkout@v3 - with: -@@ -123,9 +123,8 @@ uses: foundry-rs/foundry-toolchain@v1 - with: - version: nightly -  -- - uses: OffchainLabs/actions/run-nitro-test-node@test-node-args -+ - uses: Layr-Labs/arbitrum-actions/run-nitro-test-node@main - with: -- nitro-testnode-ref: deneb-integration - args: --pos - no-token-bridge: true -  -@@ -146,13 +145,13 @@ - name: Test 4844 - run: yarn test:4844 - test-e2e: - name: Test e2e -- runs-on: ubuntu-latest -+ runs-on: linux-2xl - steps: - - uses: actions/checkout@v3 - with: - submodules: recursive -  -- - uses: OffchainLabs/actions/run-nitro-test-node@main -+ - uses: Layr-Labs/arbitrum-actions/run-nitro-test-node@main - with: - l3-node: true - no-token-bridge: true -@@ -176,13 +175,13 @@ - name: Run e2e tests - run: yarn test:e2e - test-e2e-custom-fee-token: - name: Test e2e custom fee token -- runs-on: ubuntu-latest -+ runs-on: linux-2xl - steps: - - uses: actions/checkout@v3 - with: - submodules: recursive -  -- - uses: OffchainLabs/actions/run-nitro-test-node@main -+ - uses: Layr-Labs/arbitrum-actions/run-nitro-test-node@main - with: - l3-node: true - args: --l3-fee-token -@@ -207,13 +206,13 @@ - name: Run e2e tests - run: yarn test:e2e - test-e2e-fee-token-6-decimals: - name: Test e2e fee token with 6 decimals -- runs-on: ubuntu-latest -+ runs-on: linux-2xl - steps: - - uses: actions/checkout@v3 - with: - submodules: recursive -  -- - uses: OffchainLabs/actions/run-nitro-test-node@main -+ - uses: Layr-Labs/arbitrum-actions/run-nitro-test-node@main - with: - l3-node: true - args: --l3-fee-token --l3-fee-token-decimals 6
-
- - -
- - - - -
- -
- -
+1
-
-1
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/.github/workflows/slither.yml Layr-Labs/nitro-contracts/.github/workflows/slither.yml -index 87fa4e3fd3b50493a697a88e52b48e31725b9e7f..509064a6b1f2a1fbf18be908dec1ad1ca57c02e3 100644 ---- OffchainLabs/nitro-contracts/.github/workflows/slither.yml -+++ Layr-Labs/nitro-contracts/.github/workflows/slither.yml -@@ -6,7 +6,7 @@ pull_request: -  - jobs: - analyze: -- runs-on: ubuntu-latest -+ runs-on: linux-2xl - steps: - - uses: actions/checkout@v4 -
-
- - -
- - - - -
- -
- -
+11
-
-8
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/package.json Layr-Labs/nitro-contracts/package.json -index ef489de8b18b98a9a6e0b893ff8cb160516cf0ac..9a2bc57fb89ca6f000a0cf2effa68e731b801712 100644 ---- OffchainLabs/nitro-contracts/package.json -+++ Layr-Labs/nitro-contracts/package.json -@@ -1,12 +1,12 @@ - { -- "name": "@arbitrum/nitro-contracts", -- "version": "2.1.0", -- "description": "Layer 2 precompiles and rollup for Arbitrum Nitro", -+ "name": "@eigenda/nitro-contracts", -+ "version": "2.1.0-pr-1", -+ "description": "Layer 2 precompiles and rollup for Arbitrum Nitro x EigenDA", - "author": "Offchain Labs, Inc.", - "license": "BUSL-1.1", - "repository": { - "type": "git", -- "url": "git+https://github.com/offchainlabs/nitro-contracts.git" -+ "url": "git+https://github.com/layr-labs/nitro-contracts.git" - }, - "files": [ - "src/", -@@ -15,7 +15,7 @@ "build/contracts/@openzeppelin", - "out/yul/Reader4844.yul/Reader4844.json" - ], - "bugs": { -- "url": "https://github.com/offchainlabs/nitro-contracts/issues" -+ "url": "https://github.com/layr-labs/nitro-contracts/issues" - }, - "scripts": { - "audit:ci": "audit-ci --config ./audit-ci.jsonc", -@@ -33,9 +33,10 @@ "prettier:solidity": "prettier --write src/**/*.sol", - "format": "prettier './**/*.{js,json,ts,yml,sol}' --write && yarn run lint:test --fix", - "build:0.6": "INTERFACE_TESTER_SOLC_VERSION=0.6.9 yarn run build", - "build:0.7": "INTERFACE_TESTER_SOLC_VERSION=0.7.0 yarn run build", -+ "build:0.8.12": "INTERFACE_TESTER_SOLC_VERSION=0.8.12 yarn run build", - "test": "DISABLE_GAS_REPORTER=true hardhat --network hardhat test test/contract/*.spec.ts", - "test:4844": "DISABLE_GAS_REPORTER=true hardhat --network hardhat test test/contract/*.spec.4844.ts", -- "test:compatibility": "yarn run build:0.6 && yarn run build:0.7", -+ "test:compatibility": "yarn run build:0.8.12", - "test:storage": "./test/storage/test.bash", - "test:signatures": "./test/signatures/test-sigs.bash", - "test:e2e": "hardhat test test/e2e/*.ts", -@@ -48,14 +49,16 @@ "deploy-cachemanager-testnode": "hardhat run scripts/local-deployment/deployCacheManager.ts" - }, - "dependencies": { - "@offchainlabs/upgrade-executor": "1.1.0-beta.0", -- "@openzeppelin/contracts": "4.5.0", -- "@openzeppelin/contracts-upgradeable": "4.5.2", -+ "@openzeppelin-upgrades/contracts": "npm:@openzeppelin/contracts-upgradeable@4.7", -+ "@openzeppelin/contracts": "4.7", -+ "@openzeppelin/contracts-upgradeable": "4.7", - "patch-package": "^6.4.7", - "solady": "0.0.182" - }, - "private": false, - "devDependencies": { - "@arbitrum/sdk": "^3.4.1", -+ "@eigenda/eigenda-utils": "2.0.0", - "@ethersproject/providers": "^5.7.2", - "@nomiclabs/hardhat-ethers": "npm:hardhat-deploy-ethers@^0.3.0-beta.13", - "@nomiclabs/hardhat-etherscan": "^3.1.0",
-
- - - -
-
- -
-
-
- - -
-
-
- - -
- -
-
-
- - -
- - - - -
- -
- -
+29954
-
-0
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/slither.db.json Layr-Labs/nitro-contracts/slither.db.json -index fcd0154050ff779decb4dbdba266796a278dbc1f..ea8708691cf0816aef513b2f530bc6d5f39f5043 100644 ---- OffchainLabs/nitro-contracts/slither.db.json -+++ Layr-Labs/nitro-contracts/slither.db.json -@@ -1 +1,29954 @@ --[{"elements": [{"type": "function", "name": "fastConfirmNextNode", "source_mapping": {"start": 6765, "length": 327, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [172, 173, 174, 175, 176, 177, 178, 179, 180], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26098, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644], "starting_column": 1, "ending_column": 2}}, "signature": "fastConfirmNextNode(bytes32,bytes32,bytes32)"}}, {"type": "node", "name": "require(bool,string)(nodeHash == getNodeStorage(firstUnresolvedNode()).nodeHash,WH)", "source_mapping": {"start": 6959, "length": 73, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [178], "starting_column": 9, "ending_column": 82}, "type_specific_fields": {"parent": {"type": "function", "name": "fastConfirmNextNode", "source_mapping": {"start": 6765, "length": 327, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [172, 173, 174, 175, 176, 177, 178, 179, 180], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26098, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644], "starting_column": 1, "ending_column": 2}}, "signature": "fastConfirmNextNode(bytes32,bytes32,bytes32)"}}}}], "description": "AbsRollupUserLogic.fastConfirmNextNode(bytes32,bytes32,bytes32) (src/rollup/RollupUserLogic.sol#172-180) uses a dangerous strict equality:\n\t- require(bool,string)(nodeHash == getNodeStorage(firstUnresolvedNode()).nodeHash,WH) (src/rollup/RollupUserLogic.sol#178)\n", "markdown": "[AbsRollupUserLogic.fastConfirmNextNode(bytes32,bytes32,bytes32)](src/rollup/RollupUserLogic.sol#L172-L180) uses a dangerous strict equality:\n\t- [require(bool,string)(nodeHash == getNodeStorage(firstUnresolvedNode()).nodeHash,WH)](src/rollup/RollupUserLogic.sol#L178)\n", "first_markdown_element": "src/rollup/RollupUserLogic.sol#L172-L180", "id": "5f473ab9e03dab343568520a0a4dbeeba01a25e79b6d1a03c351b331a00f4e3b", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "variable", "name": "anyTrustFastConfirmer", "source_mapping": {"start": 2460, "length": 36, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [80], "starting_column": 5, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24629, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "fastConfirmNextNode", "source_mapping": {"start": 6793, "length": 334, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26133, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644], "starting_column": 1, "ending_column": 2}}, "signature": "fastConfirmNextNode(bytes32,bytes32,bytes32)"}}], "description": "RollupCore.anyTrustFastConfirmer (src/rollup/RollupCore.sol#80) is never initialized. It is used in:\n\t- AbsRollupUserLogic.fastConfirmNextNode(bytes32,bytes32,bytes32) (src/rollup/RollupUserLogic.sol#176-180)\n", "markdown": "[RollupCore.anyTrustFastConfirmer](src/rollup/RollupCore.sol#L80) is never initialized. It is used in:\n\t- [AbsRollupUserLogic.fastConfirmNextNode(bytes32,bytes32,bytes32)](src/rollup/RollupUserLogic.sol#L176-L180)\n", "first_markdown_element": "src/rollup/RollupCore.sol#L80", "id": "7588d31598e0049c45ba6922d304b0edadbf1308b5a8af9527dffbbc4dc61ac4", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "function", "name": "currentRequiredStake", "source_mapping": {"start": 21211, "length": 1527, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26133, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644], "starting_column": 1, "ending_column": 2}}, "signature": "currentRequiredStake(uint256,uint64,uint256)"}}, {"type": "node", "name": "multiplier = withNumerator / denominators[periodsPassed % 10]", "source_mapping": {"start": 22554, "length": 69, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [542], "starting_column": 9, "ending_column": 78}, "type_specific_fields": {"parent": {"type": "function", "name": "currentRequiredStake", "source_mapping": {"start": 21211, "length": 1527, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26133, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644], "starting_column": 1, "ending_column": 2}}, "signature": "currentRequiredStake(uint256,uint64,uint256)"}}}}, {"type": "node", "name": "baseStake * multiplier", "source_mapping": {"start": 22702, "length": 29, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [546], "starting_column": 9, "ending_column": 38}, "type_specific_fields": {"parent": {"type": "function", "name": "currentRequiredStake", "source_mapping": {"start": 21211, "length": 1527, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26133, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644], "starting_column": 1, "ending_column": 2}}, "signature": "currentRequiredStake(uint256,uint64,uint256)"}}}}], "description": "AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256) (src/rollup/RollupUserLogic.sol#501-547) performs a multiplication on the result of a division:\n\t- multiplier = withNumerator / denominators[periodsPassed % 10] (src/rollup/RollupUserLogic.sol#542)\n\t- baseStake * multiplier (src/rollup/RollupUserLogic.sol#546)\n", "markdown": "[AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256)](src/rollup/RollupUserLogic.sol#L501-L547) performs a multiplication on the result of a division:\n\t- [multiplier = withNumerator / denominators[periodsPassed % 10]](src/rollup/RollupUserLogic.sol#L542)\n\t- [baseStake * multiplier](src/rollup/RollupUserLogic.sol#L546)\n", "first_markdown_element": "src/rollup/RollupUserLogic.sol#L501-L547", "id": "c6b99e53c65770259b3301c94d2bc1a08086bddcc14611a28cdd3ac02bb85aab", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "currentRequiredStake", "source_mapping": {"start": 21211, "length": 1527, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26133, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644], "starting_column": 1, "ending_column": 2}}, "signature": "currentRequiredStake(uint256,uint64,uint256)"}}, {"type": "node", "name": "multiplier == 0", "source_mapping": {"start": 22637, "length": 15, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [543], "starting_column": 13, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "function", "name": "currentRequiredStake", "source_mapping": {"start": 21211, "length": 1527, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26133, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644], "starting_column": 1, "ending_column": 2}}, "signature": "currentRequiredStake(uint256,uint64,uint256)"}}}}], "description": "AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256) (src/rollup/RollupUserLogic.sol#501-547) uses a dangerous strict equality:\n\t- multiplier == 0 (src/rollup/RollupUserLogic.sol#543)\n", "markdown": "[AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256)](src/rollup/RollupUserLogic.sol#L501-L547) uses a dangerous strict equality:\n\t- [multiplier == 0](src/rollup/RollupUserLogic.sol#L543)\n", "first_markdown_element": "src/rollup/RollupUserLogic.sol#L501-L547", "id": "cd03d61e7b54e2afdbbc53bb1658f1e1bb0ff6071019d4e450c88b97ab1ef062", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "fastConfirmNextNode", "source_mapping": {"start": 6793, "length": 334, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26133, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644], "starting_column": 1, "ending_column": 2}}, "signature": "fastConfirmNextNode(bytes32,bytes32,bytes32)"}}, {"type": "node", "name": "require(bool,string)(nodeHash == getNodeStorage(firstUnresolvedNode()).nodeHash,WRONG_HASH)", "source_mapping": {"start": 6986, "length": 81, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [178], "starting_column": 9, "ending_column": 90}, "type_specific_fields": {"parent": {"type": "function", "name": "fastConfirmNextNode", "source_mapping": {"start": 6793, "length": 334, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26133, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644], "starting_column": 1, "ending_column": 2}}, "signature": "fastConfirmNextNode(bytes32,bytes32,bytes32)"}}}}], "description": "AbsRollupUserLogic.fastConfirmNextNode(bytes32,bytes32,bytes32) (src/rollup/RollupUserLogic.sol#176-180) uses a dangerous strict equality:\n\t- require(bool,string)(nodeHash == getNodeStorage(firstUnresolvedNode()).nodeHash,WRONG_HASH) (src/rollup/RollupUserLogic.sol#178)\n", "markdown": "[AbsRollupUserLogic.fastConfirmNextNode(bytes32,bytes32,bytes32)](src/rollup/RollupUserLogic.sol#L176-L180) uses a dangerous strict equality:\n\t- [require(bool,string)(nodeHash == getNodeStorage(firstUnresolvedNode()).nodeHash,WRONG_HASH)](src/rollup/RollupUserLogic.sol#L178)\n", "first_markdown_element": "src/rollup/RollupUserLogic.sol#L176-L180", "id": "19ca8615fd5f71005c78c7230011930b328c1949f9594bef453bbe022663a85d", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "requireUnchallengedStaker", "source_mapping": {"start": 26420, "length": 212, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [640, 641, 642, 643], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26133, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644], "starting_column": 1, "ending_column": 2}}, "signature": "requireUnchallengedStaker(address)"}}, {"type": "node", "name": "require(bool,string)(currentChallenge(stakerAddress) == NO_CHAL_INDEX,IN_CHAL)", "source_mapping": {"start": 26557, "length": 68, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [642], "starting_column": 9, "ending_column": 77}, "type_specific_fields": {"parent": {"type": "function", "name": "requireUnchallengedStaker", "source_mapping": {"start": 26420, "length": 212, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [640, 641, 642, 643], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26133, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644], "starting_column": 1, "ending_column": 2}}, "signature": "requireUnchallengedStaker(address)"}}}}], "description": "AbsRollupUserLogic.requireUnchallengedStaker(address) (src/rollup/RollupUserLogic.sol#640-643) uses a dangerous strict equality:\n\t- require(bool,string)(currentChallenge(stakerAddress) == NO_CHAL_INDEX,IN_CHAL) (src/rollup/RollupUserLogic.sol#642)\n", "markdown": "[AbsRollupUserLogic.requireUnchallengedStaker(address)](src/rollup/RollupUserLogic.sol#L640-L643) uses a dangerous strict equality:\n\t- [require(bool,string)(currentChallenge(stakerAddress) == NO_CHAL_INDEX,IN_CHAL)](src/rollup/RollupUserLogic.sol#L642)\n", "first_markdown_element": "src/rollup/RollupUserLogic.sol#L640-L643", "id": "5b92a43a048601d647a680d472499f14a3b778f80130e8c058351203f5d5fd5a", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "stakeOnExistingNode", "source_mapping": {"start": 7909, "length": 583, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26133, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644], "starting_column": 1, "ending_column": 2}}, "signature": "stakeOnExistingNode(uint64,bytes32)"}}, {"type": "node", "name": "require(bool,string)(latestStakedNode(msg.sender) == node.prevNum,NOT_STAKED_PREV)", "source_mapping": {"start": 8371, "length": 72, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [213], "starting_column": 9, "ending_column": 81}, "type_specific_fields": {"parent": {"type": "function", "name": "stakeOnExistingNode", "source_mapping": {"start": 7909, "length": 583, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26133, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644], "starting_column": 1, "ending_column": 2}}, "signature": "stakeOnExistingNode(uint64,bytes32)"}}}}], "description": "AbsRollupUserLogic.stakeOnExistingNode(uint64,bytes32) (src/rollup/RollupUserLogic.sol#200-215) uses a dangerous strict equality:\n\t- require(bool,string)(latestStakedNode(msg.sender) == node.prevNum,NOT_STAKED_PREV) (src/rollup/RollupUserLogic.sol#213)\n", "markdown": "[AbsRollupUserLogic.stakeOnExistingNode(uint64,bytes32)](src/rollup/RollupUserLogic.sol#L200-L215) uses a dangerous strict equality:\n\t- [require(bool,string)(latestStakedNode(msg.sender) == node.prevNum,NOT_STAKED_PREV)](src/rollup/RollupUserLogic.sol#L213)\n", "first_markdown_element": "src/rollup/RollupUserLogic.sol#L200-L215", "id": "ccbd0d521b15fdf53a5989679bae528b0dc5388bbbb4c4fdc19a8b9bd9f86879", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "createChallenge", "source_mapping": {"start": 13265, "length": 3131, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26133, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644], "starting_column": 1, "ending_column": 2}}, "signature": "createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])"}}, {"type": "node", "name": "challengeIndex = createChallengeHelper(stakers,machineStatuses,globalStates,numBlocks,wasmModuleRoots,(commonEndBlock - proposedBlocks[0]) * ETH_POS_BLOCK_TIME,(commonEndBlock - proposedBlocks[1]) * ETH_POS_BLOCK_TIME)", "source_mapping": {"start": 15808, "length": 398, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [374, 375, 376, 377, 378, 379, 380, 381, 382, 383], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "createChallenge", "source_mapping": {"start": 13265, "length": 3131, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26133, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644], "starting_column": 1, "ending_column": 2}}, "signature": "createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "challengeManager.createChallenge(wasmModuleRoots[0],machineStatuses,globalStates,numBlocks,stakers[0],stakers[1],asserterTimeLeft,challengerTimeLeft)", "source_mapping": {"start": 16750, "length": 317, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409], "starting_column": 9, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "createChallengeHelper", "source_mapping": {"start": 16402, "length": 672, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26133, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644], "starting_column": 1, "ending_column": 2}}, "signature": "createChallengeHelper(address[2],MachineStatus[2],GlobalState[2],uint64,bytes32[2],uint256,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "challengeStarted(stakers[0],stakers[1],challengeIndex)", "source_mapping": {"start": 16242, "length": 56, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [385], "starting_column": 9, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "createChallenge", "source_mapping": {"start": 13265, "length": 3131, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26133, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644], "starting_column": 1, "ending_column": 2}}, "signature": "createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_stakerMap"}}, {"type": "node", "name": "_stakerMap[staker1].currentChallenge = challenge", "source_mapping": {"start": 13618, "length": 48, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [384], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "challengeStarted", "source_mapping": {"start": 13491, "length": 240, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [379, 380, 381, 382, 383, 384, 385, 386], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24629, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679], "starting_column": 1, "ending_column": 2}}, "signature": "challengeStarted(address,address,uint64)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_stakerMap"}}, {"type": "node", "name": "_stakerMap[staker2].currentChallenge = challenge", "source_mapping": {"start": 13676, "length": 48, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [385], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "challengeStarted", "source_mapping": {"start": 13491, "length": 240, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [379, 380, 381, 382, 383, 384, 385, 386], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24629, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679], "starting_column": 1, "ending_column": 2}}, "signature": "challengeStarted(address,address,uint64)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_stakerMap"}}], "description": "Reentrancy in AbsRollupUserLogic.createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2]) (src/rollup/RollupUserLogic.sol#315-388):\n\tExternal calls:\n\t- challengeIndex = createChallengeHelper(stakers,machineStatuses,globalStates,numBlocks,wasmModuleRoots,(commonEndBlock - proposedBlocks[0]) * ETH_POS_BLOCK_TIME,(commonEndBlock - proposedBlocks[1]) * ETH_POS_BLOCK_TIME) (src/rollup/RollupUserLogic.sol#374-383)\n\t\t- challengeManager.createChallenge(wasmModuleRoots[0],machineStatuses,globalStates,numBlocks,stakers[0],stakers[1],asserterTimeLeft,challengerTimeLeft) (src/rollup/RollupUserLogic.sol#399-409)\n\tState variables written after the call(s):\n\t- challengeStarted(stakers[0],stakers[1],challengeIndex) (src/rollup/RollupUserLogic.sol#385)\n\t\t- _stakerMap[staker1].currentChallenge = challenge (src/rollup/RollupCore.sol#384)\n\t\t- _stakerMap[staker2].currentChallenge = challenge (src/rollup/RollupCore.sol#385)\n\tRollupCore._stakerMap (src/rollup/RollupCore.sol#68) can be used in cross function reentrancies:\n\t- RollupCore._stakerMap (src/rollup/RollupCore.sol#68)\n\t- RollupCore.amountStaked(address) (src/rollup/RollupCore.sol#186-188)\n\t- RollupCore.challengeStarted(address,address,uint64) (src/rollup/RollupCore.sol#379-386)\n\t- RollupCore.clearChallenge(address) (src/rollup/RollupCore.sol#368-371)\n\t- RollupCore.currentChallenge(address) (src/rollup/RollupCore.sol#177-179)\n\t- RollupCore.deleteStaker(address) (src/rollup/RollupCore.sol#543-551)\n\t- RollupCore.getStaker(address) (src/rollup/RollupCore.sol#195-197)\n\t- RollupCore.inChallenge(address,address) (src/rollup/RollupCore.sol#351-362)\n\t- RollupCore.increaseStakeBy(address,uint256) (src/rollup/RollupCore.sol#393-399)\n\t- RollupCore.isStaked(address) (src/rollup/RollupCore.sol#149-151)\n\t- RollupCore.isStakedOnLatestConfirmed(address) (src/rollup/RollupCore.sol#159-161)\n\t- RollupCore.latestStakedNode(address) (src/rollup/RollupCore.sol#168-170)\n\t- RollupCore.reduceStakeTo(address,uint256) (src/rollup/RollupCore.sol#407-416)\n\t- RollupCore.stakeOnNode(address,uint64) (src/rollup/RollupCore.sol#508-512)\n\t- RollupCore.turnIntoZombie(address) (src/rollup/RollupCore.sol#422-426)\n\t- RollupCore.withdrawStaker(address) (src/rollup/RollupCore.sol#489-501)\n", "markdown": "Reentrancy in [AbsRollupUserLogic.createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])](src/rollup/RollupUserLogic.sol#L315-L388):\n\tExternal calls:\n\t- [challengeIndex = createChallengeHelper(stakers,machineStatuses,globalStates,numBlocks,wasmModuleRoots,(commonEndBlock - proposedBlocks[0]) * ETH_POS_BLOCK_TIME,(commonEndBlock - proposedBlocks[1]) * ETH_POS_BLOCK_TIME)](src/rollup/RollupUserLogic.sol#L374-L383)\n\t\t- [challengeManager.createChallenge(wasmModuleRoots[0],machineStatuses,globalStates,numBlocks,stakers[0],stakers[1],asserterTimeLeft,challengerTimeLeft)](src/rollup/RollupUserLogic.sol#L399-L409)\n\tState variables written after the call(s):\n\t- [challengeStarted(stakers[0],stakers[1],challengeIndex)](src/rollup/RollupUserLogic.sol#L385)\n\t\t- [_stakerMap[staker1].currentChallenge = challenge](src/rollup/RollupCore.sol#L384)\n\t\t- [_stakerMap[staker2].currentChallenge = challenge](src/rollup/RollupCore.sol#L385)\n\t[RollupCore._stakerMap](src/rollup/RollupCore.sol#L68) can be used in cross function reentrancies:\n\t- [RollupCore._stakerMap](src/rollup/RollupCore.sol#L68)\n\t- [RollupCore.amountStaked(address)](src/rollup/RollupCore.sol#L186-L188)\n\t- [RollupCore.challengeStarted(address,address,uint64)](src/rollup/RollupCore.sol#L379-L386)\n\t- [RollupCore.clearChallenge(address)](src/rollup/RollupCore.sol#L368-L371)\n\t- [RollupCore.currentChallenge(address)](src/rollup/RollupCore.sol#L177-L179)\n\t- [RollupCore.deleteStaker(address)](src/rollup/RollupCore.sol#L543-L551)\n\t- [RollupCore.getStaker(address)](src/rollup/RollupCore.sol#L195-L197)\n\t- [RollupCore.inChallenge(address,address)](src/rollup/RollupCore.sol#L351-L362)\n\t- [RollupCore.increaseStakeBy(address,uint256)](src/rollup/RollupCore.sol#L393-L399)\n\t- [RollupCore.isStaked(address)](src/rollup/RollupCore.sol#L149-L151)\n\t- [RollupCore.isStakedOnLatestConfirmed(address)](src/rollup/RollupCore.sol#L159-L161)\n\t- [RollupCore.latestStakedNode(address)](src/rollup/RollupCore.sol#L168-L170)\n\t- [RollupCore.reduceStakeTo(address,uint256)](src/rollup/RollupCore.sol#L407-L416)\n\t- [RollupCore.stakeOnNode(address,uint64)](src/rollup/RollupCore.sol#L508-L512)\n\t- [RollupCore.turnIntoZombie(address)](src/rollup/RollupCore.sol#L422-L426)\n\t- [RollupCore.withdrawStaker(address)](src/rollup/RollupCore.sol#L489-L501)\n", "first_markdown_element": "src/rollup/RollupUserLogic.sol#L315-L388", "id": "2b29c60586106261585a7463cf78d2dc6e7c2d56072499e590e932df559d24bb", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "anyTrustFastConfirmer", "source_mapping": {"start": 2460, "length": 36, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [80], "starting_column": 5, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24629, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "fastConfirmNextNode", "source_mapping": {"start": 6800, "length": 401, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26207, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645], "starting_column": 1, "ending_column": 2}}, "signature": "fastConfirmNextNode(bytes32,bytes32,uint64,bytes32)"}}], "description": "RollupCore.anyTrustFastConfirmer (src/rollup/RollupCore.sol#80) is never initialized. It is used in:\n\t- AbsRollupUserLogic.fastConfirmNextNode(bytes32,bytes32,uint64,bytes32) (src/rollup/RollupUserLogic.sol#176-181)\n", "markdown": "[RollupCore.anyTrustFastConfirmer](src/rollup/RollupCore.sol#L80) is never initialized. It is used in:\n\t- [AbsRollupUserLogic.fastConfirmNextNode(bytes32,bytes32,uint64,bytes32)](src/rollup/RollupUserLogic.sol#L176-L181)\n", "first_markdown_element": "src/rollup/RollupCore.sol#L80", "id": "73f909a3e549c85be9403f39fd73d421a43658f2516798cb75e1788e512992f2", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "function", "name": "currentRequiredStake", "source_mapping": {"start": 21285, "length": 1527, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26207, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645], "starting_column": 1, "ending_column": 2}}, "signature": "currentRequiredStake(uint256,uint64,uint256)"}}, {"type": "node", "name": "multiplier = withNumerator / denominators[periodsPassed % 10]", "source_mapping": {"start": 22628, "length": 69, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [543], "starting_column": 9, "ending_column": 78}, "type_specific_fields": {"parent": {"type": "function", "name": "currentRequiredStake", "source_mapping": {"start": 21285, "length": 1527, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26207, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645], "starting_column": 1, "ending_column": 2}}, "signature": "currentRequiredStake(uint256,uint64,uint256)"}}}}, {"type": "node", "name": "baseStake * multiplier", "source_mapping": {"start": 22776, "length": 29, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [547], "starting_column": 9, "ending_column": 38}, "type_specific_fields": {"parent": {"type": "function", "name": "currentRequiredStake", "source_mapping": {"start": 21285, "length": 1527, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26207, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645], "starting_column": 1, "ending_column": 2}}, "signature": "currentRequiredStake(uint256,uint64,uint256)"}}}}], "description": "AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256) (src/rollup/RollupUserLogic.sol#502-548) performs a multiplication on the result of a division:\n\t- multiplier = withNumerator / denominators[periodsPassed % 10] (src/rollup/RollupUserLogic.sol#543)\n\t- baseStake * multiplier (src/rollup/RollupUserLogic.sol#547)\n", "markdown": "[AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256)](src/rollup/RollupUserLogic.sol#L502-L548) performs a multiplication on the result of a division:\n\t- [multiplier = withNumerator / denominators[periodsPassed % 10]](src/rollup/RollupUserLogic.sol#L543)\n\t- [baseStake * multiplier](src/rollup/RollupUserLogic.sol#L547)\n", "first_markdown_element": "src/rollup/RollupUserLogic.sol#L502-L548", "id": "a06a90d9213a90fab9e69dcb5ff30aff7af9ca537f078f891088bb6e179d0c41", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "currentRequiredStake", "source_mapping": {"start": 21285, "length": 1527, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26207, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645], "starting_column": 1, "ending_column": 2}}, "signature": "currentRequiredStake(uint256,uint64,uint256)"}}, {"type": "node", "name": "multiplier == 0", "source_mapping": {"start": 22711, "length": 15, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [544], "starting_column": 13, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "function", "name": "currentRequiredStake", "source_mapping": {"start": 21285, "length": 1527, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26207, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645], "starting_column": 1, "ending_column": 2}}, "signature": "currentRequiredStake(uint256,uint64,uint256)"}}}}], "description": "AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256) (src/rollup/RollupUserLogic.sol#502-548) uses a dangerous strict equality:\n\t- multiplier == 0 (src/rollup/RollupUserLogic.sol#544)\n", "markdown": "[AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256)](src/rollup/RollupUserLogic.sol#L502-L548) uses a dangerous strict equality:\n\t- [multiplier == 0](src/rollup/RollupUserLogic.sol#L544)\n", "first_markdown_element": "src/rollup/RollupUserLogic.sol#L502-L548", "id": "f0540633dca6b3c5acc4f012e6533bb6b22a026d8ff3b90b8585b50c348b0d5d", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "fastConfirmNextNode", "source_mapping": {"start": 6800, "length": 401, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26207, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645], "starting_column": 1, "ending_column": 2}}, "signature": "fastConfirmNextNode(bytes32,bytes32,uint64,bytes32)"}}, {"type": "node", "name": "require(bool,string)(nodeHash == getNodeStorage(nodeNum).nodeHash,WRONG_HASH)", "source_mapping": {"start": 7074, "length": 67, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [179], "starting_column": 9, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "fastConfirmNextNode", "source_mapping": {"start": 6800, "length": 401, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26207, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645], "starting_column": 1, "ending_column": 2}}, "signature": "fastConfirmNextNode(bytes32,bytes32,uint64,bytes32)"}}}}], "description": "AbsRollupUserLogic.fastConfirmNextNode(bytes32,bytes32,uint64,bytes32) (src/rollup/RollupUserLogic.sol#176-181) uses a dangerous strict equality:\n\t- require(bool,string)(nodeHash == getNodeStorage(nodeNum).nodeHash,WRONG_HASH) (src/rollup/RollupUserLogic.sol#179)\n", "markdown": "[AbsRollupUserLogic.fastConfirmNextNode(bytes32,bytes32,uint64,bytes32)](src/rollup/RollupUserLogic.sol#L176-L181) uses a dangerous strict equality:\n\t- [require(bool,string)(nodeHash == getNodeStorage(nodeNum).nodeHash,WRONG_HASH)](src/rollup/RollupUserLogic.sol#L179)\n", "first_markdown_element": "src/rollup/RollupUserLogic.sol#L176-L181", "id": "d81d8afbfd2634a30a7859c5a5e586e9810463b8236da8bf559155d43b58a230", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "requireUnchallengedStaker", "source_mapping": {"start": 26494, "length": 212, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [641, 642, 643, 644], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26207, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645], "starting_column": 1, "ending_column": 2}}, "signature": "requireUnchallengedStaker(address)"}}, {"type": "node", "name": "require(bool,string)(currentChallenge(stakerAddress) == NO_CHAL_INDEX,IN_CHAL)", "source_mapping": {"start": 26631, "length": 68, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [643], "starting_column": 9, "ending_column": 77}, "type_specific_fields": {"parent": {"type": "function", "name": "requireUnchallengedStaker", "source_mapping": {"start": 26494, "length": 212, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [641, 642, 643, 644], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26207, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645], "starting_column": 1, "ending_column": 2}}, "signature": "requireUnchallengedStaker(address)"}}}}], "description": "AbsRollupUserLogic.requireUnchallengedStaker(address) (src/rollup/RollupUserLogic.sol#641-644) uses a dangerous strict equality:\n\t- require(bool,string)(currentChallenge(stakerAddress) == NO_CHAL_INDEX,IN_CHAL) (src/rollup/RollupUserLogic.sol#643)\n", "markdown": "[AbsRollupUserLogic.requireUnchallengedStaker(address)](src/rollup/RollupUserLogic.sol#L641-L644) uses a dangerous strict equality:\n\t- [require(bool,string)(currentChallenge(stakerAddress) == NO_CHAL_INDEX,IN_CHAL)](src/rollup/RollupUserLogic.sol#L643)\n", "first_markdown_element": "src/rollup/RollupUserLogic.sol#L641-L644", "id": "3323048300e79cff852072e2a5dd523379c0c9072bfb004b3ba5bd0d09c86c3f", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "stakeOnExistingNode", "source_mapping": {"start": 7983, "length": 583, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26207, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645], "starting_column": 1, "ending_column": 2}}, "signature": "stakeOnExistingNode(uint64,bytes32)"}}, {"type": "node", "name": "require(bool,string)(latestStakedNode(msg.sender) == node.prevNum,NOT_STAKED_PREV)", "source_mapping": {"start": 8445, "length": 72, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [214], "starting_column": 9, "ending_column": 81}, "type_specific_fields": {"parent": {"type": "function", "name": "stakeOnExistingNode", "source_mapping": {"start": 7983, "length": 583, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26207, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645], "starting_column": 1, "ending_column": 2}}, "signature": "stakeOnExistingNode(uint64,bytes32)"}}}}], "description": "AbsRollupUserLogic.stakeOnExistingNode(uint64,bytes32) (src/rollup/RollupUserLogic.sol#201-216) uses a dangerous strict equality:\n\t- require(bool,string)(latestStakedNode(msg.sender) == node.prevNum,NOT_STAKED_PREV) (src/rollup/RollupUserLogic.sol#214)\n", "markdown": "[AbsRollupUserLogic.stakeOnExistingNode(uint64,bytes32)](src/rollup/RollupUserLogic.sol#L201-L216) uses a dangerous strict equality:\n\t- [require(bool,string)(latestStakedNode(msg.sender) == node.prevNum,NOT_STAKED_PREV)](src/rollup/RollupUserLogic.sol#L214)\n", "first_markdown_element": "src/rollup/RollupUserLogic.sol#L201-L216", "id": "45ab4c7ef9266f342edc09390b14e6ebbb5742734ae6570773770ba6b1be22df", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "createChallenge", "source_mapping": {"start": 13339, "length": 3131, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26207, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645], "starting_column": 1, "ending_column": 2}}, "signature": "createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])"}}, {"type": "node", "name": "challengeIndex = createChallengeHelper(stakers,machineStatuses,globalStates,numBlocks,wasmModuleRoots,(commonEndBlock - proposedBlocks[0]) * ETH_POS_BLOCK_TIME,(commonEndBlock - proposedBlocks[1]) * ETH_POS_BLOCK_TIME)", "source_mapping": {"start": 15882, "length": 398, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [375, 376, 377, 378, 379, 380, 381, 382, 383, 384], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "createChallenge", "source_mapping": {"start": 13339, "length": 3131, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26207, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645], "starting_column": 1, "ending_column": 2}}, "signature": "createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "challengeManager.createChallenge(wasmModuleRoots[0],machineStatuses,globalStates,numBlocks,stakers[0],stakers[1],asserterTimeLeft,challengerTimeLeft)", "source_mapping": {"start": 16824, "length": 317, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410], "starting_column": 9, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "createChallengeHelper", "source_mapping": {"start": 16476, "length": 672, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26207, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645], "starting_column": 1, "ending_column": 2}}, "signature": "createChallengeHelper(address[2],MachineStatus[2],GlobalState[2],uint64,bytes32[2],uint256,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "challengeStarted(stakers[0],stakers[1],challengeIndex)", "source_mapping": {"start": 16316, "length": 56, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [386], "starting_column": 9, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "createChallenge", "source_mapping": {"start": 13339, "length": 3131, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 26207, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645], "starting_column": 1, "ending_column": 2}}, "signature": "createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_stakerMap"}}, {"type": "node", "name": "_stakerMap[staker1].currentChallenge = challenge", "source_mapping": {"start": 13618, "length": 48, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [384], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "challengeStarted", "source_mapping": {"start": 13491, "length": 240, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [379, 380, 381, 382, 383, 384, 385, 386], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24629, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679], "starting_column": 1, "ending_column": 2}}, "signature": "challengeStarted(address,address,uint64)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_stakerMap"}}, {"type": "node", "name": "_stakerMap[staker2].currentChallenge = challenge", "source_mapping": {"start": 13676, "length": 48, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [385], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "challengeStarted", "source_mapping": {"start": 13491, "length": 240, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [379, 380, 381, 382, 383, 384, 385, 386], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24629, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679], "starting_column": 1, "ending_column": 2}}, "signature": "challengeStarted(address,address,uint64)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_stakerMap"}}], "description": "Reentrancy in AbsRollupUserLogic.createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2]) (src/rollup/RollupUserLogic.sol#316-389):\n\tExternal calls:\n\t- challengeIndex = createChallengeHelper(stakers,machineStatuses,globalStates,numBlocks,wasmModuleRoots,(commonEndBlock - proposedBlocks[0]) * ETH_POS_BLOCK_TIME,(commonEndBlock - proposedBlocks[1]) * ETH_POS_BLOCK_TIME) (src/rollup/RollupUserLogic.sol#375-384)\n\t\t- challengeManager.createChallenge(wasmModuleRoots[0],machineStatuses,globalStates,numBlocks,stakers[0],stakers[1],asserterTimeLeft,challengerTimeLeft) (src/rollup/RollupUserLogic.sol#400-410)\n\tState variables written after the call(s):\n\t- challengeStarted(stakers[0],stakers[1],challengeIndex) (src/rollup/RollupUserLogic.sol#386)\n\t\t- _stakerMap[staker1].currentChallenge = challenge (src/rollup/RollupCore.sol#384)\n\t\t- _stakerMap[staker2].currentChallenge = challenge (src/rollup/RollupCore.sol#385)\n\tRollupCore._stakerMap (src/rollup/RollupCore.sol#68) can be used in cross function reentrancies:\n\t- RollupCore._stakerMap (src/rollup/RollupCore.sol#68)\n\t- RollupCore.amountStaked(address) (src/rollup/RollupCore.sol#186-188)\n\t- RollupCore.challengeStarted(address,address,uint64) (src/rollup/RollupCore.sol#379-386)\n\t- RollupCore.clearChallenge(address) (src/rollup/RollupCore.sol#368-371)\n\t- RollupCore.currentChallenge(address) (src/rollup/RollupCore.sol#177-179)\n\t- RollupCore.deleteStaker(address) (src/rollup/RollupCore.sol#543-551)\n\t- RollupCore.getStaker(address) (src/rollup/RollupCore.sol#195-197)\n\t- RollupCore.inChallenge(address,address) (src/rollup/RollupCore.sol#351-362)\n\t- RollupCore.increaseStakeBy(address,uint256) (src/rollup/RollupCore.sol#393-399)\n\t- RollupCore.isStaked(address) (src/rollup/RollupCore.sol#149-151)\n\t- RollupCore.isStakedOnLatestConfirmed(address) (src/rollup/RollupCore.sol#159-161)\n\t- RollupCore.latestStakedNode(address) (src/rollup/RollupCore.sol#168-170)\n\t- RollupCore.reduceStakeTo(address,uint256) (src/rollup/RollupCore.sol#407-416)\n\t- RollupCore.stakeOnNode(address,uint64) (src/rollup/RollupCore.sol#508-512)\n\t- RollupCore.turnIntoZombie(address) (src/rollup/RollupCore.sol#422-426)\n\t- RollupCore.withdrawStaker(address) (src/rollup/RollupCore.sol#489-501)\n", "markdown": "Reentrancy in [AbsRollupUserLogic.createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])](src/rollup/RollupUserLogic.sol#L316-L389):\n\tExternal calls:\n\t- [challengeIndex = createChallengeHelper(stakers,machineStatuses,globalStates,numBlocks,wasmModuleRoots,(commonEndBlock - proposedBlocks[0]) * ETH_POS_BLOCK_TIME,(commonEndBlock - proposedBlocks[1]) * ETH_POS_BLOCK_TIME)](src/rollup/RollupUserLogic.sol#L375-L384)\n\t\t- [challengeManager.createChallenge(wasmModuleRoots[0],machineStatuses,globalStates,numBlocks,stakers[0],stakers[1],asserterTimeLeft,challengerTimeLeft)](src/rollup/RollupUserLogic.sol#L400-L410)\n\tState variables written after the call(s):\n\t- [challengeStarted(stakers[0],stakers[1],challengeIndex)](src/rollup/RollupUserLogic.sol#L386)\n\t\t- [_stakerMap[staker1].currentChallenge = challenge](src/rollup/RollupCore.sol#L384)\n\t\t- [_stakerMap[staker2].currentChallenge = challenge](src/rollup/RollupCore.sol#L385)\n\t[RollupCore._stakerMap](src/rollup/RollupCore.sol#L68) can be used in cross function reentrancies:\n\t- [RollupCore._stakerMap](src/rollup/RollupCore.sol#L68)\n\t- [RollupCore.amountStaked(address)](src/rollup/RollupCore.sol#L186-L188)\n\t- [RollupCore.challengeStarted(address,address,uint64)](src/rollup/RollupCore.sol#L379-L386)\n\t- [RollupCore.clearChallenge(address)](src/rollup/RollupCore.sol#L368-L371)\n\t- [RollupCore.currentChallenge(address)](src/rollup/RollupCore.sol#L177-L179)\n\t- [RollupCore.deleteStaker(address)](src/rollup/RollupCore.sol#L543-L551)\n\t- [RollupCore.getStaker(address)](src/rollup/RollupCore.sol#L195-L197)\n\t- [RollupCore.inChallenge(address,address)](src/rollup/RollupCore.sol#L351-L362)\n\t- [RollupCore.increaseStakeBy(address,uint256)](src/rollup/RollupCore.sol#L393-L399)\n\t- [RollupCore.isStaked(address)](src/rollup/RollupCore.sol#L149-L151)\n\t- [RollupCore.isStakedOnLatestConfirmed(address)](src/rollup/RollupCore.sol#L159-L161)\n\t- [RollupCore.latestStakedNode(address)](src/rollup/RollupCore.sol#L168-L170)\n\t- [RollupCore.reduceStakeTo(address,uint256)](src/rollup/RollupCore.sol#L407-L416)\n\t- [RollupCore.stakeOnNode(address,uint64)](src/rollup/RollupCore.sol#L508-L512)\n\t- [RollupCore.turnIntoZombie(address)](src/rollup/RollupCore.sol#L422-L426)\n\t- [RollupCore.withdrawStaker(address)](src/rollup/RollupCore.sol#L489-L501)\n", "first_markdown_element": "src/rollup/RollupUserLogic.sol#L316-L389", "id": "0c968d1b20454d8fd452f65b003e0966ae923df9d1ef17996b29defd85f3dc9e", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_fundAndDeploy", "source_mapping": {"start": 8525, "length": 2154, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DeployHelper", "source_mapping": {"start": 525, "length": 11692, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160], "starting_column": 1, "ending_column": 2}}, "signature": "_fundAndDeploy(address,uint256,address,bytes,address,uint256)"}}, {"type": "node", "name": "IInbox(inbox).createRetryableTicket{value: feeAmount}({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,data:})", "source_mapping": {"start": 10156, "length": 399, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [87, 88, 89, 90, 91, 92, 93, 94, 95, 96], "starting_column": 13, "ending_column": 15}, "type_specific_fields": {"parent": {"type": "function", "name": "_fundAndDeploy", "source_mapping": {"start": 8525, "length": 2154, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DeployHelper", "source_mapping": {"start": 525, "length": 11692, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160], "starting_column": 1, "ending_column": 2}}, "signature": "_fundAndDeploy(address,uint256,address,bytes,address,uint256)"}}}}], "description": "DeployHelper._fundAndDeploy(address,uint256,address,bytes,address,uint256) (src/rollup/DeployHelper.sol#46-100) sends eth to arbitrary user\n\tDangerous calls:\n\t- IInbox(inbox).createRetryableTicket{value: feeAmount}({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,data:}) (src/rollup/DeployHelper.sol#87-96)\n", "markdown": "[DeployHelper._fundAndDeploy(address,uint256,address,bytes,address,uint256)](src/rollup/DeployHelper.sol#L46-L100) sends eth to arbitrary user\n\tDangerous calls:\n\t- [IInbox(inbox).createRetryableTicket{value: feeAmount}({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,data:})](src/rollup/DeployHelper.sol#L87-L96)\n", "first_markdown_element": "src/rollup/DeployHelper.sol#L46-L100", "id": "58b5f7a8d77486bc6173862a853121ecdf5d9979f84cc2e05b66e0f0fd11218c", "check": "arbitrary-send-eth", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "perform", "source_mapping": {"start": 10685, "length": 1095, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DeployHelper", "source_mapping": {"start": 525, "length": 11692, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160], "starting_column": 1, "ending_column": 2}}, "signature": "perform(address,address,uint256)"}}, {"type": "node", "name": "address(msg.sender).transfer(address(this).balance)", "source_mapping": {"start": 11712, "length": 51, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [142], "starting_column": 13, "ending_column": 64}, "type_specific_fields": {"parent": {"type": "function", "name": "perform", "source_mapping": {"start": 10685, "length": 1095, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DeployHelper", "source_mapping": {"start": 525, "length": 11692, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160], "starting_column": 1, "ending_column": 2}}, "signature": "perform(address,address,uint256)"}}}}], "description": "DeployHelper.perform(address,address,uint256) (src/rollup/DeployHelper.sol#102-144) sends eth to arbitrary user\n\tDangerous calls:\n\t- address(msg.sender).transfer(address(this).balance) (src/rollup/DeployHelper.sol#142)\n", "markdown": "[DeployHelper.perform(address,address,uint256)](src/rollup/DeployHelper.sol#L102-L144) sends eth to arbitrary user\n\tDangerous calls:\n\t- [address(msg.sender).transfer(address(this).balance)](src/rollup/DeployHelper.sol#L142)\n", "first_markdown_element": "src/rollup/DeployHelper.sol#L102-L144", "id": "ce5c492f55419016b34eb4e4de36fb8212599a42274960d6402d10a63f45ad40", "check": "arbitrary-send-eth", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "anyTrustFastConfirmer", "source_mapping": {"start": 2460, "length": 36, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [80], "starting_column": 5, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24629, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "fastConfirmNextNode", "source_mapping": {"start": 6703, "length": 225, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [175, 176, 177, 178], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25934, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642], "starting_column": 1, "ending_column": 2}}, "signature": "fastConfirmNextNode(bytes32,bytes32)"}}], "description": "RollupCore.anyTrustFastConfirmer (src/rollup/RollupCore.sol#80) is never initialized. It is used in:\n\t- AbsRollupUserLogic.fastConfirmNextNode(bytes32,bytes32) (src/rollup/RollupUserLogic.sol#175-178)\n", "markdown": "[RollupCore.anyTrustFastConfirmer](src/rollup/RollupCore.sol#L80) is never initialized. It is used in:\n\t- [AbsRollupUserLogic.fastConfirmNextNode(bytes32,bytes32)](src/rollup/RollupUserLogic.sol#L175-L178)\n", "first_markdown_element": "src/rollup/RollupCore.sol#L80", "id": "18d2bfd017f6e3f4e743eb058275a178a0fd6d2d88265a51e06df0a8d6cd6473", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "function", "name": "_fundAndDeploy", "source_mapping": {"start": 8525, "length": 2154, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DeployHelper", "source_mapping": {"start": 525, "length": 11692, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160], "starting_column": 1, "ending_column": 2}}, "signature": "_fundAndDeploy(address,uint256,address,bytes,address,uint256)"}}, {"type": "node", "name": "feeAmountNativeDenominated = feeAmount / (10 ** (18 - decimals))", "source_mapping": {"start": 9268, "length": 62, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [66], "starting_column": 17, "ending_column": 79}, "type_specific_fields": {"parent": {"type": "function", "name": "_fundAndDeploy", "source_mapping": {"start": 8525, "length": 2154, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DeployHelper", "source_mapping": {"start": 525, "length": 11692, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160], "starting_column": 1, "ending_column": 2}}, "signature": "_fundAndDeploy(address,uint256,address,bytes,address,uint256)"}}}}, {"type": "node", "name": "feeAmountNativeDenominated * (10 ** (18 - decimals)) < feeAmount", "source_mapping": {"start": 9393, "length": 62, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [68], "starting_column": 21, "ending_column": 83}, "type_specific_fields": {"parent": {"type": "function", "name": "_fundAndDeploy", "source_mapping": {"start": 8525, "length": 2154, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DeployHelper", "source_mapping": {"start": 525, "length": 11692, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160], "starting_column": 1, "ending_column": 2}}, "signature": "_fundAndDeploy(address,uint256,address,bytes,address,uint256)"}}}}], "description": "DeployHelper._fundAndDeploy(address,uint256,address,bytes,address,uint256) (src/rollup/DeployHelper.sol#46-100) performs a multiplication on the result of a division:\n\t- feeAmountNativeDenominated = feeAmount / (10 ** (18 - decimals)) (src/rollup/DeployHelper.sol#66)\n\t- feeAmountNativeDenominated * (10 ** (18 - decimals)) < feeAmount (src/rollup/DeployHelper.sol#68)\n", "markdown": "[DeployHelper._fundAndDeploy(address,uint256,address,bytes,address,uint256)](src/rollup/DeployHelper.sol#L46-L100) performs a multiplication on the result of a division:\n\t- [feeAmountNativeDenominated = feeAmount / (10 ** (18 - decimals))](src/rollup/DeployHelper.sol#L66)\n\t- [feeAmountNativeDenominated * (10 ** (18 - decimals)) < feeAmount](src/rollup/DeployHelper.sol#L68)\n", "first_markdown_element": "src/rollup/DeployHelper.sol#L46-L100", "id": "4fb20a676d1f3bfb16ac2bd8d3fe3bbb5a365c9934ae12d86b9b88967edde290", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_scaleDownToNativeDecimals", "source_mapping": {"start": 13092, "length": 449, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCreator", "source_mapping": {"start": 703, "length": 12840, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334], "starting_column": 1, "ending_column": 2}}, "signature": "_scaleDownToNativeDecimals(uint256,uint8)"}}, {"type": "node", "name": "scaledAmount = amount / (10 ** (18 - decimals))", "source_mapping": {"start": 13302, "length": 45, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [326], "starting_column": 13, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "_scaleDownToNativeDecimals", "source_mapping": {"start": 13092, "length": 449, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCreator", "source_mapping": {"start": 703, "length": 12840, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334], "starting_column": 1, "ending_column": 2}}, "signature": "_scaleDownToNativeDecimals(uint256,uint8)"}}}}, {"type": "node", "name": "scaledAmount * (10 ** (18 - decimals)) < amount", "source_mapping": {"start": 13402, "length": 45, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [328], "starting_column": 17, "ending_column": 62}, "type_specific_fields": {"parent": {"type": "function", "name": "_scaleDownToNativeDecimals", "source_mapping": {"start": 13092, "length": 449, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCreator", "source_mapping": {"start": 703, "length": 12840, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334], "starting_column": 1, "ending_column": 2}}, "signature": "_scaleDownToNativeDecimals(uint256,uint8)"}}}}], "description": "RollupCreator._scaleDownToNativeDecimals(uint256,uint8) (src/rollup/RollupCreator.sol#319-333) performs a multiplication on the result of a division:\n\t- scaledAmount = amount / (10 ** (18 - decimals)) (src/rollup/RollupCreator.sol#326)\n\t- scaledAmount * (10 ** (18 - decimals)) < amount (src/rollup/RollupCreator.sol#328)\n", "markdown": "[RollupCreator._scaleDownToNativeDecimals(uint256,uint8)](src/rollup/RollupCreator.sol#L319-L333) performs a multiplication on the result of a division:\n\t- [scaledAmount = amount / (10 ** (18 - decimals))](src/rollup/RollupCreator.sol#L326)\n\t- [scaledAmount * (10 ** (18 - decimals)) < amount](src/rollup/RollupCreator.sol#L328)\n", "first_markdown_element": "src/rollup/RollupCreator.sol#L319-L333", "id": "dfee0ddb602c8f74926e48357bc4e6a51a2881e92e8dc12e111f59780c4affb8", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "currentRequiredStake", "source_mapping": {"start": 21012, "length": 1527, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25934, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642], "starting_column": 1, "ending_column": 2}}, "signature": "currentRequiredStake(uint256,uint64,uint256)"}}, {"type": "node", "name": "multiplier = withNumerator / denominators[periodsPassed % 10]", "source_mapping": {"start": 22355, "length": 69, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [540], "starting_column": 9, "ending_column": 78}, "type_specific_fields": {"parent": {"type": "function", "name": "currentRequiredStake", "source_mapping": {"start": 21012, "length": 1527, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25934, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642], "starting_column": 1, "ending_column": 2}}, "signature": "currentRequiredStake(uint256,uint64,uint256)"}}}}, {"type": "node", "name": "baseStake * multiplier", "source_mapping": {"start": 22503, "length": 29, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [544], "starting_column": 9, "ending_column": 38}, "type_specific_fields": {"parent": {"type": "function", "name": "currentRequiredStake", "source_mapping": {"start": 21012, "length": 1527, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25934, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642], "starting_column": 1, "ending_column": 2}}, "signature": "currentRequiredStake(uint256,uint64,uint256)"}}}}], "description": "AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256) (src/rollup/RollupUserLogic.sol#499-545) performs a multiplication on the result of a division:\n\t- multiplier = withNumerator / denominators[periodsPassed % 10] (src/rollup/RollupUserLogic.sol#540)\n\t- baseStake * multiplier (src/rollup/RollupUserLogic.sol#544)\n", "markdown": "[AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256)](src/rollup/RollupUserLogic.sol#L499-L545) performs a multiplication on the result of a division:\n\t- [multiplier = withNumerator / denominators[periodsPassed % 10]](src/rollup/RollupUserLogic.sol#L540)\n\t- [baseStake * multiplier](src/rollup/RollupUserLogic.sol#L544)\n", "first_markdown_element": "src/rollup/RollupUserLogic.sol#L499-L545", "id": "2803a8de725e2165f69c9445b653745db069a7cfd61b8cc7b16da012952dc7f5", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "createNewNode", "source_mapping": {"start": 20694, "length": 4618, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24629, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679], "starting_column": 1, "ending_column": 2}}, "signature": "createNewNode(Assertion,uint64,uint256,bytes32)"}}, {"type": "node", "name": "require(bool,string)(RollupLib.stateHash(assertion.beforeState,prevNodeInboxMaxCount) == memoryFrame.prevNode.stateHash,PREV_STATE_HASH)", "source_mapping": {"start": 21435, "length": 193, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [583, 584, 585, 586, 587], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "createNewNode", "source_mapping": {"start": 20694, "length": 4618, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24629, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679], "starting_column": 1, "ending_column": 2}}, "signature": "createNewNode(Assertion,uint64,uint256,bytes32)"}}}}], "description": "RollupCore.createNewNode(Assertion,uint64,uint256,bytes32) (src/rollup/RollupCore.sol#564-678) uses a dangerous strict equality:\n\t- require(bool,string)(RollupLib.stateHash(assertion.beforeState,prevNodeInboxMaxCount) == memoryFrame.prevNode.stateHash,PREV_STATE_HASH) (src/rollup/RollupCore.sol#583-587)\n", "markdown": "[RollupCore.createNewNode(Assertion,uint64,uint256,bytes32)](src/rollup/RollupCore.sol#L564-L678) uses a dangerous strict equality:\n\t- [require(bool,string)(RollupLib.stateHash(assertion.beforeState,prevNodeInboxMaxCount) == memoryFrame.prevNode.stateHash,PREV_STATE_HASH)](src/rollup/RollupCore.sol#L583-L587)\n", "first_markdown_element": "src/rollup/RollupCore.sol#L564-L678", "id": "a6975dd3860f8b5f0ecafe0488b0b42245ca3c01b6eb97806a28024e4594f214", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "createNewNode", "source_mapping": {"start": 20694, "length": 4618, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24629, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679], "starting_column": 1, "ending_column": 2}}, "signature": "createNewNode(Assertion,uint64,uint256,bytes32)"}}, {"type": "node", "name": "require(bool,string)(newNodeHash == expectedNodeHash || expectedNodeHash == bytes32(0),UNEXPECTED_NODE_HASH)", "source_mapping": {"start": 23889, "length": 144, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [636, 637, 638, 639], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "createNewNode", "source_mapping": {"start": 20694, "length": 4618, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24629, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679], "starting_column": 1, "ending_column": 2}}, "signature": "createNewNode(Assertion,uint64,uint256,bytes32)"}}}}], "description": "RollupCore.createNewNode(Assertion,uint64,uint256,bytes32) (src/rollup/RollupCore.sol#564-678) uses a dangerous strict equality:\n\t- require(bool,string)(newNodeHash == expectedNodeHash || expectedNodeHash == bytes32(0),UNEXPECTED_NODE_HASH) (src/rollup/RollupCore.sol#636-639)\n", "markdown": "[RollupCore.createNewNode(Assertion,uint64,uint256,bytes32)](src/rollup/RollupCore.sol#L564-L678) uses a dangerous strict equality:\n\t- [require(bool,string)(newNodeHash == expectedNodeHash || expectedNodeHash == bytes32(0),UNEXPECTED_NODE_HASH)](src/rollup/RollupCore.sol#L636-L639)\n", "first_markdown_element": "src/rollup/RollupCore.sol#L564-L678", "id": "3b3dac1beaad095c507198b6bb9f705f811752b33542b85f5e042f86bec5fb00", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "currentRequiredStake", "source_mapping": {"start": 21012, "length": 1527, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25934, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642], "starting_column": 1, "ending_column": 2}}, "signature": "currentRequiredStake(uint256,uint64,uint256)"}}, {"type": "node", "name": "multiplier == 0", "source_mapping": {"start": 22438, "length": 15, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [541], "starting_column": 13, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "function", "name": "currentRequiredStake", "source_mapping": {"start": 21012, "length": 1527, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25934, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642], "starting_column": 1, "ending_column": 2}}, "signature": "currentRequiredStake(uint256,uint64,uint256)"}}}}], "description": "AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256) (src/rollup/RollupUserLogic.sol#499-545) uses a dangerous strict equality:\n\t- multiplier == 0 (src/rollup/RollupUserLogic.sol#541)\n", "markdown": "[AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256)](src/rollup/RollupUserLogic.sol#L499-L545) uses a dangerous strict equality:\n\t- [multiplier == 0](src/rollup/RollupUserLogic.sol#L541)\n", "first_markdown_element": "src/rollup/RollupUserLogic.sol#L499-L545", "id": "d6f41cb5c33b4595428f9030c7e4c9a13c4023ba81089f63456a41d8784bd753", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "requireUnchallengedStaker", "source_mapping": {"start": 26221, "length": 212, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [638, 639, 640, 641], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25934, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642], "starting_column": 1, "ending_column": 2}}, "signature": "requireUnchallengedStaker(address)"}}, {"type": "node", "name": "require(bool,string)(currentChallenge(stakerAddress) == NO_CHAL_INDEX,IN_CHAL)", "source_mapping": {"start": 26358, "length": 68, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [640], "starting_column": 9, "ending_column": 77}, "type_specific_fields": {"parent": {"type": "function", "name": "requireUnchallengedStaker", "source_mapping": {"start": 26221, "length": 212, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [638, 639, 640, 641], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25934, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642], "starting_column": 1, "ending_column": 2}}, "signature": "requireUnchallengedStaker(address)"}}}}], "description": "AbsRollupUserLogic.requireUnchallengedStaker(address) (src/rollup/RollupUserLogic.sol#638-641) uses a dangerous strict equality:\n\t- require(bool,string)(currentChallenge(stakerAddress) == NO_CHAL_INDEX,IN_CHAL) (src/rollup/RollupUserLogic.sol#640)\n", "markdown": "[AbsRollupUserLogic.requireUnchallengedStaker(address)](src/rollup/RollupUserLogic.sol#L638-L641) uses a dangerous strict equality:\n\t- [require(bool,string)(currentChallenge(stakerAddress) == NO_CHAL_INDEX,IN_CHAL)](src/rollup/RollupUserLogic.sol#L640)\n", "first_markdown_element": "src/rollup/RollupUserLogic.sol#L638-L641", "id": "7bbbccc60c30858495f1002fa4f96507c8f35e5225b241a5dab5ec293383b044", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "stakeOnExistingNode", "source_mapping": {"start": 7710, "length": 583, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25934, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642], "starting_column": 1, "ending_column": 2}}, "signature": "stakeOnExistingNode(uint64,bytes32)"}}, {"type": "node", "name": "require(bool,string)(latestStakedNode(msg.sender) == node.prevNum,NOT_STAKED_PREV)", "source_mapping": {"start": 8172, "length": 72, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [211], "starting_column": 9, "ending_column": 81}, "type_specific_fields": {"parent": {"type": "function", "name": "stakeOnExistingNode", "source_mapping": {"start": 7710, "length": 583, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25934, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642], "starting_column": 1, "ending_column": 2}}, "signature": "stakeOnExistingNode(uint64,bytes32)"}}}}], "description": "AbsRollupUserLogic.stakeOnExistingNode(uint64,bytes32) (src/rollup/RollupUserLogic.sol#198-213) uses a dangerous strict equality:\n\t- require(bool,string)(latestStakedNode(msg.sender) == node.prevNum,NOT_STAKED_PREV) (src/rollup/RollupUserLogic.sol#211)\n", "markdown": "[AbsRollupUserLogic.stakeOnExistingNode(uint64,bytes32)](src/rollup/RollupUserLogic.sol#L198-L213) uses a dangerous strict equality:\n\t- [require(bool,string)(latestStakedNode(msg.sender) == node.prevNum,NOT_STAKED_PREV)](src/rollup/RollupUserLogic.sol#L211)\n", "first_markdown_element": "src/rollup/RollupUserLogic.sol#L198-L213", "id": "8e5cdf0b77d052567cdd55e34a5291c9b1e139a5df0033fdf1de430263047d89", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "node", "name": "_fundAndDeploy(_inbox,NICK_CREATE2_VALUE,NICK_CREATE2_DEPLOYER,NICK_CREATE2_PAYLOAD,_nativeToken,_maxFeePerGas)", "source_mapping": {"start": 10820, "length": 198, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [107, 108, 109, 110, 111, 112, 113, 114], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "perform", "source_mapping": {"start": 10685, "length": 1095, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DeployHelper", "source_mapping": {"start": 525, "length": 11692, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160], "starting_column": 1, "ending_column": 2}}, "signature": "perform(address,address,uint256)"}}}}, {"type": "node", "name": "_fundAndDeploy(_inbox,NICK_CREATE2_VALUE,NICK_CREATE2_DEPLOYER,NICK_CREATE2_PAYLOAD,_nativeToken,_maxFeePerGas)", "source_mapping": {"start": 10820, "length": 198, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [107, 108, 109, 110, 111, 112, 113, 114], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "perform", "source_mapping": {"start": 10685, "length": 1095, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DeployHelper", "source_mapping": {"start": 525, "length": 11692, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160], "starting_column": 1, "ending_column": 2}}, "signature": "perform(address,address,uint256)"}}}}], "description": "Multiple retryable tickets created in the same function:\n\t -_fundAndDeploy(_inbox,NICK_CREATE2_VALUE,NICK_CREATE2_DEPLOYER,NICK_CREATE2_PAYLOAD,_nativeToken,_maxFeePerGas) (src/rollup/DeployHelper.sol#107-114)\n\t -_fundAndDeploy(_inbox,NICK_CREATE2_VALUE,NICK_CREATE2_DEPLOYER,NICK_CREATE2_PAYLOAD,_nativeToken,_maxFeePerGas) (src/rollup/DeployHelper.sol#107-114)\n", "markdown": "Multiple retryable tickets created in the same function:\n\t -[_fundAndDeploy(_inbox,NICK_CREATE2_VALUE,NICK_CREATE2_DEPLOYER,NICK_CREATE2_PAYLOAD,_nativeToken,_maxFeePerGas)](src/rollup/DeployHelper.sol#L107-L114)\n\t -[_fundAndDeploy(_inbox,NICK_CREATE2_VALUE,NICK_CREATE2_DEPLOYER,NICK_CREATE2_PAYLOAD,_nativeToken,_maxFeePerGas)](src/rollup/DeployHelper.sol#L107-L114)\n", "first_markdown_element": "src/rollup/DeployHelper.sol#L107-L114", "id": "f31d620e4b82e77afe7ac6649042f283243e9582402f79ba35dacb2026ef6aa7", "check": "out-of-order-retryable", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "createChallenge", "source_mapping": {"start": 13066, "length": 3131, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25934, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642], "starting_column": 1, "ending_column": 2}}, "signature": "createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])"}}, {"type": "node", "name": "challengeIndex = createChallengeHelper(stakers,machineStatuses,globalStates,numBlocks,wasmModuleRoots,(commonEndBlock - proposedBlocks[0]) * ETH_POS_BLOCK_TIME,(commonEndBlock - proposedBlocks[1]) * ETH_POS_BLOCK_TIME)", "source_mapping": {"start": 15609, "length": 398, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [372, 373, 374, 375, 376, 377, 378, 379, 380, 381], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "createChallenge", "source_mapping": {"start": 13066, "length": 3131, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25934, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642], "starting_column": 1, "ending_column": 2}}, "signature": "createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "challengeManager.createChallenge(wasmModuleRoots[0],machineStatuses,globalStates,numBlocks,stakers[0],stakers[1],asserterTimeLeft,challengerTimeLeft)", "source_mapping": {"start": 16551, "length": 317, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407], "starting_column": 9, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "createChallengeHelper", "source_mapping": {"start": 16203, "length": 672, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25934, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642], "starting_column": 1, "ending_column": 2}}, "signature": "createChallengeHelper(address[2],MachineStatus[2],GlobalState[2],uint64,bytes32[2],uint256,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "challengeStarted(stakers[0],stakers[1],challengeIndex)", "source_mapping": {"start": 16043, "length": 56, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [383], "starting_column": 9, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "createChallenge", "source_mapping": {"start": 13066, "length": 3131, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25934, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642], "starting_column": 1, "ending_column": 2}}, "signature": "createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_stakerMap"}}, {"type": "node", "name": "_stakerMap[staker1].currentChallenge = challenge", "source_mapping": {"start": 13618, "length": 48, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [384], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "challengeStarted", "source_mapping": {"start": 13491, "length": 240, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [379, 380, 381, 382, 383, 384, 385, 386], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24629, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679], "starting_column": 1, "ending_column": 2}}, "signature": "challengeStarted(address,address,uint64)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_stakerMap"}}, {"type": "node", "name": "_stakerMap[staker2].currentChallenge = challenge", "source_mapping": {"start": 13676, "length": 48, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [385], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "challengeStarted", "source_mapping": {"start": 13491, "length": 240, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [379, 380, 381, 382, 383, 384, 385, 386], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24629, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679], "starting_column": 1, "ending_column": 2}}, "signature": "challengeStarted(address,address,uint64)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_stakerMap"}}], "description": "Reentrancy in AbsRollupUserLogic.createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2]) (src/rollup/RollupUserLogic.sol#313-386):\n\tExternal calls:\n\t- challengeIndex = createChallengeHelper(stakers,machineStatuses,globalStates,numBlocks,wasmModuleRoots,(commonEndBlock - proposedBlocks[0]) * ETH_POS_BLOCK_TIME,(commonEndBlock - proposedBlocks[1]) * ETH_POS_BLOCK_TIME) (src/rollup/RollupUserLogic.sol#372-381)\n\t\t- challengeManager.createChallenge(wasmModuleRoots[0],machineStatuses,globalStates,numBlocks,stakers[0],stakers[1],asserterTimeLeft,challengerTimeLeft) (src/rollup/RollupUserLogic.sol#397-407)\n\tState variables written after the call(s):\n\t- challengeStarted(stakers[0],stakers[1],challengeIndex) (src/rollup/RollupUserLogic.sol#383)\n\t\t- _stakerMap[staker1].currentChallenge = challenge (src/rollup/RollupCore.sol#384)\n\t\t- _stakerMap[staker2].currentChallenge = challenge (src/rollup/RollupCore.sol#385)\n\tRollupCore._stakerMap (src/rollup/RollupCore.sol#68) can be used in cross function reentrancies:\n\t- RollupCore._stakerMap (src/rollup/RollupCore.sol#68)\n\t- RollupCore.amountStaked(address) (src/rollup/RollupCore.sol#186-188)\n\t- RollupCore.challengeStarted(address,address,uint64) (src/rollup/RollupCore.sol#379-386)\n\t- RollupCore.clearChallenge(address) (src/rollup/RollupCore.sol#368-371)\n\t- RollupCore.currentChallenge(address) (src/rollup/RollupCore.sol#177-179)\n\t- RollupCore.deleteStaker(address) (src/rollup/RollupCore.sol#543-551)\n\t- RollupCore.getStaker(address) (src/rollup/RollupCore.sol#195-197)\n\t- RollupCore.inChallenge(address,address) (src/rollup/RollupCore.sol#351-362)\n\t- RollupCore.increaseStakeBy(address,uint256) (src/rollup/RollupCore.sol#393-399)\n\t- RollupCore.isStaked(address) (src/rollup/RollupCore.sol#149-151)\n\t- RollupCore.isStakedOnLatestConfirmed(address) (src/rollup/RollupCore.sol#159-161)\n\t- RollupCore.latestStakedNode(address) (src/rollup/RollupCore.sol#168-170)\n\t- RollupCore.reduceStakeTo(address,uint256) (src/rollup/RollupCore.sol#407-416)\n\t- RollupCore.stakeOnNode(address,uint64) (src/rollup/RollupCore.sol#508-512)\n\t- RollupCore.turnIntoZombie(address) (src/rollup/RollupCore.sol#422-426)\n\t- RollupCore.withdrawStaker(address) (src/rollup/RollupCore.sol#489-501)\n", "markdown": "Reentrancy in [AbsRollupUserLogic.createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])](src/rollup/RollupUserLogic.sol#L313-L386):\n\tExternal calls:\n\t- [challengeIndex = createChallengeHelper(stakers,machineStatuses,globalStates,numBlocks,wasmModuleRoots,(commonEndBlock - proposedBlocks[0]) * ETH_POS_BLOCK_TIME,(commonEndBlock - proposedBlocks[1]) * ETH_POS_BLOCK_TIME)](src/rollup/RollupUserLogic.sol#L372-L381)\n\t\t- [challengeManager.createChallenge(wasmModuleRoots[0],machineStatuses,globalStates,numBlocks,stakers[0],stakers[1],asserterTimeLeft,challengerTimeLeft)](src/rollup/RollupUserLogic.sol#L397-L407)\n\tState variables written after the call(s):\n\t- [challengeStarted(stakers[0],stakers[1],challengeIndex)](src/rollup/RollupUserLogic.sol#L383)\n\t\t- [_stakerMap[staker1].currentChallenge = challenge](src/rollup/RollupCore.sol#L384)\n\t\t- [_stakerMap[staker2].currentChallenge = challenge](src/rollup/RollupCore.sol#L385)\n\t[RollupCore._stakerMap](src/rollup/RollupCore.sol#L68) can be used in cross function reentrancies:\n\t- [RollupCore._stakerMap](src/rollup/RollupCore.sol#L68)\n\t- [RollupCore.amountStaked(address)](src/rollup/RollupCore.sol#L186-L188)\n\t- [RollupCore.challengeStarted(address,address,uint64)](src/rollup/RollupCore.sol#L379-L386)\n\t- [RollupCore.clearChallenge(address)](src/rollup/RollupCore.sol#L368-L371)\n\t- [RollupCore.currentChallenge(address)](src/rollup/RollupCore.sol#L177-L179)\n\t- [RollupCore.deleteStaker(address)](src/rollup/RollupCore.sol#L543-L551)\n\t- [RollupCore.getStaker(address)](src/rollup/RollupCore.sol#L195-L197)\n\t- [RollupCore.inChallenge(address,address)](src/rollup/RollupCore.sol#L351-L362)\n\t- [RollupCore.increaseStakeBy(address,uint256)](src/rollup/RollupCore.sol#L393-L399)\n\t- [RollupCore.isStaked(address)](src/rollup/RollupCore.sol#L149-L151)\n\t- [RollupCore.isStakedOnLatestConfirmed(address)](src/rollup/RollupCore.sol#L159-L161)\n\t- [RollupCore.latestStakedNode(address)](src/rollup/RollupCore.sol#L168-L170)\n\t- [RollupCore.reduceStakeTo(address,uint256)](src/rollup/RollupCore.sol#L407-L416)\n\t- [RollupCore.stakeOnNode(address,uint64)](src/rollup/RollupCore.sol#L508-L512)\n\t- [RollupCore.turnIntoZombie(address)](src/rollup/RollupCore.sol#L422-L426)\n\t- [RollupCore.withdrawStaker(address)](src/rollup/RollupCore.sol#L489-L501)\n", "first_markdown_element": "src/rollup/RollupUserLogic.sol#L313-L386", "id": "c426748e54bb463a55d94c54cd2dffbe8b77ffd98bce03600799e5fe749a7b1d", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "executeTransactionImpl", "source_mapping": {"start": 7336, "length": 1225, "filename_relative": "src/bridge/AbsOutbox.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/bridge/AbsOutbox.sol", "filename_short": "src/bridge/AbsOutbox.sol", "is_dependency": false, "lines": [196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsOutbox", "source_mapping": {"start": 698, "length": 12161, "filename_relative": "src/bridge/AbsOutbox.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/bridge/AbsOutbox.sol", "filename_short": "src/bridge/AbsOutbox.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransactionImpl(uint256,address,address,uint256,uint256,uint256,uint256,bytes)"}}, {"type": "node", "name": "executeBridgeCall(to,amountToUnlock,data)", "source_mapping": {"start": 8479, "length": 43, "filename_relative": "src/bridge/AbsOutbox.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/bridge/AbsOutbox.sol", "filename_short": "src/bridge/AbsOutbox.sol", "is_dependency": false, "lines": [226], "starting_column": 9, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransactionImpl", "source_mapping": {"start": 7336, "length": 1225, "filename_relative": "src/bridge/AbsOutbox.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/bridge/AbsOutbox.sol", "filename_short": "src/bridge/AbsOutbox.sol", "is_dependency": false, "lines": [196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsOutbox", "source_mapping": {"start": 698, "length": 12161, "filename_relative": "src/bridge/AbsOutbox.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/bridge/AbsOutbox.sol", "filename_short": "src/bridge/AbsOutbox.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransactionImpl(uint256,address,address,uint256,uint256,uint256,uint256,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "(success,returndata) = bridge.executeCall(to,value,data)", "source_mapping": {"start": 10189, "length": 77, "filename_relative": "src/bridge/AbsOutbox.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/bridge/AbsOutbox.sol", "filename_short": "src/bridge/AbsOutbox.sol", "is_dependency": false, "lines": [279], "starting_column": 9, "ending_column": 86}, "type_specific_fields": {"parent": {"type": "function", "name": "executeBridgeCall", "source_mapping": {"start": 10067, "length": 594, "filename_relative": "src/bridge/AbsOutbox.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/bridge/AbsOutbox.sol", "filename_short": "src/bridge/AbsOutbox.sol", "is_dependency": false, "lines": [274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsOutbox", "source_mapping": {"start": 698, "length": 12161, "filename_relative": "src/bridge/AbsOutbox.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/bridge/AbsOutbox.sol", "filename_short": "src/bridge/AbsOutbox.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335], "starting_column": 1, "ending_column": 2}}, "signature": "executeBridgeCall(address,uint256,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "context = prevContext", "source_mapping": {"start": 8533, "length": 21, "filename_relative": "src/bridge/AbsOutbox.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/bridge/AbsOutbox.sol", "filename_short": "src/bridge/AbsOutbox.sol", "is_dependency": false, "lines": [228], "starting_column": 9, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransactionImpl", "source_mapping": {"start": 7336, "length": 1225, "filename_relative": "src/bridge/AbsOutbox.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/bridge/AbsOutbox.sol", "filename_short": "src/bridge/AbsOutbox.sol", "is_dependency": false, "lines": [196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsOutbox", "source_mapping": {"start": 698, "length": 12161, "filename_relative": "src/bridge/AbsOutbox.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/bridge/AbsOutbox.sol", "filename_short": "src/bridge/AbsOutbox.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransactionImpl(uint256,address,address,uint256,uint256,uint256,uint256,bytes)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "context"}}], "description": "Reentrancy in AbsOutbox.executeTransactionImpl(uint256,address,address,uint256,uint256,uint256,uint256,bytes) (src/bridge/AbsOutbox.sol#196-229):\n\tExternal calls:\n\t- executeBridgeCall(to,amountToUnlock,data) (src/bridge/AbsOutbox.sol#226)\n\t\t- (success,returndata) = bridge.executeCall(to,value,data) (src/bridge/AbsOutbox.sol#279)\n\tState variables written after the call(s):\n\t- context = prevContext (src/bridge/AbsOutbox.sol#228)\n\tAbsOutbox.context (src/bridge/AbsOutbox.sol#51) can be used in cross function reentrancies:\n\t- AbsOutbox.executeTransactionImpl(uint256,address,address,uint256,uint256,uint256,uint256,bytes) (src/bridge/AbsOutbox.sol#196-229)\n\t- AbsOutbox.initialize(IBridge) (src/bridge/AbsOutbox.sol#63-79)\n\t- AbsOutbox.l2ToL1Block() (src/bridge/AbsOutbox.sol#118-123)\n\t- AbsOutbox.l2ToL1EthBlock() (src/bridge/AbsOutbox.sol#126-131)\n\t- AbsOutbox.l2ToL1OutputId() (src/bridge/AbsOutbox.sol#147-152)\n\t- AbsOutbox.l2ToL1Sender() (src/bridge/AbsOutbox.sol#110-115)\n\t- AbsOutbox.l2ToL1Timestamp() (src/bridge/AbsOutbox.sol#134-139)\n\t- AbsOutbox.postUpgradeInit() (src/bridge/AbsOutbox.sol#81-92)\n", "markdown": "Reentrancy in [AbsOutbox.executeTransactionImpl(uint256,address,address,uint256,uint256,uint256,uint256,bytes)](src/bridge/AbsOutbox.sol#L196-L229):\n\tExternal calls:\n\t- [executeBridgeCall(to,amountToUnlock,data)](src/bridge/AbsOutbox.sol#L226)\n\t\t- [(success,returndata) = bridge.executeCall(to,value,data)](src/bridge/AbsOutbox.sol#L279)\n\tState variables written after the call(s):\n\t- [context = prevContext](src/bridge/AbsOutbox.sol#L228)\n\t[AbsOutbox.context](src/bridge/AbsOutbox.sol#L51) can be used in cross function reentrancies:\n\t- [AbsOutbox.executeTransactionImpl(uint256,address,address,uint256,uint256,uint256,uint256,bytes)](src/bridge/AbsOutbox.sol#L196-L229)\n\t- [AbsOutbox.initialize(IBridge)](src/bridge/AbsOutbox.sol#L63-L79)\n\t- [AbsOutbox.l2ToL1Block()](src/bridge/AbsOutbox.sol#L118-L123)\n\t- [AbsOutbox.l2ToL1EthBlock()](src/bridge/AbsOutbox.sol#L126-L131)\n\t- [AbsOutbox.l2ToL1OutputId()](src/bridge/AbsOutbox.sol#L147-L152)\n\t- [AbsOutbox.l2ToL1Sender()](src/bridge/AbsOutbox.sol#L110-L115)\n\t- [AbsOutbox.l2ToL1Timestamp()](src/bridge/AbsOutbox.sol#L134-L139)\n\t- [AbsOutbox.postUpgradeInit()](src/bridge/AbsOutbox.sol#L81-L92)\n", "first_markdown_element": "src/bridge/AbsOutbox.sol#L196-L229", "id": "b42ba1855895a9ed1833beaf1f3c481a846ec27a28578623d5aca757932249c1", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "forceResolveChallenge", "source_mapping": {"start": 10412, "length": 631, "filename_relative": "src/rollup/RollupAdminLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupAdminLogic.sol", "filename_short": "src/rollup/RollupAdminLogic.sol", "is_dependency": false, "lines": [258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupAdminLogic", "source_mapping": {"start": 590, "length": 15056, "filename_relative": "src/rollup/RollupAdminLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupAdminLogic.sol", "filename_short": "src/rollup/RollupAdminLogic.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393], "starting_column": 1, "ending_column": 2}}, "signature": "forceResolveChallenge(address[],address[])"}}, {"type": "node", "name": "challengeManager.clearChallenge(chall)", "source_mapping": {"start": 10950, "length": 38, "filename_relative": "src/rollup/RollupAdminLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupAdminLogic.sol", "filename_short": "src/rollup/RollupAdminLogic.sol", "is_dependency": false, "lines": [271], "starting_column": 13, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "function", "name": "forceResolveChallenge", "source_mapping": {"start": 10412, "length": 631, "filename_relative": "src/rollup/RollupAdminLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupAdminLogic.sol", "filename_short": "src/rollup/RollupAdminLogic.sol", "is_dependency": false, "lines": [258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupAdminLogic", "source_mapping": {"start": 590, "length": 15056, "filename_relative": "src/rollup/RollupAdminLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupAdminLogic.sol", "filename_short": "src/rollup/RollupAdminLogic.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393], "starting_column": 1, "ending_column": 2}}, "signature": "forceResolveChallenge(address[],address[])"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "clearChallenge(stakerA[i])", "source_mapping": {"start": 10870, "length": 26, "filename_relative": "src/rollup/RollupAdminLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupAdminLogic.sol", "filename_short": "src/rollup/RollupAdminLogic.sol", "is_dependency": false, "lines": [269], "starting_column": 13, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "forceResolveChallenge", "source_mapping": {"start": 10412, "length": 631, "filename_relative": "src/rollup/RollupAdminLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupAdminLogic.sol", "filename_short": "src/rollup/RollupAdminLogic.sol", "is_dependency": false, "lines": [258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupAdminLogic", "source_mapping": {"start": 590, "length": 15056, "filename_relative": "src/rollup/RollupAdminLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupAdminLogic.sol", "filename_short": "src/rollup/RollupAdminLogic.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393], "starting_column": 1, "ending_column": 2}}, "signature": "forceResolveChallenge(address[],address[])"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_stakerMap"}}, {"type": "node", "name": "staker.currentChallenge = NO_CHAL_INDEX", "source_mapping": {"start": 13178, "length": 39, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [370], "starting_column": 9, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "function", "name": "clearChallenge", "source_mapping": {"start": 13053, "length": 171, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [368, 369, 370, 371], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24629, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679], "starting_column": 1, "ending_column": 2}}, "signature": "clearChallenge(address)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_stakerMap"}}, {"type": "node", "name": "clearChallenge(stakerB[i])", "source_mapping": {"start": 10910, "length": 26, "filename_relative": "src/rollup/RollupAdminLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupAdminLogic.sol", "filename_short": "src/rollup/RollupAdminLogic.sol", "is_dependency": false, "lines": [270], "starting_column": 13, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "forceResolveChallenge", "source_mapping": {"start": 10412, "length": 631, "filename_relative": "src/rollup/RollupAdminLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupAdminLogic.sol", "filename_short": "src/rollup/RollupAdminLogic.sol", "is_dependency": false, "lines": [258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupAdminLogic", "source_mapping": {"start": 590, "length": 15056, "filename_relative": "src/rollup/RollupAdminLogic.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupAdminLogic.sol", "filename_short": "src/rollup/RollupAdminLogic.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393], "starting_column": 1, "ending_column": 2}}, "signature": "forceResolveChallenge(address[],address[])"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_stakerMap"}}, {"type": "node", "name": "staker.currentChallenge = NO_CHAL_INDEX", "source_mapping": {"start": 13178, "length": 39, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [370], "starting_column": 9, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "function", "name": "clearChallenge", "source_mapping": {"start": 13053, "length": 171, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [368, 369, 370, 371], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24629, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679], "starting_column": 1, "ending_column": 2}}, "signature": "clearChallenge(address)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_stakerMap"}}], "description": "Reentrancy in RollupAdminLogic.forceResolveChallenge(address[],address[]) (src/rollup/RollupAdminLogic.sol#258-274):\n\tExternal calls:\n\t- challengeManager.clearChallenge(chall) (src/rollup/RollupAdminLogic.sol#271)\n\tState variables written after the call(s):\n\t- clearChallenge(stakerA[i]) (src/rollup/RollupAdminLogic.sol#269)\n\t\t- staker.currentChallenge = NO_CHAL_INDEX (src/rollup/RollupCore.sol#370)\n\tRollupCore._stakerMap (src/rollup/RollupCore.sol#68) can be used in cross function reentrancies:\n\t- RollupCore._stakerMap (src/rollup/RollupCore.sol#68)\n\t- RollupCore.amountStaked(address) (src/rollup/RollupCore.sol#186-188)\n\t- RollupCore.clearChallenge(address) (src/rollup/RollupCore.sol#368-371)\n\t- RollupCore.currentChallenge(address) (src/rollup/RollupCore.sol#177-179)\n\t- RollupCore.deleteStaker(address) (src/rollup/RollupCore.sol#543-551)\n\t- RollupAdminLogic.forceRefundStaker(address[]) (src/rollup/RollupAdminLogic.sol#276-284)\n\t- RollupCore.getStaker(address) (src/rollup/RollupCore.sol#195-197)\n\t- RollupCore.inChallenge(address,address) (src/rollup/RollupCore.sol#351-362)\n\t- RollupCore.isStaked(address) (src/rollup/RollupCore.sol#149-151)\n\t- RollupCore.isStakedOnLatestConfirmed(address) (src/rollup/RollupCore.sol#159-161)\n\t- RollupCore.latestStakedNode(address) (src/rollup/RollupCore.sol#168-170)\n\t- RollupCore.reduceStakeTo(address,uint256) (src/rollup/RollupCore.sol#407-416)\n\t- RollupCore.turnIntoZombie(address) (src/rollup/RollupCore.sol#422-426)\n\t- clearChallenge(stakerB[i]) (src/rollup/RollupAdminLogic.sol#270)\n\t\t- staker.currentChallenge = NO_CHAL_INDEX (src/rollup/RollupCore.sol#370)\n\tRollupCore._stakerMap (src/rollup/RollupCore.sol#68) can be used in cross function reentrancies:\n\t- RollupCore._stakerMap (src/rollup/RollupCore.sol#68)\n\t- RollupCore.amountStaked(address) (src/rollup/RollupCore.sol#186-188)\n\t- RollupCore.clearChallenge(address) (src/rollup/RollupCore.sol#368-371)\n\t- RollupCore.currentChallenge(address) (src/rollup/RollupCore.sol#177-179)\n\t- RollupCore.deleteStaker(address) (src/rollup/RollupCore.sol#543-551)\n\t- RollupAdminLogic.forceRefundStaker(address[]) (src/rollup/RollupAdminLogic.sol#276-284)\n\t- RollupCore.getStaker(address) (src/rollup/RollupCore.sol#195-197)\n\t- RollupCore.inChallenge(address,address) (src/rollup/RollupCore.sol#351-362)\n\t- RollupCore.isStaked(address) (src/rollup/RollupCore.sol#149-151)\n\t- RollupCore.isStakedOnLatestConfirmed(address) (src/rollup/RollupCore.sol#159-161)\n\t- RollupCore.latestStakedNode(address) (src/rollup/RollupCore.sol#168-170)\n\t- RollupCore.reduceStakeTo(address,uint256) (src/rollup/RollupCore.sol#407-416)\n\t- RollupCore.turnIntoZombie(address) (src/rollup/RollupCore.sol#422-426)\n", "markdown": "Reentrancy in [RollupAdminLogic.forceResolveChallenge(address[],address[])](src/rollup/RollupAdminLogic.sol#L258-L274):\n\tExternal calls:\n\t- [challengeManager.clearChallenge(chall)](src/rollup/RollupAdminLogic.sol#L271)\n\tState variables written after the call(s):\n\t- [clearChallenge(stakerA[i])](src/rollup/RollupAdminLogic.sol#L269)\n\t\t- [staker.currentChallenge = NO_CHAL_INDEX](src/rollup/RollupCore.sol#L370)\n\t[RollupCore._stakerMap](src/rollup/RollupCore.sol#L68) can be used in cross function reentrancies:\n\t- [RollupCore._stakerMap](src/rollup/RollupCore.sol#L68)\n\t- [RollupCore.amountStaked(address)](src/rollup/RollupCore.sol#L186-L188)\n\t- [RollupCore.clearChallenge(address)](src/rollup/RollupCore.sol#L368-L371)\n\t- [RollupCore.currentChallenge(address)](src/rollup/RollupCore.sol#L177-L179)\n\t- [RollupCore.deleteStaker(address)](src/rollup/RollupCore.sol#L543-L551)\n\t- [RollupAdminLogic.forceRefundStaker(address[])](src/rollup/RollupAdminLogic.sol#L276-L284)\n\t- [RollupCore.getStaker(address)](src/rollup/RollupCore.sol#L195-L197)\n\t- [RollupCore.inChallenge(address,address)](src/rollup/RollupCore.sol#L351-L362)\n\t- [RollupCore.isStaked(address)](src/rollup/RollupCore.sol#L149-L151)\n\t- [RollupCore.isStakedOnLatestConfirmed(address)](src/rollup/RollupCore.sol#L159-L161)\n\t- [RollupCore.latestStakedNode(address)](src/rollup/RollupCore.sol#L168-L170)\n\t- [RollupCore.reduceStakeTo(address,uint256)](src/rollup/RollupCore.sol#L407-L416)\n\t- [RollupCore.turnIntoZombie(address)](src/rollup/RollupCore.sol#L422-L426)\n\t- [clearChallenge(stakerB[i])](src/rollup/RollupAdminLogic.sol#L270)\n\t\t- [staker.currentChallenge = NO_CHAL_INDEX](src/rollup/RollupCore.sol#L370)\n\t[RollupCore._stakerMap](src/rollup/RollupCore.sol#L68) can be used in cross function reentrancies:\n\t- [RollupCore._stakerMap](src/rollup/RollupCore.sol#L68)\n\t- [RollupCore.amountStaked(address)](src/rollup/RollupCore.sol#L186-L188)\n\t- [RollupCore.clearChallenge(address)](src/rollup/RollupCore.sol#L368-L371)\n\t- [RollupCore.currentChallenge(address)](src/rollup/RollupCore.sol#L177-L179)\n\t- [RollupCore.deleteStaker(address)](src/rollup/RollupCore.sol#L543-L551)\n\t- [RollupAdminLogic.forceRefundStaker(address[])](src/rollup/RollupAdminLogic.sol#L276-L284)\n\t- [RollupCore.getStaker(address)](src/rollup/RollupCore.sol#L195-L197)\n\t- [RollupCore.inChallenge(address,address)](src/rollup/RollupCore.sol#L351-L362)\n\t- [RollupCore.isStaked(address)](src/rollup/RollupCore.sol#L149-L151)\n\t- [RollupCore.isStakedOnLatestConfirmed(address)](src/rollup/RollupCore.sol#L159-L161)\n\t- [RollupCore.latestStakedNode(address)](src/rollup/RollupCore.sol#L168-L170)\n\t- [RollupCore.reduceStakeTo(address,uint256)](src/rollup/RollupCore.sol#L407-L416)\n\t- [RollupCore.turnIntoZombie(address)](src/rollup/RollupCore.sol#L422-L426)\n", "first_markdown_element": "src/rollup/RollupAdminLogic.sol#L258-L274", "id": "3a149381278a1de4529bcf77f84d92625154d32ad83406ea2d17142b95cb4a53", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_fundAndDeploy", "source_mapping": {"start": 8525, "length": 2154, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DeployHelper", "source_mapping": {"start": 525, "length": 11692, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160], "starting_column": 1, "ending_column": 2}}, "signature": "_fundAndDeploy(address,uint256,address,bytes,address,uint256)"}}, {"type": "node", "name": "IERC20Inbox(inbox).createRetryableTicket({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,tokenTotalFeeAmount:feeAmountNativeDenominated,data:})", "source_mapping": {"start": 9674, "length": 451, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85], "starting_column": 13, "ending_column": 15}, "type_specific_fields": {"parent": {"type": "function", "name": "_fundAndDeploy", "source_mapping": {"start": 8525, "length": 2154, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DeployHelper", "source_mapping": {"start": 525, "length": 11692, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160], "starting_column": 1, "ending_column": 2}}, "signature": "_fundAndDeploy(address,uint256,address,bytes,address,uint256)"}}}}], "description": "DeployHelper._fundAndDeploy(address,uint256,address,bytes,address,uint256) (src/rollup/DeployHelper.sol#46-100) ignores return value by IERC20Inbox(inbox).createRetryableTicket({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,tokenTotalFeeAmount:feeAmountNativeDenominated,data:}) (src/rollup/DeployHelper.sol#75-85)\n", "markdown": "[DeployHelper._fundAndDeploy(address,uint256,address,bytes,address,uint256)](src/rollup/DeployHelper.sol#L46-L100) ignores return value by [IERC20Inbox(inbox).createRetryableTicket({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,tokenTotalFeeAmount:feeAmountNativeDenominated,data:})](src/rollup/DeployHelper.sol#L75-L85)\n", "first_markdown_element": "src/rollup/DeployHelper.sol#L46-L100", "id": "bc3bd802cf43553ebdde2f5a650bd37e2ba8471fe3f9de0d0bdbfad1fced1d00", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_fundAndDeploy", "source_mapping": {"start": 8525, "length": 2154, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DeployHelper", "source_mapping": {"start": 525, "length": 11692, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160], "starting_column": 1, "ending_column": 2}}, "signature": "_fundAndDeploy(address,uint256,address,bytes,address,uint256)"}}, {"type": "node", "name": "IInbox(inbox).createRetryableTicket{value: feeAmount}({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,data:})", "source_mapping": {"start": 10156, "length": 399, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [87, 88, 89, 90, 91, 92, 93, 94, 95, 96], "starting_column": 13, "ending_column": 15}, "type_specific_fields": {"parent": {"type": "function", "name": "_fundAndDeploy", "source_mapping": {"start": 8525, "length": 2154, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DeployHelper", "source_mapping": {"start": 525, "length": 11692, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160], "starting_column": 1, "ending_column": 2}}, "signature": "_fundAndDeploy(address,uint256,address,bytes,address,uint256)"}}}}], "description": "DeployHelper._fundAndDeploy(address,uint256,address,bytes,address,uint256) (src/rollup/DeployHelper.sol#46-100) ignores return value by IInbox(inbox).createRetryableTicket{value: feeAmount}({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,data:}) (src/rollup/DeployHelper.sol#87-96)\n", "markdown": "[DeployHelper._fundAndDeploy(address,uint256,address,bytes,address,uint256)](src/rollup/DeployHelper.sol#L46-L100) ignores return value by [IInbox(inbox).createRetryableTicket{value: feeAmount}({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,data:})](src/rollup/DeployHelper.sol#L87-L96)\n", "first_markdown_element": "src/rollup/DeployHelper.sol#L46-L100", "id": "fb1bf81f56dbacb484c41b74ff6b97327ed3ab06f9599b6d9c236b51f9a320ad", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_fundAndDeploy", "source_mapping": {"start": 8525, "length": 2154, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DeployHelper", "source_mapping": {"start": 525, "length": 11692, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160], "starting_column": 1, "ending_column": 2}}, "signature": "_fundAndDeploy(address,uint256,address,bytes,address,uint256)"}}, {"type": "node", "name": "IInboxBase(inbox).sendL2Message(payload)", "source_mapping": {"start": 10632, "length": 40, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [99], "starting_column": 9, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "_fundAndDeploy", "source_mapping": {"start": 8525, "length": 2154, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DeployHelper", "source_mapping": {"start": 525, "length": 11692, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160], "starting_column": 1, "ending_column": 2}}, "signature": "_fundAndDeploy(address,uint256,address,bytes,address,uint256)"}}}}], "description": "DeployHelper._fundAndDeploy(address,uint256,address,bytes,address,uint256) (src/rollup/DeployHelper.sol#46-100) ignores return value by IInboxBase(inbox).sendL2Message(payload) (src/rollup/DeployHelper.sol#99)\n", "markdown": "[DeployHelper._fundAndDeploy(address,uint256,address,bytes,address,uint256)](src/rollup/DeployHelper.sol#L46-L100) ignores return value by [IInboxBase(inbox).sendL2Message(payload)](src/rollup/DeployHelper.sol#L99)\n", "first_markdown_element": "src/rollup/DeployHelper.sol#L46-L100", "id": "1c1cb22c16963df7619b9d485774b3c8fbd70bb511ebd2becbfca1ad7bd77e50", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "deploy", "source_mapping": {"start": 660, "length": 435, "filename_relative": "src/rollup/FactoryDeployerHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/FactoryDeployerHelper.sol", "filename_short": "src/rollup/FactoryDeployerHelper.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "FactoryDeployerHelper", "source_mapping": {"start": 373, "length": 724, "filename_relative": "src/rollup/FactoryDeployerHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/FactoryDeployerHelper.sol", "filename_short": "src/rollup/FactoryDeployerHelper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 2}}, "signature": "deploy(address,uint256)"}}, {"type": "node", "name": "IERC20(feeToken).transferFrom(msg.sender,inbox,amount)", "source_mapping": {"start": 955, "length": 56, "filename_relative": "src/rollup/FactoryDeployerHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/FactoryDeployerHelper.sol", "filename_short": "src/rollup/FactoryDeployerHelper.sol", "is_dependency": false, "lines": [22], "starting_column": 9, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "deploy", "source_mapping": {"start": 660, "length": 435, "filename_relative": "src/rollup/FactoryDeployerHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/FactoryDeployerHelper.sol", "filename_short": "src/rollup/FactoryDeployerHelper.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "FactoryDeployerHelper", "source_mapping": {"start": 373, "length": 724, "filename_relative": "src/rollup/FactoryDeployerHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/FactoryDeployerHelper.sol", "filename_short": "src/rollup/FactoryDeployerHelper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 2}}, "signature": "deploy(address,uint256)"}}}}], "description": "FactoryDeployerHelper.deploy(address,uint256) (src/rollup/FactoryDeployerHelper.sol#17-24) ignores return value by IERC20(feeToken).transferFrom(msg.sender,inbox,amount) (src/rollup/FactoryDeployerHelper.sol#22)\n", "markdown": "[FactoryDeployerHelper.deploy(address,uint256)](src/rollup/FactoryDeployerHelper.sol#L17-L24) ignores return value by [IERC20(feeToken).transferFrom(msg.sender,inbox,amount)](src/rollup/FactoryDeployerHelper.sol#L22)\n", "first_markdown_element": "src/rollup/FactoryDeployerHelper.sol#L17-L24", "id": "b61f6cd7e1b9dac16bde231f4604f5082f9d2bb1141b083d7b0c790237076ce2", "check": "unchecked-transfer", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_addBid", "source_mapping": {"start": 8665, "length": 636, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 10045, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "_addBid(uint192,address,bytes32,uint64,uint64)"}}, {"type": "node", "name": "index == entries.length", "source_mapping": {"start": 9123, "length": 23, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [255], "starting_column": 13, "ending_column": 36}, "type_specific_fields": {"parent": {"type": "function", "name": "_addBid", "source_mapping": {"start": 8665, "length": 636, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 10045, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "_addBid(uint192,address,bytes32,uint64,uint64)"}}}}], "description": "CacheManager._addBid(uint192,address,bytes32,uint64,uint64) (src/chain/CacheManager.sol#240-261) uses a dangerous strict equality:\n\t- index == entries.length (src/chain/CacheManager.sol#255)\n", "markdown": "[CacheManager._addBid(uint192,address,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L240-L261) uses a dangerous strict equality:\n\t- [index == entries.length](src/chain/CacheManager.sol#L255)\n", "first_markdown_element": "src/chain/CacheManager.sol#L240-L261", "id": "d628a546b26bab7d17e51242113a300dee8b63d78108aa14fa547838f7c984b2", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "_addBid", "source_mapping": {"start": 8665, "length": 636, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 10045, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "_addBid(uint192,address,bytes32,uint64,uint64)"}}, {"type": "node", "name": "ARB_WASM_CACHE.cacheProgram(program)", "source_mapping": {"start": 9005, "length": 36, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [252], "starting_column": 9, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "_addBid", "source_mapping": {"start": 8665, "length": 636, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 10045, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "_addBid(uint192,address,bytes32,uint64,uint64)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "queueSize += size", "source_mapping": {"start": 9092, "length": 17, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [254], "starting_column": 9, "ending_column": 26}, "type_specific_fields": {"parent": {"type": "function", "name": "_addBid", "source_mapping": {"start": 8665, "length": 636, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 10045, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "_addBid(uint192,address,bytes32,uint64,uint64)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "queueSize"}}], "description": "Reentrancy in CacheManager._addBid(uint192,address,bytes32,uint64,uint64) (src/chain/CacheManager.sol#240-261):\n\tExternal calls:\n\t- ARB_WASM_CACHE.cacheProgram(program) (src/chain/CacheManager.sol#252)\n\tState variables written after the call(s):\n\t- queueSize += size (src/chain/CacheManager.sol#254)\n\tCacheManager.queueSize (src/chain/CacheManager.sol#27) can be used in cross function reentrancies:\n\t- CacheManager._addBid(uint192,address,bytes32,uint64,uint64) (src/chain/CacheManager.sol#240-261)\n\t- CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#264-270)\n\t- CacheManager._makeSpace(uint64) (src/chain/CacheManager.sol#222-237)\n\t- CacheManager.getMinBid(uint64) (src/chain/CacheManager.sol#124-152)\n\t- CacheManager.makeSpace(uint64) (src/chain/CacheManager.sol#196-205)\n\t- CacheManager.queueSize (src/chain/CacheManager.sol#27)\n", "markdown": "Reentrancy in [CacheManager._addBid(uint192,address,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L240-L261):\n\tExternal calls:\n\t- [ARB_WASM_CACHE.cacheProgram(program)](src/chain/CacheManager.sol#L252)\n\tState variables written after the call(s):\n\t- [queueSize += size](src/chain/CacheManager.sol#L254)\n\t[CacheManager.queueSize](src/chain/CacheManager.sol#L27) can be used in cross function reentrancies:\n\t- [CacheManager._addBid(uint192,address,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L240-L261)\n\t- [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L264-L270)\n\t- [CacheManager._makeSpace(uint64)](src/chain/CacheManager.sol#L222-L237)\n\t- [CacheManager.getMinBid(uint64)](src/chain/CacheManager.sol#L124-L152)\n\t- [CacheManager.makeSpace(uint64)](src/chain/CacheManager.sol#L196-L205)\n\t- [CacheManager.queueSize](src/chain/CacheManager.sol#L27)\n", "first_markdown_element": "src/chain/CacheManager.sol#L240-L261", "id": "e3c59613b5f55bcaed6f72836989cdf48eec69a17bd181502982fefee7611e78", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deleteEntry", "source_mapping": {"start": 9356, "length": 277, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [264, 265, 266, 267, 268, 269, 270], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 10045, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "_deleteEntry(uint192,uint64)"}}, {"type": "node", "name": "ARB_WASM_CACHE.evictCodehash(entry.code)", "source_mapping": {"start": 9469, "length": 40, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [266], "starting_column": 9, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "_deleteEntry", "source_mapping": {"start": 9356, "length": 277, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [264, 265, 266, 267, 268, 269, 270], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 10045, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "_deleteEntry(uint192,uint64)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "delete entries[index]", "source_mapping": {"start": 9605, "length": 21, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [269], "starting_column": 9, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "function", "name": "_deleteEntry", "source_mapping": {"start": 9356, "length": 277, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [264, 265, 266, 267, 268, 269, 270], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 10045, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "_deleteEntry(uint192,uint64)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "entries"}}], "description": "Reentrancy in CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#264-270):\n\tExternal calls:\n\t- ARB_WASM_CACHE.evictCodehash(entry.code) (src/chain/CacheManager.sol#266)\n\tState variables written after the call(s):\n\t- delete entries[index] (src/chain/CacheManager.sol#269)\n\tCacheManager.entries (src/chain/CacheManager.sol#24) can be used in cross function reentrancies:\n\t- CacheManager._addBid(uint192,address,bytes32,uint64,uint64) (src/chain/CacheManager.sol#240-261)\n\t- CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#264-270)\n\t- CacheManager._makeSpace(uint64) (src/chain/CacheManager.sol#222-237)\n\t- CacheManager.entries (src/chain/CacheManager.sol#24)\n\t- CacheManager.evictAll() (src/chain/CacheManager.sol#89-92)\n\t- CacheManager.getEntries() (src/chain/CacheManager.sol#104-106)\n\t- CacheManager.getSmallestEntries(uint256) (src/chain/CacheManager.sol#110-120)\n", "markdown": "Reentrancy in [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L264-L270):\n\tExternal calls:\n\t- [ARB_WASM_CACHE.evictCodehash(entry.code)](src/chain/CacheManager.sol#L266)\n\tState variables written after the call(s):\n\t- [delete entries[index]](src/chain/CacheManager.sol#L269)\n\t[CacheManager.entries](src/chain/CacheManager.sol#L24) can be used in cross function reentrancies:\n\t- [CacheManager._addBid(uint192,address,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L240-L261)\n\t- [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L264-L270)\n\t- [CacheManager._makeSpace(uint64)](src/chain/CacheManager.sol#L222-L237)\n\t- [CacheManager.entries](src/chain/CacheManager.sol#L24)\n\t- [CacheManager.evictAll()](src/chain/CacheManager.sol#L89-L92)\n\t- [CacheManager.getEntries()](src/chain/CacheManager.sol#L104-L106)\n\t- [CacheManager.getSmallestEntries(uint256)](src/chain/CacheManager.sol#L110-L120)\n", "first_markdown_element": "src/chain/CacheManager.sol#L264-L270", "id": "da879b6db94b2d7e9b0b7ac41852a5d4daca51e4947137749f0329b126127352", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "evictAll", "source_mapping": {"start": 2880, "length": 112, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [89, 90, 91, 92], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 10045, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "evictAll()"}}, {"type": "node", "name": "evictPrograms(type()(uint256).max)", "source_mapping": {"start": 2929, "length": 32, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [90], "starting_column": 9, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "function", "name": "evictAll", "source_mapping": {"start": 2880, "length": 112, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [89, 90, 91, 92], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 10045, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "evictAll()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "ARB_WASM_CACHE.evictCodehash(entry.code)", "source_mapping": {"start": 9469, "length": 40, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [266], "starting_column": 9, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "_deleteEntry", "source_mapping": {"start": 9356, "length": 277, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [264, 265, 266, 267, 268, 269, 270], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 10045, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "_deleteEntry(uint192,uint64)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "delete entries", "source_mapping": {"start": 2971, "length": 14, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [91], "starting_column": 9, "ending_column": 23}, "type_specific_fields": {"parent": {"type": "function", "name": "evictAll", "source_mapping": {"start": 2880, "length": 112, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [89, 90, 91, 92], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 10045, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "evictAll()"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "entries"}}], "description": "Reentrancy in CacheManager.evictAll() (src/chain/CacheManager.sol#89-92):\n\tExternal calls:\n\t- evictPrograms(type()(uint256).max) (src/chain/CacheManager.sol#90)\n\t\t- ARB_WASM_CACHE.evictCodehash(entry.code) (src/chain/CacheManager.sol#266)\n\tState variables written after the call(s):\n\t- delete entries (src/chain/CacheManager.sol#91)\n\tCacheManager.entries (src/chain/CacheManager.sol#24) can be used in cross function reentrancies:\n\t- CacheManager._addBid(uint192,address,bytes32,uint64,uint64) (src/chain/CacheManager.sol#240-261)\n\t- CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#264-270)\n\t- CacheManager._makeSpace(uint64) (src/chain/CacheManager.sol#222-237)\n\t- CacheManager.entries (src/chain/CacheManager.sol#24)\n\t- CacheManager.evictAll() (src/chain/CacheManager.sol#89-92)\n\t- CacheManager.getEntries() (src/chain/CacheManager.sol#104-106)\n\t- CacheManager.getSmallestEntries(uint256) (src/chain/CacheManager.sol#110-120)\n", "markdown": "Reentrancy in [CacheManager.evictAll()](src/chain/CacheManager.sol#L89-L92):\n\tExternal calls:\n\t- [evictPrograms(type()(uint256).max)](src/chain/CacheManager.sol#L90)\n\t\t- [ARB_WASM_CACHE.evictCodehash(entry.code)](src/chain/CacheManager.sol#L266)\n\tState variables written after the call(s):\n\t- [delete entries](src/chain/CacheManager.sol#L91)\n\t[CacheManager.entries](src/chain/CacheManager.sol#L24) can be used in cross function reentrancies:\n\t- [CacheManager._addBid(uint192,address,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L240-L261)\n\t- [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L264-L270)\n\t- [CacheManager._makeSpace(uint64)](src/chain/CacheManager.sol#L222-L237)\n\t- [CacheManager.entries](src/chain/CacheManager.sol#L24)\n\t- [CacheManager.evictAll()](src/chain/CacheManager.sol#L89-L92)\n\t- [CacheManager.getEntries()](src/chain/CacheManager.sol#L104-L106)\n\t- [CacheManager.getSmallestEntries(uint256)](src/chain/CacheManager.sol#L110-L120)\n", "first_markdown_element": "src/chain/CacheManager.sol#L89-L92", "id": "02366c421ff860e2f8a1d8cd1d277a7c7b74585fbb7afb043f28e6cf527b3d68", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "placeBid", "source_mapping": {"start": 6437, "length": 420, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 10045, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "placeBid(address)"}}, {"type": "node", "name": "(bid,index) = _makeSpace(asm)", "source_mapping": {"start": 6745, "length": 45, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [189], "starting_column": 9, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "placeBid", "source_mapping": {"start": 6437, "length": 420, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 10045, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "placeBid(address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "ARB_WASM_CACHE.evictCodehash(entry.code)", "source_mapping": {"start": 9469, "length": 40, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [266], "starting_column": 9, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "_deleteEntry", "source_mapping": {"start": 9356, "length": 277, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [264, 265, 266, 267, 268, 269, 270], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 10045, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "_deleteEntry(uint192,uint64)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_addBid(bid,program,codehash,asm,index)", "source_mapping": {"start": 6800, "length": 50, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [190], "starting_column": 9, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "placeBid", "source_mapping": {"start": 6437, "length": 420, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 10045, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "placeBid(address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "ARB_WASM_CACHE.cacheProgram(program)", "source_mapping": {"start": 9005, "length": 36, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [252], "starting_column": 9, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "_addBid", "source_mapping": {"start": 8665, "length": 636, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 10045, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "_addBid(uint192,address,bytes32,uint64,uint64)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_addBid(bid,program,codehash,asm,index)", "source_mapping": {"start": 6800, "length": 50, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [190], "starting_column": 9, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "placeBid", "source_mapping": {"start": 6437, "length": 420, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 10045, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "placeBid(address)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "entries"}}, {"type": "node", "name": "entries.push(entry)", "source_mapping": {"start": 9162, "length": 19, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [256], "starting_column": 13, "ending_column": 32}, "type_specific_fields": {"parent": {"type": "function", "name": "_addBid", "source_mapping": {"start": 8665, "length": 636, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 10045, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "_addBid(uint192,address,bytes32,uint64,uint64)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "entries"}}, {"type": "node", "name": "entries[index] = entry", "source_mapping": {"start": 9212, "length": 22, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [258], "starting_column": 13, "ending_column": 35}, "type_specific_fields": {"parent": {"type": "function", "name": "_addBid", "source_mapping": {"start": 8665, "length": 636, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 10045, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "_addBid(uint192,address,bytes32,uint64,uint64)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "entries"}}, {"type": "node", "name": "_addBid(bid,program,codehash,asm,index)", "source_mapping": {"start": 6800, "length": 50, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [190], "starting_column": 9, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "placeBid", "source_mapping": {"start": 6437, "length": 420, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 10045, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "placeBid(address)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "queueSize"}}, {"type": "node", "name": "queueSize += size", "source_mapping": {"start": 9092, "length": 17, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [254], "starting_column": 9, "ending_column": 26}, "type_specific_fields": {"parent": {"type": "function", "name": "_addBid", "source_mapping": {"start": 8665, "length": 636, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 10045, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "_addBid(uint192,address,bytes32,uint64,uint64)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "queueSize"}}], "description": "Reentrancy in CacheManager.placeBid(address) (src/chain/CacheManager.sol#179-191):\n\tExternal calls:\n\t- (bid,index) = _makeSpace(asm) (src/chain/CacheManager.sol#189)\n\t\t- ARB_WASM_CACHE.evictCodehash(entry.code) (src/chain/CacheManager.sol#266)\n\t- _addBid(bid,program,codehash,asm,index) (src/chain/CacheManager.sol#190)\n\t\t- ARB_WASM_CACHE.cacheProgram(program) (src/chain/CacheManager.sol#252)\n\tState variables written after the call(s):\n\t- _addBid(bid,program,codehash,asm,index) (src/chain/CacheManager.sol#190)\n\t\t- entries.push(entry) (src/chain/CacheManager.sol#256)\n\t\t- entries[index] = entry (src/chain/CacheManager.sol#258)\n\tCacheManager.entries (src/chain/CacheManager.sol#24) can be used in cross function reentrancies:\n\t- CacheManager._addBid(uint192,address,bytes32,uint64,uint64) (src/chain/CacheManager.sol#240-261)\n\t- CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#264-270)\n\t- CacheManager._makeSpace(uint64) (src/chain/CacheManager.sol#222-237)\n\t- CacheManager.entries (src/chain/CacheManager.sol#24)\n\t- CacheManager.evictAll() (src/chain/CacheManager.sol#89-92)\n\t- CacheManager.getEntries() (src/chain/CacheManager.sol#104-106)\n\t- CacheManager.getSmallestEntries(uint256) (src/chain/CacheManager.sol#110-120)\n\t- _addBid(bid,program,codehash,asm,index) (src/chain/CacheManager.sol#190)\n\t\t- queueSize += size (src/chain/CacheManager.sol#254)\n\tCacheManager.queueSize (src/chain/CacheManager.sol#27) can be used in cross function reentrancies:\n\t- CacheManager._addBid(uint192,address,bytes32,uint64,uint64) (src/chain/CacheManager.sol#240-261)\n\t- CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#264-270)\n\t- CacheManager._makeSpace(uint64) (src/chain/CacheManager.sol#222-237)\n\t- CacheManager.getMinBid(uint64) (src/chain/CacheManager.sol#124-152)\n\t- CacheManager.makeSpace(uint64) (src/chain/CacheManager.sol#196-205)\n\t- CacheManager.queueSize (src/chain/CacheManager.sol#27)\n", "markdown": "Reentrancy in [CacheManager.placeBid(address)](src/chain/CacheManager.sol#L179-L191):\n\tExternal calls:\n\t- [(bid,index) = _makeSpace(asm)](src/chain/CacheManager.sol#L189)\n\t\t- [ARB_WASM_CACHE.evictCodehash(entry.code)](src/chain/CacheManager.sol#L266)\n\t- [_addBid(bid,program,codehash,asm,index)](src/chain/CacheManager.sol#L190)\n\t\t- [ARB_WASM_CACHE.cacheProgram(program)](src/chain/CacheManager.sol#L252)\n\tState variables written after the call(s):\n\t- [_addBid(bid,program,codehash,asm,index)](src/chain/CacheManager.sol#L190)\n\t\t- [entries.push(entry)](src/chain/CacheManager.sol#L256)\n\t\t- [entries[index] = entry](src/chain/CacheManager.sol#L258)\n\t[CacheManager.entries](src/chain/CacheManager.sol#L24) can be used in cross function reentrancies:\n\t- [CacheManager._addBid(uint192,address,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L240-L261)\n\t- [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L264-L270)\n\t- [CacheManager._makeSpace(uint64)](src/chain/CacheManager.sol#L222-L237)\n\t- [CacheManager.entries](src/chain/CacheManager.sol#L24)\n\t- [CacheManager.evictAll()](src/chain/CacheManager.sol#L89-L92)\n\t- [CacheManager.getEntries()](src/chain/CacheManager.sol#L104-L106)\n\t- [CacheManager.getSmallestEntries(uint256)](src/chain/CacheManager.sol#L110-L120)\n\t- [_addBid(bid,program,codehash,asm,index)](src/chain/CacheManager.sol#L190)\n\t\t- [queueSize += size](src/chain/CacheManager.sol#L254)\n\t[CacheManager.queueSize](src/chain/CacheManager.sol#L27) can be used in cross function reentrancies:\n\t- [CacheManager._addBid(uint192,address,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L240-L261)\n\t- [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L264-L270)\n\t- [CacheManager._makeSpace(uint64)](src/chain/CacheManager.sol#L222-L237)\n\t- [CacheManager.getMinBid(uint64)](src/chain/CacheManager.sol#L124-L152)\n\t- [CacheManager.makeSpace(uint64)](src/chain/CacheManager.sol#L196-L205)\n\t- [CacheManager.queueSize](src/chain/CacheManager.sol#L27)\n", "first_markdown_element": "src/chain/CacheManager.sol#L179-L191", "id": "0c16e4db0a475c13c57a12b678c8c00c11806c69f841246d0fbbc7448bde8935", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_addBid", "source_mapping": {"start": 8300, "length": 600, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 9644, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285], "starting_column": 1, "ending_column": 2}}, "signature": "_addBid(uint192,bytes32,uint64,uint64)"}}, {"type": "node", "name": "index == entries.length", "source_mapping": {"start": 8731, "length": 23, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [247], "starting_column": 13, "ending_column": 36}, "type_specific_fields": {"parent": {"type": "function", "name": "_addBid", "source_mapping": {"start": 8300, "length": 600, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 9644, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285], "starting_column": 1, "ending_column": 2}}, "signature": "_addBid(uint192,bytes32,uint64,uint64)"}}}}], "description": "CacheManager._addBid(uint192,bytes32,uint64,uint64) (src/chain/CacheManager.sol#233-253) uses a dangerous strict equality:\n\t- index == entries.length (src/chain/CacheManager.sol#247)\n", "markdown": "[CacheManager._addBid(uint192,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L233-L253) uses a dangerous strict equality:\n\t- [index == entries.length](src/chain/CacheManager.sol#L247)\n", "first_markdown_element": "src/chain/CacheManager.sol#L233-L253", "id": "4c098b01c2961dc5b2294e0f72e7cf015b9600b3d18b28ada01a3659da0d5e6f", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "_addBid", "source_mapping": {"start": 8300, "length": 600, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 9644, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285], "starting_column": 1, "ending_column": 2}}, "signature": "_addBid(uint192,bytes32,uint64,uint64)"}}, {"type": "node", "name": "ARB_WASM_CACHE.cacheCodehash(code)", "source_mapping": {"start": 8615, "length": 34, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [244], "starting_column": 9, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "function", "name": "_addBid", "source_mapping": {"start": 8300, "length": 600, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 9644, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285], "starting_column": 1, "ending_column": 2}}, "signature": "_addBid(uint192,bytes32,uint64,uint64)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "queueSize += size", "source_mapping": {"start": 8700, "length": 17, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [246], "starting_column": 9, "ending_column": 26}, "type_specific_fields": {"parent": {"type": "function", "name": "_addBid", "source_mapping": {"start": 8300, "length": 600, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 9644, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285], "starting_column": 1, "ending_column": 2}}, "signature": "_addBid(uint192,bytes32,uint64,uint64)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "queueSize"}}], "description": "Reentrancy in CacheManager._addBid(uint192,bytes32,uint64,uint64) (src/chain/CacheManager.sol#233-253):\n\tExternal calls:\n\t- ARB_WASM_CACHE.cacheCodehash(code) (src/chain/CacheManager.sol#244)\n\tState variables written after the call(s):\n\t- queueSize += size (src/chain/CacheManager.sol#246)\n\tCacheManager.queueSize (src/chain/CacheManager.sol#27) can be used in cross function reentrancies:\n\t- CacheManager._addBid(uint192,bytes32,uint64,uint64) (src/chain/CacheManager.sol#233-253)\n\t- CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#256-262)\n\t- CacheManager._makeSpace(uint64) (src/chain/CacheManager.sol#215-230)\n\t- CacheManager.getMinBid(uint64) (src/chain/CacheManager.sol#124-152)\n\t- CacheManager.makeSpace(uint64) (src/chain/CacheManager.sol#189-198)\n\t- CacheManager.queueSize (src/chain/CacheManager.sol#27)\n", "markdown": "Reentrancy in [CacheManager._addBid(uint192,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L233-L253):\n\tExternal calls:\n\t- [ARB_WASM_CACHE.cacheCodehash(code)](src/chain/CacheManager.sol#L244)\n\tState variables written after the call(s):\n\t- [queueSize += size](src/chain/CacheManager.sol#L246)\n\t[CacheManager.queueSize](src/chain/CacheManager.sol#L27) can be used in cross function reentrancies:\n\t- [CacheManager._addBid(uint192,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L233-L253)\n\t- [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L256-L262)\n\t- [CacheManager._makeSpace(uint64)](src/chain/CacheManager.sol#L215-L230)\n\t- [CacheManager.getMinBid(uint64)](src/chain/CacheManager.sol#L124-L152)\n\t- [CacheManager.makeSpace(uint64)](src/chain/CacheManager.sol#L189-L198)\n\t- [CacheManager.queueSize](src/chain/CacheManager.sol#L27)\n", "first_markdown_element": "src/chain/CacheManager.sol#L233-L253", "id": "b9f6ea80a6accee7014dea8d7e8b56ddc8f2ed2255b688758266f20c2bbf230e", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deleteEntry", "source_mapping": {"start": 8955, "length": 277, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [256, 257, 258, 259, 260, 261, 262], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 9644, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285], "starting_column": 1, "ending_column": 2}}, "signature": "_deleteEntry(uint192,uint64)"}}, {"type": "node", "name": "ARB_WASM_CACHE.evictCodehash(entry.code)", "source_mapping": {"start": 9068, "length": 40, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [258], "starting_column": 9, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "_deleteEntry", "source_mapping": {"start": 8955, "length": 277, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [256, 257, 258, 259, 260, 261, 262], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 9644, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285], "starting_column": 1, "ending_column": 2}}, "signature": "_deleteEntry(uint192,uint64)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "delete entries[index]", "source_mapping": {"start": 9204, "length": 21, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [261], "starting_column": 9, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "function", "name": "_deleteEntry", "source_mapping": {"start": 8955, "length": 277, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [256, 257, 258, 259, 260, 261, 262], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 9644, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285], "starting_column": 1, "ending_column": 2}}, "signature": "_deleteEntry(uint192,uint64)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "entries"}}], "description": "Reentrancy in CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#256-262):\n\tExternal calls:\n\t- ARB_WASM_CACHE.evictCodehash(entry.code) (src/chain/CacheManager.sol#258)\n\tState variables written after the call(s):\n\t- delete entries[index] (src/chain/CacheManager.sol#261)\n\tCacheManager.entries (src/chain/CacheManager.sol#24) can be used in cross function reentrancies:\n\t- CacheManager._addBid(uint192,bytes32,uint64,uint64) (src/chain/CacheManager.sol#233-253)\n\t- CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#256-262)\n\t- CacheManager._makeSpace(uint64) (src/chain/CacheManager.sol#215-230)\n\t- CacheManager.entries (src/chain/CacheManager.sol#24)\n\t- CacheManager.evictAll() (src/chain/CacheManager.sol#89-92)\n\t- CacheManager.getEntries() (src/chain/CacheManager.sol#104-106)\n\t- CacheManager.getSmallestEntries(uint256) (src/chain/CacheManager.sol#110-120)\n", "markdown": "Reentrancy in [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L256-L262):\n\tExternal calls:\n\t- [ARB_WASM_CACHE.evictCodehash(entry.code)](src/chain/CacheManager.sol#L258)\n\tState variables written after the call(s):\n\t- [delete entries[index]](src/chain/CacheManager.sol#L261)\n\t[CacheManager.entries](src/chain/CacheManager.sol#L24) can be used in cross function reentrancies:\n\t- [CacheManager._addBid(uint192,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L233-L253)\n\t- [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L256-L262)\n\t- [CacheManager._makeSpace(uint64)](src/chain/CacheManager.sol#L215-L230)\n\t- [CacheManager.entries](src/chain/CacheManager.sol#L24)\n\t- [CacheManager.evictAll()](src/chain/CacheManager.sol#L89-L92)\n\t- [CacheManager.getEntries()](src/chain/CacheManager.sol#L104-L106)\n\t- [CacheManager.getSmallestEntries(uint256)](src/chain/CacheManager.sol#L110-L120)\n", "first_markdown_element": "src/chain/CacheManager.sol#L256-L262", "id": "4848413594e9f06020a2a4a3b7755e0ac5f0d7f7c22946958b361b50e6ce4a52", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "evictAll", "source_mapping": {"start": 2863, "length": 112, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [89, 90, 91, 92], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 9644, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285], "starting_column": 1, "ending_column": 2}}, "signature": "evictAll()"}}, {"type": "node", "name": "evictPrograms(type()(uint256).max)", "source_mapping": {"start": 2912, "length": 32, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [90], "starting_column": 9, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "function", "name": "evictAll", "source_mapping": {"start": 2863, "length": 112, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [89, 90, 91, 92], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 9644, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285], "starting_column": 1, "ending_column": 2}}, "signature": "evictAll()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "ARB_WASM_CACHE.evictCodehash(entry.code)", "source_mapping": {"start": 9068, "length": 40, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [258], "starting_column": 9, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "_deleteEntry", "source_mapping": {"start": 8955, "length": 277, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [256, 257, 258, 259, 260, 261, 262], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 9644, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285], "starting_column": 1, "ending_column": 2}}, "signature": "_deleteEntry(uint192,uint64)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "delete entries", "source_mapping": {"start": 2954, "length": 14, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [91], "starting_column": 9, "ending_column": 23}, "type_specific_fields": {"parent": {"type": "function", "name": "evictAll", "source_mapping": {"start": 2863, "length": 112, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [89, 90, 91, 92], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 9644, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285], "starting_column": 1, "ending_column": 2}}, "signature": "evictAll()"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "entries"}}], "description": "Reentrancy in CacheManager.evictAll() (src/chain/CacheManager.sol#89-92):\n\tExternal calls:\n\t- evictPrograms(type()(uint256).max) (src/chain/CacheManager.sol#90)\n\t\t- ARB_WASM_CACHE.evictCodehash(entry.code) (src/chain/CacheManager.sol#258)\n\tState variables written after the call(s):\n\t- delete entries (src/chain/CacheManager.sol#91)\n\tCacheManager.entries (src/chain/CacheManager.sol#24) can be used in cross function reentrancies:\n\t- CacheManager._addBid(uint192,bytes32,uint64,uint64) (src/chain/CacheManager.sol#233-253)\n\t- CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#256-262)\n\t- CacheManager._makeSpace(uint64) (src/chain/CacheManager.sol#215-230)\n\t- CacheManager.entries (src/chain/CacheManager.sol#24)\n\t- CacheManager.evictAll() (src/chain/CacheManager.sol#89-92)\n\t- CacheManager.getEntries() (src/chain/CacheManager.sol#104-106)\n\t- CacheManager.getSmallestEntries(uint256) (src/chain/CacheManager.sol#110-120)\n", "markdown": "Reentrancy in [CacheManager.evictAll()](src/chain/CacheManager.sol#L89-L92):\n\tExternal calls:\n\t- [evictPrograms(type()(uint256).max)](src/chain/CacheManager.sol#L90)\n\t\t- [ARB_WASM_CACHE.evictCodehash(entry.code)](src/chain/CacheManager.sol#L258)\n\tState variables written after the call(s):\n\t- [delete entries](src/chain/CacheManager.sol#L91)\n\t[CacheManager.entries](src/chain/CacheManager.sol#L24) can be used in cross function reentrancies:\n\t- [CacheManager._addBid(uint192,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L233-L253)\n\t- [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L256-L262)\n\t- [CacheManager._makeSpace(uint64)](src/chain/CacheManager.sol#L215-L230)\n\t- [CacheManager.entries](src/chain/CacheManager.sol#L24)\n\t- [CacheManager.evictAll()](src/chain/CacheManager.sol#L89-L92)\n\t- [CacheManager.getEntries()](src/chain/CacheManager.sol#L104-L106)\n\t- [CacheManager.getSmallestEntries(uint256)](src/chain/CacheManager.sol#L110-L120)\n", "first_markdown_element": "src/chain/CacheManager.sol#L89-L92", "id": "bf120df8d715208381d983040d42897d8dcac47177e732ee5496cde132d2f231", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "placeBid", "source_mapping": {"start": 6125, "length": 367, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 9644, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285], "starting_column": 1, "ending_column": 2}}, "signature": "placeBid(bytes32)"}}, {"type": "node", "name": "(bid,index) = _makeSpace(asm)", "source_mapping": {"start": 6389, "length": 45, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [182], "starting_column": 9, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "placeBid", "source_mapping": {"start": 6125, "length": 367, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 9644, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285], "starting_column": 1, "ending_column": 2}}, "signature": "placeBid(bytes32)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "ARB_WASM_CACHE.evictCodehash(entry.code)", "source_mapping": {"start": 9068, "length": 40, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [258], "starting_column": 9, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "_deleteEntry", "source_mapping": {"start": 8955, "length": 277, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [256, 257, 258, 259, 260, 261, 262], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 9644, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285], "starting_column": 1, "ending_column": 2}}, "signature": "_deleteEntry(uint192,uint64)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_addBid(bid,codehash,asm,index)", "source_mapping": {"start": 6444, "length": 41, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [183], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "placeBid", "source_mapping": {"start": 6125, "length": 367, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 9644, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285], "starting_column": 1, "ending_column": 2}}, "signature": "placeBid(bytes32)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "ARB_WASM_CACHE.cacheCodehash(code)", "source_mapping": {"start": 8615, "length": 34, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [244], "starting_column": 9, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "function", "name": "_addBid", "source_mapping": {"start": 8300, "length": 600, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 9644, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285], "starting_column": 1, "ending_column": 2}}, "signature": "_addBid(uint192,bytes32,uint64,uint64)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_addBid(bid,codehash,asm,index)", "source_mapping": {"start": 6444, "length": 41, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [183], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "placeBid", "source_mapping": {"start": 6125, "length": 367, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 9644, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285], "starting_column": 1, "ending_column": 2}}, "signature": "placeBid(bytes32)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "entries"}}, {"type": "node", "name": "entries.push(entry)", "source_mapping": {"start": 8770, "length": 19, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [248], "starting_column": 13, "ending_column": 32}, "type_specific_fields": {"parent": {"type": "function", "name": "_addBid", "source_mapping": {"start": 8300, "length": 600, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 9644, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285], "starting_column": 1, "ending_column": 2}}, "signature": "_addBid(uint192,bytes32,uint64,uint64)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "entries"}}, {"type": "node", "name": "entries[index] = entry", "source_mapping": {"start": 8820, "length": 22, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [250], "starting_column": 13, "ending_column": 35}, "type_specific_fields": {"parent": {"type": "function", "name": "_addBid", "source_mapping": {"start": 8300, "length": 600, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 9644, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285], "starting_column": 1, "ending_column": 2}}, "signature": "_addBid(uint192,bytes32,uint64,uint64)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "entries"}}, {"type": "node", "name": "_addBid(bid,codehash,asm,index)", "source_mapping": {"start": 6444, "length": 41, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [183], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "placeBid", "source_mapping": {"start": 6125, "length": 367, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 9644, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285], "starting_column": 1, "ending_column": 2}}, "signature": "placeBid(bytes32)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "queueSize"}}, {"type": "node", "name": "queueSize += size", "source_mapping": {"start": 8700, "length": 17, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [246], "starting_column": 9, "ending_column": 26}, "type_specific_fields": {"parent": {"type": "function", "name": "_addBid", "source_mapping": {"start": 8300, "length": 600, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 471, "length": 9644, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285], "starting_column": 1, "ending_column": 2}}, "signature": "_addBid(uint192,bytes32,uint64,uint64)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "queueSize"}}], "description": "Reentrancy in CacheManager.placeBid(bytes32) (src/chain/CacheManager.sol#173-184):\n\tExternal calls:\n\t- (bid,index) = _makeSpace(asm) (src/chain/CacheManager.sol#182)\n\t\t- ARB_WASM_CACHE.evictCodehash(entry.code) (src/chain/CacheManager.sol#258)\n\t- _addBid(bid,codehash,asm,index) (src/chain/CacheManager.sol#183)\n\t\t- ARB_WASM_CACHE.cacheCodehash(code) (src/chain/CacheManager.sol#244)\n\tState variables written after the call(s):\n\t- _addBid(bid,codehash,asm,index) (src/chain/CacheManager.sol#183)\n\t\t- entries.push(entry) (src/chain/CacheManager.sol#248)\n\t\t- entries[index] = entry (src/chain/CacheManager.sol#250)\n\tCacheManager.entries (src/chain/CacheManager.sol#24) can be used in cross function reentrancies:\n\t- CacheManager._addBid(uint192,bytes32,uint64,uint64) (src/chain/CacheManager.sol#233-253)\n\t- CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#256-262)\n\t- CacheManager._makeSpace(uint64) (src/chain/CacheManager.sol#215-230)\n\t- CacheManager.entries (src/chain/CacheManager.sol#24)\n\t- CacheManager.evictAll() (src/chain/CacheManager.sol#89-92)\n\t- CacheManager.getEntries() (src/chain/CacheManager.sol#104-106)\n\t- CacheManager.getSmallestEntries(uint256) (src/chain/CacheManager.sol#110-120)\n\t- _addBid(bid,codehash,asm,index) (src/chain/CacheManager.sol#183)\n\t\t- queueSize += size (src/chain/CacheManager.sol#246)\n\tCacheManager.queueSize (src/chain/CacheManager.sol#27) can be used in cross function reentrancies:\n\t- CacheManager._addBid(uint192,bytes32,uint64,uint64) (src/chain/CacheManager.sol#233-253)\n\t- CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#256-262)\n\t- CacheManager._makeSpace(uint64) (src/chain/CacheManager.sol#215-230)\n\t- CacheManager.getMinBid(uint64) (src/chain/CacheManager.sol#124-152)\n\t- CacheManager.makeSpace(uint64) (src/chain/CacheManager.sol#189-198)\n\t- CacheManager.queueSize (src/chain/CacheManager.sol#27)\n", "markdown": "Reentrancy in [CacheManager.placeBid(bytes32)](src/chain/CacheManager.sol#L173-L184):\n\tExternal calls:\n\t- [(bid,index) = _makeSpace(asm)](src/chain/CacheManager.sol#L182)\n\t\t- [ARB_WASM_CACHE.evictCodehash(entry.code)](src/chain/CacheManager.sol#L258)\n\t- [_addBid(bid,codehash,asm,index)](src/chain/CacheManager.sol#L183)\n\t\t- [ARB_WASM_CACHE.cacheCodehash(code)](src/chain/CacheManager.sol#L244)\n\tState variables written after the call(s):\n\t- [_addBid(bid,codehash,asm,index)](src/chain/CacheManager.sol#L183)\n\t\t- [entries.push(entry)](src/chain/CacheManager.sol#L248)\n\t\t- [entries[index] = entry](src/chain/CacheManager.sol#L250)\n\t[CacheManager.entries](src/chain/CacheManager.sol#L24) can be used in cross function reentrancies:\n\t- [CacheManager._addBid(uint192,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L233-L253)\n\t- [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L256-L262)\n\t- [CacheManager._makeSpace(uint64)](src/chain/CacheManager.sol#L215-L230)\n\t- [CacheManager.entries](src/chain/CacheManager.sol#L24)\n\t- [CacheManager.evictAll()](src/chain/CacheManager.sol#L89-L92)\n\t- [CacheManager.getEntries()](src/chain/CacheManager.sol#L104-L106)\n\t- [CacheManager.getSmallestEntries(uint256)](src/chain/CacheManager.sol#L110-L120)\n\t- [_addBid(bid,codehash,asm,index)](src/chain/CacheManager.sol#L183)\n\t\t- [queueSize += size](src/chain/CacheManager.sol#L246)\n\t[CacheManager.queueSize](src/chain/CacheManager.sol#L27) can be used in cross function reentrancies:\n\t- [CacheManager._addBid(uint192,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L233-L253)\n\t- [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L256-L262)\n\t- [CacheManager._makeSpace(uint64)](src/chain/CacheManager.sol#L215-L230)\n\t- [CacheManager.getMinBid(uint64)](src/chain/CacheManager.sol#L124-L152)\n\t- [CacheManager.makeSpace(uint64)](src/chain/CacheManager.sol#L189-L198)\n\t- [CacheManager.queueSize](src/chain/CacheManager.sol#L27)\n", "first_markdown_element": "src/chain/CacheManager.sol#L173-L184", "id": "436212c386c26726839a1cf3068734d839e7b01aab9f4594d2df94fcad8587cf", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deployFactories", "source_mapping": {"start": 10566, "length": 1163, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCreator", "source_mapping": {"start": 703, "length": 11028, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286], "starting_column": 1, "ending_column": 2}}, "signature": "_deployFactories(address,address,uint256)"}}, {"type": "node", "name": "l2FactoriesDeployer.perform{value: cost}(_inbox,_nativeToken,_maxFeePerGas)", "source_mapping": {"start": 10973, "length": 77, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [268], "starting_column": 13, "ending_column": 90}, "type_specific_fields": {"parent": {"type": "function", "name": "_deployFactories", "source_mapping": {"start": 10566, "length": 1163, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCreator", "source_mapping": {"start": 703, "length": 11028, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286], "starting_column": 1, "ending_column": 2}}, "signature": "_deployFactories(address,address,uint256)"}}}}, {"type": "node", "name": "(sent,None) = msg.sender.call{value: address(this).balance}()", "source_mapping": {"start": 11161, "length": 65, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [272], "starting_column": 13, "ending_column": 78}, "type_specific_fields": {"parent": {"type": "function", "name": "_deployFactories", "source_mapping": {"start": 10566, "length": 1163, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCreator", "source_mapping": {"start": 703, "length": 11028, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286], "starting_column": 1, "ending_column": 2}}, "signature": "_deployFactories(address,address,uint256)"}}}}], "description": "RollupCreator._deployFactories(address,address,uint256) (src/rollup/RollupCreator.sol#255-285) sends eth to arbitrary user\n\tDangerous calls:\n\t- l2FactoriesDeployer.perform{value: cost}(_inbox,_nativeToken,_maxFeePerGas) (src/rollup/RollupCreator.sol#268)\n\t- (sent,None) = msg.sender.call{value: address(this).balance}() (src/rollup/RollupCreator.sol#272)\n", "markdown": "[RollupCreator._deployFactories(address,address,uint256)](src/rollup/RollupCreator.sol#L255-L285) sends eth to arbitrary user\n\tDangerous calls:\n\t- [l2FactoriesDeployer.perform{value: cost}(_inbox,_nativeToken,_maxFeePerGas)](src/rollup/RollupCreator.sol#L268)\n\t- [(sent,None) = msg.sender.call{value: address(this).balance}()](src/rollup/RollupCreator.sol#L272)\n", "first_markdown_element": "src/rollup/RollupCreator.sol#L255-L285", "id": "33e46ab503ffc67db10a32c76db44b3d71085e8ccabf978afab4963ab79410b7", "check": "arbitrary-send-eth", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_addBid", "source_mapping": {"start": 8100, "length": 600, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 350, "length": 9565, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283], "starting_column": 1, "ending_column": 2}}, "signature": "_addBid(uint192,bytes32,uint64,uint64)"}}, {"type": "node", "name": "index == entries.length", "source_mapping": {"start": 8531, "length": 23, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [245], "starting_column": 13, "ending_column": 36}, "type_specific_fields": {"parent": {"type": "function", "name": "_addBid", "source_mapping": {"start": 8100, "length": 600, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 350, "length": 9565, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283], "starting_column": 1, "ending_column": 2}}, "signature": "_addBid(uint192,bytes32,uint64,uint64)"}}}}], "description": "CacheManager._addBid(uint192,bytes32,uint64,uint64) (src/chain/CacheManager.sol#231-251) uses a dangerous strict equality:\n\t- index == entries.length (src/chain/CacheManager.sol#245)\n", "markdown": "[CacheManager._addBid(uint192,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L231-L251) uses a dangerous strict equality:\n\t- [index == entries.length](src/chain/CacheManager.sol#L245)\n", "first_markdown_element": "src/chain/CacheManager.sol#L231-L251", "id": "3a781781186cbb842796b829845aa7945c024854a5354a602603028bf3bf838a", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "executeLinkModule", "source_mapping": {"start": 16420, "length": 1090, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverHostIo", "source_mapping": {"start": 502, "length": 23583, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649], "starting_column": 1, "ending_column": 2}}, "signature": "executeLinkModule(ExecutionContext,Machine,Module,Instruction,bytes)"}}, {"type": "node", "name": "(userMod,offset,None) = mod.moduleMemory.proveLeaf(pointer / LEAF_SIZE,proof,0)", "source_mapping": {"start": 16918, "length": 141, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [448, 449, 450, 451, 452], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "executeLinkModule", "source_mapping": {"start": 16420, "length": 1090, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverHostIo", "source_mapping": {"start": 502, "length": 23583, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649], "starting_column": 1, "ending_column": 2}}, "signature": "executeLinkModule(ExecutionContext,Machine,Module,Instruction,bytes)"}}}}], "description": "OneStepProverHostIo.executeLinkModule(ExecutionContext,Machine,Module,Instruction,bytes) (src/osp/OneStepProverHostIo.sol#433-464) ignores return value by (userMod,offset,None) = mod.moduleMemory.proveLeaf(pointer / LEAF_SIZE,proof,0) (src/osp/OneStepProverHostIo.sol#448-452)\n", "markdown": "[OneStepProverHostIo.executeLinkModule(ExecutionContext,Machine,Module,Instruction,bytes)](src/osp/OneStepProverHostIo.sol#L433-L464) ignores return value by [(userMod,offset,None) = mod.moduleMemory.proveLeaf(pointer / LEAF_SIZE,proof,0)](src/osp/OneStepProverHostIo.sol#L448-L452)\n", "first_markdown_element": "src/osp/OneStepProverHostIo.sol#L433-L464", "id": "92ac837d702aee6d12fc38548f7f338739ba47bacbb9aa683450dead6b522b68", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "executeMemoryLoad", "source_mapping": {"start": 1168, "length": 3662, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverMemory", "source_mapping": {"start": 368, "length": 10198, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284], "starting_column": 1, "ending_column": 2}}, "signature": "executeMemoryLoad(Machine,Module,Instruction,bytes)"}}, {"type": "node", "name": "(err,value,None) = mod.moduleMemory.load(index,readBytes,proof,0)", "source_mapping": {"start": 3641, "length": 79, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [106], "starting_column": 9, "ending_column": 88}, "type_specific_fields": {"parent": {"type": "function", "name": "executeMemoryLoad", "source_mapping": {"start": 1168, "length": 3662, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverMemory", "source_mapping": {"start": 368, "length": 10198, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284], "starting_column": 1, "ending_column": 2}}, "signature": "executeMemoryLoad(Machine,Module,Instruction,bytes)"}}}}], "description": "OneStepProverMemory.executeMemoryLoad(Machine,Module,Instruction,bytes) (src/osp/OneStepProverMemory.sol#36-131) ignores return value by (err,value,None) = mod.moduleMemory.load(index,readBytes,proof,0) (src/osp/OneStepProverMemory.sol#106)\n", "markdown": "[OneStepProverMemory.executeMemoryLoad(Machine,Module,Instruction,bytes)](src/osp/OneStepProverMemory.sol#L36-L131) ignores return value by [(err,value,None) = mod.moduleMemory.load(index,readBytes,proof,0)](src/osp/OneStepProverMemory.sol#L106)\n", "first_markdown_element": "src/osp/OneStepProverMemory.sol#L36-L131", "id": "b002aa15c2eafad3b5923f9ca2204b8ea235c930c19b94647b519331fc1abc4c", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "createRollup", "source_mapping": {"start": 4904, "length": 5018, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCreator", "source_mapping": {"start": 703, "length": 11028, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286], "starting_column": 1, "ending_column": 2}}, "signature": "createRollup(RollupCreator.RollupDeploymentParams)"}}, {"type": "node", "name": "(None,ethSequencerInbox,ethInbox,None,None) = bridgeCreator.ethBasedTemplates()", "source_mapping": {"start": 5121, "length": 115, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [117, 118], "starting_column": 13, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "function", "name": "createRollup", "source_mapping": {"start": 4904, "length": 5018, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCreator", "source_mapping": {"start": 703, "length": 11028, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286], "starting_column": 1, "ending_column": 2}}, "signature": "createRollup(RollupCreator.RollupDeploymentParams)"}}}}], "description": "RollupCreator.createRollup(RollupCreator.RollupDeploymentParams) (src/rollup/RollupCreator.sol#110-233) ignores return value by (None,ethSequencerInbox,ethInbox,None,None) = bridgeCreator.ethBasedTemplates() (src/rollup/RollupCreator.sol#117-118)\n", "markdown": "[RollupCreator.createRollup(RollupCreator.RollupDeploymentParams)](src/rollup/RollupCreator.sol#L110-L233) ignores return value by [(None,ethSequencerInbox,ethInbox,None,None) = bridgeCreator.ethBasedTemplates()](src/rollup/RollupCreator.sol#L117-L118)\n", "first_markdown_element": "src/rollup/RollupCreator.sol#L110-L233", "id": "6ac2b9112a4ee35d3925d1fe7a7ff08b6979520c84e24a42eba70d56c25bfb49", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "createRollup", "source_mapping": {"start": 4904, "length": 5018, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCreator", "source_mapping": {"start": 703, "length": 11028, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286], "starting_column": 1, "ending_column": 2}}, "signature": "createRollup(RollupCreator.RollupDeploymentParams)"}}, {"type": "node", "name": "(None,erc20SequencerInbox,erc20Inbox,None,None) = bridgeCreator.erc20BasedTemplates()", "source_mapping": {"start": 5509, "length": 121, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [125, 126], "starting_column": 13, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "createRollup", "source_mapping": {"start": 4904, "length": 5018, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCreator", "source_mapping": {"start": 703, "length": 11028, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286], "starting_column": 1, "ending_column": 2}}, "signature": "createRollup(RollupCreator.RollupDeploymentParams)"}}}}], "description": "RollupCreator.createRollup(RollupCreator.RollupDeploymentParams) (src/rollup/RollupCreator.sol#110-233) ignores return value by (None,erc20SequencerInbox,erc20Inbox,None,None) = bridgeCreator.erc20BasedTemplates() (src/rollup/RollupCreator.sol#125-126)\n", "markdown": "[RollupCreator.createRollup(RollupCreator.RollupDeploymentParams)](src/rollup/RollupCreator.sol#L110-L233) ignores return value by [(None,erc20SequencerInbox,erc20Inbox,None,None) = bridgeCreator.erc20BasedTemplates()](src/rollup/RollupCreator.sol#L125-L126)\n", "first_markdown_element": "src/rollup/RollupCreator.sol#L110-L233", "id": "a4a7309cfe7707c52e24933155fba88b888f432e0f2bd5db4106b9577b09fab3", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "lastProvedLeafContents", "source_mapping": {"start": 7133, "length": 30, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [192], "starting_column": 9, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "executeMemoryStore", "source_mapping": {"start": 4836, "length": 3663, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverMemory", "source_mapping": {"start": 368, "length": 10198, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284], "starting_column": 1, "ending_column": 2}}, "signature": "executeMemoryStore(Machine,Module,Instruction,bytes)"}}}}], "description": "OneStepProverMemory.executeMemoryStore(Machine,Module,Instruction,bytes).lastProvedLeafContents (src/osp/OneStepProverMemory.sol#192) is a local variable never initialized\n", "markdown": "[OneStepProverMemory.executeMemoryStore(Machine,Module,Instruction,bytes).lastProvedLeafContents](src/osp/OneStepProverMemory.sol#L192) is a local variable never initialized\n", "first_markdown_element": "src/osp/OneStepProverMemory.sol#L192", "id": "00c7e5f6fcc242a5d65ca8b940bee5979b1e5fae2dfaad3a0f8f2ba6c6cd7a99", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "extractChallengeSegment", "source_mapping": {"start": 1364, "length": 682, "filename_relative": "src/challenge/ChallengeLib.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", "filename_short": "src/challenge/ChallengeLib.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChallengeLib", "source_mapping": {"start": 272, "length": 2649, "filename_relative": "src/challenge/ChallengeLib.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", "filename_short": "src/challenge/ChallengeLib.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88], "starting_column": 1, "ending_column": 2}}, "signature": "extractChallengeSegment(ChallengeLib.SegmentSelection)"}}, {"type": "node", "name": "segmentLength = selection.oldSegmentsLength / oldChallengeDegree", "source_mapping": {"start": 1611, "length": 64, "filename_relative": "src/challenge/ChallengeLib.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", "filename_short": "src/challenge/ChallengeLib.sol", "is_dependency": false, "lines": [57], "starting_column": 9, "ending_column": 73}, "type_specific_fields": {"parent": {"type": "function", "name": "extractChallengeSegment", "source_mapping": {"start": 1364, "length": 682, "filename_relative": "src/challenge/ChallengeLib.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", "filename_short": "src/challenge/ChallengeLib.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChallengeLib", "source_mapping": {"start": 272, "length": 2649, "filename_relative": "src/challenge/ChallengeLib.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", "filename_short": "src/challenge/ChallengeLib.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88], "starting_column": 1, "ending_column": 2}}, "signature": "extractChallengeSegment(ChallengeLib.SegmentSelection)"}}}}, {"type": "node", "name": "segmentStart = selection.oldSegmentsStart + segmentLength * selection.challengePosition", "source_mapping": {"start": 1784, "length": 87, "filename_relative": "src/challenge/ChallengeLib.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", "filename_short": "src/challenge/ChallengeLib.sol", "is_dependency": false, "lines": [59], "starting_column": 9, "ending_column": 96}, "type_specific_fields": {"parent": {"type": "function", "name": "extractChallengeSegment", "source_mapping": {"start": 1364, "length": 682, "filename_relative": "src/challenge/ChallengeLib.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", "filename_short": "src/challenge/ChallengeLib.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChallengeLib", "source_mapping": {"start": 272, "length": 2649, "filename_relative": "src/challenge/ChallengeLib.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", "filename_short": "src/challenge/ChallengeLib.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88], "starting_column": 1, "ending_column": 2}}, "signature": "extractChallengeSegment(ChallengeLib.SegmentSelection)"}}}}], "description": "ChallengeLib.extractChallengeSegment(ChallengeLib.SegmentSelection) (src/challenge/ChallengeLib.sol#51-63) performs a multiplication on the result of a division:\n\t- segmentLength = selection.oldSegmentsLength / oldChallengeDegree (src/challenge/ChallengeLib.sol#57)\n\t- segmentStart = selection.oldSegmentsStart + segmentLength * selection.challengePosition (src/challenge/ChallengeLib.sol#59)\n", "markdown": "[ChallengeLib.extractChallengeSegment(ChallengeLib.SegmentSelection)](src/challenge/ChallengeLib.sol#L51-L63) performs a multiplication on the result of a division:\n\t- [segmentLength = selection.oldSegmentsLength / oldChallengeDegree](src/challenge/ChallengeLib.sol#L57)\n\t- [segmentStart = selection.oldSegmentsStart + segmentLength * selection.challengePosition](src/challenge/ChallengeLib.sol#L59)\n", "first_markdown_element": "src/challenge/ChallengeLib.sol#L51-L63", "id": "a4b93976a94b1cf6b99dc623ae954b79e816fc108466f521511aaa71a571ee62", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "executeReadPreImage", "source_mapping": {"start": 4469, "length": 5772, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverHostIo", "source_mapping": {"start": 502, "length": 23583, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649], "starting_column": 1, "ending_column": 2}}, "signature": "executeReadPreImage(ExecutionContext,Machine,Module,Instruction,bytes)"}}, {"type": "node", "name": "rootOfUnityPower = (1 << 32) / fieldElementsPerBlob", "source_mapping": {"start": 9247, "length": 59, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [229], "starting_column": 17, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "executeReadPreImage", "source_mapping": {"start": 4469, "length": 5772, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverHostIo", "source_mapping": {"start": 502, "length": 23583, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649], "starting_column": 1, "ending_column": 2}}, "signature": "executeReadPreImage(ExecutionContext,Machine,Module,Instruction,bytes)"}}}}, {"type": "node", "name": "rootOfUnityPower *= bitReversedIndex", "source_mapping": {"start": 9474, "length": 36, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [232], "starting_column": 17, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "executeReadPreImage", "source_mapping": {"start": 4469, "length": 5772, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverHostIo", "source_mapping": {"start": 502, "length": 23583, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649], "starting_column": 1, "ending_column": 2}}, "signature": "executeReadPreImage(ExecutionContext,Machine,Module,Instruction,bytes)"}}}}], "description": "OneStepProverHostIo.executeReadPreImage(ExecutionContext,Machine,Module,Instruction,bytes) (src/osp/OneStepProverHostIo.sol#128-250) performs a multiplication on the result of a division:\n\t- rootOfUnityPower = (1 << 32) / fieldElementsPerBlob (src/osp/OneStepProverHostIo.sol#229)\n\t- rootOfUnityPower *= bitReversedIndex (src/osp/OneStepProverHostIo.sol#232)\n", "markdown": "[OneStepProverHostIo.executeReadPreImage(ExecutionContext,Machine,Module,Instruction,bytes)](src/osp/OneStepProverHostIo.sol#L128-L250) performs a multiplication on the result of a division:\n\t- [rootOfUnityPower = (1 << 32) / fieldElementsPerBlob](src/osp/OneStepProverHostIo.sol#L229)\n\t- [rootOfUnityPower *= bitReversedIndex](src/osp/OneStepProverHostIo.sol#L232)\n", "first_markdown_element": "src/osp/OneStepProverHostIo.sol#L128-L250", "id": "f0b43f8c42c636a0a6c208ac9bd013cf20177f73df6cf1ea5ab40b7aec7a50ca", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_addBid", "source_mapping": {"start": 8100, "length": 600, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 350, "length": 9565, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283], "starting_column": 1, "ending_column": 2}}, "signature": "_addBid(uint192,bytes32,uint64,uint64)"}}, {"type": "node", "name": "ARB_WASM_CACHE.cacheCodehash(code)", "source_mapping": {"start": 8415, "length": 34, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [242], "starting_column": 9, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "function", "name": "_addBid", "source_mapping": {"start": 8100, "length": 600, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 350, "length": 9565, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283], "starting_column": 1, "ending_column": 2}}, "signature": "_addBid(uint192,bytes32,uint64,uint64)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "queueSize += size", "source_mapping": {"start": 8500, "length": 17, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [244], "starting_column": 9, "ending_column": 26}, "type_specific_fields": {"parent": {"type": "function", "name": "_addBid", "source_mapping": {"start": 8100, "length": 600, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 350, "length": 9565, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283], "starting_column": 1, "ending_column": 2}}, "signature": "_addBid(uint192,bytes32,uint64,uint64)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "queueSize"}}], "description": "Reentrancy in CacheManager._addBid(uint192,bytes32,uint64,uint64) (src/chain/CacheManager.sol#231-251):\n\tExternal calls:\n\t- ARB_WASM_CACHE.cacheCodehash(code) (src/chain/CacheManager.sol#242)\n\tState variables written after the call(s):\n\t- queueSize += size (src/chain/CacheManager.sol#244)\n\tCacheManager.queueSize (src/chain/CacheManager.sol#25) can be used in cross function reentrancies:\n\t- CacheManager._addBid(uint192,bytes32,uint64,uint64) (src/chain/CacheManager.sol#231-251)\n\t- CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#254-260)\n\t- CacheManager._makeSpace(uint64) (src/chain/CacheManager.sol#213-228)\n\t- CacheManager.getMinBid(uint64) (src/chain/CacheManager.sol#122-150)\n\t- CacheManager.makeSpace(uint64) (src/chain/CacheManager.sol#187-196)\n\t- CacheManager.queueSize (src/chain/CacheManager.sol#25)\n", "markdown": "Reentrancy in [CacheManager._addBid(uint192,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L231-L251):\n\tExternal calls:\n\t- [ARB_WASM_CACHE.cacheCodehash(code)](src/chain/CacheManager.sol#L242)\n\tState variables written after the call(s):\n\t- [queueSize += size](src/chain/CacheManager.sol#L244)\n\t[CacheManager.queueSize](src/chain/CacheManager.sol#L25) can be used in cross function reentrancies:\n\t- [CacheManager._addBid(uint192,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L231-L251)\n\t- [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L254-L260)\n\t- [CacheManager._makeSpace(uint64)](src/chain/CacheManager.sol#L213-L228)\n\t- [CacheManager.getMinBid(uint64)](src/chain/CacheManager.sol#L122-L150)\n\t- [CacheManager.makeSpace(uint64)](src/chain/CacheManager.sol#L187-L196)\n\t- [CacheManager.queueSize](src/chain/CacheManager.sol#L25)\n", "first_markdown_element": "src/chain/CacheManager.sol#L231-L251", "id": "7cafef621b24ce7927bcb6c53b9a6c824466abcd138ed1f43bd4a38e07637b19", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deleteEntry", "source_mapping": {"start": 8755, "length": 277, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [254, 255, 256, 257, 258, 259, 260], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 350, "length": 9565, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283], "starting_column": 1, "ending_column": 2}}, "signature": "_deleteEntry(uint192,uint64)"}}, {"type": "node", "name": "ARB_WASM_CACHE.evictCodehash(entry.code)", "source_mapping": {"start": 8868, "length": 40, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [256], "starting_column": 9, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "_deleteEntry", "source_mapping": {"start": 8755, "length": 277, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [254, 255, 256, 257, 258, 259, 260], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 350, "length": 9565, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283], "starting_column": 1, "ending_column": 2}}, "signature": "_deleteEntry(uint192,uint64)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "delete entries[index]", "source_mapping": {"start": 9004, "length": 21, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [259], "starting_column": 9, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "function", "name": "_deleteEntry", "source_mapping": {"start": 8755, "length": 277, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [254, 255, 256, 257, 258, 259, 260], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 350, "length": 9565, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283], "starting_column": 1, "ending_column": 2}}, "signature": "_deleteEntry(uint192,uint64)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "entries"}}], "description": "Reentrancy in CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#254-260):\n\tExternal calls:\n\t- ARB_WASM_CACHE.evictCodehash(entry.code) (src/chain/CacheManager.sol#256)\n\tState variables written after the call(s):\n\t- delete entries[index] (src/chain/CacheManager.sol#259)\n\tCacheManager.entries (src/chain/CacheManager.sol#22) can be used in cross function reentrancies:\n\t- CacheManager._addBid(uint192,bytes32,uint64,uint64) (src/chain/CacheManager.sol#231-251)\n\t- CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#254-260)\n\t- CacheManager._makeSpace(uint64) (src/chain/CacheManager.sol#213-228)\n\t- CacheManager.entries (src/chain/CacheManager.sol#22)\n\t- CacheManager.evictAll() (src/chain/CacheManager.sol#87-90)\n\t- CacheManager.getEntries() (src/chain/CacheManager.sol#102-104)\n\t- CacheManager.getSmallestEntries(uint256) (src/chain/CacheManager.sol#108-118)\n", "markdown": "Reentrancy in [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L254-L260):\n\tExternal calls:\n\t- [ARB_WASM_CACHE.evictCodehash(entry.code)](src/chain/CacheManager.sol#L256)\n\tState variables written after the call(s):\n\t- [delete entries[index]](src/chain/CacheManager.sol#L259)\n\t[CacheManager.entries](src/chain/CacheManager.sol#L22) can be used in cross function reentrancies:\n\t- [CacheManager._addBid(uint192,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L231-L251)\n\t- [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L254-L260)\n\t- [CacheManager._makeSpace(uint64)](src/chain/CacheManager.sol#L213-L228)\n\t- [CacheManager.entries](src/chain/CacheManager.sol#L22)\n\t- [CacheManager.evictAll()](src/chain/CacheManager.sol#L87-L90)\n\t- [CacheManager.getEntries()](src/chain/CacheManager.sol#L102-L104)\n\t- [CacheManager.getSmallestEntries(uint256)](src/chain/CacheManager.sol#L108-L118)\n", "first_markdown_element": "src/chain/CacheManager.sol#L254-L260", "id": "1400e2c01607b2bdf7010ad99c436ef2db92c4122f6340a3ca3e5664bc80c983", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "evictAll", "source_mapping": {"start": 2663, "length": 112, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [87, 88, 89, 90], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 350, "length": 9565, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283], "starting_column": 1, "ending_column": 2}}, "signature": "evictAll()"}}, {"type": "node", "name": "evictPrograms(type()(uint256).max)", "source_mapping": {"start": 2712, "length": 32, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [88], "starting_column": 9, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "function", "name": "evictAll", "source_mapping": {"start": 2663, "length": 112, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [87, 88, 89, 90], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 350, "length": 9565, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283], "starting_column": 1, "ending_column": 2}}, "signature": "evictAll()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "ARB_WASM_CACHE.evictCodehash(entry.code)", "source_mapping": {"start": 8868, "length": 40, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [256], "starting_column": 9, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "_deleteEntry", "source_mapping": {"start": 8755, "length": 277, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [254, 255, 256, 257, 258, 259, 260], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 350, "length": 9565, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283], "starting_column": 1, "ending_column": 2}}, "signature": "_deleteEntry(uint192,uint64)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "delete entries", "source_mapping": {"start": 2754, "length": 14, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [89], "starting_column": 9, "ending_column": 23}, "type_specific_fields": {"parent": {"type": "function", "name": "evictAll", "source_mapping": {"start": 2663, "length": 112, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [87, 88, 89, 90], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 350, "length": 9565, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283], "starting_column": 1, "ending_column": 2}}, "signature": "evictAll()"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "entries"}}], "description": "Reentrancy in CacheManager.evictAll() (src/chain/CacheManager.sol#87-90):\n\tExternal calls:\n\t- evictPrograms(type()(uint256).max) (src/chain/CacheManager.sol#88)\n\t\t- ARB_WASM_CACHE.evictCodehash(entry.code) (src/chain/CacheManager.sol#256)\n\tState variables written after the call(s):\n\t- delete entries (src/chain/CacheManager.sol#89)\n\tCacheManager.entries (src/chain/CacheManager.sol#22) can be used in cross function reentrancies:\n\t- CacheManager._addBid(uint192,bytes32,uint64,uint64) (src/chain/CacheManager.sol#231-251)\n\t- CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#254-260)\n\t- CacheManager._makeSpace(uint64) (src/chain/CacheManager.sol#213-228)\n\t- CacheManager.entries (src/chain/CacheManager.sol#22)\n\t- CacheManager.evictAll() (src/chain/CacheManager.sol#87-90)\n\t- CacheManager.getEntries() (src/chain/CacheManager.sol#102-104)\n\t- CacheManager.getSmallestEntries(uint256) (src/chain/CacheManager.sol#108-118)\n", "markdown": "Reentrancy in [CacheManager.evictAll()](src/chain/CacheManager.sol#L87-L90):\n\tExternal calls:\n\t- [evictPrograms(type()(uint256).max)](src/chain/CacheManager.sol#L88)\n\t\t- [ARB_WASM_CACHE.evictCodehash(entry.code)](src/chain/CacheManager.sol#L256)\n\tState variables written after the call(s):\n\t- [delete entries](src/chain/CacheManager.sol#L89)\n\t[CacheManager.entries](src/chain/CacheManager.sol#L22) can be used in cross function reentrancies:\n\t- [CacheManager._addBid(uint192,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L231-L251)\n\t- [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L254-L260)\n\t- [CacheManager._makeSpace(uint64)](src/chain/CacheManager.sol#L213-L228)\n\t- [CacheManager.entries](src/chain/CacheManager.sol#L22)\n\t- [CacheManager.evictAll()](src/chain/CacheManager.sol#L87-L90)\n\t- [CacheManager.getEntries()](src/chain/CacheManager.sol#L102-L104)\n\t- [CacheManager.getSmallestEntries(uint256)](src/chain/CacheManager.sol#L108-L118)\n", "first_markdown_element": "src/chain/CacheManager.sol#L87-L90", "id": "e453de7fb42e742ec25db94618c0bc9d52db23aecc625992da375d6e46e61fa8", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "placeBid", "source_mapping": {"start": 5925, "length": 367, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 350, "length": 9565, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283], "starting_column": 1, "ending_column": 2}}, "signature": "placeBid(bytes32)"}}, {"type": "node", "name": "(bid,index) = _makeSpace(asm)", "source_mapping": {"start": 6189, "length": 45, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [180], "starting_column": 9, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "placeBid", "source_mapping": {"start": 5925, "length": 367, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 350, "length": 9565, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283], "starting_column": 1, "ending_column": 2}}, "signature": "placeBid(bytes32)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "ARB_WASM_CACHE.evictCodehash(entry.code)", "source_mapping": {"start": 8868, "length": 40, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [256], "starting_column": 9, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "_deleteEntry", "source_mapping": {"start": 8755, "length": 277, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [254, 255, 256, 257, 258, 259, 260], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 350, "length": 9565, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283], "starting_column": 1, "ending_column": 2}}, "signature": "_deleteEntry(uint192,uint64)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_addBid(bid,codehash,asm,index)", "source_mapping": {"start": 6244, "length": 41, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [181], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "placeBid", "source_mapping": {"start": 5925, "length": 367, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 350, "length": 9565, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283], "starting_column": 1, "ending_column": 2}}, "signature": "placeBid(bytes32)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "ARB_WASM_CACHE.cacheCodehash(code)", "source_mapping": {"start": 8415, "length": 34, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [242], "starting_column": 9, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "function", "name": "_addBid", "source_mapping": {"start": 8100, "length": 600, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 350, "length": 9565, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283], "starting_column": 1, "ending_column": 2}}, "signature": "_addBid(uint192,bytes32,uint64,uint64)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_addBid(bid,codehash,asm,index)", "source_mapping": {"start": 6244, "length": 41, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [181], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "placeBid", "source_mapping": {"start": 5925, "length": 367, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 350, "length": 9565, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283], "starting_column": 1, "ending_column": 2}}, "signature": "placeBid(bytes32)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "entries"}}, {"type": "node", "name": "entries.push(entry)", "source_mapping": {"start": 8570, "length": 19, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [246], "starting_column": 13, "ending_column": 32}, "type_specific_fields": {"parent": {"type": "function", "name": "_addBid", "source_mapping": {"start": 8100, "length": 600, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 350, "length": 9565, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283], "starting_column": 1, "ending_column": 2}}, "signature": "_addBid(uint192,bytes32,uint64,uint64)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "entries"}}, {"type": "node", "name": "entries[index] = entry", "source_mapping": {"start": 8620, "length": 22, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [248], "starting_column": 13, "ending_column": 35}, "type_specific_fields": {"parent": {"type": "function", "name": "_addBid", "source_mapping": {"start": 8100, "length": 600, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 350, "length": 9565, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283], "starting_column": 1, "ending_column": 2}}, "signature": "_addBid(uint192,bytes32,uint64,uint64)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "entries"}}, {"type": "node", "name": "_addBid(bid,codehash,asm,index)", "source_mapping": {"start": 6244, "length": 41, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [181], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "placeBid", "source_mapping": {"start": 5925, "length": 367, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 350, "length": 9565, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283], "starting_column": 1, "ending_column": 2}}, "signature": "placeBid(bytes32)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "queueSize"}}, {"type": "node", "name": "queueSize += size", "source_mapping": {"start": 8500, "length": 17, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [244], "starting_column": 9, "ending_column": 26}, "type_specific_fields": {"parent": {"type": "function", "name": "_addBid", "source_mapping": {"start": 8100, "length": 600, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 350, "length": 9565, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283], "starting_column": 1, "ending_column": 2}}, "signature": "_addBid(uint192,bytes32,uint64,uint64)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "queueSize"}}], "description": "Reentrancy in CacheManager.placeBid(bytes32) (src/chain/CacheManager.sol#171-182):\n\tExternal calls:\n\t- (bid,index) = _makeSpace(asm) (src/chain/CacheManager.sol#180)\n\t\t- ARB_WASM_CACHE.evictCodehash(entry.code) (src/chain/CacheManager.sol#256)\n\t- _addBid(bid,codehash,asm,index) (src/chain/CacheManager.sol#181)\n\t\t- ARB_WASM_CACHE.cacheCodehash(code) (src/chain/CacheManager.sol#242)\n\tState variables written after the call(s):\n\t- _addBid(bid,codehash,asm,index) (src/chain/CacheManager.sol#181)\n\t\t- entries.push(entry) (src/chain/CacheManager.sol#246)\n\t\t- entries[index] = entry (src/chain/CacheManager.sol#248)\n\tCacheManager.entries (src/chain/CacheManager.sol#22) can be used in cross function reentrancies:\n\t- CacheManager._addBid(uint192,bytes32,uint64,uint64) (src/chain/CacheManager.sol#231-251)\n\t- CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#254-260)\n\t- CacheManager._makeSpace(uint64) (src/chain/CacheManager.sol#213-228)\n\t- CacheManager.entries (src/chain/CacheManager.sol#22)\n\t- CacheManager.evictAll() (src/chain/CacheManager.sol#87-90)\n\t- CacheManager.getEntries() (src/chain/CacheManager.sol#102-104)\n\t- CacheManager.getSmallestEntries(uint256) (src/chain/CacheManager.sol#108-118)\n\t- _addBid(bid,codehash,asm,index) (src/chain/CacheManager.sol#181)\n\t\t- queueSize += size (src/chain/CacheManager.sol#244)\n\tCacheManager.queueSize (src/chain/CacheManager.sol#25) can be used in cross function reentrancies:\n\t- CacheManager._addBid(uint192,bytes32,uint64,uint64) (src/chain/CacheManager.sol#231-251)\n\t- CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#254-260)\n\t- CacheManager._makeSpace(uint64) (src/chain/CacheManager.sol#213-228)\n\t- CacheManager.getMinBid(uint64) (src/chain/CacheManager.sol#122-150)\n\t- CacheManager.makeSpace(uint64) (src/chain/CacheManager.sol#187-196)\n\t- CacheManager.queueSize (src/chain/CacheManager.sol#25)\n", "markdown": "Reentrancy in [CacheManager.placeBid(bytes32)](src/chain/CacheManager.sol#L171-L182):\n\tExternal calls:\n\t- [(bid,index) = _makeSpace(asm)](src/chain/CacheManager.sol#L180)\n\t\t- [ARB_WASM_CACHE.evictCodehash(entry.code)](src/chain/CacheManager.sol#L256)\n\t- [_addBid(bid,codehash,asm,index)](src/chain/CacheManager.sol#L181)\n\t\t- [ARB_WASM_CACHE.cacheCodehash(code)](src/chain/CacheManager.sol#L242)\n\tState variables written after the call(s):\n\t- [_addBid(bid,codehash,asm,index)](src/chain/CacheManager.sol#L181)\n\t\t- [entries.push(entry)](src/chain/CacheManager.sol#L246)\n\t\t- [entries[index] = entry](src/chain/CacheManager.sol#L248)\n\t[CacheManager.entries](src/chain/CacheManager.sol#L22) can be used in cross function reentrancies:\n\t- [CacheManager._addBid(uint192,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L231-L251)\n\t- [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L254-L260)\n\t- [CacheManager._makeSpace(uint64)](src/chain/CacheManager.sol#L213-L228)\n\t- [CacheManager.entries](src/chain/CacheManager.sol#L22)\n\t- [CacheManager.evictAll()](src/chain/CacheManager.sol#L87-L90)\n\t- [CacheManager.getEntries()](src/chain/CacheManager.sol#L102-L104)\n\t- [CacheManager.getSmallestEntries(uint256)](src/chain/CacheManager.sol#L108-L118)\n\t- [_addBid(bid,codehash,asm,index)](src/chain/CacheManager.sol#L181)\n\t\t- [queueSize += size](src/chain/CacheManager.sol#L244)\n\t[CacheManager.queueSize](src/chain/CacheManager.sol#L25) can be used in cross function reentrancies:\n\t- [CacheManager._addBid(uint192,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L231-L251)\n\t- [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L254-L260)\n\t- [CacheManager._makeSpace(uint64)](src/chain/CacheManager.sol#L213-L228)\n\t- [CacheManager.getMinBid(uint64)](src/chain/CacheManager.sol#L122-L150)\n\t- [CacheManager.makeSpace(uint64)](src/chain/CacheManager.sol#L187-L196)\n\t- [CacheManager.queueSize](src/chain/CacheManager.sol#L25)\n", "first_markdown_element": "src/chain/CacheManager.sol#L171-L182", "id": "1e0701041bd439420af2077b392bf8fa2ccd25ae29d0d785daec5e92d76ecbb8", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "internalStack", "source_mapping": {"start": 1753, "length": 31, "filename_relative": "src/osp/OneStepProofEntry.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProofEntry.sol", "filename_short": "src/osp/OneStepProofEntry.sol", "is_dependency": false, "lines": [52], "starting_column": 9, "ending_column": 40}, "type_specific_fields": {"parent": {"type": "function", "name": "getStartMachineHash", "source_mapping": {"start": 1158, "length": 1300, "filename_relative": "src/osp/OneStepProofEntry.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProofEntry.sol", "filename_short": "src/osp/OneStepProofEntry.sol", "is_dependency": false, "lines": [40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProofEntry", "source_mapping": {"start": 407, "length": 7601, "filename_relative": "src/osp/OneStepProofEntry.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProofEntry.sol", "filename_short": "src/osp/OneStepProofEntry.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203], "starting_column": 1, "ending_column": 2}}, "signature": "getStartMachineHash(bytes32,bytes32)"}}}}], "description": "OneStepProofEntry.getStartMachineHash(bytes32,bytes32).internalStack (src/osp/OneStepProofEntry.sol#52) is a local variable never initialized\n", "markdown": "[OneStepProofEntry.getStartMachineHash(bytes32,bytes32).internalStack](src/osp/OneStepProofEntry.sol#L52) is a local variable never initialized\n", "first_markdown_element": "src/osp/OneStepProofEntry.sol#L52", "id": "fb3b9ad9a22662ab3a9d3f187478b9833041da23c79103d4346a16da071526e9", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "frameStack", "source_mapping": {"start": 1794, "length": 34, "filename_relative": "src/osp/OneStepProofEntry.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProofEntry.sol", "filename_short": "src/osp/OneStepProofEntry.sol", "is_dependency": false, "lines": [53], "starting_column": 9, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "function", "name": "getStartMachineHash", "source_mapping": {"start": 1158, "length": 1300, "filename_relative": "src/osp/OneStepProofEntry.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProofEntry.sol", "filename_short": "src/osp/OneStepProofEntry.sol", "is_dependency": false, "lines": [40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProofEntry", "source_mapping": {"start": 407, "length": 7601, "filename_relative": "src/osp/OneStepProofEntry.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProofEntry.sol", "filename_short": "src/osp/OneStepProofEntry.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203], "starting_column": 1, "ending_column": 2}}, "signature": "getStartMachineHash(bytes32,bytes32)"}}}}], "description": "OneStepProofEntry.getStartMachineHash(bytes32,bytes32).frameStack (src/osp/OneStepProofEntry.sol#53) is a local variable never initialized\n", "markdown": "[OneStepProofEntry.getStartMachineHash(bytes32,bytes32).frameStack](src/osp/OneStepProofEntry.sol#L53) is a local variable never initialized\n", "first_markdown_element": "src/osp/OneStepProofEntry.sol#L53", "id": "2dd21e12ec5d5965b5bd41d82bb252991172e100ac1f78846fb692a07fd06c26", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "lastProvedLeafContents", "source_mapping": {"start": 2178, "length": 30, "filename_relative": "src/state/ModuleMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/state/ModuleMemory.sol", "filename_short": "src/state/ModuleMemory.sol", "is_dependency": false, "lines": [73], "starting_column": 9, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "load", "source_mapping": {"start": 1729, "length": 1164, "filename_relative": "src/state/ModuleMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/state/ModuleMemory.sol", "filename_short": "src/state/ModuleMemory.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ModuleMemoryLib", "source_mapping": {"start": 298, "length": 2597, "filename_relative": "src/state/ModuleMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/state/ModuleMemory.sol", "filename_short": "src/state/ModuleMemory.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92], "starting_column": 1, "ending_column": 2}}, "signature": "load(ModuleMemory,uint256,uint256,bytes,uint256)"}}}}], "description": "ModuleMemoryLib.load(ModuleMemory,uint256,uint256,bytes,uint256).lastProvedLeafContents (src/state/ModuleMemory.sol#73) is a local variable never initialized\n", "markdown": "[ModuleMemoryLib.load(ModuleMemory,uint256,uint256,bytes,uint256).lastProvedLeafContents](src/state/ModuleMemory.sol#L73) is a local variable never initialized\n", "first_markdown_element": "src/state/ModuleMemory.sol#L73", "id": "ddf8f7daccaffa622915e6d24c5497c3801c89f4969af443509e576747d091fe", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "emptyMultiStack", "source_mapping": {"start": 1838, "length": 33, "filename_relative": "src/osp/OneStepProofEntry.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProofEntry.sol", "filename_short": "src/osp/OneStepProofEntry.sol", "is_dependency": false, "lines": [54], "starting_column": 9, "ending_column": 42}, "type_specific_fields": {"parent": {"type": "function", "name": "getStartMachineHash", "source_mapping": {"start": 1158, "length": 1300, "filename_relative": "src/osp/OneStepProofEntry.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProofEntry.sol", "filename_short": "src/osp/OneStepProofEntry.sol", "is_dependency": false, "lines": [40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProofEntry", "source_mapping": {"start": 407, "length": 7601, "filename_relative": "src/osp/OneStepProofEntry.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProofEntry.sol", "filename_short": "src/osp/OneStepProofEntry.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203], "starting_column": 1, "ending_column": 2}}, "signature": "getStartMachineHash(bytes32,bytes32)"}}}}], "description": "OneStepProofEntry.getStartMachineHash(bytes32,bytes32).emptyMultiStack (src/osp/OneStepProofEntry.sol#54) is a local variable never initialized\n", "markdown": "[OneStepProofEntry.getStartMachineHash(bytes32,bytes32).emptyMultiStack](src/osp/OneStepProofEntry.sol#L54) is a local variable never initialized\n", "first_markdown_element": "src/osp/OneStepProofEntry.sol#L54", "id": "5c6acbea6429303780ccb1049265a5d97162a57ddda1d6d332f3201bff526332", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "min", "source_mapping": {"start": 7701, "length": 11, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [218], "starting_column": 9, "ending_column": 20}, "type_specific_fields": {"parent": {"type": "function", "name": "_makeSpace", "source_mapping": {"start": 7478, "length": 592, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CacheManager", "source_mapping": {"start": 350, "length": 9565, "filename_relative": "src/chain/CacheManager.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", "filename_short": "src/chain/CacheManager.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283], "starting_column": 1, "ending_column": 2}}, "signature": "_makeSpace(uint64)"}}}}], "description": "CacheManager._makeSpace(uint64).min (src/chain/CacheManager.sol#218) is a local variable never initialized\n", "markdown": "[CacheManager._makeSpace(uint64).min](src/chain/CacheManager.sol#L218) is a local variable never initialized\n", "first_markdown_element": "src/chain/CacheManager.sol#L218", "id": "73850e9ef891d5f054eb989dce18e9362ba7349b4f2237be464bcaeab7c4fe54", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "proveOneStep", "source_mapping": {"start": 3092, "length": 4914, "filename_relative": "src/osp/OneStepProofEntry.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProofEntry.sol", "filename_short": "src/osp/OneStepProofEntry.sol", "is_dependency": false, "lines": [91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProofEntry", "source_mapping": {"start": 407, "length": 7601, "filename_relative": "src/osp/OneStepProofEntry.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProofEntry.sol", "filename_short": "src/osp/OneStepProofEntry.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203], "starting_column": 1, "ending_column": 2}}, "signature": "proveOneStep(ExecutionContext,uint256,bytes32,bytes)"}}, {"type": "node", "name": "mach.setPcFromRecovery()", "source_mapping": {"start": 7887, "length": 24, "filename_relative": "src/osp/OneStepProofEntry.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProofEntry.sol", "filename_short": "src/osp/OneStepProofEntry.sol", "is_dependency": false, "lines": [197], "starting_column": 13, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "function", "name": "proveOneStep", "source_mapping": {"start": 3092, "length": 4914, "filename_relative": "src/osp/OneStepProofEntry.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProofEntry.sol", "filename_short": "src/osp/OneStepProofEntry.sol", "is_dependency": false, "lines": [91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProofEntry", "source_mapping": {"start": 407, "length": 7601, "filename_relative": "src/osp/OneStepProofEntry.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProofEntry.sol", "filename_short": "src/osp/OneStepProofEntry.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203], "starting_column": 1, "ending_column": 2}}, "signature": "proveOneStep(ExecutionContext,uint256,bytes32,bytes)"}}}}], "description": "OneStepProofEntry.proveOneStep(ExecutionContext,uint256,bytes32,bytes) (src/osp/OneStepProofEntry.sol#91-202) ignores return value by mach.setPcFromRecovery() (src/osp/OneStepProofEntry.sol#197)\n", "markdown": "[OneStepProofEntry.proveOneStep(ExecutionContext,uint256,bytes32,bytes)](src/osp/OneStepProofEntry.sol#L91-L202) ignores return value by [mach.setPcFromRecovery()](src/osp/OneStepProofEntry.sol#L197)\n", "first_markdown_element": "src/osp/OneStepProofEntry.sol#L91-L202", "id": "1e2dda001e02cbbabef97b698cc66ccc8052b4444a6785554ba4d649b6511550", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "executeDrop", "source_mapping": {"start": 1726, "length": 185, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProver0", "source_mapping": {"start": 362, "length": 18300, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538], "starting_column": 1, "ending_column": 2}}, "signature": "executeDrop(Machine,Module,Instruction,bytes)"}}, {"type": "node", "name": "mach.valueStack.pop()", "source_mapping": {"start": 1883, "length": 21, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [67], "starting_column": 9, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "function", "name": "executeDrop", "source_mapping": {"start": 1726, "length": 185, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProver0", "source_mapping": {"start": 362, "length": 18300, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538], "starting_column": 1, "ending_column": 2}}, "signature": "executeDrop(Machine,Module,Instruction,bytes)"}}}}], "description": "OneStepProver0.executeDrop(Machine,Module,Instruction,bytes) (src/osp/OneStepProver0.sol#61-68) ignores return value by mach.valueStack.pop() (src/osp/OneStepProver0.sol#67)\n", "markdown": "[OneStepProver0.executeDrop(Machine,Module,Instruction,bytes)](src/osp/OneStepProver0.sol#L61-L68) ignores return value by [mach.valueStack.pop()](src/osp/OneStepProver0.sol#L67)\n", "first_markdown_element": "src/osp/OneStepProver0.sol#L61-L68", "id": "eba4f716555f696a91fc8ad9e049846421a7a6ad85a83865fb641cf1b9b27c54", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "validateSequencerInbox", "source_mapping": {"start": 10247, "length": 884, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverHostIo", "source_mapping": {"start": 502, "length": 23583, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649], "starting_column": 1, "ending_column": 2}}, "signature": "validateSequencerInbox(ExecutionContext,uint64,bytes)"}}, {"type": "node", "name": "(afterDelayedMsg,None) = Deserialize.u64(message,32)", "source_mapping": {"start": 10532, "length": 50, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [260], "starting_column": 9, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "validateSequencerInbox", "source_mapping": {"start": 10247, "length": 884, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverHostIo", "source_mapping": {"start": 502, "length": 23583, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649], "starting_column": 1, "ending_column": 2}}, "signature": "validateSequencerInbox(ExecutionContext,uint64,bytes)"}}}}], "description": "OneStepProverHostIo.validateSequencerInbox(ExecutionContext,uint64,bytes) (src/osp/OneStepProverHostIo.sol#252-274) ignores return value by (afterDelayedMsg,None) = Deserialize.u64(message,32) (src/osp/OneStepProverHostIo.sol#260)\n", "markdown": "[OneStepProverHostIo.validateSequencerInbox(ExecutionContext,uint64,bytes)](src/osp/OneStepProverHostIo.sol#L252-L274) ignores return value by [(afterDelayedMsg,None) = Deserialize.u64(message,32)](src/osp/OneStepProverHostIo.sol#L260)\n", "first_markdown_element": "src/osp/OneStepProverHostIo.sol#L252-L274", "id": "7a935ab3d3995d6dce7a8ceebf4df0c402dd5ffa259ff05c1b75422e65f9a5ed", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "validateDelayedInbox", "source_mapping": {"start": 11137, "length": 916, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverHostIo", "source_mapping": {"start": 502, "length": 23583, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649], "starting_column": 1, "ending_column": 2}}, "signature": "validateDelayedInbox(ExecutionContext,uint64,bytes)"}}, {"type": "node", "name": "(sender,None) = Deserialize.u256(message,1)", "source_mapping": {"start": 11660, "length": 41, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [292], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "validateDelayedInbox", "source_mapping": {"start": 11137, "length": 916, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverHostIo", "source_mapping": {"start": 502, "length": 23583, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649], "starting_column": 1, "ending_column": 2}}, "signature": "validateDelayedInbox(ExecutionContext,uint64,bytes)"}}}}], "description": "OneStepProverHostIo.validateDelayedInbox(ExecutionContext,uint64,bytes) (src/osp/OneStepProverHostIo.sol#276-301) ignores return value by (sender,None) = Deserialize.u256(message,1) (src/osp/OneStepProverHostIo.sol#292)\n", "markdown": "[OneStepProverHostIo.validateDelayedInbox(ExecutionContext,uint64,bytes)](src/osp/OneStepProverHostIo.sol#L276-L301) ignores return value by [(sender,None) = Deserialize.u256(message,1)](src/osp/OneStepProverHostIo.sol#L292)\n", "first_markdown_element": "src/osp/OneStepProverHostIo.sol#L276-L301", "id": "81ff5b93f212262122b563d7d9aa8ed5b61e0fe74edfe59c06accd2ae77a46ca", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "executeLinkModule", "source_mapping": {"start": 16420, "length": 1090, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverHostIo", "source_mapping": {"start": 502, "length": 23583, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649], "starting_column": 1, "ending_column": 2}}, "signature": "executeLinkModule(ExecutionContext,Machine,Module,Instruction,bytes)"}}, {"type": "node", "name": "(userMod,offset) = mod.moduleMemory.proveLeaf(pointer / LEAF_SIZE,proof,0)", "source_mapping": {"start": 16918, "length": 141, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [448, 449, 450, 451, 452], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "executeLinkModule", "source_mapping": {"start": 16420, "length": 1090, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverHostIo", "source_mapping": {"start": 502, "length": 23583, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649], "starting_column": 1, "ending_column": 2}}, "signature": "executeLinkModule(ExecutionContext,Machine,Module,Instruction,bytes)"}}}}], "description": "OneStepProverHostIo.executeLinkModule(ExecutionContext,Machine,Module,Instruction,bytes) (src/osp/OneStepProverHostIo.sol#433-464) ignores return value by (userMod,offset) = mod.moduleMemory.proveLeaf(pointer / LEAF_SIZE,proof,0) (src/osp/OneStepProverHostIo.sol#448-452)\n", "markdown": "[OneStepProverHostIo.executeLinkModule(ExecutionContext,Machine,Module,Instruction,bytes)](src/osp/OneStepProverHostIo.sol#L433-L464) ignores return value by [(userMod,offset) = mod.moduleMemory.proveLeaf(pointer / LEAF_SIZE,proof,0)](src/osp/OneStepProverHostIo.sol#L448-L452)\n", "first_markdown_element": "src/osp/OneStepProverHostIo.sol#L433-L464", "id": "ca4b4a9a8f6f270a10c0e390a10831708cbcfc0bfa398fc3f21331bfbd5fc479", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "executeSwitchCoThread", "source_mapping": {"start": 21302, "length": 1074, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverHostIo", "source_mapping": {"start": 502, "length": 23583, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649], "starting_column": 1, "ending_column": 2}}, "signature": "executeSwitchCoThread(ExecutionContext,Machine,Module,Instruction,bytes)"}}, {"type": "node", "name": "mach.setRecoveryFromPc(uint32(inst.argumentData))", "source_mapping": {"start": 22273, "length": 49, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [597], "starting_column": 13, "ending_column": 62}, "type_specific_fields": {"parent": {"type": "function", "name": "executeSwitchCoThread", "source_mapping": {"start": 21302, "length": 1074, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverHostIo", "source_mapping": {"start": 502, "length": 23583, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649], "starting_column": 1, "ending_column": 2}}, "signature": "executeSwitchCoThread(ExecutionContext,Machine,Module,Instruction,bytes)"}}}}], "description": "OneStepProverHostIo.executeSwitchCoThread(ExecutionContext,Machine,Module,Instruction,bytes) (src/osp/OneStepProverHostIo.sol#572-600) ignores return value by mach.setRecoveryFromPc(uint32(inst.argumentData)) (src/osp/OneStepProverHostIo.sol#597)\n", "markdown": "[OneStepProverHostIo.executeSwitchCoThread(ExecutionContext,Machine,Module,Instruction,bytes)](src/osp/OneStepProverHostIo.sol#L572-L600) ignores return value by [mach.setRecoveryFromPc(uint32(inst.argumentData))](src/osp/OneStepProverHostIo.sol#L597)\n", "first_markdown_element": "src/osp/OneStepProverHostIo.sol#L572-L600", "id": "ac3b6c8d13d7ed575d28aeae91d5e7c25757469f13c56cd8ec10843535deca31", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "executeMemoryLoad", "source_mapping": {"start": 1168, "length": 3662, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverMemory", "source_mapping": {"start": 368, "length": 10198, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284], "starting_column": 1, "ending_column": 2}}, "signature": "executeMemoryLoad(Machine,Module,Instruction,bytes)"}}, {"type": "node", "name": "(err,value) = mod.moduleMemory.load(index,readBytes,proof,0)", "source_mapping": {"start": 3641, "length": 79, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [106], "starting_column": 9, "ending_column": 88}, "type_specific_fields": {"parent": {"type": "function", "name": "executeMemoryLoad", "source_mapping": {"start": 1168, "length": 3662, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverMemory", "source_mapping": {"start": 368, "length": 10198, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284], "starting_column": 1, "ending_column": 2}}, "signature": "executeMemoryLoad(Machine,Module,Instruction,bytes)"}}}}], "description": "OneStepProverMemory.executeMemoryLoad(Machine,Module,Instruction,bytes) (src/osp/OneStepProverMemory.sol#36-131) ignores return value by (err,value) = mod.moduleMemory.load(index,readBytes,proof,0) (src/osp/OneStepProverMemory.sol#106)\n", "markdown": "[OneStepProverMemory.executeMemoryLoad(Machine,Module,Instruction,bytes)](src/osp/OneStepProverMemory.sol#L36-L131) ignores return value by [(err,value) = mod.moduleMemory.load(index,readBytes,proof,0)](src/osp/OneStepProverMemory.sol#L106)\n", "first_markdown_element": "src/osp/OneStepProverMemory.sol#L36-L131", "id": "df6a63edce47eb17310486af71173d172b59ec0187bd5f84df01a3e0bbd022c2", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "offset", "source_mapping": {"start": 7752, "length": 18, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [241], "starting_column": 13, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "executeCallIndirect", "source_mapping": {"start": 7332, "length": 3565, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProver0", "source_mapping": {"start": 362, "length": 18300, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538], "starting_column": 1, "ending_column": 2}}, "signature": "executeCallIndirect(Machine,Module,Instruction,bytes)"}}}}, {"type": "node", "name": "(elemFuncTypeHash,offset) = Deserialize.b32(proof,offset)", "source_mapping": {"start": 9359, "length": 59, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [277], "starting_column": 13, "ending_column": 72}, "type_specific_fields": {"parent": {"type": "function", "name": "executeCallIndirect", "source_mapping": {"start": 7332, "length": 3565, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProver0", "source_mapping": {"start": 362, "length": 18300, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538], "starting_column": 1, "ending_column": 2}}, "signature": "executeCallIndirect(Machine,Module,Instruction,bytes)"}}}}, {"type": "node", "name": "(functionPointer,offset) = Deserialize.value(proof,offset)", "source_mapping": {"start": 9432, "length": 60, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [278], "starting_column": 13, "ending_column": 73}, "type_specific_fields": {"parent": {"type": "function", "name": "executeCallIndirect", "source_mapping": {"start": 7332, "length": 3565, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProver0", "source_mapping": {"start": 362, "length": 18300, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538], "starting_column": 1, "ending_column": 2}}, "signature": "executeCallIndirect(Machine,Module,Instruction,bytes)"}}}}], "description": "OneStepProver0.executeCallIndirect(Machine,Module,Instruction,bytes).offset (src/osp/OneStepProver0.sol#241) is written in both\n\t(elemFuncTypeHash,offset) = Deserialize.b32(proof,offset) (src/osp/OneStepProver0.sol#277)\n\t(functionPointer,offset) = Deserialize.value(proof,offset) (src/osp/OneStepProver0.sol#278)\n", "markdown": "[OneStepProver0.executeCallIndirect(Machine,Module,Instruction,bytes).offset](src/osp/OneStepProver0.sol#L241) is written in both\n\t[(elemFuncTypeHash,offset) = Deserialize.b32(proof,offset)](src/osp/OneStepProver0.sol#L277)\n\t[(functionPointer,offset) = Deserialize.value(proof,offset)](src/osp/OneStepProver0.sol#L278)\n", "first_markdown_element": "src/osp/OneStepProver0.sol#L241", "id": "d6a42f778bdb10ec1cc4e3ae5bd1d2a66edf8c14085e20de930344608bd29bd2", "check": "write-after-write", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "refundsGas", "source_mapping": {"start": 721, "length": 2143, "filename_relative": "src/libraries/GasRefundEnabled.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/GasRefundEnabled.sol", "filename_short": "src/libraries/GasRefundEnabled.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "GasRefundEnabled", "source_mapping": {"start": 309, "length": 2557, "filename_relative": "src/libraries/GasRefundEnabled.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/GasRefundEnabled.sol", "filename_short": "src/libraries/GasRefundEnabled.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52], "starting_column": 1, "ending_column": 2}}, "signature": "refundsGas(IGasRefunder,IReader4844)"}}, {"type": "node", "name": "calldataWords = (calldataSize + 31) / 32", "source_mapping": {"start": 960, "length": 48, "filename_relative": "src/libraries/GasRefundEnabled.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/GasRefundEnabled.sol", "filename_short": "src/libraries/GasRefundEnabled.sol", "is_dependency": false, "lines": [22], "starting_column": 13, "ending_column": 61}, "type_specific_fields": {"parent": {"type": "function", "name": "refundsGas", "source_mapping": {"start": 721, "length": 2143, "filename_relative": "src/libraries/GasRefundEnabled.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/GasRefundEnabled.sol", "filename_short": "src/libraries/GasRefundEnabled.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "GasRefundEnabled", "source_mapping": {"start": 309, "length": 2557, "filename_relative": "src/libraries/GasRefundEnabled.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/GasRefundEnabled.sol", "filename_short": "src/libraries/GasRefundEnabled.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52], "starting_column": 1, "ending_column": 2}}, "signature": "refundsGas(IGasRefunder,IReader4844)"}}}}, {"type": "node", "name": "startGasLeft += calldataWords * 6 + (calldataWords ** 2) / 512", "source_mapping": {"start": 1130, "length": 60, "filename_relative": "src/libraries/GasRefundEnabled.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/GasRefundEnabled.sol", "filename_short": "src/libraries/GasRefundEnabled.sol", "is_dependency": false, "lines": [24], "starting_column": 13, "ending_column": 73}, "type_specific_fields": {"parent": {"type": "function", "name": "refundsGas", "source_mapping": {"start": 721, "length": 2143, "filename_relative": "src/libraries/GasRefundEnabled.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/GasRefundEnabled.sol", "filename_short": "src/libraries/GasRefundEnabled.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "GasRefundEnabled", "source_mapping": {"start": 309, "length": 2557, "filename_relative": "src/libraries/GasRefundEnabled.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/GasRefundEnabled.sol", "filename_short": "src/libraries/GasRefundEnabled.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52], "starting_column": 1, "ending_column": 2}}, "signature": "refundsGas(IGasRefunder,IReader4844)"}}}}], "description": "GasRefundEnabled.refundsGas(IGasRefunder,IReader4844) (src/libraries/GasRefundEnabled.sol#17-51) performs a multiplication on the result of a division:\n\t- calldataWords = (calldataSize + 31) / 32 (src/libraries/GasRefundEnabled.sol#22)\n\t- startGasLeft += calldataWords * 6 + (calldataWords ** 2) / 512 (src/libraries/GasRefundEnabled.sol#24)\n", "markdown": "[GasRefundEnabled.refundsGas(IGasRefunder,IReader4844)](src/libraries/GasRefundEnabled.sol#L17-L51) performs a multiplication on the result of a division:\n\t- [calldataWords = (calldataSize + 31) / 32](src/libraries/GasRefundEnabled.sol#L22)\n\t- [startGasLeft += calldataWords * 6 + (calldataWords ** 2) / 512](src/libraries/GasRefundEnabled.sol#L24)\n", "first_markdown_element": "src/libraries/GasRefundEnabled.sol#L17-L51", "id": "bb26256ad08f6833c6e0395d78c4b8a1182860d966d17803ac727cde7719e8b6", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "node", "name": "_fundAndDeploy(_inbox,NICK_CREATE2_VALUE,NICK_CREATE2_DEPLOYER,NICK_CREATE2_PAYLOAD,isUsingFeeToken,_maxFeePerGas)", "source_mapping": {"start": 10207, "length": 201, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [96, 97, 98, 99, 100, 101, 102, 103], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "perform", "source_mapping": {"start": 10012, "length": 1157, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DeployHelper", "source_mapping": {"start": 513, "length": 11093, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149], "starting_column": 1, "ending_column": 2}}, "signature": "perform(address,address,uint256)"}}}}, {"type": "node", "name": "_fundAndDeploy(_inbox,NICK_CREATE2_VALUE,NICK_CREATE2_DEPLOYER,NICK_CREATE2_PAYLOAD,isUsingFeeToken,_maxFeePerGas)", "source_mapping": {"start": 10207, "length": 201, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [96, 97, 98, 99, 100, 101, 102, 103], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "perform", "source_mapping": {"start": 10012, "length": 1157, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DeployHelper", "source_mapping": {"start": 513, "length": 11093, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149], "starting_column": 1, "ending_column": 2}}, "signature": "perform(address,address,uint256)"}}}}], "description": "Multiple retryable tickets created in the same function:\n\t -_fundAndDeploy(_inbox,NICK_CREATE2_VALUE,NICK_CREATE2_DEPLOYER,NICK_CREATE2_PAYLOAD,isUsingFeeToken,_maxFeePerGas) (src/rollup/DeployHelper.sol#96-103)\n\t -_fundAndDeploy(_inbox,NICK_CREATE2_VALUE,NICK_CREATE2_DEPLOYER,NICK_CREATE2_PAYLOAD,isUsingFeeToken,_maxFeePerGas) (src/rollup/DeployHelper.sol#96-103)\n", "markdown": "Multiple retryable tickets created in the same function:\n\t -[_fundAndDeploy(_inbox,NICK_CREATE2_VALUE,NICK_CREATE2_DEPLOYER,NICK_CREATE2_PAYLOAD,isUsingFeeToken,_maxFeePerGas)](src/rollup/DeployHelper.sol#L96-L103)\n\t -[_fundAndDeploy(_inbox,NICK_CREATE2_VALUE,NICK_CREATE2_DEPLOYER,NICK_CREATE2_PAYLOAD,isUsingFeeToken,_maxFeePerGas)](src/rollup/DeployHelper.sol#L96-L103)\n", "first_markdown_element": "src/rollup/DeployHelper.sol#L96-L103", "id": "5d40acc11dbb925c7e8ac930729d7231aea71007192a71ca36b451cad7a17520", "check": "out-of-order-retryable", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_executeLowLevelCall", "source_mapping": {"start": 1379, "length": 299, "filename_relative": "src/bridge/Bridge.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/Bridge.sol", "filename_short": "src/bridge/Bridge.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Bridge", "source_mapping": {"start": 702, "length": 1090, "filename_relative": "src/bridge/Bridge.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/Bridge.sol", "filename_short": "src/bridge/Bridge.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54], "starting_column": 1, "ending_column": 2}}, "signature": "_executeLowLevelCall(address,uint256,bytes)"}}, {"type": "node", "name": "(success,returnData) = to.call{value: value}(data)", "source_mapping": {"start": 1620, "length": 51, "filename_relative": "src/bridge/Bridge.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/Bridge.sol", "filename_short": "src/bridge/Bridge.sol", "is_dependency": false, "lines": [48], "starting_column": 9, "ending_column": 60}, "type_specific_fields": {"parent": {"type": "function", "name": "_executeLowLevelCall", "source_mapping": {"start": 1379, "length": 299, "filename_relative": "src/bridge/Bridge.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/Bridge.sol", "filename_short": "src/bridge/Bridge.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Bridge", "source_mapping": {"start": 702, "length": 1090, "filename_relative": "src/bridge/Bridge.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/Bridge.sol", "filename_short": "src/bridge/Bridge.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54], "starting_column": 1, "ending_column": 2}}, "signature": "_executeLowLevelCall(address,uint256,bytes)"}}}}], "description": "Bridge._executeLowLevelCall(address,uint256,bytes) (src/bridge/Bridge.sol#42-49) sends eth to arbitrary user\n\tDangerous calls:\n\t- (success,returnData) = to.call{value: value}(data) (src/bridge/Bridge.sol#48)\n", "markdown": "[Bridge._executeLowLevelCall(address,uint256,bytes)](src/bridge/Bridge.sol#L42-L49) sends eth to arbitrary user\n\tDangerous calls:\n\t- [(success,returnData) = to.call{value: value}(data)](src/bridge/Bridge.sol#L48)\n", "first_markdown_element": "src/bridge/Bridge.sol#L42-L49", "id": "52aa149e251bcbda3478032a3845253462c6d80e50cde35746a072dd6dd226a6", "check": "arbitrary-send-eth", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_fundAndDeploy", "source_mapping": {"start": 8513, "length": 1493, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DeployHelper", "source_mapping": {"start": 513, "length": 11093, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149], "starting_column": 1, "ending_column": 2}}, "signature": "_fundAndDeploy(address,uint256,address,bytes,bool,uint256)"}}, {"type": "node", "name": "IInbox(inbox).createRetryableTicket{value: feeAmount}({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,data:})", "source_mapping": {"start": 9483, "length": 399, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 13, "ending_column": 15}, "type_specific_fields": {"parent": {"type": "function", "name": "_fundAndDeploy", "source_mapping": {"start": 8513, "length": 1493, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DeployHelper", "source_mapping": {"start": 513, "length": 11093, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149], "starting_column": 1, "ending_column": 2}}, "signature": "_fundAndDeploy(address,uint256,address,bytes,bool,uint256)"}}}}], "description": "DeployHelper._fundAndDeploy(address,uint256,address,bytes,bool,uint256) (src/rollup/DeployHelper.sol#46-87) sends eth to arbitrary user\n\tDangerous calls:\n\t- IInbox(inbox).createRetryableTicket{value: feeAmount}({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,data:}) (src/rollup/DeployHelper.sol#74-83)\n", "markdown": "[DeployHelper._fundAndDeploy(address,uint256,address,bytes,bool,uint256)](src/rollup/DeployHelper.sol#L46-L87) sends eth to arbitrary user\n\tDangerous calls:\n\t- [IInbox(inbox).createRetryableTicket{value: feeAmount}({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,data:})](src/rollup/DeployHelper.sol#L74-L83)\n", "first_markdown_element": "src/rollup/DeployHelper.sol#L46-L87", "id": "e0479a62ad4830e7fe86da8c84b5e23beb3117b4fad5a10981cccab1ed4d7fef", "check": "arbitrary-send-eth", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "perform", "source_mapping": {"start": 10012, "length": 1157, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DeployHelper", "source_mapping": {"start": 513, "length": 11093, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149], "starting_column": 1, "ending_column": 2}}, "signature": "perform(address,address,uint256)"}}, {"type": "node", "name": "address(msg.sender).transfer(address(this).balance)", "source_mapping": {"start": 11101, "length": 51, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [131], "starting_column": 13, "ending_column": 64}, "type_specific_fields": {"parent": {"type": "function", "name": "perform", "source_mapping": {"start": 10012, "length": 1157, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DeployHelper", "source_mapping": {"start": 513, "length": 11093, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149], "starting_column": 1, "ending_column": 2}}, "signature": "perform(address,address,uint256)"}}}}], "description": "DeployHelper.perform(address,address,uint256) (src/rollup/DeployHelper.sol#89-133) sends eth to arbitrary user\n\tDangerous calls:\n\t- address(msg.sender).transfer(address(this).balance) (src/rollup/DeployHelper.sol#131)\n", "markdown": "[DeployHelper.perform(address,address,uint256)](src/rollup/DeployHelper.sol#L89-L133) sends eth to arbitrary user\n\tDangerous calls:\n\t- [address(msg.sender).transfer(address(this).balance)](src/rollup/DeployHelper.sol#L131)\n", "first_markdown_element": "src/rollup/DeployHelper.sol#L89-L133", "id": "9ffb800c52b7ebc92a4117369762770d49beb52d8f7f0c4c53742745d88e75c4", "check": "arbitrary-send-eth", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deployFactories", "source_mapping": {"start": 10566, "length": 1163, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCreator", "source_mapping": {"start": 703, "length": 11028, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286], "starting_column": 1, "ending_column": 2}}, "signature": "_deployFactories(address,address,uint256)"}}, {"type": "node", "name": "l2FactoriesDeployer.perform{value: cost}(_inbox,_nativeToken,_maxFeePerGas)", "source_mapping": {"start": 10973, "length": 77, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [268], "starting_column": 13, "ending_column": 90}, "type_specific_fields": {"parent": {"type": "function", "name": "_deployFactories", "source_mapping": {"start": 10566, "length": 1163, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCreator", "source_mapping": {"start": 703, "length": 11028, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286], "starting_column": 1, "ending_column": 2}}, "signature": "_deployFactories(address,address,uint256)"}}}}, {"type": "node", "name": "(sent) = msg.sender.call{value: address(this).balance}()", "source_mapping": {"start": 11161, "length": 65, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [272], "starting_column": 13, "ending_column": 78}, "type_specific_fields": {"parent": {"type": "function", "name": "_deployFactories", "source_mapping": {"start": 10566, "length": 1163, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCreator", "source_mapping": {"start": 703, "length": 11028, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286], "starting_column": 1, "ending_column": 2}}, "signature": "_deployFactories(address,address,uint256)"}}}}], "description": "RollupCreator._deployFactories(address,address,uint256) (src/rollup/RollupCreator.sol#255-285) sends eth to arbitrary user\n\tDangerous calls:\n\t- l2FactoriesDeployer.perform{value: cost}(_inbox,_nativeToken,_maxFeePerGas) (src/rollup/RollupCreator.sol#268)\n\t- (sent) = msg.sender.call{value: address(this).balance}() (src/rollup/RollupCreator.sol#272)\n", "markdown": "[RollupCreator._deployFactories(address,address,uint256)](src/rollup/RollupCreator.sol#L255-L285) sends eth to arbitrary user\n\tDangerous calls:\n\t- [l2FactoriesDeployer.perform{value: cost}(_inbox,_nativeToken,_maxFeePerGas)](src/rollup/RollupCreator.sol#L268)\n\t- [(sent) = msg.sender.call{value: address(this).balance}()](src/rollup/RollupCreator.sol#L272)\n", "first_markdown_element": "src/rollup/RollupCreator.sol#L255-L285", "id": "76dc4e58fa8c5850af786b5521aa4b4047660ca4b5cfdc3ec6d2b34a27bf414d", "check": "arbitrary-send-eth", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "calculateRoot", "source_mapping": {"start": 987, "length": 872, "filename_relative": "src/libraries/MerkleLib.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/MerkleLib.sol", "filename_short": "src/libraries/MerkleLib.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MerkleLib", "source_mapping": {"start": 254, "length": 1607, "filename_relative": "src/libraries/MerkleLib.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/MerkleLib.sol", "filename_short": "src/libraries/MerkleLib.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "starting_column": 1, "ending_column": 2}}, "signature": "calculateRoot(bytes32[],uint256,bytes32)"}}, {"type": "node", "name": "(route & (1 << i)) == 0", "source_mapping": {"start": 1371, "length": 23, "filename_relative": "src/libraries/MerkleLib.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/MerkleLib.sol", "filename_short": "src/libraries/MerkleLib.sol", "is_dependency": false, "lines": [38], "starting_column": 17, "ending_column": 40}, "type_specific_fields": {"parent": {"type": "function", "name": "calculateRoot", "source_mapping": {"start": 987, "length": 872, "filename_relative": "src/libraries/MerkleLib.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/MerkleLib.sol", "filename_short": "src/libraries/MerkleLib.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MerkleLib", "source_mapping": {"start": 254, "length": 1607, "filename_relative": "src/libraries/MerkleLib.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/MerkleLib.sol", "filename_short": "src/libraries/MerkleLib.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "starting_column": 1, "ending_column": 2}}, "signature": "calculateRoot(bytes32[],uint256,bytes32)"}}}}], "description": "MerkleLib.calculateRoot(bytes32[],uint256,bytes32) (src/libraries/MerkleLib.sol#28-56) contains an incorrect shift operation: (route & (1 << i)) == 0 (src/libraries/MerkleLib.sol#38)\n", "markdown": "[MerkleLib.calculateRoot(bytes32[],uint256,bytes32)](src/libraries/MerkleLib.sol#L28-L56) contains an incorrect shift operation: [(route & (1 << i)) == 0](src/libraries/MerkleLib.sol#L38)\n", "first_markdown_element": "src/libraries/MerkleLib.sol#L28-L56", "id": "5c3db261bcf096a853ed1cbf065868696b577e437b35616c25ee3da2af6bc0d7", "check": "incorrect-shift", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "confirmPeriodBlocks", "source_mapping": {"start": 848, "length": 33, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [30], "starting_column": 5, "ending_column": 38}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24587, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_validatorIsAfk", "source_mapping": {"start": 1426, "length": 349, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [47, 48, 49, 50, 51, 52, 53, 54], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25132, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620], "starting_column": 1, "ending_column": 2}}, "signature": "_validatorIsAfk()"}}, {"type": "function", "name": "currentRequiredStake", "source_mapping": {"start": 20210, "length": 1527, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25132, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620], "starting_column": 1, "ending_column": 2}}, "signature": "currentRequiredStake(uint256,uint64,uint256)"}}, {"type": "function", "name": "addStaker", "source_mapping": {"start": 16226, "length": 666, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24587, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}, "signature": "addStaker(uint64,address)"}}, {"type": "function", "name": "createNewNode", "source_mapping": {"start": 20652, "length": 4618, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24587, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}, "signature": "createNewNode(Assertion,uint64,uint256,bytes32)"}}], "description": "RollupCore.confirmPeriodBlocks (src/rollup/RollupCore.sol#30) is never initialized. It is used in:\n\t- AbsRollupUserLogic._validatorIsAfk() (src/rollup/RollupUserLogic.sol#47-54)\n\t- AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256) (src/rollup/RollupUserLogic.sol#477-523)\n\t- RollupCore.addStaker(uint64,address) (src/rollup/RollupCore.sol#449-465)\n\t- RollupCore.createNewNode(Assertion,uint64,uint256,bytes32) (src/rollup/RollupCore.sol#563-677)\n", "markdown": "[RollupCore.confirmPeriodBlocks](src/rollup/RollupCore.sol#L30) is never initialized. It is used in:\n\t- [AbsRollupUserLogic._validatorIsAfk()](src/rollup/RollupUserLogic.sol#L47-L54)\n\t- [AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256)](src/rollup/RollupUserLogic.sol#L477-L523)\n\t- [RollupCore.addStaker(uint64,address)](src/rollup/RollupCore.sol#L449-L465)\n\t- [RollupCore.createNewNode(Assertion,uint64,uint256,bytes32)](src/rollup/RollupCore.sol#L563-L677)\n", "first_markdown_element": "src/rollup/RollupCore.sol#L30", "id": "a4b24bce5aba1839e99647d1a79bb6ee736796ffa0b26da1ff6de3bf0cad25a2", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "extraChallengeTimeBlocks", "source_mapping": {"start": 887, "length": 38, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [31], "starting_column": 5, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24587, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "createChallenge", "source_mapping": {"start": 12264, "length": 3131, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25132, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620], "starting_column": 1, "ending_column": 2}}, "signature": "createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])"}}], "description": "RollupCore.extraChallengeTimeBlocks (src/rollup/RollupCore.sol#31) is never initialized. It is used in:\n\t- AbsRollupUserLogic.createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2]) (src/rollup/RollupUserLogic.sol#291-364)\n", "markdown": "[RollupCore.extraChallengeTimeBlocks](src/rollup/RollupCore.sol#L31) is never initialized. It is used in:\n\t- [AbsRollupUserLogic.createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])](src/rollup/RollupUserLogic.sol#L291-L364)\n", "first_markdown_element": "src/rollup/RollupCore.sol#L31", "id": "da3953abca5cd200b13fe48850b6aa7652681e329be2738fada97e811ccf823c", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "baseStake", "source_mapping": {"start": 959, "length": 24, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [33], "starting_column": 5, "ending_column": 29}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24587, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "currentRequiredStake", "source_mapping": {"start": 20210, "length": 1527, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25132, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620], "starting_column": 1, "ending_column": 2}}, "signature": "currentRequiredStake(uint256,uint64,uint256)"}}], "description": "RollupCore.baseStake (src/rollup/RollupCore.sol#33) is never initialized. It is used in:\n\t- AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256) (src/rollup/RollupUserLogic.sol#477-523)\n", "markdown": "[RollupCore.baseStake](src/rollup/RollupCore.sol#L33) is never initialized. It is used in:\n\t- [AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256)](src/rollup/RollupUserLogic.sol#L477-L523)\n", "first_markdown_element": "src/rollup/RollupCore.sol#L33", "id": "e38524abb8244a635c7bb2fbd1c2e3be4f6f4c45b66589d5c431018eaec19736", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "wasmModuleRoot", "source_mapping": {"start": 989, "length": 29, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [34], "starting_column": 5, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24587, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "createNewNode", "source_mapping": {"start": 20652, "length": 4618, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24587, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}, "signature": "createNewNode(Assertion,uint64,uint256,bytes32)"}}], "description": "RollupCore.wasmModuleRoot (src/rollup/RollupCore.sol#34) is never initialized. It is used in:\n\t- RollupCore.createNewNode(Assertion,uint64,uint256,bytes32) (src/rollup/RollupCore.sol#563-677)\n", "markdown": "[RollupCore.wasmModuleRoot](src/rollup/RollupCore.sol#L34) is never initialized. It is used in:\n\t- [RollupCore.createNewNode(Assertion,uint64,uint256,bytes32)](src/rollup/RollupCore.sol#L563-L677)\n", "first_markdown_element": "src/rollup/RollupCore.sol#L34", "id": "ba1b0a9663907f65e34f85d9522781abdfd536250f5ca9c3ce00e5d5fd99e0e5", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "bridge", "source_mapping": {"start": 1054, "length": 21, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [37], "starting_column": 5, "ending_column": 26}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24587, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "createNewNode", "source_mapping": {"start": 20652, "length": 4618, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24587, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}, "signature": "createNewNode(Assertion,uint64,uint256,bytes32)"}}], "description": "RollupCore.bridge (src/rollup/RollupCore.sol#37) is never initialized. It is used in:\n\t- RollupCore.createNewNode(Assertion,uint64,uint256,bytes32) (src/rollup/RollupCore.sol#563-677)\n", "markdown": "[RollupCore.bridge](src/rollup/RollupCore.sol#L37) is never initialized. It is used in:\n\t- [RollupCore.createNewNode(Assertion,uint64,uint256,bytes32)](src/rollup/RollupCore.sol#L563-L677)\n", "first_markdown_element": "src/rollup/RollupCore.sol#L37", "id": "083aba2c7a6498e3f6b62bd57041243e85867ce1e7deb7e73af230c8a3fda57c", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "outbox", "source_mapping": {"start": 1081, "length": 21, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [38], "starting_column": 5, "ending_column": 26}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24587, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "confirmNode", "source_mapping": {"start": 10760, "length": 573, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24587, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}, "signature": "confirmNode(uint64,bytes32,bytes32)"}}], "description": "RollupCore.outbox (src/rollup/RollupCore.sol#38) is never initialized. It is used in:\n\t- RollupCore.confirmNode(uint64,bytes32,bytes32) (src/rollup/RollupCore.sol#306-322)\n", "markdown": "[RollupCore.outbox](src/rollup/RollupCore.sol#L38) is never initialized. It is used in:\n\t- [RollupCore.confirmNode(uint64,bytes32,bytes32)](src/rollup/RollupCore.sol#L306-L322)\n", "first_markdown_element": "src/rollup/RollupCore.sol#L38", "id": "0e386868f4529a31d9469b3b0f8148977860a53590d8f94171666883bbbe4c3d", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "challengeManager", "source_mapping": {"start": 1198, "length": 50, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [41], "starting_column": 5, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24587, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "createChallengeHelper", "source_mapping": {"start": 15401, "length": 672, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25132, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620], "starting_column": 1, "ending_column": 2}}, "signature": "createChallengeHelper(address[2],MachineStatus[2],GlobalState[2],uint64,bytes32[2],uint256,uint256)"}}, {"type": "function", "name": "completeChallenge", "source_mapping": {"start": 16300, "length": 484, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [393, 394, 395, 396, 397, 398, 399, 400, 401, 402], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25132, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620], "starting_column": 1, "ending_column": 2}}, "signature": "completeChallenge(uint256,address,address)"}}], "description": "RollupCore.challengeManager (src/rollup/RollupCore.sol#41) is never initialized. It is used in:\n\t- AbsRollupUserLogic.createChallengeHelper(address[2],MachineStatus[2],GlobalState[2],uint64,bytes32[2],uint256,uint256) (src/rollup/RollupUserLogic.sol#366-386)\n\t- AbsRollupUserLogic.completeChallenge(uint256,address,address) (src/rollup/RollupUserLogic.sol#393-402)\n", "markdown": "[RollupCore.challengeManager](src/rollup/RollupCore.sol#L41) is never initialized. It is used in:\n\t- [AbsRollupUserLogic.createChallengeHelper(address[2],MachineStatus[2],GlobalState[2],uint64,bytes32[2],uint256,uint256)](src/rollup/RollupUserLogic.sol#L366-L386)\n\t- [AbsRollupUserLogic.completeChallenge(uint256,address,address)](src/rollup/RollupUserLogic.sol#L393-L402)\n", "first_markdown_element": "src/rollup/RollupCore.sol#L41", "id": "22c612a6037a18832e2adecba9cb92ae47a8af1b6ad06cd807e2930e95704f7f", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "loserStakeEscrow", "source_mapping": {"start": 1485, "length": 31, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [48], "starting_column": 5, "ending_column": 36}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24587, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "completeChallengeImpl", "source_mapping": {"start": 16790, "length": 1104, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25132, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620], "starting_column": 1, "ending_column": 2}}, "signature": "completeChallengeImpl(address,address)"}}], "description": "RollupCore.loserStakeEscrow (src/rollup/RollupCore.sol#48) is never initialized. It is used in:\n\t- AbsRollupUserLogic.completeChallengeImpl(address,address) (src/rollup/RollupUserLogic.sol#404-423)\n", "markdown": "[RollupCore.loserStakeEscrow](src/rollup/RollupCore.sol#L48) is never initialized. It is used in:\n\t- [AbsRollupUserLogic.completeChallengeImpl(address,address)](src/rollup/RollupUserLogic.sol#L404-L423)\n", "first_markdown_element": "src/rollup/RollupCore.sol#L48", "id": "c7bcdadad2017983801efa1f09090e62d03f763f4327a3ff8eae213d33849120", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "stakeToken", "source_mapping": {"start": 1522, "length": 25, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [49], "starting_column": 5, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24587, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "isERC20Enabled", "source_mapping": {"start": 2244, "length": 110, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [68, 69, 70], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25132, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620], "starting_column": 1, "ending_column": 2}}, "signature": "isERC20Enabled()"}}], "description": "RollupCore.stakeToken (src/rollup/RollupCore.sol#49) is never initialized. It is used in:\n\t- AbsRollupUserLogic.isERC20Enabled() (src/rollup/RollupUserLogic.sol#68-70)\n", "markdown": "[RollupCore.stakeToken](src/rollup/RollupCore.sol#L49) is never initialized. It is used in:\n\t- [AbsRollupUserLogic.isERC20Enabled()](src/rollup/RollupUserLogic.sol#L68-L70)\n", "first_markdown_element": "src/rollup/RollupCore.sol#L49", "id": "762ea8af9375f2dee07c120ca7a44b367b72fbd357f74ed8397e8540a17d87b6", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "minimumAssertionPeriod", "source_mapping": {"start": 1553, "length": 37, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [50], "starting_column": 5, "ending_column": 42}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24587, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "stakeOnNewNode", "source_mapping": {"start": 7704, "length": 1684, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25132, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620], "starting_column": 1, "ending_column": 2}}, "signature": "stakeOnNewNode(Assertion,bytes32,uint256)"}}], "description": "RollupCore.minimumAssertionPeriod (src/rollup/RollupCore.sol#50) is never initialized. It is used in:\n\t- AbsRollupUserLogic.stakeOnNewNode(Assertion,bytes32,uint256) (src/rollup/RollupUserLogic.sol#198-233)\n", "markdown": "[RollupCore.minimumAssertionPeriod](src/rollup/RollupCore.sol#L50) is never initialized. It is used in:\n\t- [AbsRollupUserLogic.stakeOnNewNode(Assertion,bytes32,uint256)](src/rollup/RollupUserLogic.sol#L198-L233)\n", "first_markdown_element": "src/rollup/RollupCore.sol#L50", "id": "01fe9c1889403593f4723665fd7724b4e31b63dd3689c5816cb6d147d16dbf42", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "isValidator", "source_mapping": {"start": 1597, "length": 43, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [52], "starting_column": 5, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24587, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}}}], "description": "RollupCore.isValidator (src/rollup/RollupCore.sol#52) is never initialized. It is used in:\n", "markdown": "[RollupCore.isValidator](src/rollup/RollupCore.sol#L52) is never initialized. It is used in:\n", "first_markdown_element": "src/rollup/RollupCore.sol#L52", "id": "f316200e22d3febd4d78fe211de5d864b1b65169f67e03191ea884e8b60055ae", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "stakeToken", "source_mapping": {"start": 1522, "length": 25, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [49], "starting_column": 5, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24587, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "isERC20Enabled", "source_mapping": {"start": 2244, "length": 110, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [68, 69, 70], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25132, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620], "starting_column": 1, "ending_column": 2}}, "signature": "isERC20Enabled()"}}, {"type": "function", "name": "withdrawStakerFunds", "source_mapping": {"start": 30568, "length": 400, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC20RollupUserLogic", "source_mapping": {"start": 28020, "length": 3167, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawStakerFunds()"}}, {"type": "function", "name": "receiveTokens", "source_mapping": {"start": 30974, "length": 211, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [763, 764, 765, 766, 767, 768], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC20RollupUserLogic", "source_mapping": {"start": 28020, "length": 3167, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769], "starting_column": 1, "ending_column": 2}}, "signature": "receiveTokens(uint256)"}}], "description": "RollupCore.stakeToken (src/rollup/RollupCore.sol#49) is never initialized. It is used in:\n\t- AbsRollupUserLogic.isERC20Enabled() (src/rollup/RollupUserLogic.sol#68-70)\n\t- ERC20RollupUserLogic.withdrawStakerFunds() (src/rollup/RollupUserLogic.sol#750-761)\n\t- ERC20RollupUserLogic.receiveTokens(uint256) (src/rollup/RollupUserLogic.sol#763-768)\n", "markdown": "[RollupCore.stakeToken](src/rollup/RollupCore.sol#L49) is never initialized. It is used in:\n\t- [AbsRollupUserLogic.isERC20Enabled()](src/rollup/RollupUserLogic.sol#L68-L70)\n\t- [ERC20RollupUserLogic.withdrawStakerFunds()](src/rollup/RollupUserLogic.sol#L750-L761)\n\t- [ERC20RollupUserLogic.receiveTokens(uint256)](src/rollup/RollupUserLogic.sol#L763-L768)\n", "first_markdown_element": "src/rollup/RollupCore.sol#L49", "id": "388304453678fb7cb187225ae4a8eef1f46c80d072185688bad31640b221fb6d", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "function", "name": "extractChallengeSegment", "source_mapping": {"start": 3040, "length": 682, "filename_relative": "src/challenge/ChallengeLib.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", "filename_short": "src/challenge/ChallengeLib.sol", "is_dependency": false, "lines": [96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChallengeLib", "source_mapping": {"start": 272, "length": 4325, "filename_relative": "src/challenge/ChallengeLib.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", "filename_short": "src/challenge/ChallengeLib.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133], "starting_column": 1, "ending_column": 2}}, "signature": "extractChallengeSegment(ChallengeLib.SegmentSelection)"}}, {"type": "node", "name": "segmentLength = selection.oldSegmentsLength / oldChallengeDegree", "source_mapping": {"start": 3287, "length": 64, "filename_relative": "src/challenge/ChallengeLib.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", "filename_short": "src/challenge/ChallengeLib.sol", "is_dependency": false, "lines": [102], "starting_column": 9, "ending_column": 73}, "type_specific_fields": {"parent": {"type": "function", "name": "extractChallengeSegment", "source_mapping": {"start": 3040, "length": 682, "filename_relative": "src/challenge/ChallengeLib.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", "filename_short": "src/challenge/ChallengeLib.sol", "is_dependency": false, "lines": [96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChallengeLib", "source_mapping": {"start": 272, "length": 4325, "filename_relative": "src/challenge/ChallengeLib.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", "filename_short": "src/challenge/ChallengeLib.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133], "starting_column": 1, "ending_column": 2}}, "signature": "extractChallengeSegment(ChallengeLib.SegmentSelection)"}}}}, {"type": "node", "name": "segmentStart = selection.oldSegmentsStart + segmentLength * selection.challengePosition", "source_mapping": {"start": 3460, "length": 87, "filename_relative": "src/challenge/ChallengeLib.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", "filename_short": "src/challenge/ChallengeLib.sol", "is_dependency": false, "lines": [104], "starting_column": 9, "ending_column": 96}, "type_specific_fields": {"parent": {"type": "function", "name": "extractChallengeSegment", "source_mapping": {"start": 3040, "length": 682, "filename_relative": "src/challenge/ChallengeLib.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", "filename_short": "src/challenge/ChallengeLib.sol", "is_dependency": false, "lines": [96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChallengeLib", "source_mapping": {"start": 272, "length": 4325, "filename_relative": "src/challenge/ChallengeLib.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", "filename_short": "src/challenge/ChallengeLib.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133], "starting_column": 1, "ending_column": 2}}, "signature": "extractChallengeSegment(ChallengeLib.SegmentSelection)"}}}}], "description": "ChallengeLib.extractChallengeSegment(ChallengeLib.SegmentSelection) (src/challenge/ChallengeLib.sol#96-108) performs a multiplication on the result of a division:\n\t- segmentLength = selection.oldSegmentsLength / oldChallengeDegree (src/challenge/ChallengeLib.sol#102)\n\t- segmentStart = selection.oldSegmentsStart + segmentLength * selection.challengePosition (src/challenge/ChallengeLib.sol#104)\n", "markdown": "[ChallengeLib.extractChallengeSegment(ChallengeLib.SegmentSelection)](src/challenge/ChallengeLib.sol#L96-L108) performs a multiplication on the result of a division:\n\t- [segmentLength = selection.oldSegmentsLength / oldChallengeDegree](src/challenge/ChallengeLib.sol#L102)\n\t- [segmentStart = selection.oldSegmentsStart + segmentLength * selection.challengePosition](src/challenge/ChallengeLib.sol#L104)\n", "first_markdown_element": "src/challenge/ChallengeLib.sol#L96-L108", "id": "e1c80d5388c10fc3c7985b252a3988308fb524570c5772733ff6da1f68ae3665", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "executeReadPreImage", "source_mapping": {"start": 4302, "length": 5772, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverHostIo", "source_mapping": {"start": 433, "length": 16565, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450], "starting_column": 1, "ending_column": 2}}, "signature": "executeReadPreImage(ExecutionContext,Machine,Module,Instruction,bytes)"}}, {"type": "node", "name": "rootOfUnityPower = (1 << 32) / fieldElementsPerBlob", "source_mapping": {"start": 9080, "length": 59, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [224], "starting_column": 17, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "executeReadPreImage", "source_mapping": {"start": 4302, "length": 5772, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverHostIo", "source_mapping": {"start": 433, "length": 16565, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450], "starting_column": 1, "ending_column": 2}}, "signature": "executeReadPreImage(ExecutionContext,Machine,Module,Instruction,bytes)"}}}}, {"type": "node", "name": "rootOfUnityPower *= bitReversedIndex", "source_mapping": {"start": 9307, "length": 36, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [227], "starting_column": 17, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "executeReadPreImage", "source_mapping": {"start": 4302, "length": 5772, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverHostIo", "source_mapping": {"start": 433, "length": 16565, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450], "starting_column": 1, "ending_column": 2}}, "signature": "executeReadPreImage(ExecutionContext,Machine,Module,Instruction,bytes)"}}}}], "description": "OneStepProverHostIo.executeReadPreImage(ExecutionContext,Machine,Module,Instruction,bytes) (src/osp/OneStepProverHostIo.sol#123-245) performs a multiplication on the result of a division:\n\t- rootOfUnityPower = (1 << 32) / fieldElementsPerBlob (src/osp/OneStepProverHostIo.sol#224)\n\t- rootOfUnityPower *= bitReversedIndex (src/osp/OneStepProverHostIo.sol#227)\n", "markdown": "[OneStepProverHostIo.executeReadPreImage(ExecutionContext,Machine,Module,Instruction,bytes)](src/osp/OneStepProverHostIo.sol#L123-L245) performs a multiplication on the result of a division:\n\t- [rootOfUnityPower = (1 << 32) / fieldElementsPerBlob](src/osp/OneStepProverHostIo.sol#L224)\n\t- [rootOfUnityPower *= bitReversedIndex](src/osp/OneStepProverHostIo.sol#L227)\n", "first_markdown_element": "src/osp/OneStepProverHostIo.sol#L123-L245", "id": "544b092c0dd6ff4838cb1cbaa7af3a7e9ba4011548b519524ea1c0f49488ba8a", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "currentRequiredStake", "source_mapping": {"start": 20210, "length": 1527, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25132, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620], "starting_column": 1, "ending_column": 2}}, "signature": "currentRequiredStake(uint256,uint64,uint256)"}}, {"type": "node", "name": "multiplier = withNumerator / denominators[periodsPassed % 10]", "source_mapping": {"start": 21553, "length": 69, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [518], "starting_column": 9, "ending_column": 78}, "type_specific_fields": {"parent": {"type": "function", "name": "currentRequiredStake", "source_mapping": {"start": 20210, "length": 1527, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25132, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620], "starting_column": 1, "ending_column": 2}}, "signature": "currentRequiredStake(uint256,uint64,uint256)"}}}}, {"type": "node", "name": "baseStake * multiplier", "source_mapping": {"start": 21701, "length": 29, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [522], "starting_column": 9, "ending_column": 38}, "type_specific_fields": {"parent": {"type": "function", "name": "currentRequiredStake", "source_mapping": {"start": 20210, "length": 1527, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25132, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620], "starting_column": 1, "ending_column": 2}}, "signature": "currentRequiredStake(uint256,uint64,uint256)"}}}}], "description": "AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256) (src/rollup/RollupUserLogic.sol#477-523) performs a multiplication on the result of a division:\n\t- multiplier = withNumerator / denominators[periodsPassed % 10] (src/rollup/RollupUserLogic.sol#518)\n\t- baseStake * multiplier (src/rollup/RollupUserLogic.sol#522)\n", "markdown": "[AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256)](src/rollup/RollupUserLogic.sol#L477-L523) performs a multiplication on the result of a division:\n\t- [multiplier = withNumerator / denominators[periodsPassed % 10]](src/rollup/RollupUserLogic.sol#L518)\n\t- [baseStake * multiplier](src/rollup/RollupUserLogic.sol#L522)\n", "first_markdown_element": "src/rollup/RollupUserLogic.sol#L477-L523", "id": "d8acf03a6b7c6bb0b8a091fbcc3c5657b15d7180c1edc798c1b2b66b27895d5d", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "onGasSpent", "source_mapping": {"start": 5994, "length": 3002, "filename_relative": "src/bridge/GasRefunder.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/GasRefunder.sol", "filename_short": "src/bridge/GasRefunder.sol", "is_dependency": false, "lines": [174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "GasRefunder", "source_mapping": {"start": 916, "length": 8082, "filename_relative": "src/bridge/GasRefunder.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/GasRefunder.sol", "filename_short": "src/bridge/GasRefunder.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257], "starting_column": 1, "ending_column": 2}}, "signature": "onGasSpent(address,uint256,uint256)"}}, {"type": "node", "name": "ownBalance == 0", "source_mapping": {"start": 6260, "length": 15, "filename_relative": "src/bridge/GasRefunder.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/GasRefunder.sol", "filename_short": "src/bridge/GasRefunder.sol", "is_dependency": false, "lines": [183], "starting_column": 13, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "function", "name": "onGasSpent", "source_mapping": {"start": 5994, "length": 3002, "filename_relative": "src/bridge/GasRefunder.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/GasRefunder.sol", "filename_short": "src/bridge/GasRefunder.sol", "is_dependency": false, "lines": [174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "GasRefunder", "source_mapping": {"start": 916, "length": 8082, "filename_relative": "src/bridge/GasRefunder.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/GasRefunder.sol", "filename_short": "src/bridge/GasRefunder.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257], "starting_column": 1, "ending_column": 2}}, "signature": "onGasSpent(address,uint256,uint256)"}}}}], "description": "GasRefunder.onGasSpent(address,uint256,uint256) (src/bridge/GasRefunder.sol#174-256) uses a dangerous strict equality:\n\t- ownBalance == 0 (src/bridge/GasRefunder.sol#183)\n", "markdown": "[GasRefunder.onGasSpent(address,uint256,uint256)](src/bridge/GasRefunder.sol#L174-L256) uses a dangerous strict equality:\n\t- [ownBalance == 0](src/bridge/GasRefunder.sol#L183)\n", "first_markdown_element": "src/bridge/GasRefunder.sol#L174-L256", "id": "7130559f3bef7fa36dc1a06a74ba5036fede4a8f9a9b7aa15356ff38ae92691a", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "getKeysetCreationBlock", "source_mapping": {"start": 30911, "length": 262, "filename_relative": "src/bridge/SequencerInbox.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/SequencerInbox.sol", "filename_short": "src/bridge/SequencerInbox.sol", "is_dependency": false, "lines": [800, 801, 802, 803, 804], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SequencerInbox", "source_mapping": {"start": 1909, "length": 29266, "filename_relative": "src/bridge/SequencerInbox.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/SequencerInbox.sol", "filename_short": "src/bridge/SequencerInbox.sol", "is_dependency": false, "lines": [57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805], "starting_column": 1, "ending_column": 2}}, "signature": "getKeysetCreationBlock(bytes32)"}}, {"type": "node", "name": "ksInfo.creationBlock == 0", "source_mapping": {"start": 31066, "length": 25, "filename_relative": "src/bridge/SequencerInbox.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/SequencerInbox.sol", "filename_short": "src/bridge/SequencerInbox.sol", "is_dependency": false, "lines": [802], "starting_column": 13, "ending_column": 38}, "type_specific_fields": {"parent": {"type": "function", "name": "getKeysetCreationBlock", "source_mapping": {"start": 30911, "length": 262, "filename_relative": "src/bridge/SequencerInbox.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/SequencerInbox.sol", "filename_short": "src/bridge/SequencerInbox.sol", "is_dependency": false, "lines": [800, 801, 802, 803, 804], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SequencerInbox", "source_mapping": {"start": 1909, "length": 29266, "filename_relative": "src/bridge/SequencerInbox.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/SequencerInbox.sol", "filename_short": "src/bridge/SequencerInbox.sol", "is_dependency": false, "lines": [57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805], "starting_column": 1, "ending_column": 2}}, "signature": "getKeysetCreationBlock(bytes32)"}}}}], "description": "SequencerInbox.getKeysetCreationBlock(bytes32) (src/bridge/SequencerInbox.sol#800-804) uses a dangerous strict equality:\n\t- ksInfo.creationBlock == 0 (src/bridge/SequencerInbox.sol#802)\n", "markdown": "[SequencerInbox.getKeysetCreationBlock(bytes32)](src/bridge/SequencerInbox.sol#L800-L804) uses a dangerous strict equality:\n\t- [ksInfo.creationBlock == 0](src/bridge/SequencerInbox.sol#L802)\n", "first_markdown_element": "src/bridge/SequencerInbox.sol#L800-L804", "id": "8d08f988c853ddc93c73c73c2ffb4eab98ae44f427249e22931a28dd9e0d9616", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "createNewNode", "source_mapping": {"start": 20652, "length": 4618, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24587, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}, "signature": "createNewNode(Assertion,uint64,uint256,bytes32)"}}, {"type": "node", "name": "require(bool,string)(RollupLib.stateHash(assertion.beforeState,prevNodeInboxMaxCount) == memoryFrame.prevNode.stateHash,PREV_STATE_HASH)", "source_mapping": {"start": 21393, "length": 193, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [582, 583, 584, 585, 586], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "createNewNode", "source_mapping": {"start": 20652, "length": 4618, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24587, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}, "signature": "createNewNode(Assertion,uint64,uint256,bytes32)"}}}}], "description": "RollupCore.createNewNode(Assertion,uint64,uint256,bytes32) (src/rollup/RollupCore.sol#563-677) uses a dangerous strict equality:\n\t- require(bool,string)(RollupLib.stateHash(assertion.beforeState,prevNodeInboxMaxCount) == memoryFrame.prevNode.stateHash,PREV_STATE_HASH) (src/rollup/RollupCore.sol#582-586)\n", "markdown": "[RollupCore.createNewNode(Assertion,uint64,uint256,bytes32)](src/rollup/RollupCore.sol#L563-L677) uses a dangerous strict equality:\n\t- [require(bool,string)(RollupLib.stateHash(assertion.beforeState,prevNodeInboxMaxCount) == memoryFrame.prevNode.stateHash,PREV_STATE_HASH)](src/rollup/RollupCore.sol#L582-L586)\n", "first_markdown_element": "src/rollup/RollupCore.sol#L563-L677", "id": "d127dddc177369c36ad1c5bef7eb43c1a61fc683b55406bc72a59dc5596e864b", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "createNewNode", "source_mapping": {"start": 20652, "length": 4618, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24587, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}, "signature": "createNewNode(Assertion,uint64,uint256,bytes32)"}}, {"type": "node", "name": "require(bool,string)(newNodeHash == expectedNodeHash || expectedNodeHash == bytes32(0),UNEXPECTED_NODE_HASH)", "source_mapping": {"start": 23847, "length": 144, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [635, 636, 637, 638], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "createNewNode", "source_mapping": {"start": 20652, "length": 4618, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24587, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}, "signature": "createNewNode(Assertion,uint64,uint256,bytes32)"}}}}], "description": "RollupCore.createNewNode(Assertion,uint64,uint256,bytes32) (src/rollup/RollupCore.sol#563-677) uses a dangerous strict equality:\n\t- require(bool,string)(newNodeHash == expectedNodeHash || expectedNodeHash == bytes32(0),UNEXPECTED_NODE_HASH) (src/rollup/RollupCore.sol#635-638)\n", "markdown": "[RollupCore.createNewNode(Assertion,uint64,uint256,bytes32)](src/rollup/RollupCore.sol#L563-L677) uses a dangerous strict equality:\n\t- [require(bool,string)(newNodeHash == expectedNodeHash || expectedNodeHash == bytes32(0),UNEXPECTED_NODE_HASH)](src/rollup/RollupCore.sol#L635-L638)\n", "first_markdown_element": "src/rollup/RollupCore.sol#L563-L677", "id": "dfac2423a21baf2a37b1dd8b95efc0128475cfb15a4f40d0cc542e69ff413c79", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "_validatorIsAfk", "source_mapping": {"start": 1426, "length": 349, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [47, 48, 49, 50, 51, 52, 53, 54], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25132, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620], "starting_column": 1, "ending_column": 2}}, "signature": "_validatorIsAfk()"}}, {"type": "node", "name": "latestNode.createdAtBlock == 0", "source_mapping": {"start": 1566, "length": 30, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [49], "starting_column": 13, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "function", "name": "_validatorIsAfk", "source_mapping": {"start": 1426, "length": 349, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [47, 48, 49, 50, 51, 52, 53, 54], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25132, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620], "starting_column": 1, "ending_column": 2}}, "signature": "_validatorIsAfk()"}}}}], "description": "AbsRollupUserLogic._validatorIsAfk() (src/rollup/RollupUserLogic.sol#47-54) uses a dangerous strict equality:\n\t- latestNode.createdAtBlock == 0 (src/rollup/RollupUserLogic.sol#49)\n", "markdown": "[AbsRollupUserLogic._validatorIsAfk()](src/rollup/RollupUserLogic.sol#L47-L54) uses a dangerous strict equality:\n\t- [latestNode.createdAtBlock == 0](src/rollup/RollupUserLogic.sol#L49)\n", "first_markdown_element": "src/rollup/RollupUserLogic.sol#L47-L54", "id": "27da8dd2563854302dbb23b92013f4ff6bae23b8f09a7843b7bd073905bc04e7", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "currentRequiredStake", "source_mapping": {"start": 20210, "length": 1527, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25132, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620], "starting_column": 1, "ending_column": 2}}, "signature": "currentRequiredStake(uint256,uint64,uint256)"}}, {"type": "node", "name": "multiplier == 0", "source_mapping": {"start": 21636, "length": 15, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [519], "starting_column": 13, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "function", "name": "currentRequiredStake", "source_mapping": {"start": 20210, "length": 1527, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25132, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620], "starting_column": 1, "ending_column": 2}}, "signature": "currentRequiredStake(uint256,uint64,uint256)"}}}}], "description": "AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256) (src/rollup/RollupUserLogic.sol#477-523) uses a dangerous strict equality:\n\t- multiplier == 0 (src/rollup/RollupUserLogic.sol#519)\n", "markdown": "[AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256)](src/rollup/RollupUserLogic.sol#L477-L523) uses a dangerous strict equality:\n\t- [multiplier == 0](src/rollup/RollupUserLogic.sol#L519)\n", "first_markdown_element": "src/rollup/RollupUserLogic.sol#L477-L523", "id": "46c10604345612b1526f352cacc87cc039daedff5beba654f8f07a5fdc228a45", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "requireUnchallengedStaker", "source_mapping": {"start": 25419, "length": 212, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [616, 617, 618, 619], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25132, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620], "starting_column": 1, "ending_column": 2}}, "signature": "requireUnchallengedStaker(address)"}}, {"type": "node", "name": "require(bool,string)(currentChallenge(stakerAddress) == NO_CHAL_INDEX,IN_CHAL)", "source_mapping": {"start": 25556, "length": 68, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [618], "starting_column": 9, "ending_column": 77}, "type_specific_fields": {"parent": {"type": "function", "name": "requireUnchallengedStaker", "source_mapping": {"start": 25419, "length": 212, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [616, 617, 618, 619], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25132, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620], "starting_column": 1, "ending_column": 2}}, "signature": "requireUnchallengedStaker(address)"}}}}], "description": "AbsRollupUserLogic.requireUnchallengedStaker(address) (src/rollup/RollupUserLogic.sol#616-619) uses a dangerous strict equality:\n\t- require(bool,string)(currentChallenge(stakerAddress) == NO_CHAL_INDEX,IN_CHAL) (src/rollup/RollupUserLogic.sol#618)\n", "markdown": "[AbsRollupUserLogic.requireUnchallengedStaker(address)](src/rollup/RollupUserLogic.sol#L616-L619) uses a dangerous strict equality:\n\t- [require(bool,string)(currentChallenge(stakerAddress) == NO_CHAL_INDEX,IN_CHAL)](src/rollup/RollupUserLogic.sol#L618)\n", "first_markdown_element": "src/rollup/RollupUserLogic.sol#L616-L619", "id": "1e95eacfdcf4026b8e9c94f14922ed3f0a0ec1b366b7d354316a8dbcdb09add8", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "stakeOnExistingNode", "source_mapping": {"start": 6908, "length": 583, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25132, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620], "starting_column": 1, "ending_column": 2}}, "signature": "stakeOnExistingNode(uint64,bytes32)"}}, {"type": "node", "name": "require(bool,string)(latestStakedNode(msg.sender) == node.prevNum,NOT_STAKED_PREV)", "source_mapping": {"start": 7370, "length": 72, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [189], "starting_column": 9, "ending_column": 81}, "type_specific_fields": {"parent": {"type": "function", "name": "stakeOnExistingNode", "source_mapping": {"start": 6908, "length": 583, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25132, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620], "starting_column": 1, "ending_column": 2}}, "signature": "stakeOnExistingNode(uint64,bytes32)"}}}}], "description": "AbsRollupUserLogic.stakeOnExistingNode(uint64,bytes32) (src/rollup/RollupUserLogic.sol#176-191) uses a dangerous strict equality:\n\t- require(bool,string)(latestStakedNode(msg.sender) == node.prevNum,NOT_STAKED_PREV) (src/rollup/RollupUserLogic.sol#189)\n", "markdown": "[AbsRollupUserLogic.stakeOnExistingNode(uint64,bytes32)](src/rollup/RollupUserLogic.sol#L176-L191) uses a dangerous strict equality:\n\t- [require(bool,string)(latestStakedNode(msg.sender) == node.prevNum,NOT_STAKED_PREV)](src/rollup/RollupUserLogic.sol#L189)\n", "first_markdown_element": "src/rollup/RollupUserLogic.sol#L176-L191", "id": "4507b4ce50a7c39ed1ba1cdbee0a87e257d071a80d56ccf457734f2c8f166b64", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "addSequencerL2BatchImpl", "source_mapping": {"start": 26211, "length": 1103, "filename_relative": "src/bridge/SequencerInbox.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/SequencerInbox.sol", "filename_short": "src/bridge/SequencerInbox.sol", "is_dependency": false, "lines": [674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SequencerInbox", "source_mapping": {"start": 1909, "length": 29266, "filename_relative": "src/bridge/SequencerInbox.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/SequencerInbox.sol", "filename_short": "src/bridge/SequencerInbox.sol", "is_dependency": false, "lines": [57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805], "starting_column": 1, "ending_column": 2}}, "signature": "addSequencerL2BatchImpl(bytes32,uint256,uint256,uint256,uint256)"}}, {"type": "node", "name": "(seqMessageIndex,beforeAcc,delayedAcc,acc) = bridge.enqueueSequencerMessage(dataHash,afterDelayedMessagesRead,prevMessageCount,newMessageCount)", "source_mapping": {"start": 26792, "length": 207, "filename_relative": "src/bridge/SequencerInbox.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/SequencerInbox.sol", "filename_short": "src/bridge/SequencerInbox.sol", "is_dependency": false, "lines": [692, 693, 694, 695, 696, 697], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "addSequencerL2BatchImpl", "source_mapping": {"start": 26211, "length": 1103, "filename_relative": "src/bridge/SequencerInbox.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/SequencerInbox.sol", "filename_short": "src/bridge/SequencerInbox.sol", "is_dependency": false, "lines": [674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SequencerInbox", "source_mapping": {"start": 1909, "length": 29266, "filename_relative": "src/bridge/SequencerInbox.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/SequencerInbox.sol", "filename_short": "src/bridge/SequencerInbox.sol", "is_dependency": false, "lines": [57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805], "starting_column": 1, "ending_column": 2}}, "signature": "addSequencerL2BatchImpl(bytes32,uint256,uint256,uint256,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "totalDelayedMessagesRead = afterDelayedMessagesRead", "source_mapping": {"start": 27010, "length": 51, "filename_relative": "src/bridge/SequencerInbox.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/SequencerInbox.sol", "filename_short": "src/bridge/SequencerInbox.sol", "is_dependency": false, "lines": [699], "starting_column": 9, "ending_column": 60}, "type_specific_fields": {"parent": {"type": "function", "name": "addSequencerL2BatchImpl", "source_mapping": {"start": 26211, "length": 1103, "filename_relative": "src/bridge/SequencerInbox.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/SequencerInbox.sol", "filename_short": "src/bridge/SequencerInbox.sol", "is_dependency": false, "lines": [674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SequencerInbox", "source_mapping": {"start": 1909, "length": 29266, "filename_relative": "src/bridge/SequencerInbox.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/SequencerInbox.sol", "filename_short": "src/bridge/SequencerInbox.sol", "is_dependency": false, "lines": [57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805], "starting_column": 1, "ending_column": 2}}, "signature": "addSequencerL2BatchImpl(bytes32,uint256,uint256,uint256,uint256)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "totalDelayedMessagesRead"}}], "description": "Reentrancy in SequencerInbox.addSequencerL2BatchImpl(bytes32,uint256,uint256,uint256,uint256) (src/bridge/SequencerInbox.sol#674-705):\n\tExternal calls:\n\t- (seqMessageIndex,beforeAcc,delayedAcc,acc) = bridge.enqueueSequencerMessage(dataHash,afterDelayedMessagesRead,prevMessageCount,newMessageCount) (src/bridge/SequencerInbox.sol#692-697)\n\tState variables written after the call(s):\n\t- totalDelayedMessagesRead = afterDelayedMessagesRead (src/bridge/SequencerInbox.sol#699)\n\tSequencerInbox.totalDelayedMessagesRead (src/bridge/SequencerInbox.sol#58) can be used in cross function reentrancies:\n\t- SequencerInbox.addSequencerL2Batch(uint256,bytes,uint256,IGasRefunder,uint256,uint256) (src/bridge/SequencerInbox.sol#468-519)\n\t- SequencerInbox.addSequencerL2BatchFromBlobs(uint256,uint256,IGasRefunder,uint256,uint256) (src/bridge/SequencerInbox.sol#407-466)\n\t- SequencerInbox.addSequencerL2BatchFromOrigin(uint256,bytes,uint256,IGasRefunder,uint256,uint256) (src/bridge/SequencerInbox.sol#355-405)\n\t- SequencerInbox.addSequencerL2BatchImpl(bytes32,uint256,uint256,uint256,uint256) (src/bridge/SequencerInbox.sol#674-705)\n\t- SequencerInbox.forceInclusion(uint256,uint8,uint64[2],uint256,address,bytes32) (src/bridge/SequencerInbox.sol#284-343)\n\t- SequencerInbox.totalDelayedMessagesRead (src/bridge/SequencerInbox.sol#58)\n", "markdown": "Reentrancy in [SequencerInbox.addSequencerL2BatchImpl(bytes32,uint256,uint256,uint256,uint256)](src/bridge/SequencerInbox.sol#L674-L705):\n\tExternal calls:\n\t- [(seqMessageIndex,beforeAcc,delayedAcc,acc) = bridge.enqueueSequencerMessage(dataHash,afterDelayedMessagesRead,prevMessageCount,newMessageCount)](src/bridge/SequencerInbox.sol#L692-L697)\n\tState variables written after the call(s):\n\t- [totalDelayedMessagesRead = afterDelayedMessagesRead](src/bridge/SequencerInbox.sol#L699)\n\t[SequencerInbox.totalDelayedMessagesRead](src/bridge/SequencerInbox.sol#L58) can be used in cross function reentrancies:\n\t- [SequencerInbox.addSequencerL2Batch(uint256,bytes,uint256,IGasRefunder,uint256,uint256)](src/bridge/SequencerInbox.sol#L468-L519)\n\t- [SequencerInbox.addSequencerL2BatchFromBlobs(uint256,uint256,IGasRefunder,uint256,uint256)](src/bridge/SequencerInbox.sol#L407-L466)\n\t- [SequencerInbox.addSequencerL2BatchFromOrigin(uint256,bytes,uint256,IGasRefunder,uint256,uint256)](src/bridge/SequencerInbox.sol#L355-L405)\n\t- [SequencerInbox.addSequencerL2BatchImpl(bytes32,uint256,uint256,uint256,uint256)](src/bridge/SequencerInbox.sol#L674-L705)\n\t- [SequencerInbox.forceInclusion(uint256,uint8,uint64[2],uint256,address,bytes32)](src/bridge/SequencerInbox.sol#L284-L343)\n\t- [SequencerInbox.totalDelayedMessagesRead](src/bridge/SequencerInbox.sol#L58)\n", "first_markdown_element": "src/bridge/SequencerInbox.sol#L674-L705", "id": "b38d9bf0df554a08cf1b8bb6d468b87dd156690f340b399262fff373086c5825", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "createChallenge", "source_mapping": {"start": 12264, "length": 3131, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25132, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620], "starting_column": 1, "ending_column": 2}}, "signature": "createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])"}}, {"type": "node", "name": "challengeIndex = createChallengeHelper(stakers,machineStatuses,globalStates,numBlocks,wasmModuleRoots,(commonEndBlock - proposedBlocks[0]) * ETH_POS_BLOCK_TIME,(commonEndBlock - proposedBlocks[1]) * ETH_POS_BLOCK_TIME)", "source_mapping": {"start": 14807, "length": 398, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [350, 351, 352, 353, 354, 355, 356, 357, 358, 359], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "createChallenge", "source_mapping": {"start": 12264, "length": 3131, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25132, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620], "starting_column": 1, "ending_column": 2}}, "signature": "createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "challengeManager.createChallenge(wasmModuleRoots[0],machineStatuses,globalStates,numBlocks,stakers[0],stakers[1],asserterTimeLeft,challengerTimeLeft)", "source_mapping": {"start": 15749, "length": 317, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385], "starting_column": 9, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "createChallengeHelper", "source_mapping": {"start": 15401, "length": 672, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25132, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620], "starting_column": 1, "ending_column": 2}}, "signature": "createChallengeHelper(address[2],MachineStatus[2],GlobalState[2],uint64,bytes32[2],uint256,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "challengeStarted(stakers[0],stakers[1],challengeIndex)", "source_mapping": {"start": 15241, "length": 56, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [361], "starting_column": 9, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "createChallenge", "source_mapping": {"start": 12264, "length": 3131, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsRollupUserLogic", "source_mapping": {"start": 501, "length": 25132, "filename_relative": "src/rollup/RollupUserLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", "filename_short": "src/rollup/RollupUserLogic.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620], "starting_column": 1, "ending_column": 2}}, "signature": "createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_stakerMap"}}, {"type": "node", "name": "_stakerMap[staker1].currentChallenge = challenge", "source_mapping": {"start": 13576, "length": 48, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [383], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "challengeStarted", "source_mapping": {"start": 13449, "length": 240, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [378, 379, 380, 381, 382, 383, 384, 385], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24587, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}, "signature": "challengeStarted(address,address,uint64)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_stakerMap"}}, {"type": "node", "name": "_stakerMap[staker2].currentChallenge = challenge", "source_mapping": {"start": 13634, "length": 48, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [384], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "challengeStarted", "source_mapping": {"start": 13449, "length": 240, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [378, 379, 380, 381, 382, 383, 384, 385], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24587, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}, "signature": "challengeStarted(address,address,uint64)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_stakerMap"}}], "description": "Reentrancy in AbsRollupUserLogic.createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2]) (src/rollup/RollupUserLogic.sol#291-364):\n\tExternal calls:\n\t- challengeIndex = createChallengeHelper(stakers,machineStatuses,globalStates,numBlocks,wasmModuleRoots,(commonEndBlock - proposedBlocks[0]) * ETH_POS_BLOCK_TIME,(commonEndBlock - proposedBlocks[1]) * ETH_POS_BLOCK_TIME) (src/rollup/RollupUserLogic.sol#350-359)\n\t\t- challengeManager.createChallenge(wasmModuleRoots[0],machineStatuses,globalStates,numBlocks,stakers[0],stakers[1],asserterTimeLeft,challengerTimeLeft) (src/rollup/RollupUserLogic.sol#375-385)\n\tState variables written after the call(s):\n\t- challengeStarted(stakers[0],stakers[1],challengeIndex) (src/rollup/RollupUserLogic.sol#361)\n\t\t- _stakerMap[staker1].currentChallenge = challenge (src/rollup/RollupCore.sol#383)\n\t\t- _stakerMap[staker2].currentChallenge = challenge (src/rollup/RollupCore.sol#384)\n\tRollupCore._stakerMap (src/rollup/RollupCore.sol#68) can be used in cross function reentrancies:\n\t- RollupCore._stakerMap (src/rollup/RollupCore.sol#68)\n\t- RollupCore.amountStaked(address) (src/rollup/RollupCore.sol#185-187)\n\t- RollupCore.challengeStarted(address,address,uint64) (src/rollup/RollupCore.sol#378-385)\n\t- RollupCore.clearChallenge(address) (src/rollup/RollupCore.sol#367-370)\n\t- RollupCore.currentChallenge(address) (src/rollup/RollupCore.sol#176-178)\n\t- RollupCore.deleteStaker(address) (src/rollup/RollupCore.sol#542-550)\n\t- RollupCore.getStaker(address) (src/rollup/RollupCore.sol#194-196)\n\t- RollupCore.inChallenge(address,address) (src/rollup/RollupCore.sol#350-361)\n\t- RollupCore.increaseStakeBy(address,uint256) (src/rollup/RollupCore.sol#392-398)\n\t- RollupCore.isStaked(address) (src/rollup/RollupCore.sol#148-150)\n\t- RollupCore.isStakedOnLatestConfirmed(address) (src/rollup/RollupCore.sol#158-160)\n\t- RollupCore.latestStakedNode(address) (src/rollup/RollupCore.sol#167-169)\n\t- RollupCore.reduceStakeTo(address,uint256) (src/rollup/RollupCore.sol#406-415)\n\t- RollupCore.stakeOnNode(address,uint64) (src/rollup/RollupCore.sol#507-511)\n\t- RollupCore.turnIntoZombie(address) (src/rollup/RollupCore.sol#421-425)\n\t- RollupCore.withdrawStaker(address) (src/rollup/RollupCore.sol#488-500)\n", "markdown": "Reentrancy in [AbsRollupUserLogic.createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])](src/rollup/RollupUserLogic.sol#L291-L364):\n\tExternal calls:\n\t- [challengeIndex = createChallengeHelper(stakers,machineStatuses,globalStates,numBlocks,wasmModuleRoots,(commonEndBlock - proposedBlocks[0]) * ETH_POS_BLOCK_TIME,(commonEndBlock - proposedBlocks[1]) * ETH_POS_BLOCK_TIME)](src/rollup/RollupUserLogic.sol#L350-L359)\n\t\t- [challengeManager.createChallenge(wasmModuleRoots[0],machineStatuses,globalStates,numBlocks,stakers[0],stakers[1],asserterTimeLeft,challengerTimeLeft)](src/rollup/RollupUserLogic.sol#L375-L385)\n\tState variables written after the call(s):\n\t- [challengeStarted(stakers[0],stakers[1],challengeIndex)](src/rollup/RollupUserLogic.sol#L361)\n\t\t- [_stakerMap[staker1].currentChallenge = challenge](src/rollup/RollupCore.sol#L383)\n\t\t- [_stakerMap[staker2].currentChallenge = challenge](src/rollup/RollupCore.sol#L384)\n\t[RollupCore._stakerMap](src/rollup/RollupCore.sol#L68) can be used in cross function reentrancies:\n\t- [RollupCore._stakerMap](src/rollup/RollupCore.sol#L68)\n\t- [RollupCore.amountStaked(address)](src/rollup/RollupCore.sol#L185-L187)\n\t- [RollupCore.challengeStarted(address,address,uint64)](src/rollup/RollupCore.sol#L378-L385)\n\t- [RollupCore.clearChallenge(address)](src/rollup/RollupCore.sol#L367-L370)\n\t- [RollupCore.currentChallenge(address)](src/rollup/RollupCore.sol#L176-L178)\n\t- [RollupCore.deleteStaker(address)](src/rollup/RollupCore.sol#L542-L550)\n\t- [RollupCore.getStaker(address)](src/rollup/RollupCore.sol#L194-L196)\n\t- [RollupCore.inChallenge(address,address)](src/rollup/RollupCore.sol#L350-L361)\n\t- [RollupCore.increaseStakeBy(address,uint256)](src/rollup/RollupCore.sol#L392-L398)\n\t- [RollupCore.isStaked(address)](src/rollup/RollupCore.sol#L148-L150)\n\t- [RollupCore.isStakedOnLatestConfirmed(address)](src/rollup/RollupCore.sol#L158-L160)\n\t- [RollupCore.latestStakedNode(address)](src/rollup/RollupCore.sol#L167-L169)\n\t- [RollupCore.reduceStakeTo(address,uint256)](src/rollup/RollupCore.sol#L406-L415)\n\t- [RollupCore.stakeOnNode(address,uint64)](src/rollup/RollupCore.sol#L507-L511)\n\t- [RollupCore.turnIntoZombie(address)](src/rollup/RollupCore.sol#L421-L425)\n\t- [RollupCore.withdrawStaker(address)](src/rollup/RollupCore.sol#L488-L500)\n", "first_markdown_element": "src/rollup/RollupUserLogic.sol#L291-L364", "id": "af65892a907a109b6f58d5895c29425a5794647abc20793593b6461989e07fb6", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "executeTransactionImpl", "source_mapping": {"start": 7336, "length": 990, "filename_relative": "src/bridge/AbsOutbox.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsOutbox.sol", "filename_short": "src/bridge/AbsOutbox.sol", "is_dependency": false, "lines": [196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsOutbox", "source_mapping": {"start": 698, "length": 11504, "filename_relative": "src/bridge/AbsOutbox.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsOutbox.sol", "filename_short": "src/bridge/AbsOutbox.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransactionImpl(uint256,address,address,uint256,uint256,uint256,uint256,bytes)"}}, {"type": "node", "name": "executeBridgeCall(to,value,data)", "source_mapping": {"start": 8253, "length": 34, "filename_relative": "src/bridge/AbsOutbox.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsOutbox.sol", "filename_short": "src/bridge/AbsOutbox.sol", "is_dependency": false, "lines": [222], "starting_column": 9, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransactionImpl", "source_mapping": {"start": 7336, "length": 990, "filename_relative": "src/bridge/AbsOutbox.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsOutbox.sol", "filename_short": "src/bridge/AbsOutbox.sol", "is_dependency": false, "lines": [196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsOutbox", "source_mapping": {"start": 698, "length": 11504, "filename_relative": "src/bridge/AbsOutbox.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsOutbox.sol", "filename_short": "src/bridge/AbsOutbox.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransactionImpl(uint256,address,address,uint256,uint256,uint256,uint256,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "(success,returndata) = bridge.executeCall(to,value,data)", "source_mapping": {"start": 9954, "length": 77, "filename_relative": "src/bridge/AbsOutbox.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsOutbox.sol", "filename_short": "src/bridge/AbsOutbox.sol", "is_dependency": false, "lines": [275], "starting_column": 9, "ending_column": 86}, "type_specific_fields": {"parent": {"type": "function", "name": "executeBridgeCall", "source_mapping": {"start": 9832, "length": 594, "filename_relative": "src/bridge/AbsOutbox.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsOutbox.sol", "filename_short": "src/bridge/AbsOutbox.sol", "is_dependency": false, "lines": [270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsOutbox", "source_mapping": {"start": 698, "length": 11504, "filename_relative": "src/bridge/AbsOutbox.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsOutbox.sol", "filename_short": "src/bridge/AbsOutbox.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326], "starting_column": 1, "ending_column": 2}}, "signature": "executeBridgeCall(address,uint256,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "context = prevContext", "source_mapping": {"start": 8298, "length": 21, "filename_relative": "src/bridge/AbsOutbox.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsOutbox.sol", "filename_short": "src/bridge/AbsOutbox.sol", "is_dependency": false, "lines": [224], "starting_column": 9, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransactionImpl", "source_mapping": {"start": 7336, "length": 990, "filename_relative": "src/bridge/AbsOutbox.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsOutbox.sol", "filename_short": "src/bridge/AbsOutbox.sol", "is_dependency": false, "lines": [196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsOutbox", "source_mapping": {"start": 698, "length": 11504, "filename_relative": "src/bridge/AbsOutbox.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsOutbox.sol", "filename_short": "src/bridge/AbsOutbox.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransactionImpl(uint256,address,address,uint256,uint256,uint256,uint256,bytes)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "context"}}], "description": "Reentrancy in AbsOutbox.executeTransactionImpl(uint256,address,address,uint256,uint256,uint256,uint256,bytes) (src/bridge/AbsOutbox.sol#196-225):\n\tExternal calls:\n\t- executeBridgeCall(to,value,data) (src/bridge/AbsOutbox.sol#222)\n\t\t- (success,returndata) = bridge.executeCall(to,value,data) (src/bridge/AbsOutbox.sol#275)\n\tState variables written after the call(s):\n\t- context = prevContext (src/bridge/AbsOutbox.sol#224)\n\tAbsOutbox.context (src/bridge/AbsOutbox.sol#51) can be used in cross function reentrancies:\n\t- AbsOutbox.executeTransactionImpl(uint256,address,address,uint256,uint256,uint256,uint256,bytes) (src/bridge/AbsOutbox.sol#196-225)\n\t- AbsOutbox.initialize(IBridge) (src/bridge/AbsOutbox.sol#63-79)\n\t- AbsOutbox.l2ToL1Block() (src/bridge/AbsOutbox.sol#118-123)\n\t- AbsOutbox.l2ToL1EthBlock() (src/bridge/AbsOutbox.sol#126-131)\n\t- AbsOutbox.l2ToL1OutputId() (src/bridge/AbsOutbox.sol#147-152)\n\t- AbsOutbox.l2ToL1Sender() (src/bridge/AbsOutbox.sol#110-115)\n\t- AbsOutbox.l2ToL1Timestamp() (src/bridge/AbsOutbox.sol#134-139)\n\t- AbsOutbox.postUpgradeInit() (src/bridge/AbsOutbox.sol#81-92)\n", "markdown": "Reentrancy in [AbsOutbox.executeTransactionImpl(uint256,address,address,uint256,uint256,uint256,uint256,bytes)](src/bridge/AbsOutbox.sol#L196-L225):\n\tExternal calls:\n\t- [executeBridgeCall(to,value,data)](src/bridge/AbsOutbox.sol#L222)\n\t\t- [(success,returndata) = bridge.executeCall(to,value,data)](src/bridge/AbsOutbox.sol#L275)\n\tState variables written after the call(s):\n\t- [context = prevContext](src/bridge/AbsOutbox.sol#L224)\n\t[AbsOutbox.context](src/bridge/AbsOutbox.sol#L51) can be used in cross function reentrancies:\n\t- [AbsOutbox.executeTransactionImpl(uint256,address,address,uint256,uint256,uint256,uint256,bytes)](src/bridge/AbsOutbox.sol#L196-L225)\n\t- [AbsOutbox.initialize(IBridge)](src/bridge/AbsOutbox.sol#L63-L79)\n\t- [AbsOutbox.l2ToL1Block()](src/bridge/AbsOutbox.sol#L118-L123)\n\t- [AbsOutbox.l2ToL1EthBlock()](src/bridge/AbsOutbox.sol#L126-L131)\n\t- [AbsOutbox.l2ToL1OutputId()](src/bridge/AbsOutbox.sol#L147-L152)\n\t- [AbsOutbox.l2ToL1Sender()](src/bridge/AbsOutbox.sol#L110-L115)\n\t- [AbsOutbox.l2ToL1Timestamp()](src/bridge/AbsOutbox.sol#L134-L139)\n\t- [AbsOutbox.postUpgradeInit()](src/bridge/AbsOutbox.sol#L81-L92)\n", "first_markdown_element": "src/bridge/AbsOutbox.sol#L196-L225", "id": "426e61b097c321e642232d0d55da1f37bdf8bba9a4d0f425a61dc187192ef9ed", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "forceResolveChallenge", "source_mapping": {"start": 10412, "length": 631, "filename_relative": "src/rollup/RollupAdminLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupAdminLogic.sol", "filename_short": "src/rollup/RollupAdminLogic.sol", "is_dependency": false, "lines": [258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupAdminLogic", "source_mapping": {"start": 590, "length": 14555, "filename_relative": "src/rollup/RollupAdminLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupAdminLogic.sol", "filename_short": "src/rollup/RollupAdminLogic.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382], "starting_column": 1, "ending_column": 2}}, "signature": "forceResolveChallenge(address[],address[])"}}, {"type": "node", "name": "challengeManager.clearChallenge(chall)", "source_mapping": {"start": 10950, "length": 38, "filename_relative": "src/rollup/RollupAdminLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupAdminLogic.sol", "filename_short": "src/rollup/RollupAdminLogic.sol", "is_dependency": false, "lines": [271], "starting_column": 13, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "function", "name": "forceResolveChallenge", "source_mapping": {"start": 10412, "length": 631, "filename_relative": "src/rollup/RollupAdminLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupAdminLogic.sol", "filename_short": "src/rollup/RollupAdminLogic.sol", "is_dependency": false, "lines": [258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupAdminLogic", "source_mapping": {"start": 590, "length": 14555, "filename_relative": "src/rollup/RollupAdminLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupAdminLogic.sol", "filename_short": "src/rollup/RollupAdminLogic.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382], "starting_column": 1, "ending_column": 2}}, "signature": "forceResolveChallenge(address[],address[])"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "clearChallenge(stakerA[i])", "source_mapping": {"start": 10870, "length": 26, "filename_relative": "src/rollup/RollupAdminLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupAdminLogic.sol", "filename_short": "src/rollup/RollupAdminLogic.sol", "is_dependency": false, "lines": [269], "starting_column": 13, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "forceResolveChallenge", "source_mapping": {"start": 10412, "length": 631, "filename_relative": "src/rollup/RollupAdminLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupAdminLogic.sol", "filename_short": "src/rollup/RollupAdminLogic.sol", "is_dependency": false, "lines": [258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupAdminLogic", "source_mapping": {"start": 590, "length": 14555, "filename_relative": "src/rollup/RollupAdminLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupAdminLogic.sol", "filename_short": "src/rollup/RollupAdminLogic.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382], "starting_column": 1, "ending_column": 2}}, "signature": "forceResolveChallenge(address[],address[])"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_stakerMap"}}, {"type": "node", "name": "staker.currentChallenge = NO_CHAL_INDEX", "source_mapping": {"start": 13136, "length": 39, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [369], "starting_column": 9, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "function", "name": "clearChallenge", "source_mapping": {"start": 13011, "length": 171, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [367, 368, 369, 370], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24587, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}, "signature": "clearChallenge(address)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_stakerMap"}}, {"type": "node", "name": "clearChallenge(stakerB[i])", "source_mapping": {"start": 10910, "length": 26, "filename_relative": "src/rollup/RollupAdminLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupAdminLogic.sol", "filename_short": "src/rollup/RollupAdminLogic.sol", "is_dependency": false, "lines": [270], "starting_column": 13, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "forceResolveChallenge", "source_mapping": {"start": 10412, "length": 631, "filename_relative": "src/rollup/RollupAdminLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupAdminLogic.sol", "filename_short": "src/rollup/RollupAdminLogic.sol", "is_dependency": false, "lines": [258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupAdminLogic", "source_mapping": {"start": 590, "length": 14555, "filename_relative": "src/rollup/RollupAdminLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupAdminLogic.sol", "filename_short": "src/rollup/RollupAdminLogic.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382], "starting_column": 1, "ending_column": 2}}, "signature": "forceResolveChallenge(address[],address[])"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_stakerMap"}}, {"type": "node", "name": "staker.currentChallenge = NO_CHAL_INDEX", "source_mapping": {"start": 13136, "length": 39, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [369], "starting_column": 9, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "function", "name": "clearChallenge", "source_mapping": {"start": 13011, "length": 171, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [367, 368, 369, 370], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24587, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}, "signature": "clearChallenge(address)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_stakerMap"}}], "description": "Reentrancy in RollupAdminLogic.forceResolveChallenge(address[],address[]) (src/rollup/RollupAdminLogic.sol#258-274):\n\tExternal calls:\n\t- challengeManager.clearChallenge(chall) (src/rollup/RollupAdminLogic.sol#271)\n\tState variables written after the call(s):\n\t- clearChallenge(stakerA[i]) (src/rollup/RollupAdminLogic.sol#269)\n\t\t- staker.currentChallenge = NO_CHAL_INDEX (src/rollup/RollupCore.sol#369)\n\tRollupCore._stakerMap (src/rollup/RollupCore.sol#68) can be used in cross function reentrancies:\n\t- RollupCore._stakerMap (src/rollup/RollupCore.sol#68)\n\t- RollupCore.amountStaked(address) (src/rollup/RollupCore.sol#185-187)\n\t- RollupCore.clearChallenge(address) (src/rollup/RollupCore.sol#367-370)\n\t- RollupCore.currentChallenge(address) (src/rollup/RollupCore.sol#176-178)\n\t- RollupCore.deleteStaker(address) (src/rollup/RollupCore.sol#542-550)\n\t- RollupAdminLogic.forceRefundStaker(address[]) (src/rollup/RollupAdminLogic.sol#276-284)\n\t- RollupCore.getStaker(address) (src/rollup/RollupCore.sol#194-196)\n\t- RollupCore.inChallenge(address,address) (src/rollup/RollupCore.sol#350-361)\n\t- RollupCore.isStaked(address) (src/rollup/RollupCore.sol#148-150)\n\t- RollupCore.isStakedOnLatestConfirmed(address) (src/rollup/RollupCore.sol#158-160)\n\t- RollupCore.latestStakedNode(address) (src/rollup/RollupCore.sol#167-169)\n\t- RollupCore.reduceStakeTo(address,uint256) (src/rollup/RollupCore.sol#406-415)\n\t- RollupCore.turnIntoZombie(address) (src/rollup/RollupCore.sol#421-425)\n\t- clearChallenge(stakerB[i]) (src/rollup/RollupAdminLogic.sol#270)\n\t\t- staker.currentChallenge = NO_CHAL_INDEX (src/rollup/RollupCore.sol#369)\n\tRollupCore._stakerMap (src/rollup/RollupCore.sol#68) can be used in cross function reentrancies:\n\t- RollupCore._stakerMap (src/rollup/RollupCore.sol#68)\n\t- RollupCore.amountStaked(address) (src/rollup/RollupCore.sol#185-187)\n\t- RollupCore.clearChallenge(address) (src/rollup/RollupCore.sol#367-370)\n\t- RollupCore.currentChallenge(address) (src/rollup/RollupCore.sol#176-178)\n\t- RollupCore.deleteStaker(address) (src/rollup/RollupCore.sol#542-550)\n\t- RollupAdminLogic.forceRefundStaker(address[]) (src/rollup/RollupAdminLogic.sol#276-284)\n\t- RollupCore.getStaker(address) (src/rollup/RollupCore.sol#194-196)\n\t- RollupCore.inChallenge(address,address) (src/rollup/RollupCore.sol#350-361)\n\t- RollupCore.isStaked(address) (src/rollup/RollupCore.sol#148-150)\n\t- RollupCore.isStakedOnLatestConfirmed(address) (src/rollup/RollupCore.sol#158-160)\n\t- RollupCore.latestStakedNode(address) (src/rollup/RollupCore.sol#167-169)\n\t- RollupCore.reduceStakeTo(address,uint256) (src/rollup/RollupCore.sol#406-415)\n\t- RollupCore.turnIntoZombie(address) (src/rollup/RollupCore.sol#421-425)\n", "markdown": "Reentrancy in [RollupAdminLogic.forceResolveChallenge(address[],address[])](src/rollup/RollupAdminLogic.sol#L258-L274):\n\tExternal calls:\n\t- [challengeManager.clearChallenge(chall)](src/rollup/RollupAdminLogic.sol#L271)\n\tState variables written after the call(s):\n\t- [clearChallenge(stakerA[i])](src/rollup/RollupAdminLogic.sol#L269)\n\t\t- [staker.currentChallenge = NO_CHAL_INDEX](src/rollup/RollupCore.sol#L369)\n\t[RollupCore._stakerMap](src/rollup/RollupCore.sol#L68) can be used in cross function reentrancies:\n\t- [RollupCore._stakerMap](src/rollup/RollupCore.sol#L68)\n\t- [RollupCore.amountStaked(address)](src/rollup/RollupCore.sol#L185-L187)\n\t- [RollupCore.clearChallenge(address)](src/rollup/RollupCore.sol#L367-L370)\n\t- [RollupCore.currentChallenge(address)](src/rollup/RollupCore.sol#L176-L178)\n\t- [RollupCore.deleteStaker(address)](src/rollup/RollupCore.sol#L542-L550)\n\t- [RollupAdminLogic.forceRefundStaker(address[])](src/rollup/RollupAdminLogic.sol#L276-L284)\n\t- [RollupCore.getStaker(address)](src/rollup/RollupCore.sol#L194-L196)\n\t- [RollupCore.inChallenge(address,address)](src/rollup/RollupCore.sol#L350-L361)\n\t- [RollupCore.isStaked(address)](src/rollup/RollupCore.sol#L148-L150)\n\t- [RollupCore.isStakedOnLatestConfirmed(address)](src/rollup/RollupCore.sol#L158-L160)\n\t- [RollupCore.latestStakedNode(address)](src/rollup/RollupCore.sol#L167-L169)\n\t- [RollupCore.reduceStakeTo(address,uint256)](src/rollup/RollupCore.sol#L406-L415)\n\t- [RollupCore.turnIntoZombie(address)](src/rollup/RollupCore.sol#L421-L425)\n\t- [clearChallenge(stakerB[i])](src/rollup/RollupAdminLogic.sol#L270)\n\t\t- [staker.currentChallenge = NO_CHAL_INDEX](src/rollup/RollupCore.sol#L369)\n\t[RollupCore._stakerMap](src/rollup/RollupCore.sol#L68) can be used in cross function reentrancies:\n\t- [RollupCore._stakerMap](src/rollup/RollupCore.sol#L68)\n\t- [RollupCore.amountStaked(address)](src/rollup/RollupCore.sol#L185-L187)\n\t- [RollupCore.clearChallenge(address)](src/rollup/RollupCore.sol#L367-L370)\n\t- [RollupCore.currentChallenge(address)](src/rollup/RollupCore.sol#L176-L178)\n\t- [RollupCore.deleteStaker(address)](src/rollup/RollupCore.sol#L542-L550)\n\t- [RollupAdminLogic.forceRefundStaker(address[])](src/rollup/RollupAdminLogic.sol#L276-L284)\n\t- [RollupCore.getStaker(address)](src/rollup/RollupCore.sol#L194-L196)\n\t- [RollupCore.inChallenge(address,address)](src/rollup/RollupCore.sol#L350-L361)\n\t- [RollupCore.isStaked(address)](src/rollup/RollupCore.sol#L148-L150)\n\t- [RollupCore.isStakedOnLatestConfirmed(address)](src/rollup/RollupCore.sol#L158-L160)\n\t- [RollupCore.latestStakedNode(address)](src/rollup/RollupCore.sol#L167-L169)\n\t- [RollupCore.reduceStakeTo(address,uint256)](src/rollup/RollupCore.sol#L406-L415)\n\t- [RollupCore.turnIntoZombie(address)](src/rollup/RollupCore.sol#L421-L425)\n", "first_markdown_element": "src/rollup/RollupAdminLogic.sol#L258-L274", "id": "2e21893be44131693ea2dfb272622853fa44deea082e4c78e0bbd132c84af93e", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "u64Vals", "source_mapping": {"start": 6924, "length": 24, "filename_relative": "src/state/Deserialize.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/state/Deserialize.sol", "filename_short": "src/state/Deserialize.sol", "is_dependency": false, "lines": [226], "starting_column": 9, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "function", "name": "globalState", "source_mapping": {"start": 6617, "length": 684, "filename_relative": "src/state/Deserialize.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/state/Deserialize.sol", "filename_short": "src/state/Deserialize.sol", "is_dependency": false, "lines": [217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Deserialize", "source_mapping": {"start": 450, "length": 9161, "filename_relative": "src/state/Deserialize.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/state/Deserialize.sol", "filename_short": "src/state/Deserialize.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302], "starting_column": 1, "ending_column": 2}}, "signature": "globalState(bytes,uint256)"}}}}], "description": "Deserialize.globalState(bytes,uint256).u64Vals (src/state/Deserialize.sol#226) is a local variable never initialized\n", "markdown": "[Deserialize.globalState(bytes,uint256).u64Vals](src/state/Deserialize.sol#L226) is a local variable never initialized\n", "first_markdown_element": "src/state/Deserialize.sol#L226", "id": "b49e20832cf227724d4b048fc859ce00efa36bda00bb2d354df6861b1e5b65c8", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "funcIdx", "source_mapping": {"start": 6151, "length": 14, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [194], "starting_column": 9, "ending_column": 23}, "type_specific_fields": {"parent": {"type": "function", "name": "executeCallIndirect", "source_mapping": {"start": 5971, "length": 3565, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProver0", "source_mapping": {"start": 362, "length": 16704, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494], "starting_column": 1, "ending_column": 2}}, "signature": "executeCallIndirect(Machine,Module,Instruction,bytes)"}}}}], "description": "OneStepProver0.executeCallIndirect(Machine,Module,Instruction,bytes).funcIdx (src/osp/OneStepProver0.sol#194) is a local variable never initialized\n", "markdown": "[OneStepProver0.executeCallIndirect(Machine,Module,Instruction,bytes).funcIdx](src/osp/OneStepProver0.sol#L194) is a local variable never initialized\n", "first_markdown_element": "src/osp/OneStepProver0.sol#L194", "id": "0b3ea27e34dd552b3d33e544c7732699f56da1be9d675526040264c6f35cf115", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "sourceBits", "source_mapping": {"start": 12021, "length": 16, "filename_relative": "src/osp/OneStepProverMath.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMath.sol", "filename_short": "src/osp/OneStepProverMath.sol", "is_dependency": false, "lines": [400], "starting_column": 9, "ending_column": 25}, "type_specific_fields": {"parent": {"type": "function", "name": "executeExtendSameType", "source_mapping": {"start": 11827, "length": 1476, "filename_relative": "src/osp/OneStepProverMath.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMath.sol", "filename_short": "src/osp/OneStepProverMath.sol", "is_dependency": false, "lines": [393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverMath", "source_mapping": {"start": 362, "length": 16325, "filename_relative": "src/osp/OneStepProverMath.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMath.sol", "filename_short": "src/osp/OneStepProverMath.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524], "starting_column": 1, "ending_column": 2}}, "signature": "executeExtendSameType(Machine,Module,Instruction,bytes)"}}}}], "description": "OneStepProverMath.executeExtendSameType(Machine,Module,Instruction,bytes).sourceBits (src/osp/OneStepProverMath.sol#400) is a local variable never initialized\n", "markdown": "[OneStepProverMath.executeExtendSameType(Machine,Module,Instruction,bytes).sourceBits](src/osp/OneStepProverMath.sol#L400) is a local variable never initialized\n", "first_markdown_element": "src/osp/OneStepProverMath.sol#L400", "id": "7e6b4db4655b21a377a13a4c03fdcc62f8c4e56c5ecdf979c82afb0985a1fac5", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "part", "source_mapping": {"start": 1123, "length": 17, "filename_relative": "src/osp/HashProofHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/HashProofHelper.sol", "filename_short": "src/osp/HashProofHelper.sol", "is_dependency": false, "lines": [38], "starting_column": 9, "ending_column": 26}, "type_specific_fields": {"parent": {"type": "function", "name": "proveWithFullPreimage", "source_mapping": {"start": 954, "length": 572, "filename_relative": "src/osp/HashProofHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/HashProofHelper.sol", "filename_short": "src/osp/HashProofHelper.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "HashProofHelper", "source_mapping": {"start": 388, "length": 5264, "filename_relative": "src/osp/HashProofHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/HashProofHelper.sol", "filename_short": "src/osp/HashProofHelper.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154], "starting_column": 1, "ending_column": 2}}, "signature": "proveWithFullPreimage(bytes,uint64)"}}}}], "description": "HashProofHelper.proveWithFullPreimage(bytes,uint64).part (src/osp/HashProofHelper.sol#38) is a local variable never initialized\n", "markdown": "[HashProofHelper.proveWithFullPreimage(bytes,uint64).part](src/osp/HashProofHelper.sol#L38) is a local variable never initialized\n", "first_markdown_element": "src/osp/HashProofHelper.sol#L38", "id": "9f6b190b96895f4cfb0f3db956545a55f4132aa16c8af057e7257d7fd2c5de43", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "ty", "source_mapping": {"start": 1685, "length": 12, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [49], "starting_column": 9, "ending_column": 21}, "type_specific_fields": {"parent": {"type": "function", "name": "executeMemoryLoad", "source_mapping": {"start": 1507, "length": 4594, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverMemory", "source_mapping": {"start": 368, "length": 11469, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313], "starting_column": 1, "ending_column": 2}}, "signature": "executeMemoryLoad(Machine,Module,Instruction,bytes)"}}}}], "description": "OneStepProverMemory.executeMemoryLoad(Machine,Module,Instruction,bytes).ty (src/osp/OneStepProverMemory.sol#49) is a local variable never initialized\n", "markdown": "[OneStepProverMemory.executeMemoryLoad(Machine,Module,Instruction,bytes).ty](src/osp/OneStepProverMemory.sol#L49) is a local variable never initialized\n", "first_markdown_element": "src/osp/OneStepProverMemory.sol#L49", "id": "d44b109a885f9f18431fcbd810bf7f45b9f86b4749430739056c0786ab2d150e", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "impl", "source_mapping": {"start": 11151, "length": 120, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [296, 297, 298], "starting_column": 9, "ending_column": 22}, "type_specific_fields": {"parent": {"type": "function", "name": "executeOneStep", "source_mapping": {"start": 10780, "length": 1055, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverMemory", "source_mapping": {"start": 368, "length": 11469, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313], "starting_column": 1, "ending_column": 2}}, "signature": "executeOneStep(ExecutionContext,Machine,Module,Instruction,bytes)"}}}}], "description": "OneStepProverMemory.executeOneStep(ExecutionContext,Machine,Module,Instruction,bytes).impl (src/osp/OneStepProverMemory.sol#296-298) is a local variable never initialized\n", "markdown": "[OneStepProverMemory.executeOneStep(ExecutionContext,Machine,Module,Instruction,bytes).impl](src/osp/OneStepProverMemory.sol#L296-L298) is a local variable never initialized\n", "first_markdown_element": "src/osp/OneStepProverMemory.sol#L296-L298", "id": "c0081c68be4899b530be0e0720e9713a3d42b71364ad4392c42fd165ec162d1e", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "beforeAcc", "source_mapping": {"start": 11222, "length": 17, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [278], "starting_column": 9, "ending_column": 26}, "type_specific_fields": {"parent": {"type": "function", "name": "validateDelayedInbox", "source_mapping": {"start": 10970, "length": 916, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverHostIo", "source_mapping": {"start": 433, "length": 16565, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450], "starting_column": 1, "ending_column": 2}}, "signature": "validateDelayedInbox(ExecutionContext,uint64,bytes)"}}}}], "description": "OneStepProverHostIo.validateDelayedInbox(ExecutionContext,uint64,bytes).beforeAcc (src/osp/OneStepProverHostIo.sol#278) is a local variable never initialized\n", "markdown": "[OneStepProverHostIo.validateDelayedInbox(ExecutionContext,uint64,bytes).beforeAcc](src/osp/OneStepProverHostIo.sol#L278) is a local variable never initialized\n", "first_markdown_element": "src/osp/OneStepProverHostIo.sol#L278", "id": "dab8df6b27e88ad0e415842d20e13cd455e0d5f0c84fa74d2906eefd6d1e06f0", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "impl", "source_mapping": {"start": 14734, "length": 120, "filename_relative": "src/osp/OneStepProverMath.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMath.sol", "filename_short": "src/osp/OneStepProverMath.sol", "is_dependency": false, "lines": [477, 478, 479], "starting_column": 9, "ending_column": 22}, "type_specific_fields": {"parent": {"type": "function", "name": "executeOneStep", "source_mapping": {"start": 14363, "length": 2322, "filename_relative": "src/osp/OneStepProverMath.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMath.sol", "filename_short": "src/osp/OneStepProverMath.sol", "is_dependency": false, "lines": [465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverMath", "source_mapping": {"start": 362, "length": 16325, "filename_relative": "src/osp/OneStepProverMath.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMath.sol", "filename_short": "src/osp/OneStepProverMath.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524], "starting_column": 1, "ending_column": 2}}, "signature": "executeOneStep(ExecutionContext,Machine,Module,Instruction,bytes)"}}}}], "description": "OneStepProverMath.executeOneStep(ExecutionContext,Machine,Module,Instruction,bytes).impl (src/osp/OneStepProverMath.sol#477-479) is a local variable never initialized\n", "markdown": "[OneStepProverMath.executeOneStep(ExecutionContext,Machine,Module,Instruction,bytes).impl](src/osp/OneStepProverMath.sol#L477-L479) is a local variable never initialized\n", "first_markdown_element": "src/osp/OneStepProverMath.sol#L477-L479", "id": "7bb129f3bd93db0e9c1579c8ab353fe86d0d54b40d421f4a568ab9279ce8b6cb", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "internalStack", "source_mapping": {"start": 1959, "length": 31, "filename_relative": "src/challenge/ChallengeLib.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", "filename_short": "src/challenge/ChallengeLib.sol", "is_dependency": false, "lines": [63], "starting_column": 9, "ending_column": 40}, "type_specific_fields": {"parent": {"type": "function", "name": "getStartMachineHash", "source_mapping": {"start": 1364, "length": 1078, "filename_relative": "src/challenge/ChallengeLib.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", "filename_short": "src/challenge/ChallengeLib.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChallengeLib", "source_mapping": {"start": 272, "length": 4325, "filename_relative": "src/challenge/ChallengeLib.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", "filename_short": "src/challenge/ChallengeLib.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133], "starting_column": 1, "ending_column": 2}}, "signature": "getStartMachineHash(bytes32,bytes32)"}}}}], "description": "ChallengeLib.getStartMachineHash(bytes32,bytes32).internalStack (src/challenge/ChallengeLib.sol#63) is a local variable never initialized\n", "markdown": "[ChallengeLib.getStartMachineHash(bytes32,bytes32).internalStack](src/challenge/ChallengeLib.sol#L63) is a local variable never initialized\n", "first_markdown_element": "src/challenge/ChallengeLib.sol#L63", "id": "2b6e1af0735464f525ca02dac16210c75f5e60fdd4f5020e646e82eccdf94e2a", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "frameStack", "source_mapping": {"start": 2000, "length": 34, "filename_relative": "src/challenge/ChallengeLib.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", "filename_short": "src/challenge/ChallengeLib.sol", "is_dependency": false, "lines": [64], "starting_column": 9, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "function", "name": "getStartMachineHash", "source_mapping": {"start": 1364, "length": 1078, "filename_relative": "src/challenge/ChallengeLib.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", "filename_short": "src/challenge/ChallengeLib.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChallengeLib", "source_mapping": {"start": 272, "length": 4325, "filename_relative": "src/challenge/ChallengeLib.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", "filename_short": "src/challenge/ChallengeLib.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133], "starting_column": 1, "ending_column": 2}}, "signature": "getStartMachineHash(bytes32,bytes32)"}}}}], "description": "ChallengeLib.getStartMachineHash(bytes32,bytes32).frameStack (src/challenge/ChallengeLib.sol#64) is a local variable never initialized\n", "markdown": "[ChallengeLib.getStartMachineHash(bytes32,bytes32).frameStack](src/challenge/ChallengeLib.sol#L64) is a local variable never initialized\n", "first_markdown_element": "src/challenge/ChallengeLib.sol#L64", "id": "e2c13e88a674b7d15f66c38811493b28e3d768158293153c3761365faf8e45c7", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "signed", "source_mapping": {"start": 1734, "length": 11, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [51], "starting_column": 9, "ending_column": 20}, "type_specific_fields": {"parent": {"type": "function", "name": "executeMemoryLoad", "source_mapping": {"start": 1507, "length": 4594, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverMemory", "source_mapping": {"start": 368, "length": 11469, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313], "starting_column": 1, "ending_column": 2}}, "signature": "executeMemoryLoad(Machine,Module,Instruction,bytes)"}}}}], "description": "OneStepProverMemory.executeMemoryLoad(Machine,Module,Instruction,bytes).signed (src/osp/OneStepProverMemory.sol#51) is a local variable never initialized\n", "markdown": "[OneStepProverMemory.executeMemoryLoad(Machine,Module,Instruction,bytes).signed](src/osp/OneStepProverMemory.sol#L51) is a local variable never initialized\n", "first_markdown_element": "src/osp/OneStepProverMemory.sol#L51", "id": "494ad26e42522ed318b7143deadf6e22863a94ac35e1bc7e431f680c09e99249", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "extracted", "source_mapping": {"start": 5123, "length": 22, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [147], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "executeReadPreImage", "source_mapping": {"start": 4302, "length": 5772, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverHostIo", "source_mapping": {"start": 433, "length": 16565, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450], "starting_column": 1, "ending_column": 2}}, "signature": "executeReadPreImage(ExecutionContext,Machine,Module,Instruction,bytes)"}}}}], "description": "OneStepProverHostIo.executeReadPreImage(ExecutionContext,Machine,Module,Instruction,bytes).extracted (src/osp/OneStepProverHostIo.sol#147) is a local variable never initialized\n", "markdown": "[OneStepProverHostIo.executeReadPreImage(ExecutionContext,Machine,Module,Instruction,bytes).extracted](src/osp/OneStepProverHostIo.sol#L147) is a local variable never initialized\n", "first_markdown_element": "src/osp/OneStepProverHostIo.sol#L147", "id": "b8f149ef07d9b5bf6a4fd2772d951ef00e1136d5728509097c74a6d35fb7419a", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "delayedAcc", "source_mapping": {"start": 10502, "length": 18, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [258], "starting_column": 9, "ending_column": 27}, "type_specific_fields": {"parent": {"type": "function", "name": "validateSequencerInbox", "source_mapping": {"start": 10080, "length": 884, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverHostIo", "source_mapping": {"start": 433, "length": 16565, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450], "starting_column": 1, "ending_column": 2}}, "signature": "validateSequencerInbox(ExecutionContext,uint64,bytes)"}}}}], "description": "OneStepProverHostIo.validateSequencerInbox(ExecutionContext,uint64,bytes).delayedAcc (src/osp/OneStepProverHostIo.sol#258) is a local variable never initialized\n", "markdown": "[OneStepProverHostIo.validateSequencerInbox(ExecutionContext,uint64,bytes).delayedAcc](src/osp/OneStepProverHostIo.sol#L258) is a local variable never initialized\n", "first_markdown_element": "src/osp/OneStepProverHostIo.sol#L258", "id": "a4af275d7732b756f493da186504395ee7b6705d359094ed504be4cb2382a71f", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "state256", "source_mapping": {"start": 4683, "length": 27, "filename_relative": "src/osp/HashProofHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/HashProofHelper.sol", "filename_short": "src/osp/HashProofHelper.sol", "is_dependency": false, "lines": [127], "starting_column": 13, "ending_column": 40}, "type_specific_fields": {"parent": {"type": "function", "name": "keccakUpdate", "source_mapping": {"start": 3663, "length": 1486, "filename_relative": "src/osp/HashProofHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/HashProofHelper.sol", "filename_short": "src/osp/HashProofHelper.sol", "is_dependency": false, "lines": [99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "HashProofHelper", "source_mapping": {"start": 388, "length": 5264, "filename_relative": "src/osp/HashProofHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/HashProofHelper.sol", "filename_short": "src/osp/HashProofHelper.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154], "starting_column": 1, "ending_column": 2}}, "signature": "keccakUpdate(HashProofHelper.KeccakState,bytes,bool)"}}}}], "description": "HashProofHelper.keccakUpdate(HashProofHelper.KeccakState,bytes,bool).state256 (src/osp/HashProofHelper.sol#127) is a local variable never initialized\n", "markdown": "[HashProofHelper.keccakUpdate(HashProofHelper.KeccakState,bytes,bool).state256](src/osp/HashProofHelper.sol#L127) is a local variable never initialized\n", "first_markdown_element": "src/osp/HashProofHelper.sol#L127", "id": "b10eafcd668276e8f081740d67fa003ef0534d1520e371c18e96833214fc3ff2", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "beforeAcc", "source_mapping": {"start": 10475, "length": 17, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [257], "starting_column": 9, "ending_column": 26}, "type_specific_fields": {"parent": {"type": "function", "name": "validateSequencerInbox", "source_mapping": {"start": 10080, "length": 884, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverHostIo", "source_mapping": {"start": 433, "length": 16565, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450], "starting_column": 1, "ending_column": 2}}, "signature": "validateSequencerInbox(ExecutionContext,uint64,bytes)"}}}}], "description": "OneStepProverHostIo.validateSequencerInbox(ExecutionContext,uint64,bytes).beforeAcc (src/osp/OneStepProverHostIo.sol#257) is a local variable never initialized\n", "markdown": "[OneStepProverHostIo.validateSequencerInbox(ExecutionContext,uint64,bytes).beforeAcc](src/osp/OneStepProverHostIo.sol#L257) is a local variable never initialized\n", "first_markdown_element": "src/osp/OneStepProverHostIo.sol#L257", "id": "93458ecce4030168b57a5b4b9bddf11e556bda0b87b21572901703776f8a4a4d", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "memoryFrame", "source_mapping": {"start": 21082, "length": 38, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [575], "starting_column": 9, "ending_column": 47}, "type_specific_fields": {"parent": {"type": "function", "name": "createNewNode", "source_mapping": {"start": 20652, "length": 4618, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCore", "source_mapping": {"start": 685, "length": 24587, "filename_relative": "src/rollup/RollupCore.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", "filename_short": "src/rollup/RollupCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}, "signature": "createNewNode(Assertion,uint64,uint256,bytes32)"}}}}], "description": "RollupCore.createNewNode(Assertion,uint64,uint256,bytes32).memoryFrame (src/rollup/RollupCore.sol#575) is a local variable never initialized\n", "markdown": "[RollupCore.createNewNode(Assertion,uint64,uint256,bytes32).memoryFrame](src/rollup/RollupCore.sol#L575) is a local variable never initialized\n", "first_markdown_element": "src/rollup/RollupCore.sol#L575", "id": "22d3572f5fd9e44b1a0e455ebf3a57c571e31a392c713a5313ed78cdb5bdd79d", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "bounds", "source_mapping": {"start": 7906, "length": 32, "filename_relative": "src/bridge/SequencerInbox.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/SequencerInbox.sol", "filename_short": "src/bridge/SequencerInbox.sol", "is_dependency": false, "lines": [214], "starting_column": 9, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "function", "name": "getTimeBounds", "source_mapping": {"start": 7813, "length": 740, "filename_relative": "src/bridge/SequencerInbox.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/SequencerInbox.sol", "filename_short": "src/bridge/SequencerInbox.sol", "is_dependency": false, "lines": [213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SequencerInbox", "source_mapping": {"start": 1909, "length": 29266, "filename_relative": "src/bridge/SequencerInbox.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/SequencerInbox.sol", "filename_short": "src/bridge/SequencerInbox.sol", "is_dependency": false, "lines": [57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805], "starting_column": 1, "ending_column": 2}}, "signature": "getTimeBounds()"}}}}], "description": "SequencerInbox.getTimeBounds().bounds (src/bridge/SequencerInbox.sol#214) is a local variable never initialized\n", "markdown": "[SequencerInbox.getTimeBounds().bounds](src/bridge/SequencerInbox.sol#L214) is a local variable never initialized\n", "first_markdown_element": "src/bridge/SequencerInbox.sol#L214", "id": "a9ab2d44723c17809429f069881bb97a07e53966e1c848cc3083baebb7d26ceb", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "ty", "source_mapping": {"start": 6351, "length": 12, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [171], "starting_column": 13, "ending_column": 25}, "type_specific_fields": {"parent": {"type": "function", "name": "executeMemoryStore", "source_mapping": {"start": 6107, "length": 3663, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverMemory", "source_mapping": {"start": 368, "length": 11469, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313], "starting_column": 1, "ending_column": 2}}, "signature": "executeMemoryStore(Machine,Module,Instruction,bytes)"}}}}], "description": "OneStepProverMemory.executeMemoryStore(Machine,Module,Instruction,bytes).ty (src/osp/OneStepProverMemory.sol#171) is a local variable never initialized\n", "markdown": "[OneStepProverMemory.executeMemoryStore(Machine,Module,Instruction,bytes).ty](src/osp/OneStepProverMemory.sol#L171) is a local variable never initialized\n", "first_markdown_element": "src/osp/OneStepProverMemory.sol#L171", "id": "565f5e19fbe1a69065e4ef47ec789739a56008570ac09324d5995e298652f2be", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "ty", "source_mapping": {"start": 1158, "length": 12, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [44], "starting_column": 9, "ending_column": 21}, "type_specific_fields": {"parent": {"type": "function", "name": "executeConstPush", "source_mapping": {"start": 954, "length": 732, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProver0", "source_mapping": {"start": 362, "length": 16704, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494], "starting_column": 1, "ending_column": 2}}, "signature": "executeConstPush(Machine,Module,Instruction,bytes)"}}}}], "description": "OneStepProver0.executeConstPush(Machine,Module,Instruction,bytes).ty (src/osp/OneStepProver0.sol#44) is a local variable never initialized\n", "markdown": "[OneStepProver0.executeConstPush(Machine,Module,Instruction,bytes).ty](src/osp/OneStepProver0.sol#L44) is a local variable never initialized\n", "first_markdown_element": "src/osp/OneStepProver0.sol#L44", "id": "f3a4bd8740f9565ecd548a3027588ef6a9ab1fab50a47ee9989dff0a450c0d81", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "emptyGlobalState", "source_mapping": {"start": 3120, "length": 35, "filename_relative": "src/rollup/RollupAdminLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupAdminLogic.sol", "filename_short": "src/rollup/RollupAdminLogic.sol", "is_dependency": false, "lines": [78], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "createInitialNode", "source_mapping": {"start": 3046, "length": 662, "filename_relative": "src/rollup/RollupAdminLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupAdminLogic.sol", "filename_short": "src/rollup/RollupAdminLogic.sol", "is_dependency": false, "lines": [77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupAdminLogic", "source_mapping": {"start": 590, "length": 14555, "filename_relative": "src/rollup/RollupAdminLogic.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupAdminLogic.sol", "filename_short": "src/rollup/RollupAdminLogic.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382], "starting_column": 1, "ending_column": 2}}, "signature": "createInitialNode()"}}}}], "description": "RollupAdminLogic.createInitialNode().emptyGlobalState (src/rollup/RollupAdminLogic.sol#78) is a local variable never initialized\n", "markdown": "[RollupAdminLogic.createInitialNode().emptyGlobalState](src/rollup/RollupAdminLogic.sol#L78) is a local variable never initialized\n", "first_markdown_element": "src/rollup/RollupAdminLogic.sol#L78", "id": "b104a1c9b21db741f0eff33cad88bcd28b01251cf7cb2ac69372f55f19cc56b2", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "lastProvedLeafContents", "source_mapping": {"start": 4304, "length": 30, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [121], "starting_column": 9, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "executeMemoryLoad", "source_mapping": {"start": 1507, "length": 4594, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverMemory", "source_mapping": {"start": 368, "length": 11469, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313], "starting_column": 1, "ending_column": 2}}, "signature": "executeMemoryLoad(Machine,Module,Instruction,bytes)"}}}}], "description": "OneStepProverMemory.executeMemoryLoad(Machine,Module,Instruction,bytes).lastProvedLeafContents (src/osp/OneStepProverMemory.sol#121) is a local variable never initialized\n", "markdown": "[OneStepProverMemory.executeMemoryLoad(Machine,Module,Instruction,bytes).lastProvedLeafContents](src/osp/OneStepProverMemory.sol#L121) is a local variable never initialized\n", "first_markdown_element": "src/osp/OneStepProverMemory.sol#L121", "id": "162cb33b9534bc21104309b21e51a798ebe240718727aed3b174e3802daec4c1", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "bytes32Vals", "source_mapping": {"start": 6885, "length": 29, "filename_relative": "src/state/Deserialize.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/state/Deserialize.sol", "filename_short": "src/state/Deserialize.sol", "is_dependency": false, "lines": [225], "starting_column": 9, "ending_column": 38}, "type_specific_fields": {"parent": {"type": "function", "name": "globalState", "source_mapping": {"start": 6617, "length": 684, "filename_relative": "src/state/Deserialize.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/state/Deserialize.sol", "filename_short": "src/state/Deserialize.sol", "is_dependency": false, "lines": [217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Deserialize", "source_mapping": {"start": 450, "length": 9161, "filename_relative": "src/state/Deserialize.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/state/Deserialize.sol", "filename_short": "src/state/Deserialize.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302], "starting_column": 1, "ending_column": 2}}, "signature": "globalState(bytes,uint256)"}}}}], "description": "Deserialize.globalState(bytes,uint256).bytes32Vals (src/state/Deserialize.sol#225) is a local variable never initialized\n", "markdown": "[Deserialize.globalState(bytes,uint256).bytes32Vals](src/state/Deserialize.sol#L225) is a local variable never initialized\n", "first_markdown_element": "src/state/Deserialize.sol#L225", "id": "347c23c28d92854b0181184cb13878043e27048bb6b0d14e6f9f24d733477f80", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "status", "source_mapping": {"start": 7495, "length": 20, "filename_relative": "src/state/Deserialize.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/state/Deserialize.sol", "filename_short": "src/state/Deserialize.sol", "is_dependency": false, "lines": [243], "starting_column": 9, "ending_column": 29}, "type_specific_fields": {"parent": {"type": "function", "name": "machine", "source_mapping": {"start": 7307, "length": 1811, "filename_relative": "src/state/Deserialize.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/state/Deserialize.sol", "filename_short": "src/state/Deserialize.sol", "is_dependency": false, "lines": [237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Deserialize", "source_mapping": {"start": 450, "length": 9161, "filename_relative": "src/state/Deserialize.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/state/Deserialize.sol", "filename_short": "src/state/Deserialize.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302], "starting_column": 1, "ending_column": 2}}, "signature": "machine(bytes,uint256)"}}}}], "description": "Deserialize.machine(bytes,uint256).status (src/state/Deserialize.sol#243) is a local variable never initialized\n", "markdown": "[Deserialize.machine(bytes,uint256).status](src/state/Deserialize.sol#L243) is a local variable never initialized\n", "first_markdown_element": "src/state/Deserialize.sol#L243", "id": "b0bb66b3aaa5e859564fcf69ddd9c518a2dff55461b2e23469e57954ece88023", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "sourceTy", "source_mapping": {"start": 13504, "length": 18, "filename_relative": "src/osp/OneStepProverMath.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMath.sol", "filename_short": "src/osp/OneStepProverMath.sol", "is_dependency": false, "lines": [443], "starting_column": 9, "ending_column": 27}, "type_specific_fields": {"parent": {"type": "function", "name": "executeReinterpret", "source_mapping": {"start": 13309, "length": 1048, "filename_relative": "src/osp/OneStepProverMath.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMath.sol", "filename_short": "src/osp/OneStepProverMath.sol", "is_dependency": false, "lines": [436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverMath", "source_mapping": {"start": 362, "length": 16325, "filename_relative": "src/osp/OneStepProverMath.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMath.sol", "filename_short": "src/osp/OneStepProverMath.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524], "starting_column": 1, "ending_column": 2}}, "signature": "executeReinterpret(Machine,Module,Instruction,bytes)"}}}}], "description": "OneStepProverMath.executeReinterpret(Machine,Module,Instruction,bytes).sourceTy (src/osp/OneStepProverMath.sol#443) is a local variable never initialized\n", "markdown": "[OneStepProverMath.executeReinterpret(Machine,Module,Instruction,bytes).sourceTy](src/osp/OneStepProverMath.sol#L443) is a local variable never initialized\n", "first_markdown_element": "src/osp/OneStepProverMath.sol#L443", "id": "19cc2967641f968047d8174e2ba3152038af798b63c42b1bb55dd59287a923a7", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "writeBytes", "source_mapping": {"start": 6286, "length": 17, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [168], "starting_column": 9, "ending_column": 26}, "type_specific_fields": {"parent": {"type": "function", "name": "executeMemoryStore", "source_mapping": {"start": 6107, "length": 3663, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverMemory", "source_mapping": {"start": 368, "length": 11469, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313], "starting_column": 1, "ending_column": 2}}, "signature": "executeMemoryStore(Machine,Module,Instruction,bytes)"}}}}], "description": "OneStepProverMemory.executeMemoryStore(Machine,Module,Instruction,bytes).writeBytes (src/osp/OneStepProverMemory.sol#168) is a local variable never initialized\n", "markdown": "[OneStepProverMemory.executeMemoryStore(Machine,Module,Instruction,bytes).writeBytes](src/osp/OneStepProverMemory.sol#L168) is a local variable never initialized\n", "first_markdown_element": "src/osp/OneStepProverMemory.sol#L168", "id": "f573681c354f3fdccf310c43fad70c2f0994cf3b3de20432e01071bd6a3981de", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "destTy", "source_mapping": {"start": 13478, "length": 16, "filename_relative": "src/osp/OneStepProverMath.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMath.sol", "filename_short": "src/osp/OneStepProverMath.sol", "is_dependency": false, "lines": [442], "starting_column": 9, "ending_column": 25}, "type_specific_fields": {"parent": {"type": "function", "name": "executeReinterpret", "source_mapping": {"start": 13309, "length": 1048, "filename_relative": "src/osp/OneStepProverMath.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMath.sol", "filename_short": "src/osp/OneStepProverMath.sol", "is_dependency": false, "lines": [436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverMath", "source_mapping": {"start": 362, "length": 16325, "filename_relative": "src/osp/OneStepProverMath.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMath.sol", "filename_short": "src/osp/OneStepProverMath.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524], "starting_column": 1, "ending_column": 2}}, "signature": "executeReinterpret(Machine,Module,Instruction,bytes)"}}}}], "description": "OneStepProverMath.executeReinterpret(Machine,Module,Instruction,bytes).destTy (src/osp/OneStepProverMath.sol#442) is a local variable never initialized\n", "markdown": "[OneStepProverMath.executeReinterpret(Machine,Module,Instruction,bytes).destTy](src/osp/OneStepProverMath.sol#L442) is a local variable never initialized\n", "first_markdown_element": "src/osp/OneStepProverMath.sol#L442", "id": "0c40a87502e42085a3fc0a61f202e687aed2386c6fe161376f0f0b2f16a4c9c5", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "ty", "source_mapping": {"start": 11999, "length": 12, "filename_relative": "src/osp/OneStepProverMath.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMath.sol", "filename_short": "src/osp/OneStepProverMath.sol", "is_dependency": false, "lines": [399], "starting_column": 9, "ending_column": 21}, "type_specific_fields": {"parent": {"type": "function", "name": "executeExtendSameType", "source_mapping": {"start": 11827, "length": 1476, "filename_relative": "src/osp/OneStepProverMath.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMath.sol", "filename_short": "src/osp/OneStepProverMath.sol", "is_dependency": false, "lines": [393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverMath", "source_mapping": {"start": 362, "length": 16325, "filename_relative": "src/osp/OneStepProverMath.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMath.sol", "filename_short": "src/osp/OneStepProverMath.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524], "starting_column": 1, "ending_column": 2}}, "signature": "executeExtendSameType(Machine,Module,Instruction,bytes)"}}}}], "description": "OneStepProverMath.executeExtendSameType(Machine,Module,Instruction,bytes).ty (src/osp/OneStepProverMath.sol#399) is a local variable never initialized\n", "markdown": "[OneStepProverMath.executeExtendSameType(Machine,Module,Instruction,bytes).ty](src/osp/OneStepProverMath.sol#L399) is a local variable never initialized\n", "first_markdown_element": "src/osp/OneStepProverMath.sol#L399", "id": "d5801e7c2f23eb0d6bc004590ab2e75879037d149be714c34ab3b066e1c4b819", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "readBytes", "source_mapping": {"start": 1707, "length": 17, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [50], "starting_column": 9, "ending_column": 26}, "type_specific_fields": {"parent": {"type": "function", "name": "executeMemoryLoad", "source_mapping": {"start": 1507, "length": 4594, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverMemory", "source_mapping": {"start": 368, "length": 11469, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313], "starting_column": 1, "ending_column": 2}}, "signature": "executeMemoryLoad(Machine,Module,Instruction,bytes)"}}}}], "description": "OneStepProverMemory.executeMemoryLoad(Machine,Module,Instruction,bytes).readBytes (src/osp/OneStepProverMemory.sol#50) is a local variable never initialized\n", "markdown": "[OneStepProverMemory.executeMemoryLoad(Machine,Module,Instruction,bytes).readBytes](src/osp/OneStepProverMemory.sol#L50) is a local variable never initialized\n", "first_markdown_element": "src/osp/OneStepProverMemory.sol#L50", "id": "09c1e38d961440cc644e890e7e165ecd2073dd96901441ae9b2b9c939257cc6f", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "frame", "source_mapping": {"start": 1824, "length": 28, "filename_relative": "src/rollup/BridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/BridgeCreator.sol", "filename_short": "src/rollup/BridgeCreator.sol", "is_dependency": false, "lines": [58], "starting_column": 9, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "function", "name": "_createBridge", "source_mapping": {"start": 1674, "length": 1017, "filename_relative": "src/rollup/BridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/BridgeCreator.sol", "filename_short": "src/rollup/BridgeCreator.sol", "is_dependency": false, "lines": [54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BridgeCreator", "source_mapping": {"start": 676, "length": 3074, "filename_relative": "src/rollup/BridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/BridgeCreator.sol", "filename_short": "src/rollup/BridgeCreator.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106], "starting_column": 1, "ending_column": 2}}, "signature": "_createBridge(address,BridgeCreator.BridgeContracts)"}}}}], "description": "BridgeCreator._createBridge(address,BridgeCreator.BridgeContracts).frame (src/rollup/BridgeCreator.sol#58) is a local variable never initialized\n", "markdown": "[BridgeCreator._createBridge(address,BridgeCreator.BridgeContracts).frame](src/rollup/BridgeCreator.sol#L58) is a local variable never initialized\n", "first_markdown_element": "src/rollup/BridgeCreator.sol#L58", "id": "4c4998aea345771ab95ff74b35dc261d24cfbcc254dff7368e71dcded4e6b088", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "impl", "source_mapping": {"start": 14921, "length": 120, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [444, 445, 446], "starting_column": 9, "ending_column": 22}, "type_specific_fields": {"parent": {"type": "function", "name": "executeOneStep", "source_mapping": {"start": 14550, "length": 2514, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProver0", "source_mapping": {"start": 362, "length": 16704, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494], "starting_column": 1, "ending_column": 2}}, "signature": "executeOneStep(ExecutionContext,Machine,Module,Instruction,bytes)"}}}}], "description": "OneStepProver0.executeOneStep(ExecutionContext,Machine,Module,Instruction,bytes).impl (src/osp/OneStepProver0.sol#444-446) is a local variable never initialized\n", "markdown": "[OneStepProver0.executeOneStep(ExecutionContext,Machine,Module,Instruction,bytes).impl](src/osp/OneStepProver0.sol#L444-L446) is a local variable never initialized\n", "first_markdown_element": "src/osp/OneStepProver0.sol#L444-L446", "id": "bf9df19313618417269a105ecd5b4cf0c22530264701877ed554d77b7886b033", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "impl", "source_mapping": {"start": 16165, "length": 193, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [425, 426, 427, 428, 429, 430, 431], "starting_column": 9, "ending_column": 29}, "type_specific_fields": {"parent": {"type": "function", "name": "executeOneStep", "source_mapping": {"start": 15786, "length": 1210, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverHostIo", "source_mapping": {"start": 433, "length": 16565, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450], "starting_column": 1, "ending_column": 2}}, "signature": "executeOneStep(ExecutionContext,Machine,Module,Instruction,bytes)"}}}}], "description": "OneStepProverHostIo.executeOneStep(ExecutionContext,Machine,Module,Instruction,bytes).impl (src/osp/OneStepProverHostIo.sol#425-431) is a local variable never initialized\n", "markdown": "[OneStepProverHostIo.executeOneStep(ExecutionContext,Machine,Module,Instruction,bytes).impl](src/osp/OneStepProverHostIo.sol#L425-L431) is a local variable never initialized\n", "first_markdown_element": "src/osp/OneStepProverHostIo.sol#L425-L431", "id": "fd4baa84dfad7402f9c850b2abb8c959fa89f0a0f27d7a4d985504eafa596460", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "node", "source_mapping": {"start": 2394, "length": 16, "filename_relative": "src/rollup/Node.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/Node.sol", "filename_short": "src/rollup/Node.sol", "is_dependency": false, "lines": [69], "starting_column": 9, "ending_column": 25}, "type_specific_fields": {"parent": {"type": "function", "name": "createNode", "source_mapping": {"start": 2149, "length": 636, "filename_relative": "src/rollup/Node.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/Node.sol", "filename_short": "src/rollup/Node.sol", "is_dependency": false, "lines": [61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "NodeLib", "source_mapping": {"start": 1752, "length": 2186, "filename_relative": "src/rollup/Node.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/Node.sol", "filename_short": "src/rollup/Node.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 1, "ending_column": 2}}, "signature": "createNode(bytes32,bytes32,bytes32,uint64,uint64,bytes32)"}}}}], "description": "NodeLib.createNode(bytes32,bytes32,bytes32,uint64,uint64,bytes32).node (src/rollup/Node.sol#69) is a local variable never initialized\n", "markdown": "[NodeLib.createNode(bytes32,bytes32,bytes32,uint64,uint64,bytes32).node](src/rollup/Node.sol#L69) is a local variable never initialized\n", "first_markdown_element": "src/rollup/Node.sol#L69", "id": "2fbc6226a17bd364563caa94e1c97858f74f9cd682e6c1096bb46cf3ce114daf", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "lastProvedMerkle", "source_mapping": {"start": 8359, "length": 35, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [220], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "executeMemoryStore", "source_mapping": {"start": 6107, "length": 3663, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverMemory", "source_mapping": {"start": 368, "length": 11469, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313], "starting_column": 1, "ending_column": 2}}, "signature": "executeMemoryStore(Machine,Module,Instruction,bytes)"}}}}], "description": "OneStepProverMemory.executeMemoryStore(Machine,Module,Instruction,bytes).lastProvedMerkle (src/osp/OneStepProverMemory.sol#220) is a local variable never initialized\n", "markdown": "[OneStepProverMemory.executeMemoryStore(Machine,Module,Instruction,bytes).lastProvedMerkle](src/osp/OneStepProverMemory.sol#L220) is a local variable never initialized\n", "first_markdown_element": "src/osp/OneStepProverMemory.sol#L220", "id": "970df6569838c064f8c23181f94aa7553a41b5a23c53e802d29cd0162f7d4f2b", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "initialize", "source_mapping": {"start": 969, "length": 447, "filename_relative": "src/bridge/ERC20Inbox.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/ERC20Inbox.sol", "filename_short": "src/bridge/ERC20Inbox.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC20Inbox", "source_mapping": {"start": 789, "length": 4172, "filename_relative": "src/bridge/ERC20Inbox.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/ERC20Inbox.sol", "filename_short": "src/bridge/ERC20Inbox.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(IBridge,ISequencerInbox)"}}, {"type": "node", "name": "IERC20(nativeToken).approve(address(bridge),type()(uint256).max)", "source_mapping": {"start": 1346, "length": 63, "filename_relative": "src/bridge/ERC20Inbox.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/ERC20Inbox.sol", "filename_short": "src/bridge/ERC20Inbox.sol", "is_dependency": false, "lines": [36], "starting_column": 9, "ending_column": 72}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 969, "length": 447, "filename_relative": "src/bridge/ERC20Inbox.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/ERC20Inbox.sol", "filename_short": "src/bridge/ERC20Inbox.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC20Inbox", "source_mapping": {"start": 789, "length": 4172, "filename_relative": "src/bridge/ERC20Inbox.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/ERC20Inbox.sol", "filename_short": "src/bridge/ERC20Inbox.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(IBridge,ISequencerInbox)"}}}}], "description": "ERC20Inbox.initialize(IBridge,ISequencerInbox) (src/bridge/ERC20Inbox.sol#27-37) ignores return value by IERC20(nativeToken).approve(address(bridge),type()(uint256).max) (src/bridge/ERC20Inbox.sol#36)\n", "markdown": "[ERC20Inbox.initialize(IBridge,ISequencerInbox)](src/bridge/ERC20Inbox.sol#L27-L37) ignores return value by [IERC20(nativeToken).approve(address(bridge),type()(uint256).max)](src/bridge/ERC20Inbox.sol#L36)\n", "first_markdown_element": "src/bridge/ERC20Inbox.sol#L27-L37", "id": "02a7ce9e0718ec474776a6c6466ec2120335f60d5d537c682d2d0b48b02e328e", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "refundsGas", "source_mapping": {"start": 721, "length": 2143, "filename_relative": "src/libraries/GasRefundEnabled.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/GasRefundEnabled.sol", "filename_short": "src/libraries/GasRefundEnabled.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "GasRefundEnabled", "source_mapping": {"start": 309, "length": 2557, "filename_relative": "src/libraries/GasRefundEnabled.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/GasRefundEnabled.sol", "filename_short": "src/libraries/GasRefundEnabled.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52], "starting_column": 1, "ending_column": 2}}, "signature": "refundsGas(IGasRefunder,IReader4844)"}}, {"type": "node", "name": "gasRefunder.onGasSpent(address(msg.sender),startGasLeft - gasleft()(),calldataSize)", "source_mapping": {"start": 2764, "length": 83, "filename_relative": "src/libraries/GasRefundEnabled.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/GasRefundEnabled.sol", "filename_short": "src/libraries/GasRefundEnabled.sol", "is_dependency": false, "lines": [49], "starting_column": 13, "ending_column": 96}, "type_specific_fields": {"parent": {"type": "function", "name": "refundsGas", "source_mapping": {"start": 721, "length": 2143, "filename_relative": "src/libraries/GasRefundEnabled.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/GasRefundEnabled.sol", "filename_short": "src/libraries/GasRefundEnabled.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "GasRefundEnabled", "source_mapping": {"start": 309, "length": 2557, "filename_relative": "src/libraries/GasRefundEnabled.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/GasRefundEnabled.sol", "filename_short": "src/libraries/GasRefundEnabled.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52], "starting_column": 1, "ending_column": 2}}, "signature": "refundsGas(IGasRefunder,IReader4844)"}}}}], "description": "GasRefundEnabled.refundsGas(IGasRefunder,IReader4844) (src/libraries/GasRefundEnabled.sol#17-51) ignores return value by gasRefunder.onGasSpent(address(msg.sender),startGasLeft - gasleft()(),calldataSize) (src/libraries/GasRefundEnabled.sol#49)\n", "markdown": "[GasRefundEnabled.refundsGas(IGasRefunder,IReader4844)](src/libraries/GasRefundEnabled.sol#L17-L51) ignores return value by [gasRefunder.onGasSpent(address(msg.sender),startGasLeft - gasleft()(),calldataSize)](src/libraries/GasRefundEnabled.sol#L49)\n", "first_markdown_element": "src/libraries/GasRefundEnabled.sol#L17-L51", "id": "dd7d7f9070537fa235923aa2a3f52a440202d201a28033828f3cfb6418df3676", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "executeDrop", "source_mapping": {"start": 1692, "length": 185, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64, 65, 66, 67], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProver0", "source_mapping": {"start": 362, "length": 16704, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494], "starting_column": 1, "ending_column": 2}}, "signature": "executeDrop(Machine,Module,Instruction,bytes)"}}, {"type": "node", "name": "mach.valueStack.pop()", "source_mapping": {"start": 1849, "length": 21, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [66], "starting_column": 9, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "function", "name": "executeDrop", "source_mapping": {"start": 1692, "length": 185, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64, 65, 66, 67], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProver0", "source_mapping": {"start": 362, "length": 16704, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494], "starting_column": 1, "ending_column": 2}}, "signature": "executeDrop(Machine,Module,Instruction,bytes)"}}}}], "description": "OneStepProver0.executeDrop(Machine,Module,Instruction,bytes) (src/osp/OneStepProver0.sol#60-67) ignores return value by mach.valueStack.pop() (src/osp/OneStepProver0.sol#66)\n", "markdown": "[OneStepProver0.executeDrop(Machine,Module,Instruction,bytes)](src/osp/OneStepProver0.sol#L60-L67) ignores return value by [mach.valueStack.pop()](src/osp/OneStepProver0.sol#L66)\n", "first_markdown_element": "src/osp/OneStepProver0.sol#L60-L67", "id": "12bf5611aeaa1ce8c4037f42705c38eef1245905dff7bc27604a5c8290de634b", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "validateSequencerInbox", "source_mapping": {"start": 10080, "length": 884, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverHostIo", "source_mapping": {"start": 433, "length": 16565, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450], "starting_column": 1, "ending_column": 2}}, "signature": "validateSequencerInbox(ExecutionContext,uint64,bytes)"}}, {"type": "node", "name": "(afterDelayedMsg,None) = Deserialize.u64(message,32)", "source_mapping": {"start": 10365, "length": 50, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [255], "starting_column": 9, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "validateSequencerInbox", "source_mapping": {"start": 10080, "length": 884, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverHostIo", "source_mapping": {"start": 433, "length": 16565, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450], "starting_column": 1, "ending_column": 2}}, "signature": "validateSequencerInbox(ExecutionContext,uint64,bytes)"}}}}], "description": "OneStepProverHostIo.validateSequencerInbox(ExecutionContext,uint64,bytes) (src/osp/OneStepProverHostIo.sol#247-269) ignores return value by (afterDelayedMsg,None) = Deserialize.u64(message,32) (src/osp/OneStepProverHostIo.sol#255)\n", "markdown": "[OneStepProverHostIo.validateSequencerInbox(ExecutionContext,uint64,bytes)](src/osp/OneStepProverHostIo.sol#L247-L269) ignores return value by [(afterDelayedMsg,None) = Deserialize.u64(message,32)](src/osp/OneStepProverHostIo.sol#L255)\n", "first_markdown_element": "src/osp/OneStepProverHostIo.sol#L247-L269", "id": "8e9dac288df9bcd5afd57ce5afd7d08f223411c09b70bf9486fbdce8c99e8a4e", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "validateDelayedInbox", "source_mapping": {"start": 10970, "length": 916, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverHostIo", "source_mapping": {"start": 433, "length": 16565, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450], "starting_column": 1, "ending_column": 2}}, "signature": "validateDelayedInbox(ExecutionContext,uint64,bytes)"}}, {"type": "node", "name": "(sender,None) = Deserialize.u256(message,1)", "source_mapping": {"start": 11493, "length": 41, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [287], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "validateDelayedInbox", "source_mapping": {"start": 10970, "length": 916, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverHostIo", "source_mapping": {"start": 433, "length": 16565, "filename_relative": "src/osp/OneStepProverHostIo.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", "filename_short": "src/osp/OneStepProverHostIo.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450], "starting_column": 1, "ending_column": 2}}, "signature": "validateDelayedInbox(ExecutionContext,uint64,bytes)"}}}}], "description": "OneStepProverHostIo.validateDelayedInbox(ExecutionContext,uint64,bytes) (src/osp/OneStepProverHostIo.sol#271-296) ignores return value by (sender,None) = Deserialize.u256(message,1) (src/osp/OneStepProverHostIo.sol#287)\n", "markdown": "[OneStepProverHostIo.validateDelayedInbox(ExecutionContext,uint64,bytes)](src/osp/OneStepProverHostIo.sol#L271-L296) ignores return value by [(sender,None) = Deserialize.u256(message,1)](src/osp/OneStepProverHostIo.sol#L287)\n", "first_markdown_element": "src/osp/OneStepProverHostIo.sol#L271-L296", "id": "06e60ad1cf7b2c761d007d2174aab9de589f5fb917c2547582fac31386b8bf17", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "executeMemoryLoad", "source_mapping": {"start": 1507, "length": 4594, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverMemory", "source_mapping": {"start": 368, "length": 11469, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313], "starting_column": 1, "ending_column": 2}}, "signature": "executeMemoryLoad(Machine,Module,Instruction,bytes)"}}, {"type": "node", "name": "(lastProvedLeafContents,proofOffset,None) = ModuleMemoryLib.proveLeaf(mod.moduleMemory,leafIdx,proof,proofOffset)", "source_mapping": {"start": 4658, "length": 212, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [128, 129, 130, 131, 132, 133], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "executeMemoryLoad", "source_mapping": {"start": 1507, "length": 4594, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProverMemory", "source_mapping": {"start": 368, "length": 11469, "filename_relative": "src/osp/OneStepProverMemory.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", "filename_short": "src/osp/OneStepProverMemory.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313], "starting_column": 1, "ending_column": 2}}, "signature": "executeMemoryLoad(Machine,Module,Instruction,bytes)"}}}}], "description": "OneStepProverMemory.executeMemoryLoad(Machine,Module,Instruction,bytes) (src/osp/OneStepProverMemory.sol#43-160) ignores return value by (lastProvedLeafContents,proofOffset,None) = ModuleMemoryLib.proveLeaf(mod.moduleMemory,leafIdx,proof,proofOffset) (src/osp/OneStepProverMemory.sol#128-133)\n", "markdown": "[OneStepProverMemory.executeMemoryLoad(Machine,Module,Instruction,bytes)](src/osp/OneStepProverMemory.sol#L43-L160) ignores return value by [(lastProvedLeafContents,proofOffset,None) = ModuleMemoryLib.proveLeaf(mod.moduleMemory,leafIdx,proof,proofOffset)](src/osp/OneStepProverMemory.sol#L128-L133)\n", "first_markdown_element": "src/osp/OneStepProverMemory.sol#L43-L160", "id": "ab8910cb7fbab9ad8b4fcabf66567df3327f36c637f318ceaf3df0ea258b2a1d", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_fundAndDeploy", "source_mapping": {"start": 8513, "length": 1493, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DeployHelper", "source_mapping": {"start": 513, "length": 11093, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149], "starting_column": 1, "ending_column": 2}}, "signature": "_fundAndDeploy(address,uint256,address,bytes,bool,uint256)"}}, {"type": "node", "name": "IERC20Inbox(inbox).createRetryableTicket({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,tokenTotalFeeAmount:feeAmount,data:})", "source_mapping": {"start": 9018, "length": 434, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72], "starting_column": 13, "ending_column": 15}, "type_specific_fields": {"parent": {"type": "function", "name": "_fundAndDeploy", "source_mapping": {"start": 8513, "length": 1493, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DeployHelper", "source_mapping": {"start": 513, "length": 11093, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149], "starting_column": 1, "ending_column": 2}}, "signature": "_fundAndDeploy(address,uint256,address,bytes,bool,uint256)"}}}}], "description": "DeployHelper._fundAndDeploy(address,uint256,address,bytes,bool,uint256) (src/rollup/DeployHelper.sol#46-87) ignores return value by IERC20Inbox(inbox).createRetryableTicket({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,tokenTotalFeeAmount:feeAmount,data:}) (src/rollup/DeployHelper.sol#62-72)\n", "markdown": "[DeployHelper._fundAndDeploy(address,uint256,address,bytes,bool,uint256)](src/rollup/DeployHelper.sol#L46-L87) ignores return value by [IERC20Inbox(inbox).createRetryableTicket({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,tokenTotalFeeAmount:feeAmount,data:})](src/rollup/DeployHelper.sol#L62-L72)\n", "first_markdown_element": "src/rollup/DeployHelper.sol#L46-L87", "id": "b577066c87e9c3fd8db423a41c6f80870945020f8f55d5dd38041b1894b9af5a", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_fundAndDeploy", "source_mapping": {"start": 8513, "length": 1493, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DeployHelper", "source_mapping": {"start": 513, "length": 11093, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149], "starting_column": 1, "ending_column": 2}}, "signature": "_fundAndDeploy(address,uint256,address,bytes,bool,uint256)"}}, {"type": "node", "name": "IInbox(inbox).createRetryableTicket{value: feeAmount}({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,data:})", "source_mapping": {"start": 9483, "length": 399, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 13, "ending_column": 15}, "type_specific_fields": {"parent": {"type": "function", "name": "_fundAndDeploy", "source_mapping": {"start": 8513, "length": 1493, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DeployHelper", "source_mapping": {"start": 513, "length": 11093, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149], "starting_column": 1, "ending_column": 2}}, "signature": "_fundAndDeploy(address,uint256,address,bytes,bool,uint256)"}}}}], "description": "DeployHelper._fundAndDeploy(address,uint256,address,bytes,bool,uint256) (src/rollup/DeployHelper.sol#46-87) ignores return value by IInbox(inbox).createRetryableTicket{value: feeAmount}({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,data:}) (src/rollup/DeployHelper.sol#74-83)\n", "markdown": "[DeployHelper._fundAndDeploy(address,uint256,address,bytes,bool,uint256)](src/rollup/DeployHelper.sol#L46-L87) ignores return value by [IInbox(inbox).createRetryableTicket{value: feeAmount}({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,data:})](src/rollup/DeployHelper.sol#L74-L83)\n", "first_markdown_element": "src/rollup/DeployHelper.sol#L46-L87", "id": "08d31a6c6d79a1ee2e015f8b5e35c4ed5b9293c91824de95a577f6e382ac73bd", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_fundAndDeploy", "source_mapping": {"start": 8513, "length": 1493, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DeployHelper", "source_mapping": {"start": 513, "length": 11093, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149], "starting_column": 1, "ending_column": 2}}, "signature": "_fundAndDeploy(address,uint256,address,bytes,bool,uint256)"}}, {"type": "node", "name": "IInboxBase(inbox).sendL2Message(payload)", "source_mapping": {"start": 9959, "length": 40, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [86], "starting_column": 9, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "_fundAndDeploy", "source_mapping": {"start": 8513, "length": 1493, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DeployHelper", "source_mapping": {"start": 513, "length": 11093, "filename_relative": "src/rollup/DeployHelper.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", "filename_short": "src/rollup/DeployHelper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149], "starting_column": 1, "ending_column": 2}}, "signature": "_fundAndDeploy(address,uint256,address,bytes,bool,uint256)"}}}}], "description": "DeployHelper._fundAndDeploy(address,uint256,address,bytes,bool,uint256) (src/rollup/DeployHelper.sol#46-87) ignores return value by IInboxBase(inbox).sendL2Message(payload) (src/rollup/DeployHelper.sol#86)\n", "markdown": "[DeployHelper._fundAndDeploy(address,uint256,address,bytes,bool,uint256)](src/rollup/DeployHelper.sol#L46-L87) ignores return value by [IInboxBase(inbox).sendL2Message(payload)](src/rollup/DeployHelper.sol#L86)\n", "first_markdown_element": "src/rollup/DeployHelper.sol#L46-L87", "id": "b4a84cbb13a9ec2260cb5bdf5bf9641492e27e04195d23e819c7abac1a906e14", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeSecondaryToAndCall", "source_mapping": {"start": 2306, "length": 313, "filename_relative": "src/libraries/AdminFallbackProxy.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/AdminFallbackProxy.sol", "filename_short": "src/libraries/AdminFallbackProxy.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DoubleLogicERC1967Upgrade", "source_mapping": {"start": 525, "length": 3364, "filename_relative": "src/libraries/AdminFallbackProxy.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/AdminFallbackProxy.sol", "filename_short": "src/libraries/AdminFallbackProxy.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98], "starting_column": 1, "ending_column": 2}}, "signature": "_upgradeSecondaryToAndCall(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2549, "length": 53, "filename_relative": "src/libraries/AdminFallbackProxy.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/AdminFallbackProxy.sol", "filename_short": "src/libraries/AdminFallbackProxy.sol", "is_dependency": false, "lines": [67], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeSecondaryToAndCall", "source_mapping": {"start": 2306, "length": 313, "filename_relative": "src/libraries/AdminFallbackProxy.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/AdminFallbackProxy.sol", "filename_short": "src/libraries/AdminFallbackProxy.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DoubleLogicERC1967Upgrade", "source_mapping": {"start": 525, "length": 3364, "filename_relative": "src/libraries/AdminFallbackProxy.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/AdminFallbackProxy.sol", "filename_short": "src/libraries/AdminFallbackProxy.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98], "starting_column": 1, "ending_column": 2}}, "signature": "_upgradeSecondaryToAndCall(address,bytes,bool)"}}}}], "description": "DoubleLogicERC1967Upgrade._upgradeSecondaryToAndCall(address,bytes,bool) (src/libraries/AdminFallbackProxy.sol#60-69) ignores return value by Address.functionDelegateCall(newImplementation,data) (src/libraries/AdminFallbackProxy.sol#67)\n", "markdown": "[DoubleLogicERC1967Upgrade._upgradeSecondaryToAndCall(address,bytes,bool)](src/libraries/AdminFallbackProxy.sol#L60-L69) ignores return value by [Address.functionDelegateCall(newImplementation,data)](src/libraries/AdminFallbackProxy.sol#L67)\n", "first_markdown_element": "src/libraries/AdminFallbackProxy.sol#L60-L69", "id": "47e0b452924c566df231e1282a84ce0091600869b7eac2442aebf277bfcb6455", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "createRollup", "source_mapping": {"start": 4904, "length": 5018, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCreator", "source_mapping": {"start": 703, "length": 11028, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286], "starting_column": 1, "ending_column": 2}}, "signature": "createRollup(RollupCreator.RollupDeploymentParams)"}}, {"type": "node", "name": "(ethSequencerInbox,ethInbox) = bridgeCreator.ethBasedTemplates()", "source_mapping": {"start": 5121, "length": 115, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [117, 118], "starting_column": 13, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "function", "name": "createRollup", "source_mapping": {"start": 4904, "length": 5018, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCreator", "source_mapping": {"start": 703, "length": 11028, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286], "starting_column": 1, "ending_column": 2}}, "signature": "createRollup(RollupCreator.RollupDeploymentParams)"}}}}], "description": "RollupCreator.createRollup(RollupCreator.RollupDeploymentParams) (src/rollup/RollupCreator.sol#110-233) ignores return value by (ethSequencerInbox,ethInbox) = bridgeCreator.ethBasedTemplates() (src/rollup/RollupCreator.sol#117-118)\n", "markdown": "[RollupCreator.createRollup(RollupCreator.RollupDeploymentParams)](src/rollup/RollupCreator.sol#L110-L233) ignores return value by [(ethSequencerInbox,ethInbox) = bridgeCreator.ethBasedTemplates()](src/rollup/RollupCreator.sol#L117-L118)\n", "first_markdown_element": "src/rollup/RollupCreator.sol#L110-L233", "id": "ab1f7532bdfa2da03ac0035addb1594f2610bdbf697232a9b6207e2345bfd5a7", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "createRollup", "source_mapping": {"start": 4904, "length": 5018, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCreator", "source_mapping": {"start": 703, "length": 11028, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286], "starting_column": 1, "ending_column": 2}}, "signature": "createRollup(RollupCreator.RollupDeploymentParams)"}}, {"type": "node", "name": "(erc20SequencerInbox,erc20Inbox) = bridgeCreator.erc20BasedTemplates()", "source_mapping": {"start": 5509, "length": 121, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [125, 126], "starting_column": 13, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "createRollup", "source_mapping": {"start": 4904, "length": 5018, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RollupCreator", "source_mapping": {"start": 703, "length": 11028, "filename_relative": "src/rollup/RollupCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", "filename_short": "src/rollup/RollupCreator.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286], "starting_column": 1, "ending_column": 2}}, "signature": "createRollup(RollupCreator.RollupDeploymentParams)"}}}}], "description": "RollupCreator.createRollup(RollupCreator.RollupDeploymentParams) (src/rollup/RollupCreator.sol#110-233) ignores return value by (erc20SequencerInbox,erc20Inbox) = bridgeCreator.erc20BasedTemplates() (src/rollup/RollupCreator.sol#125-126)\n", "markdown": "[RollupCreator.createRollup(RollupCreator.RollupDeploymentParams)](src/rollup/RollupCreator.sol#L110-L233) ignores return value by [(erc20SequencerInbox,erc20Inbox) = bridgeCreator.erc20BasedTemplates()](src/rollup/RollupCreator.sol#L125-L126)\n", "first_markdown_element": "src/rollup/RollupCreator.sol#L110-L233", "id": "66c2e2cbe1d68bc0695a2c75ad2b2ad0c7a15d7d1455bb4ae31a64aeece91d52", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_activeOutbox", "source_mapping": {"start": 1410, "length": 30, "filename_relative": "src/bridge/AbsBridge.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsBridge.sol", "filename_short": "src/bridge/AbsBridge.sol", "is_dependency": false, "lines": [45], "starting_column": 5, "ending_column": 35}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsBridge", "source_mapping": {"start": 995, "length": 9716, "filename_relative": "src/bridge/AbsBridge.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsBridge.sol", "filename_short": "src/bridge/AbsBridge.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308], "starting_column": 1, "ending_column": 2}}}}, {"type": "node", "name": "_activeOutbox = msg.sender", "source_mapping": {"start": 6961, "length": 26, "filename_relative": "src/bridge/AbsBridge.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsBridge.sol", "filename_short": "src/bridge/AbsBridge.sol", "is_dependency": false, "lines": [218], "starting_column": 9, "ending_column": 35}, "type_specific_fields": {"parent": {"type": "function", "name": "executeCall", "source_mapping": {"start": 6606, "length": 870, "filename_relative": "src/bridge/AbsBridge.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsBridge.sol", "filename_short": "src/bridge/AbsBridge.sol", "is_dependency": false, "lines": [210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsBridge", "source_mapping": {"start": 995, "length": 9716, "filename_relative": "src/bridge/AbsBridge.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsBridge.sol", "filename_short": "src/bridge/AbsBridge.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308], "starting_column": 1, "ending_column": 2}}, "signature": "executeCall(address,uint256,bytes)"}}}}, {"type": "node", "name": "_activeOutbox = prevOutbox", "source_mapping": {"start": 7380, "length": 26, "filename_relative": "src/bridge/AbsBridge.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsBridge.sol", "filename_short": "src/bridge/AbsBridge.sol", "is_dependency": false, "lines": [225], "starting_column": 9, "ending_column": 35}, "type_specific_fields": {"parent": {"type": "function", "name": "executeCall", "source_mapping": {"start": 6606, "length": 870, "filename_relative": "src/bridge/AbsBridge.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsBridge.sol", "filename_short": "src/bridge/AbsBridge.sol", "is_dependency": false, "lines": [210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AbsBridge", "source_mapping": {"start": 995, "length": 9716, "filename_relative": "src/bridge/AbsBridge.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsBridge.sol", "filename_short": "src/bridge/AbsBridge.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308], "starting_column": 1, "ending_column": 2}}, "signature": "executeCall(address,uint256,bytes)"}}}}], "description": "AbsBridge._activeOutbox (src/bridge/AbsBridge.sol#45) is written in both\n\t_activeOutbox = msg.sender (src/bridge/AbsBridge.sol#218)\n\t_activeOutbox = prevOutbox (src/bridge/AbsBridge.sol#225)\n", "markdown": "[AbsBridge._activeOutbox](src/bridge/AbsBridge.sol#L45) is written in both\n\t[_activeOutbox = msg.sender](src/bridge/AbsBridge.sol#L218)\n\t[_activeOutbox = prevOutbox](src/bridge/AbsBridge.sol#L225)\n", "first_markdown_element": "src/bridge/AbsBridge.sol#L45", "id": "b37c58023a3ec214b040ae7619219597fa970084995f29f74c24648d6f1ba59f", "check": "write-after-write", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "variable", "name": "offset", "source_mapping": {"start": 6391, "length": 18, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [201], "starting_column": 13, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "executeCallIndirect", "source_mapping": {"start": 5971, "length": 3565, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProver0", "source_mapping": {"start": 362, "length": 16704, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494], "starting_column": 1, "ending_column": 2}}, "signature": "executeCallIndirect(Machine,Module,Instruction,bytes)"}}}}, {"type": "node", "name": "(elemFuncTypeHash,offset) = Deserialize.b32(proof,offset)", "source_mapping": {"start": 7998, "length": 59, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [237], "starting_column": 13, "ending_column": 72}, "type_specific_fields": {"parent": {"type": "function", "name": "executeCallIndirect", "source_mapping": {"start": 5971, "length": 3565, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProver0", "source_mapping": {"start": 362, "length": 16704, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494], "starting_column": 1, "ending_column": 2}}, "signature": "executeCallIndirect(Machine,Module,Instruction,bytes)"}}}}, {"type": "node", "name": "(functionPointer,offset) = Deserialize.value(proof,offset)", "source_mapping": {"start": 8071, "length": 60, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [238], "starting_column": 13, "ending_column": 73}, "type_specific_fields": {"parent": {"type": "function", "name": "executeCallIndirect", "source_mapping": {"start": 5971, "length": 3565, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OneStepProver0", "source_mapping": {"start": 362, "length": 16704, "filename_relative": "src/osp/OneStepProver0.sol", "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", "filename_short": "src/osp/OneStepProver0.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494], "starting_column": 1, "ending_column": 2}}, "signature": "executeCallIndirect(Machine,Module,Instruction,bytes)"}}}}], "description": "OneStepProver0.executeCallIndirect(Machine,Module,Instruction,bytes).offset (src/osp/OneStepProver0.sol#201) is written in both\n\t(elemFuncTypeHash,offset) = Deserialize.b32(proof,offset) (src/osp/OneStepProver0.sol#237)\n\t(functionPointer,offset) = Deserialize.value(proof,offset) (src/osp/OneStepProver0.sol#238)\n", "markdown": "[OneStepProver0.executeCallIndirect(Machine,Module,Instruction,bytes).offset](src/osp/OneStepProver0.sol#L201) is written in both\n\t[(elemFuncTypeHash,offset) = Deserialize.b32(proof,offset)](src/osp/OneStepProver0.sol#L237)\n\t[(functionPointer,offset) = Deserialize.value(proof,offset)](src/osp/OneStepProver0.sol#L238)\n", "first_markdown_element": "src/osp/OneStepProver0.sol#L201", "id": "a2b254b166a5aad9092374dafd67aae05d0d84bd0d8079074f9addfc91926e56", "check": "write-after-write", "impact": "Medium", "confidence": "High"}] -\ No newline at end of file -+[ -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "fastConfirmNextNode", -+ "source_mapping": { -+ "start": 6765, -+ "length": 327, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [172, 173, 174, 175, 176, 177, 178, 179, 180], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26098, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, -+ 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, -+ 642, 643, 644 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "fastConfirmNextNode(bytes32,bytes32,bytes32)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "require(bool,string)(nodeHash == getNodeStorage(firstUnresolvedNode()).nodeHash,WH)", -+ "source_mapping": { -+ "start": 6959, -+ "length": 73, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [178], -+ "starting_column": 9, -+ "ending_column": 82 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "fastConfirmNextNode", -+ "source_mapping": { -+ "start": 6765, -+ "length": 327, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [172, 173, 174, 175, 176, 177, 178, 179, 180], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26098, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "fastConfirmNextNode(bytes32,bytes32,bytes32)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "AbsRollupUserLogic.fastConfirmNextNode(bytes32,bytes32,bytes32) (src/rollup/RollupUserLogic.sol#172-180) uses a dangerous strict equality:\n\t- require(bool,string)(nodeHash == getNodeStorage(firstUnresolvedNode()).nodeHash,WH) (src/rollup/RollupUserLogic.sol#178)\n", -+ "markdown": "[AbsRollupUserLogic.fastConfirmNextNode(bytes32,bytes32,bytes32)](src/rollup/RollupUserLogic.sol#L172-L180) uses a dangerous strict equality:\n\t- [require(bool,string)(nodeHash == getNodeStorage(firstUnresolvedNode()).nodeHash,WH)](src/rollup/RollupUserLogic.sol#L178)\n", -+ "first_markdown_element": "src/rollup/RollupUserLogic.sol#L172-L180", -+ "id": "5f473ab9e03dab343568520a0a4dbeeba01a25e79b6d1a03c351b331a00f4e3b", -+ "check": "incorrect-equality", -+ "impact": "Medium", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "anyTrustFastConfirmer", -+ "source_mapping": { -+ "start": 2460, -+ "length": 36, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [80], -+ "starting_column": 5, -+ "ending_column": 41 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24629, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, -+ 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, -+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, -+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, -+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, -+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, -+ 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, -+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -+ 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, -+ 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, -+ 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, -+ 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, -+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -+ 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, -+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, -+ 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, -+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, -+ 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -+ 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, -+ 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, -+ 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, -+ 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, -+ 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, -+ 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, -+ 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, -+ 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, -+ 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678, 679 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ } -+ } -+ }, -+ { -+ "type": "function", -+ "name": "fastConfirmNextNode", -+ "source_mapping": { -+ "start": 6793, -+ "length": 334, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [176, 177, 178, 179, 180], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26133, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, -+ 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, -+ 642, 643, 644 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "fastConfirmNextNode(bytes32,bytes32,bytes32)" -+ } -+ } -+ ], -+ "description": "RollupCore.anyTrustFastConfirmer (src/rollup/RollupCore.sol#80) is never initialized. It is used in:\n\t- AbsRollupUserLogic.fastConfirmNextNode(bytes32,bytes32,bytes32) (src/rollup/RollupUserLogic.sol#176-180)\n", -+ "markdown": "[RollupCore.anyTrustFastConfirmer](src/rollup/RollupCore.sol#L80) is never initialized. It is used in:\n\t- [AbsRollupUserLogic.fastConfirmNextNode(bytes32,bytes32,bytes32)](src/rollup/RollupUserLogic.sol#L176-L180)\n", -+ "first_markdown_element": "src/rollup/RollupCore.sol#L80", -+ "id": "7588d31598e0049c45ba6922d304b0edadbf1308b5a8af9527dffbbc4dc61ac4", -+ "check": "uninitialized-state", -+ "impact": "High", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "currentRequiredStake", -+ "source_mapping": { -+ "start": 21211, -+ "length": 1527, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, -+ 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, -+ 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, -+ 540, 541, 542, 543, 544, 545, 546, 547 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26133, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, -+ 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, -+ 642, 643, 644 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "currentRequiredStake(uint256,uint64,uint256)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "multiplier = withNumerator / denominators[periodsPassed % 10]", -+ "source_mapping": { -+ "start": 22554, -+ "length": 69, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [542], -+ "starting_column": 9, -+ "ending_column": 78 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "currentRequiredStake", -+ "source_mapping": { -+ "start": 21211, -+ "length": 1527, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, -+ 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, -+ 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, -+ 540, 541, 542, 543, 544, 545, 546, 547 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26133, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "currentRequiredStake(uint256,uint64,uint256)" -+ } -+ } -+ } -+ }, -+ { -+ "type": "node", -+ "name": "baseStake * multiplier", -+ "source_mapping": { -+ "start": 22702, -+ "length": 29, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [546], -+ "starting_column": 9, -+ "ending_column": 38 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "currentRequiredStake", -+ "source_mapping": { -+ "start": 21211, -+ "length": 1527, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, -+ 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, -+ 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, -+ 540, 541, 542, 543, 544, 545, 546, 547 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26133, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "currentRequiredStake(uint256,uint64,uint256)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256) (src/rollup/RollupUserLogic.sol#501-547) performs a multiplication on the result of a division:\n\t- multiplier = withNumerator / denominators[periodsPassed % 10] (src/rollup/RollupUserLogic.sol#542)\n\t- baseStake * multiplier (src/rollup/RollupUserLogic.sol#546)\n", -+ "markdown": "[AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256)](src/rollup/RollupUserLogic.sol#L501-L547) performs a multiplication on the result of a division:\n\t- [multiplier = withNumerator / denominators[periodsPassed % 10]](src/rollup/RollupUserLogic.sol#L542)\n\t- [baseStake * multiplier](src/rollup/RollupUserLogic.sol#L546)\n", -+ "first_markdown_element": "src/rollup/RollupUserLogic.sol#L501-L547", -+ "id": "c6b99e53c65770259b3301c94d2bc1a08086bddcc14611a28cdd3ac02bb85aab", -+ "check": "divide-before-multiply", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "currentRequiredStake", -+ "source_mapping": { -+ "start": 21211, -+ "length": 1527, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, -+ 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, -+ 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, -+ 540, 541, 542, 543, 544, 545, 546, 547 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26133, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, -+ 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, -+ 642, 643, 644 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "currentRequiredStake(uint256,uint64,uint256)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "multiplier == 0", -+ "source_mapping": { -+ "start": 22637, -+ "length": 15, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [543], -+ "starting_column": 13, -+ "ending_column": 28 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "currentRequiredStake", -+ "source_mapping": { -+ "start": 21211, -+ "length": 1527, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, -+ 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, -+ 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, -+ 540, 541, 542, 543, 544, 545, 546, 547 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26133, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "currentRequiredStake(uint256,uint64,uint256)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256) (src/rollup/RollupUserLogic.sol#501-547) uses a dangerous strict equality:\n\t- multiplier == 0 (src/rollup/RollupUserLogic.sol#543)\n", -+ "markdown": "[AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256)](src/rollup/RollupUserLogic.sol#L501-L547) uses a dangerous strict equality:\n\t- [multiplier == 0](src/rollup/RollupUserLogic.sol#L543)\n", -+ "first_markdown_element": "src/rollup/RollupUserLogic.sol#L501-L547", -+ "id": "cd03d61e7b54e2afdbbc53bb1658f1e1bb0ff6071019d4e450c88b97ab1ef062", -+ "check": "incorrect-equality", -+ "impact": "Medium", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "fastConfirmNextNode", -+ "source_mapping": { -+ "start": 6793, -+ "length": 334, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [176, 177, 178, 179, 180], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26133, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, -+ 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, -+ 642, 643, 644 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "fastConfirmNextNode(bytes32,bytes32,bytes32)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "require(bool,string)(nodeHash == getNodeStorage(firstUnresolvedNode()).nodeHash,WRONG_HASH)", -+ "source_mapping": { -+ "start": 6986, -+ "length": 81, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [178], -+ "starting_column": 9, -+ "ending_column": 90 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "fastConfirmNextNode", -+ "source_mapping": { -+ "start": 6793, -+ "length": 334, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [176, 177, 178, 179, 180], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26133, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "fastConfirmNextNode(bytes32,bytes32,bytes32)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "AbsRollupUserLogic.fastConfirmNextNode(bytes32,bytes32,bytes32) (src/rollup/RollupUserLogic.sol#176-180) uses a dangerous strict equality:\n\t- require(bool,string)(nodeHash == getNodeStorage(firstUnresolvedNode()).nodeHash,WRONG_HASH) (src/rollup/RollupUserLogic.sol#178)\n", -+ "markdown": "[AbsRollupUserLogic.fastConfirmNextNode(bytes32,bytes32,bytes32)](src/rollup/RollupUserLogic.sol#L176-L180) uses a dangerous strict equality:\n\t- [require(bool,string)(nodeHash == getNodeStorage(firstUnresolvedNode()).nodeHash,WRONG_HASH)](src/rollup/RollupUserLogic.sol#L178)\n", -+ "first_markdown_element": "src/rollup/RollupUserLogic.sol#L176-L180", -+ "id": "19ca8615fd5f71005c78c7230011930b328c1949f9594bef453bbe022663a85d", -+ "check": "incorrect-equality", -+ "impact": "Medium", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "requireUnchallengedStaker", -+ "source_mapping": { -+ "start": 26420, -+ "length": 212, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [640, 641, 642, 643], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26133, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, -+ 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, -+ 642, 643, 644 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "requireUnchallengedStaker(address)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "require(bool,string)(currentChallenge(stakerAddress) == NO_CHAL_INDEX,IN_CHAL)", -+ "source_mapping": { -+ "start": 26557, -+ "length": 68, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [642], -+ "starting_column": 9, -+ "ending_column": 77 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "requireUnchallengedStaker", -+ "source_mapping": { -+ "start": 26420, -+ "length": 212, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [640, 641, 642, 643], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26133, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "requireUnchallengedStaker(address)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "AbsRollupUserLogic.requireUnchallengedStaker(address) (src/rollup/RollupUserLogic.sol#640-643) uses a dangerous strict equality:\n\t- require(bool,string)(currentChallenge(stakerAddress) == NO_CHAL_INDEX,IN_CHAL) (src/rollup/RollupUserLogic.sol#642)\n", -+ "markdown": "[AbsRollupUserLogic.requireUnchallengedStaker(address)](src/rollup/RollupUserLogic.sol#L640-L643) uses a dangerous strict equality:\n\t- [require(bool,string)(currentChallenge(stakerAddress) == NO_CHAL_INDEX,IN_CHAL)](src/rollup/RollupUserLogic.sol#L642)\n", -+ "first_markdown_element": "src/rollup/RollupUserLogic.sol#L640-L643", -+ "id": "5b92a43a048601d647a680d472499f14a3b778f80130e8c058351203f5d5fd5a", -+ "check": "incorrect-equality", -+ "impact": "Medium", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "stakeOnExistingNode", -+ "source_mapping": { -+ "start": 7909, -+ "length": 583, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26133, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, -+ 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, -+ 642, 643, 644 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "stakeOnExistingNode(uint64,bytes32)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "require(bool,string)(latestStakedNode(msg.sender) == node.prevNum,NOT_STAKED_PREV)", -+ "source_mapping": { -+ "start": 8371, -+ "length": 72, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [213], -+ "starting_column": 9, -+ "ending_column": 81 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "stakeOnExistingNode", -+ "source_mapping": { -+ "start": 7909, -+ "length": 583, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26133, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "stakeOnExistingNode(uint64,bytes32)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "AbsRollupUserLogic.stakeOnExistingNode(uint64,bytes32) (src/rollup/RollupUserLogic.sol#200-215) uses a dangerous strict equality:\n\t- require(bool,string)(latestStakedNode(msg.sender) == node.prevNum,NOT_STAKED_PREV) (src/rollup/RollupUserLogic.sol#213)\n", -+ "markdown": "[AbsRollupUserLogic.stakeOnExistingNode(uint64,bytes32)](src/rollup/RollupUserLogic.sol#L200-L215) uses a dangerous strict equality:\n\t- [require(bool,string)(latestStakedNode(msg.sender) == node.prevNum,NOT_STAKED_PREV)](src/rollup/RollupUserLogic.sol#L213)\n", -+ "first_markdown_element": "src/rollup/RollupUserLogic.sol#L200-L215", -+ "id": "ccbd0d521b15fdf53a5989679bae528b0dc5388bbbb4c4fdc19a8b9bd9f86879", -+ "check": "incorrect-equality", -+ "impact": "Medium", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "createChallenge", -+ "source_mapping": { -+ "start": 13265, -+ "length": 3131, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, -+ 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -+ 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, -+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, -+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -+ 380, 381, 382, 383, 384, 385, 386, 387, 388 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26133, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, -+ 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, -+ 642, 643, 644 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "challengeIndex = createChallengeHelper(stakers,machineStatuses,globalStates,numBlocks,wasmModuleRoots,(commonEndBlock - proposedBlocks[0]) * ETH_POS_BLOCK_TIME,(commonEndBlock - proposedBlocks[1]) * ETH_POS_BLOCK_TIME)", -+ "source_mapping": { -+ "start": 15808, -+ "length": 398, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [374, 375, 376, 377, 378, 379, 380, 381, 382, 383], -+ "starting_column": 9, -+ "ending_column": 10 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "createChallenge", -+ "source_mapping": { -+ "start": 13265, -+ "length": 3131, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, -+ 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -+ 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, -+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, -+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -+ 380, 381, 382, 383, 384, 385, 386, 387, 388 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26133, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls" } -+ }, -+ { -+ "type": "node", -+ "name": "challengeManager.createChallenge(wasmModuleRoots[0],machineStatuses,globalStates,numBlocks,stakers[0],stakers[1],asserterTimeLeft,challengerTimeLeft)", -+ "source_mapping": { -+ "start": 16750, -+ "length": 317, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409], -+ "starting_column": 9, -+ "ending_column": 14 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "createChallengeHelper", -+ "source_mapping": { -+ "start": 16402, -+ "length": 672, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, -+ 403, 404, 405, 406, 407, 408, 409, 410 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26133, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createChallengeHelper(address[2],MachineStatus[2],GlobalState[2],uint64,bytes32[2],uint256,uint256)" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls_sending_eth" } -+ }, -+ { -+ "type": "node", -+ "name": "challengeStarted(stakers[0],stakers[1],challengeIndex)", -+ "source_mapping": { -+ "start": 16242, -+ "length": 56, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [385], -+ "starting_column": 9, -+ "ending_column": 65 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "createChallenge", -+ "source_mapping": { -+ "start": 13265, -+ "length": 3131, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, -+ 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -+ 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, -+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, -+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -+ 380, 381, 382, 383, 384, 385, 386, 387, 388 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26133, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "_stakerMap" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "_stakerMap[staker1].currentChallenge = challenge", -+ "source_mapping": { -+ "start": 13618, -+ "length": 48, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [384], -+ "starting_column": 9, -+ "ending_column": 57 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "challengeStarted", -+ "source_mapping": { -+ "start": 13491, -+ "length": 240, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [379, 380, 381, 382, 383, 384, 385, 386], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24629, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, -+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, -+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, -+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, -+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, -+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, -+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, -+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, -+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, -+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, -+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, -+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, -+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, -+ 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, -+ 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, -+ 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, -+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, -+ 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, -+ 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, -+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -+ 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, -+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -+ 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, -+ 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, -+ 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, -+ 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, -+ 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, -+ 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, -+ 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, -+ 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, -+ 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, -+ 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, -+ 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, -+ 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, -+ 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, -+ 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, -+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, -+ 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678, 679 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "challengeStarted(address,address,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "_stakerMap" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "_stakerMap[staker2].currentChallenge = challenge", -+ "source_mapping": { -+ "start": 13676, -+ "length": 48, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [385], -+ "starting_column": 9, -+ "ending_column": 57 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "challengeStarted", -+ "source_mapping": { -+ "start": 13491, -+ "length": 240, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [379, 380, 381, 382, 383, 384, 385, 386], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24629, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, -+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, -+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, -+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, -+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, -+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, -+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, -+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, -+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, -+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, -+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, -+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, -+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, -+ 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, -+ 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, -+ 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, -+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, -+ 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, -+ 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, -+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -+ 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, -+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -+ 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, -+ 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, -+ 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, -+ 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, -+ 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, -+ 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, -+ 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, -+ 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, -+ 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, -+ 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, -+ 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, -+ 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, -+ 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, -+ 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, -+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, -+ 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678, 679 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "challengeStarted(address,address,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "_stakerMap" -+ } -+ } -+ ], -+ "description": "Reentrancy in AbsRollupUserLogic.createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2]) (src/rollup/RollupUserLogic.sol#315-388):\n\tExternal calls:\n\t- challengeIndex = createChallengeHelper(stakers,machineStatuses,globalStates,numBlocks,wasmModuleRoots,(commonEndBlock - proposedBlocks[0]) * ETH_POS_BLOCK_TIME,(commonEndBlock - proposedBlocks[1]) * ETH_POS_BLOCK_TIME) (src/rollup/RollupUserLogic.sol#374-383)\n\t\t- challengeManager.createChallenge(wasmModuleRoots[0],machineStatuses,globalStates,numBlocks,stakers[0],stakers[1],asserterTimeLeft,challengerTimeLeft) (src/rollup/RollupUserLogic.sol#399-409)\n\tState variables written after the call(s):\n\t- challengeStarted(stakers[0],stakers[1],challengeIndex) (src/rollup/RollupUserLogic.sol#385)\n\t\t- _stakerMap[staker1].currentChallenge = challenge (src/rollup/RollupCore.sol#384)\n\t\t- _stakerMap[staker2].currentChallenge = challenge (src/rollup/RollupCore.sol#385)\n\tRollupCore._stakerMap (src/rollup/RollupCore.sol#68) can be used in cross function reentrancies:\n\t- RollupCore._stakerMap (src/rollup/RollupCore.sol#68)\n\t- RollupCore.amountStaked(address) (src/rollup/RollupCore.sol#186-188)\n\t- RollupCore.challengeStarted(address,address,uint64) (src/rollup/RollupCore.sol#379-386)\n\t- RollupCore.clearChallenge(address) (src/rollup/RollupCore.sol#368-371)\n\t- RollupCore.currentChallenge(address) (src/rollup/RollupCore.sol#177-179)\n\t- RollupCore.deleteStaker(address) (src/rollup/RollupCore.sol#543-551)\n\t- RollupCore.getStaker(address) (src/rollup/RollupCore.sol#195-197)\n\t- RollupCore.inChallenge(address,address) (src/rollup/RollupCore.sol#351-362)\n\t- RollupCore.increaseStakeBy(address,uint256) (src/rollup/RollupCore.sol#393-399)\n\t- RollupCore.isStaked(address) (src/rollup/RollupCore.sol#149-151)\n\t- RollupCore.isStakedOnLatestConfirmed(address) (src/rollup/RollupCore.sol#159-161)\n\t- RollupCore.latestStakedNode(address) (src/rollup/RollupCore.sol#168-170)\n\t- RollupCore.reduceStakeTo(address,uint256) (src/rollup/RollupCore.sol#407-416)\n\t- RollupCore.stakeOnNode(address,uint64) (src/rollup/RollupCore.sol#508-512)\n\t- RollupCore.turnIntoZombie(address) (src/rollup/RollupCore.sol#422-426)\n\t- RollupCore.withdrawStaker(address) (src/rollup/RollupCore.sol#489-501)\n", -+ "markdown": "Reentrancy in [AbsRollupUserLogic.createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])](src/rollup/RollupUserLogic.sol#L315-L388):\n\tExternal calls:\n\t- [challengeIndex = createChallengeHelper(stakers,machineStatuses,globalStates,numBlocks,wasmModuleRoots,(commonEndBlock - proposedBlocks[0]) * ETH_POS_BLOCK_TIME,(commonEndBlock - proposedBlocks[1]) * ETH_POS_BLOCK_TIME)](src/rollup/RollupUserLogic.sol#L374-L383)\n\t\t- [challengeManager.createChallenge(wasmModuleRoots[0],machineStatuses,globalStates,numBlocks,stakers[0],stakers[1],asserterTimeLeft,challengerTimeLeft)](src/rollup/RollupUserLogic.sol#L399-L409)\n\tState variables written after the call(s):\n\t- [challengeStarted(stakers[0],stakers[1],challengeIndex)](src/rollup/RollupUserLogic.sol#L385)\n\t\t- [_stakerMap[staker1].currentChallenge = challenge](src/rollup/RollupCore.sol#L384)\n\t\t- [_stakerMap[staker2].currentChallenge = challenge](src/rollup/RollupCore.sol#L385)\n\t[RollupCore._stakerMap](src/rollup/RollupCore.sol#L68) can be used in cross function reentrancies:\n\t- [RollupCore._stakerMap](src/rollup/RollupCore.sol#L68)\n\t- [RollupCore.amountStaked(address)](src/rollup/RollupCore.sol#L186-L188)\n\t- [RollupCore.challengeStarted(address,address,uint64)](src/rollup/RollupCore.sol#L379-L386)\n\t- [RollupCore.clearChallenge(address)](src/rollup/RollupCore.sol#L368-L371)\n\t- [RollupCore.currentChallenge(address)](src/rollup/RollupCore.sol#L177-L179)\n\t- [RollupCore.deleteStaker(address)](src/rollup/RollupCore.sol#L543-L551)\n\t- [RollupCore.getStaker(address)](src/rollup/RollupCore.sol#L195-L197)\n\t- [RollupCore.inChallenge(address,address)](src/rollup/RollupCore.sol#L351-L362)\n\t- [RollupCore.increaseStakeBy(address,uint256)](src/rollup/RollupCore.sol#L393-L399)\n\t- [RollupCore.isStaked(address)](src/rollup/RollupCore.sol#L149-L151)\n\t- [RollupCore.isStakedOnLatestConfirmed(address)](src/rollup/RollupCore.sol#L159-L161)\n\t- [RollupCore.latestStakedNode(address)](src/rollup/RollupCore.sol#L168-L170)\n\t- [RollupCore.reduceStakeTo(address,uint256)](src/rollup/RollupCore.sol#L407-L416)\n\t- [RollupCore.stakeOnNode(address,uint64)](src/rollup/RollupCore.sol#L508-L512)\n\t- [RollupCore.turnIntoZombie(address)](src/rollup/RollupCore.sol#L422-L426)\n\t- [RollupCore.withdrawStaker(address)](src/rollup/RollupCore.sol#L489-L501)\n", -+ "first_markdown_element": "src/rollup/RollupUserLogic.sol#L315-L388", -+ "id": "2b29c60586106261585a7463cf78d2dc6e7c2d56072499e590e932df559d24bb", -+ "check": "reentrancy-no-eth", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "anyTrustFastConfirmer", -+ "source_mapping": { -+ "start": 2460, -+ "length": 36, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [80], -+ "starting_column": 5, -+ "ending_column": 41 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24629, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, -+ 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, -+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, -+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, -+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, -+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, -+ 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, -+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -+ 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, -+ 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, -+ 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, -+ 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, -+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -+ 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, -+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, -+ 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, -+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, -+ 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -+ 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, -+ 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, -+ 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, -+ 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, -+ 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, -+ 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, -+ 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, -+ 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, -+ 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678, 679 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ } -+ } -+ }, -+ { -+ "type": "function", -+ "name": "fastConfirmNextNode", -+ "source_mapping": { -+ "start": 6800, -+ "length": 401, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [176, 177, 178, 179, 180, 181], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26207, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, -+ 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, -+ 642, 643, 644, 645 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "fastConfirmNextNode(bytes32,bytes32,uint64,bytes32)" -+ } -+ } -+ ], -+ "description": "RollupCore.anyTrustFastConfirmer (src/rollup/RollupCore.sol#80) is never initialized. It is used in:\n\t- AbsRollupUserLogic.fastConfirmNextNode(bytes32,bytes32,uint64,bytes32) (src/rollup/RollupUserLogic.sol#176-181)\n", -+ "markdown": "[RollupCore.anyTrustFastConfirmer](src/rollup/RollupCore.sol#L80) is never initialized. It is used in:\n\t- [AbsRollupUserLogic.fastConfirmNextNode(bytes32,bytes32,uint64,bytes32)](src/rollup/RollupUserLogic.sol#L176-L181)\n", -+ "first_markdown_element": "src/rollup/RollupCore.sol#L80", -+ "id": "73f909a3e549c85be9403f39fd73d421a43658f2516798cb75e1788e512992f2", -+ "check": "uninitialized-state", -+ "impact": "High", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "currentRequiredStake", -+ "source_mapping": { -+ "start": 21285, -+ "length": 1527, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, -+ 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, -+ 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, -+ 541, 542, 543, 544, 545, 546, 547, 548 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26207, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, -+ 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, -+ 642, 643, 644, 645 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "currentRequiredStake(uint256,uint64,uint256)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "multiplier = withNumerator / denominators[periodsPassed % 10]", -+ "source_mapping": { -+ "start": 22628, -+ "length": 69, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [543], -+ "starting_column": 9, -+ "ending_column": 78 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "currentRequiredStake", -+ "source_mapping": { -+ "start": 21285, -+ "length": 1527, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, -+ 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, -+ 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, -+ 541, 542, 543, 544, 545, 546, 547, 548 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26207, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, -+ 645 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "currentRequiredStake(uint256,uint64,uint256)" -+ } -+ } -+ } -+ }, -+ { -+ "type": "node", -+ "name": "baseStake * multiplier", -+ "source_mapping": { -+ "start": 22776, -+ "length": 29, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [547], -+ "starting_column": 9, -+ "ending_column": 38 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "currentRequiredStake", -+ "source_mapping": { -+ "start": 21285, -+ "length": 1527, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, -+ 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, -+ 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, -+ 541, 542, 543, 544, 545, 546, 547, 548 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26207, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, -+ 645 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "currentRequiredStake(uint256,uint64,uint256)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256) (src/rollup/RollupUserLogic.sol#502-548) performs a multiplication on the result of a division:\n\t- multiplier = withNumerator / denominators[periodsPassed % 10] (src/rollup/RollupUserLogic.sol#543)\n\t- baseStake * multiplier (src/rollup/RollupUserLogic.sol#547)\n", -+ "markdown": "[AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256)](src/rollup/RollupUserLogic.sol#L502-L548) performs a multiplication on the result of a division:\n\t- [multiplier = withNumerator / denominators[periodsPassed % 10]](src/rollup/RollupUserLogic.sol#L543)\n\t- [baseStake * multiplier](src/rollup/RollupUserLogic.sol#L547)\n", -+ "first_markdown_element": "src/rollup/RollupUserLogic.sol#L502-L548", -+ "id": "a06a90d9213a90fab9e69dcb5ff30aff7af9ca537f078f891088bb6e179d0c41", -+ "check": "divide-before-multiply", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "currentRequiredStake", -+ "source_mapping": { -+ "start": 21285, -+ "length": 1527, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, -+ 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, -+ 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, -+ 541, 542, 543, 544, 545, 546, 547, 548 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26207, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, -+ 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, -+ 642, 643, 644, 645 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "currentRequiredStake(uint256,uint64,uint256)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "multiplier == 0", -+ "source_mapping": { -+ "start": 22711, -+ "length": 15, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [544], -+ "starting_column": 13, -+ "ending_column": 28 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "currentRequiredStake", -+ "source_mapping": { -+ "start": 21285, -+ "length": 1527, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, -+ 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, -+ 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, -+ 541, 542, 543, 544, 545, 546, 547, 548 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26207, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, -+ 645 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "currentRequiredStake(uint256,uint64,uint256)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256) (src/rollup/RollupUserLogic.sol#502-548) uses a dangerous strict equality:\n\t- multiplier == 0 (src/rollup/RollupUserLogic.sol#544)\n", -+ "markdown": "[AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256)](src/rollup/RollupUserLogic.sol#L502-L548) uses a dangerous strict equality:\n\t- [multiplier == 0](src/rollup/RollupUserLogic.sol#L544)\n", -+ "first_markdown_element": "src/rollup/RollupUserLogic.sol#L502-L548", -+ "id": "f0540633dca6b3c5acc4f012e6533bb6b22a026d8ff3b90b8585b50c348b0d5d", -+ "check": "incorrect-equality", -+ "impact": "Medium", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "fastConfirmNextNode", -+ "source_mapping": { -+ "start": 6800, -+ "length": 401, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [176, 177, 178, 179, 180, 181], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26207, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, -+ 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, -+ 642, 643, 644, 645 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "fastConfirmNextNode(bytes32,bytes32,uint64,bytes32)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "require(bool,string)(nodeHash == getNodeStorage(nodeNum).nodeHash,WRONG_HASH)", -+ "source_mapping": { -+ "start": 7074, -+ "length": 67, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [179], -+ "starting_column": 9, -+ "ending_column": 76 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "fastConfirmNextNode", -+ "source_mapping": { -+ "start": 6800, -+ "length": 401, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [176, 177, 178, 179, 180, 181], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26207, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, -+ 645 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "fastConfirmNextNode(bytes32,bytes32,uint64,bytes32)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "AbsRollupUserLogic.fastConfirmNextNode(bytes32,bytes32,uint64,bytes32) (src/rollup/RollupUserLogic.sol#176-181) uses a dangerous strict equality:\n\t- require(bool,string)(nodeHash == getNodeStorage(nodeNum).nodeHash,WRONG_HASH) (src/rollup/RollupUserLogic.sol#179)\n", -+ "markdown": "[AbsRollupUserLogic.fastConfirmNextNode(bytes32,bytes32,uint64,bytes32)](src/rollup/RollupUserLogic.sol#L176-L181) uses a dangerous strict equality:\n\t- [require(bool,string)(nodeHash == getNodeStorage(nodeNum).nodeHash,WRONG_HASH)](src/rollup/RollupUserLogic.sol#L179)\n", -+ "first_markdown_element": "src/rollup/RollupUserLogic.sol#L176-L181", -+ "id": "d81d8afbfd2634a30a7859c5a5e586e9810463b8236da8bf559155d43b58a230", -+ "check": "incorrect-equality", -+ "impact": "Medium", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "requireUnchallengedStaker", -+ "source_mapping": { -+ "start": 26494, -+ "length": 212, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [641, 642, 643, 644], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26207, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, -+ 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, -+ 642, 643, 644, 645 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "requireUnchallengedStaker(address)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "require(bool,string)(currentChallenge(stakerAddress) == NO_CHAL_INDEX,IN_CHAL)", -+ "source_mapping": { -+ "start": 26631, -+ "length": 68, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [643], -+ "starting_column": 9, -+ "ending_column": 77 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "requireUnchallengedStaker", -+ "source_mapping": { -+ "start": 26494, -+ "length": 212, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [641, 642, 643, 644], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26207, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, -+ 645 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "requireUnchallengedStaker(address)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "AbsRollupUserLogic.requireUnchallengedStaker(address) (src/rollup/RollupUserLogic.sol#641-644) uses a dangerous strict equality:\n\t- require(bool,string)(currentChallenge(stakerAddress) == NO_CHAL_INDEX,IN_CHAL) (src/rollup/RollupUserLogic.sol#643)\n", -+ "markdown": "[AbsRollupUserLogic.requireUnchallengedStaker(address)](src/rollup/RollupUserLogic.sol#L641-L644) uses a dangerous strict equality:\n\t- [require(bool,string)(currentChallenge(stakerAddress) == NO_CHAL_INDEX,IN_CHAL)](src/rollup/RollupUserLogic.sol#L643)\n", -+ "first_markdown_element": "src/rollup/RollupUserLogic.sol#L641-L644", -+ "id": "3323048300e79cff852072e2a5dd523379c0c9072bfb004b3ba5bd0d09c86c3f", -+ "check": "incorrect-equality", -+ "impact": "Medium", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "stakeOnExistingNode", -+ "source_mapping": { -+ "start": 7983, -+ "length": 583, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26207, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, -+ 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, -+ 642, 643, 644, 645 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "stakeOnExistingNode(uint64,bytes32)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "require(bool,string)(latestStakedNode(msg.sender) == node.prevNum,NOT_STAKED_PREV)", -+ "source_mapping": { -+ "start": 8445, -+ "length": 72, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [214], -+ "starting_column": 9, -+ "ending_column": 81 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "stakeOnExistingNode", -+ "source_mapping": { -+ "start": 7983, -+ "length": 583, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26207, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, -+ 645 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "stakeOnExistingNode(uint64,bytes32)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "AbsRollupUserLogic.stakeOnExistingNode(uint64,bytes32) (src/rollup/RollupUserLogic.sol#201-216) uses a dangerous strict equality:\n\t- require(bool,string)(latestStakedNode(msg.sender) == node.prevNum,NOT_STAKED_PREV) (src/rollup/RollupUserLogic.sol#214)\n", -+ "markdown": "[AbsRollupUserLogic.stakeOnExistingNode(uint64,bytes32)](src/rollup/RollupUserLogic.sol#L201-L216) uses a dangerous strict equality:\n\t- [require(bool,string)(latestStakedNode(msg.sender) == node.prevNum,NOT_STAKED_PREV)](src/rollup/RollupUserLogic.sol#L214)\n", -+ "first_markdown_element": "src/rollup/RollupUserLogic.sol#L201-L216", -+ "id": "45ab4c7ef9266f342edc09390b14e6ebbb5742734ae6570773770ba6b1be22df", -+ "check": "incorrect-equality", -+ "impact": "Medium", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "createChallenge", -+ "source_mapping": { -+ "start": 13339, -+ "length": 3131, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -+ 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, -+ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, -+ 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26207, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, -+ 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, -+ 642, 643, 644, 645 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "challengeIndex = createChallengeHelper(stakers,machineStatuses,globalStates,numBlocks,wasmModuleRoots,(commonEndBlock - proposedBlocks[0]) * ETH_POS_BLOCK_TIME,(commonEndBlock - proposedBlocks[1]) * ETH_POS_BLOCK_TIME)", -+ "source_mapping": { -+ "start": 15882, -+ "length": 398, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [375, 376, 377, 378, 379, 380, 381, 382, 383, 384], -+ "starting_column": 9, -+ "ending_column": 10 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "createChallenge", -+ "source_mapping": { -+ "start": 13339, -+ "length": 3131, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -+ 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, -+ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, -+ 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26207, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, -+ 645 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls" } -+ }, -+ { -+ "type": "node", -+ "name": "challengeManager.createChallenge(wasmModuleRoots[0],machineStatuses,globalStates,numBlocks,stakers[0],stakers[1],asserterTimeLeft,challengerTimeLeft)", -+ "source_mapping": { -+ "start": 16824, -+ "length": 317, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410], -+ "starting_column": 9, -+ "ending_column": 14 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "createChallengeHelper", -+ "source_mapping": { -+ "start": 16476, -+ "length": 672, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, -+ 404, 405, 406, 407, 408, 409, 410, 411 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26207, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, -+ 645 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createChallengeHelper(address[2],MachineStatus[2],GlobalState[2],uint64,bytes32[2],uint256,uint256)" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls_sending_eth" } -+ }, -+ { -+ "type": "node", -+ "name": "challengeStarted(stakers[0],stakers[1],challengeIndex)", -+ "source_mapping": { -+ "start": 16316, -+ "length": 56, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [386], -+ "starting_column": 9, -+ "ending_column": 65 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "createChallenge", -+ "source_mapping": { -+ "start": 13339, -+ "length": 3131, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -+ 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, -+ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, -+ 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 26207, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, -+ 645 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "_stakerMap" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "_stakerMap[staker1].currentChallenge = challenge", -+ "source_mapping": { -+ "start": 13618, -+ "length": 48, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [384], -+ "starting_column": 9, -+ "ending_column": 57 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "challengeStarted", -+ "source_mapping": { -+ "start": 13491, -+ "length": 240, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [379, 380, 381, 382, 383, 384, 385, 386], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24629, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, -+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, -+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, -+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, -+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, -+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, -+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, -+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, -+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, -+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, -+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, -+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, -+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, -+ 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, -+ 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, -+ 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, -+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, -+ 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, -+ 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, -+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -+ 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, -+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -+ 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, -+ 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, -+ 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, -+ 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, -+ 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, -+ 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, -+ 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, -+ 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, -+ 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, -+ 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, -+ 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, -+ 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, -+ 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, -+ 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, -+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, -+ 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678, 679 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "challengeStarted(address,address,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "_stakerMap" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "_stakerMap[staker2].currentChallenge = challenge", -+ "source_mapping": { -+ "start": 13676, -+ "length": 48, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [385], -+ "starting_column": 9, -+ "ending_column": 57 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "challengeStarted", -+ "source_mapping": { -+ "start": 13491, -+ "length": 240, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [379, 380, 381, 382, 383, 384, 385, 386], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24629, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, -+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, -+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, -+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, -+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, -+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, -+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, -+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, -+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, -+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, -+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, -+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, -+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, -+ 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, -+ 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, -+ 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, -+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, -+ 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, -+ 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, -+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -+ 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, -+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -+ 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, -+ 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, -+ 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, -+ 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, -+ 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, -+ 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, -+ 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, -+ 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, -+ 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, -+ 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, -+ 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, -+ 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, -+ 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, -+ 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, -+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, -+ 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678, 679 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "challengeStarted(address,address,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "_stakerMap" -+ } -+ } -+ ], -+ "description": "Reentrancy in AbsRollupUserLogic.createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2]) (src/rollup/RollupUserLogic.sol#316-389):\n\tExternal calls:\n\t- challengeIndex = createChallengeHelper(stakers,machineStatuses,globalStates,numBlocks,wasmModuleRoots,(commonEndBlock - proposedBlocks[0]) * ETH_POS_BLOCK_TIME,(commonEndBlock - proposedBlocks[1]) * ETH_POS_BLOCK_TIME) (src/rollup/RollupUserLogic.sol#375-384)\n\t\t- challengeManager.createChallenge(wasmModuleRoots[0],machineStatuses,globalStates,numBlocks,stakers[0],stakers[1],asserterTimeLeft,challengerTimeLeft) (src/rollup/RollupUserLogic.sol#400-410)\n\tState variables written after the call(s):\n\t- challengeStarted(stakers[0],stakers[1],challengeIndex) (src/rollup/RollupUserLogic.sol#386)\n\t\t- _stakerMap[staker1].currentChallenge = challenge (src/rollup/RollupCore.sol#384)\n\t\t- _stakerMap[staker2].currentChallenge = challenge (src/rollup/RollupCore.sol#385)\n\tRollupCore._stakerMap (src/rollup/RollupCore.sol#68) can be used in cross function reentrancies:\n\t- RollupCore._stakerMap (src/rollup/RollupCore.sol#68)\n\t- RollupCore.amountStaked(address) (src/rollup/RollupCore.sol#186-188)\n\t- RollupCore.challengeStarted(address,address,uint64) (src/rollup/RollupCore.sol#379-386)\n\t- RollupCore.clearChallenge(address) (src/rollup/RollupCore.sol#368-371)\n\t- RollupCore.currentChallenge(address) (src/rollup/RollupCore.sol#177-179)\n\t- RollupCore.deleteStaker(address) (src/rollup/RollupCore.sol#543-551)\n\t- RollupCore.getStaker(address) (src/rollup/RollupCore.sol#195-197)\n\t- RollupCore.inChallenge(address,address) (src/rollup/RollupCore.sol#351-362)\n\t- RollupCore.increaseStakeBy(address,uint256) (src/rollup/RollupCore.sol#393-399)\n\t- RollupCore.isStaked(address) (src/rollup/RollupCore.sol#149-151)\n\t- RollupCore.isStakedOnLatestConfirmed(address) (src/rollup/RollupCore.sol#159-161)\n\t- RollupCore.latestStakedNode(address) (src/rollup/RollupCore.sol#168-170)\n\t- RollupCore.reduceStakeTo(address,uint256) (src/rollup/RollupCore.sol#407-416)\n\t- RollupCore.stakeOnNode(address,uint64) (src/rollup/RollupCore.sol#508-512)\n\t- RollupCore.turnIntoZombie(address) (src/rollup/RollupCore.sol#422-426)\n\t- RollupCore.withdrawStaker(address) (src/rollup/RollupCore.sol#489-501)\n", -+ "markdown": "Reentrancy in [AbsRollupUserLogic.createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])](src/rollup/RollupUserLogic.sol#L316-L389):\n\tExternal calls:\n\t- [challengeIndex = createChallengeHelper(stakers,machineStatuses,globalStates,numBlocks,wasmModuleRoots,(commonEndBlock - proposedBlocks[0]) * ETH_POS_BLOCK_TIME,(commonEndBlock - proposedBlocks[1]) * ETH_POS_BLOCK_TIME)](src/rollup/RollupUserLogic.sol#L375-L384)\n\t\t- [challengeManager.createChallenge(wasmModuleRoots[0],machineStatuses,globalStates,numBlocks,stakers[0],stakers[1],asserterTimeLeft,challengerTimeLeft)](src/rollup/RollupUserLogic.sol#L400-L410)\n\tState variables written after the call(s):\n\t- [challengeStarted(stakers[0],stakers[1],challengeIndex)](src/rollup/RollupUserLogic.sol#L386)\n\t\t- [_stakerMap[staker1].currentChallenge = challenge](src/rollup/RollupCore.sol#L384)\n\t\t- [_stakerMap[staker2].currentChallenge = challenge](src/rollup/RollupCore.sol#L385)\n\t[RollupCore._stakerMap](src/rollup/RollupCore.sol#L68) can be used in cross function reentrancies:\n\t- [RollupCore._stakerMap](src/rollup/RollupCore.sol#L68)\n\t- [RollupCore.amountStaked(address)](src/rollup/RollupCore.sol#L186-L188)\n\t- [RollupCore.challengeStarted(address,address,uint64)](src/rollup/RollupCore.sol#L379-L386)\n\t- [RollupCore.clearChallenge(address)](src/rollup/RollupCore.sol#L368-L371)\n\t- [RollupCore.currentChallenge(address)](src/rollup/RollupCore.sol#L177-L179)\n\t- [RollupCore.deleteStaker(address)](src/rollup/RollupCore.sol#L543-L551)\n\t- [RollupCore.getStaker(address)](src/rollup/RollupCore.sol#L195-L197)\n\t- [RollupCore.inChallenge(address,address)](src/rollup/RollupCore.sol#L351-L362)\n\t- [RollupCore.increaseStakeBy(address,uint256)](src/rollup/RollupCore.sol#L393-L399)\n\t- [RollupCore.isStaked(address)](src/rollup/RollupCore.sol#L149-L151)\n\t- [RollupCore.isStakedOnLatestConfirmed(address)](src/rollup/RollupCore.sol#L159-L161)\n\t- [RollupCore.latestStakedNode(address)](src/rollup/RollupCore.sol#L168-L170)\n\t- [RollupCore.reduceStakeTo(address,uint256)](src/rollup/RollupCore.sol#L407-L416)\n\t- [RollupCore.stakeOnNode(address,uint64)](src/rollup/RollupCore.sol#L508-L512)\n\t- [RollupCore.turnIntoZombie(address)](src/rollup/RollupCore.sol#L422-L426)\n\t- [RollupCore.withdrawStaker(address)](src/rollup/RollupCore.sol#L489-L501)\n", -+ "first_markdown_element": "src/rollup/RollupUserLogic.sol#L316-L389", -+ "id": "0c968d1b20454d8fd452f65b003e0966ae923df9d1ef17996b29defd85f3dc9e", -+ "check": "reentrancy-no-eth", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "_fundAndDeploy", -+ "source_mapping": { -+ "start": 8525, -+ "length": 2154, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, -+ 97, 98, 99, 100 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "DeployHelper", -+ "source_mapping": { -+ "start": 525, -+ "length": 11692, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, -+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, -+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, -+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, -+ 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, -+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, -+ 159, 160 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_fundAndDeploy(address,uint256,address,bytes,address,uint256)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "IInbox(inbox).createRetryableTicket{value: feeAmount}({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,data:})", -+ "source_mapping": { -+ "start": 10156, -+ "length": 399, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [87, 88, 89, 90, 91, 92, 93, 94, 95, 96], -+ "starting_column": 13, -+ "ending_column": 15 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_fundAndDeploy", -+ "source_mapping": { -+ "start": 8525, -+ "length": 2154, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, -+ 94, 95, 96, 97, 98, 99, 100 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "DeployHelper", -+ "source_mapping": { -+ "start": 525, -+ "length": 11692, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_fundAndDeploy(address,uint256,address,bytes,address,uint256)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "DeployHelper._fundAndDeploy(address,uint256,address,bytes,address,uint256) (src/rollup/DeployHelper.sol#46-100) sends eth to arbitrary user\n\tDangerous calls:\n\t- IInbox(inbox).createRetryableTicket{value: feeAmount}({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,data:}) (src/rollup/DeployHelper.sol#87-96)\n", -+ "markdown": "[DeployHelper._fundAndDeploy(address,uint256,address,bytes,address,uint256)](src/rollup/DeployHelper.sol#L46-L100) sends eth to arbitrary user\n\tDangerous calls:\n\t- [IInbox(inbox).createRetryableTicket{value: feeAmount}({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,data:})](src/rollup/DeployHelper.sol#L87-L96)\n", -+ "first_markdown_element": "src/rollup/DeployHelper.sol#L46-L100", -+ "id": "58b5f7a8d77486bc6173862a853121ecdf5d9979f84cc2e05b66e0f0fd11218c", -+ "check": "arbitrary-send-eth", -+ "impact": "High", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "perform", -+ "source_mapping": { -+ "start": 10685, -+ "length": 1095, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, -+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "DeployHelper", -+ "source_mapping": { -+ "start": 525, -+ "length": 11692, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, -+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, -+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, -+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, -+ 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, -+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, -+ 159, 160 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "perform(address,address,uint256)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "address(msg.sender).transfer(address(this).balance)", -+ "source_mapping": { -+ "start": 11712, -+ "length": 51, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [142], -+ "starting_column": 13, -+ "ending_column": 64 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "perform", -+ "source_mapping": { -+ "start": 10685, -+ "length": 1095, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, -+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "DeployHelper", -+ "source_mapping": { -+ "start": 525, -+ "length": 11692, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "perform(address,address,uint256)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "DeployHelper.perform(address,address,uint256) (src/rollup/DeployHelper.sol#102-144) sends eth to arbitrary user\n\tDangerous calls:\n\t- address(msg.sender).transfer(address(this).balance) (src/rollup/DeployHelper.sol#142)\n", -+ "markdown": "[DeployHelper.perform(address,address,uint256)](src/rollup/DeployHelper.sol#L102-L144) sends eth to arbitrary user\n\tDangerous calls:\n\t- [address(msg.sender).transfer(address(this).balance)](src/rollup/DeployHelper.sol#L142)\n", -+ "first_markdown_element": "src/rollup/DeployHelper.sol#L102-L144", -+ "id": "ce5c492f55419016b34eb4e4de36fb8212599a42274960d6402d10a63f45ad40", -+ "check": "arbitrary-send-eth", -+ "impact": "High", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "anyTrustFastConfirmer", -+ "source_mapping": { -+ "start": 2460, -+ "length": 36, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [80], -+ "starting_column": 5, -+ "ending_column": 41 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24629, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, -+ 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, -+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, -+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, -+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, -+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, -+ 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, -+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -+ 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, -+ 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, -+ 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, -+ 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, -+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -+ 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, -+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, -+ 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, -+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, -+ 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -+ 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, -+ 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, -+ 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, -+ 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, -+ 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, -+ 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, -+ 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, -+ 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, -+ 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678, 679 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ } -+ } -+ }, -+ { -+ "type": "function", -+ "name": "fastConfirmNextNode", -+ "source_mapping": { -+ "start": 6703, -+ "length": 225, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [175, 176, 177, 178], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25934, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, -+ 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, -+ 642 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "fastConfirmNextNode(bytes32,bytes32)" -+ } -+ } -+ ], -+ "description": "RollupCore.anyTrustFastConfirmer (src/rollup/RollupCore.sol#80) is never initialized. It is used in:\n\t- AbsRollupUserLogic.fastConfirmNextNode(bytes32,bytes32) (src/rollup/RollupUserLogic.sol#175-178)\n", -+ "markdown": "[RollupCore.anyTrustFastConfirmer](src/rollup/RollupCore.sol#L80) is never initialized. It is used in:\n\t- [AbsRollupUserLogic.fastConfirmNextNode(bytes32,bytes32)](src/rollup/RollupUserLogic.sol#L175-L178)\n", -+ "first_markdown_element": "src/rollup/RollupCore.sol#L80", -+ "id": "18d2bfd017f6e3f4e743eb058275a178a0fd6d2d88265a51e06df0a8d6cd6473", -+ "check": "uninitialized-state", -+ "impact": "High", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "_fundAndDeploy", -+ "source_mapping": { -+ "start": 8525, -+ "length": 2154, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, -+ 97, 98, 99, 100 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "DeployHelper", -+ "source_mapping": { -+ "start": 525, -+ "length": 11692, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, -+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, -+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, -+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, -+ 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, -+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, -+ 159, 160 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_fundAndDeploy(address,uint256,address,bytes,address,uint256)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "feeAmountNativeDenominated = feeAmount / (10 ** (18 - decimals))", -+ "source_mapping": { -+ "start": 9268, -+ "length": 62, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [66], -+ "starting_column": 17, -+ "ending_column": 79 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_fundAndDeploy", -+ "source_mapping": { -+ "start": 8525, -+ "length": 2154, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, -+ 94, 95, 96, 97, 98, 99, 100 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "DeployHelper", -+ "source_mapping": { -+ "start": 525, -+ "length": 11692, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_fundAndDeploy(address,uint256,address,bytes,address,uint256)" -+ } -+ } -+ } -+ }, -+ { -+ "type": "node", -+ "name": "feeAmountNativeDenominated * (10 ** (18 - decimals)) < feeAmount", -+ "source_mapping": { -+ "start": 9393, -+ "length": 62, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [68], -+ "starting_column": 21, -+ "ending_column": 83 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_fundAndDeploy", -+ "source_mapping": { -+ "start": 8525, -+ "length": 2154, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, -+ 94, 95, 96, 97, 98, 99, 100 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "DeployHelper", -+ "source_mapping": { -+ "start": 525, -+ "length": 11692, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_fundAndDeploy(address,uint256,address,bytes,address,uint256)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "DeployHelper._fundAndDeploy(address,uint256,address,bytes,address,uint256) (src/rollup/DeployHelper.sol#46-100) performs a multiplication on the result of a division:\n\t- feeAmountNativeDenominated = feeAmount / (10 ** (18 - decimals)) (src/rollup/DeployHelper.sol#66)\n\t- feeAmountNativeDenominated * (10 ** (18 - decimals)) < feeAmount (src/rollup/DeployHelper.sol#68)\n", -+ "markdown": "[DeployHelper._fundAndDeploy(address,uint256,address,bytes,address,uint256)](src/rollup/DeployHelper.sol#L46-L100) performs a multiplication on the result of a division:\n\t- [feeAmountNativeDenominated = feeAmount / (10 ** (18 - decimals))](src/rollup/DeployHelper.sol#L66)\n\t- [feeAmountNativeDenominated * (10 ** (18 - decimals)) < feeAmount](src/rollup/DeployHelper.sol#L68)\n", -+ "first_markdown_element": "src/rollup/DeployHelper.sol#L46-L100", -+ "id": "4fb20a676d1f3bfb16ac2bd8d3fe3bbb5a365c9934ae12d86b9b88967edde290", -+ "check": "divide-before-multiply", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "_scaleDownToNativeDecimals", -+ "source_mapping": { -+ "start": 13092, -+ "length": 449, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, -+ 332, 333 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCreator", -+ "source_mapping": { -+ "start": 703, -+ "length": 12840, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, -+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, -+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, -+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, -+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, -+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, -+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, -+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, -+ 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, -+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, -+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, -+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, -+ 331, 332, 333, 334 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_scaleDownToNativeDecimals(uint256,uint8)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "scaledAmount = amount / (10 ** (18 - decimals))", -+ "source_mapping": { -+ "start": 13302, -+ "length": 45, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [326], -+ "starting_column": 13, -+ "ending_column": 58 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_scaleDownToNativeDecimals", -+ "source_mapping": { -+ "start": 13092, -+ "length": 449, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, -+ 332, 333 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCreator", -+ "source_mapping": { -+ "start": 703, -+ "length": 12840, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, -+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, -+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_scaleDownToNativeDecimals(uint256,uint8)" -+ } -+ } -+ } -+ }, -+ { -+ "type": "node", -+ "name": "scaledAmount * (10 ** (18 - decimals)) < amount", -+ "source_mapping": { -+ "start": 13402, -+ "length": 45, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [328], -+ "starting_column": 17, -+ "ending_column": 62 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_scaleDownToNativeDecimals", -+ "source_mapping": { -+ "start": 13092, -+ "length": 449, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, -+ 332, 333 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCreator", -+ "source_mapping": { -+ "start": 703, -+ "length": 12840, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, -+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, -+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_scaleDownToNativeDecimals(uint256,uint8)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "RollupCreator._scaleDownToNativeDecimals(uint256,uint8) (src/rollup/RollupCreator.sol#319-333) performs a multiplication on the result of a division:\n\t- scaledAmount = amount / (10 ** (18 - decimals)) (src/rollup/RollupCreator.sol#326)\n\t- scaledAmount * (10 ** (18 - decimals)) < amount (src/rollup/RollupCreator.sol#328)\n", -+ "markdown": "[RollupCreator._scaleDownToNativeDecimals(uint256,uint8)](src/rollup/RollupCreator.sol#L319-L333) performs a multiplication on the result of a division:\n\t- [scaledAmount = amount / (10 ** (18 - decimals))](src/rollup/RollupCreator.sol#L326)\n\t- [scaledAmount * (10 ** (18 - decimals)) < amount](src/rollup/RollupCreator.sol#L328)\n", -+ "first_markdown_element": "src/rollup/RollupCreator.sol#L319-L333", -+ "id": "dfee0ddb602c8f74926e48357bc4e6a51a2881e92e8dc12e111f59780c4affb8", -+ "check": "divide-before-multiply", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "currentRequiredStake", -+ "source_mapping": { -+ "start": 21012, -+ "length": 1527, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25934, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, -+ 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, -+ 642 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "currentRequiredStake(uint256,uint64,uint256)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "multiplier = withNumerator / denominators[periodsPassed % 10]", -+ "source_mapping": { -+ "start": 22355, -+ "length": 69, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [540], -+ "starting_column": 9, -+ "ending_column": 78 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "currentRequiredStake", -+ "source_mapping": { -+ "start": 21012, -+ "length": 1527, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25934, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "currentRequiredStake(uint256,uint64,uint256)" -+ } -+ } -+ } -+ }, -+ { -+ "type": "node", -+ "name": "baseStake * multiplier", -+ "source_mapping": { -+ "start": 22503, -+ "length": 29, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [544], -+ "starting_column": 9, -+ "ending_column": 38 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "currentRequiredStake", -+ "source_mapping": { -+ "start": 21012, -+ "length": 1527, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25934, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "currentRequiredStake(uint256,uint64,uint256)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256) (src/rollup/RollupUserLogic.sol#499-545) performs a multiplication on the result of a division:\n\t- multiplier = withNumerator / denominators[periodsPassed % 10] (src/rollup/RollupUserLogic.sol#540)\n\t- baseStake * multiplier (src/rollup/RollupUserLogic.sol#544)\n", -+ "markdown": "[AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256)](src/rollup/RollupUserLogic.sol#L499-L545) performs a multiplication on the result of a division:\n\t- [multiplier = withNumerator / denominators[periodsPassed % 10]](src/rollup/RollupUserLogic.sol#L540)\n\t- [baseStake * multiplier](src/rollup/RollupUserLogic.sol#L544)\n", -+ "first_markdown_element": "src/rollup/RollupUserLogic.sol#L499-L545", -+ "id": "2803a8de725e2165f69c9445b653745db069a7cfd61b8cc7b16da012952dc7f5", -+ "check": "divide-before-multiply", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "createNewNode", -+ "source_mapping": { -+ "start": 20694, -+ "length": 4618, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, -+ 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, -+ 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, -+ 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, -+ 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24629, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, -+ 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, -+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, -+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, -+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, -+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, -+ 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, -+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -+ 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, -+ 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, -+ 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, -+ 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, -+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -+ 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, -+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, -+ 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, -+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, -+ 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -+ 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, -+ 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, -+ 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, -+ 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, -+ 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, -+ 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, -+ 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, -+ 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, -+ 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678, 679 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createNewNode(Assertion,uint64,uint256,bytes32)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "require(bool,string)(RollupLib.stateHash(assertion.beforeState,prevNodeInboxMaxCount) == memoryFrame.prevNode.stateHash,PREV_STATE_HASH)", -+ "source_mapping": { -+ "start": 21435, -+ "length": 193, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [583, 584, 585, 586, 587], -+ "starting_column": 13, -+ "ending_column": 14 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "createNewNode", -+ "source_mapping": { -+ "start": 20694, -+ "length": 4618, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, -+ 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, -+ 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, -+ 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, -+ 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24629, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, -+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, -+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, -+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, -+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, -+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, -+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, -+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, -+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, -+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, -+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, -+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, -+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, -+ 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, -+ 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, -+ 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, -+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, -+ 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, -+ 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, -+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -+ 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, -+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -+ 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, -+ 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, -+ 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, -+ 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, -+ 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, -+ 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, -+ 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, -+ 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, -+ 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, -+ 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, -+ 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, -+ 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, -+ 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, -+ 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, -+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, -+ 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678, 679 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createNewNode(Assertion,uint64,uint256,bytes32)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "RollupCore.createNewNode(Assertion,uint64,uint256,bytes32) (src/rollup/RollupCore.sol#564-678) uses a dangerous strict equality:\n\t- require(bool,string)(RollupLib.stateHash(assertion.beforeState,prevNodeInboxMaxCount) == memoryFrame.prevNode.stateHash,PREV_STATE_HASH) (src/rollup/RollupCore.sol#583-587)\n", -+ "markdown": "[RollupCore.createNewNode(Assertion,uint64,uint256,bytes32)](src/rollup/RollupCore.sol#L564-L678) uses a dangerous strict equality:\n\t- [require(bool,string)(RollupLib.stateHash(assertion.beforeState,prevNodeInboxMaxCount) == memoryFrame.prevNode.stateHash,PREV_STATE_HASH)](src/rollup/RollupCore.sol#L583-L587)\n", -+ "first_markdown_element": "src/rollup/RollupCore.sol#L564-L678", -+ "id": "a6975dd3860f8b5f0ecafe0488b0b42245ca3c01b6eb97806a28024e4594f214", -+ "check": "incorrect-equality", -+ "impact": "Medium", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "createNewNode", -+ "source_mapping": { -+ "start": 20694, -+ "length": 4618, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, -+ 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, -+ 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, -+ 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, -+ 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24629, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, -+ 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, -+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, -+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, -+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, -+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, -+ 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, -+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -+ 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, -+ 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, -+ 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, -+ 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, -+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -+ 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, -+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, -+ 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, -+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, -+ 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -+ 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, -+ 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, -+ 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, -+ 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, -+ 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, -+ 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, -+ 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, -+ 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, -+ 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678, 679 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createNewNode(Assertion,uint64,uint256,bytes32)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "require(bool,string)(newNodeHash == expectedNodeHash || expectedNodeHash == bytes32(0),UNEXPECTED_NODE_HASH)", -+ "source_mapping": { -+ "start": 23889, -+ "length": 144, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [636, 637, 638, 639], -+ "starting_column": 13, -+ "ending_column": 14 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "createNewNode", -+ "source_mapping": { -+ "start": 20694, -+ "length": 4618, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, -+ 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, -+ 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, -+ 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, -+ 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24629, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, -+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, -+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, -+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, -+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, -+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, -+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, -+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, -+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, -+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, -+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, -+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, -+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, -+ 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, -+ 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, -+ 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, -+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, -+ 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, -+ 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, -+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -+ 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, -+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -+ 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, -+ 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, -+ 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, -+ 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, -+ 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, -+ 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, -+ 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, -+ 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, -+ 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, -+ 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, -+ 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, -+ 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, -+ 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, -+ 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, -+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, -+ 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678, 679 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createNewNode(Assertion,uint64,uint256,bytes32)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "RollupCore.createNewNode(Assertion,uint64,uint256,bytes32) (src/rollup/RollupCore.sol#564-678) uses a dangerous strict equality:\n\t- require(bool,string)(newNodeHash == expectedNodeHash || expectedNodeHash == bytes32(0),UNEXPECTED_NODE_HASH) (src/rollup/RollupCore.sol#636-639)\n", -+ "markdown": "[RollupCore.createNewNode(Assertion,uint64,uint256,bytes32)](src/rollup/RollupCore.sol#L564-L678) uses a dangerous strict equality:\n\t- [require(bool,string)(newNodeHash == expectedNodeHash || expectedNodeHash == bytes32(0),UNEXPECTED_NODE_HASH)](src/rollup/RollupCore.sol#L636-L639)\n", -+ "first_markdown_element": "src/rollup/RollupCore.sol#L564-L678", -+ "id": "3b3dac1beaad095c507198b6bb9f705f811752b33542b85f5e042f86bec5fb00", -+ "check": "incorrect-equality", -+ "impact": "Medium", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "currentRequiredStake", -+ "source_mapping": { -+ "start": 21012, -+ "length": 1527, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25934, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, -+ 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, -+ 642 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "currentRequiredStake(uint256,uint64,uint256)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "multiplier == 0", -+ "source_mapping": { -+ "start": 22438, -+ "length": 15, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [541], -+ "starting_column": 13, -+ "ending_column": 28 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "currentRequiredStake", -+ "source_mapping": { -+ "start": 21012, -+ "length": 1527, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25934, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "currentRequiredStake(uint256,uint64,uint256)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256) (src/rollup/RollupUserLogic.sol#499-545) uses a dangerous strict equality:\n\t- multiplier == 0 (src/rollup/RollupUserLogic.sol#541)\n", -+ "markdown": "[AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256)](src/rollup/RollupUserLogic.sol#L499-L545) uses a dangerous strict equality:\n\t- [multiplier == 0](src/rollup/RollupUserLogic.sol#L541)\n", -+ "first_markdown_element": "src/rollup/RollupUserLogic.sol#L499-L545", -+ "id": "d6f41cb5c33b4595428f9030c7e4c9a13c4023ba81089f63456a41d8784bd753", -+ "check": "incorrect-equality", -+ "impact": "Medium", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "requireUnchallengedStaker", -+ "source_mapping": { -+ "start": 26221, -+ "length": 212, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [638, 639, 640, 641], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25934, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, -+ 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, -+ 642 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "requireUnchallengedStaker(address)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "require(bool,string)(currentChallenge(stakerAddress) == NO_CHAL_INDEX,IN_CHAL)", -+ "source_mapping": { -+ "start": 26358, -+ "length": 68, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [640], -+ "starting_column": 9, -+ "ending_column": 77 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "requireUnchallengedStaker", -+ "source_mapping": { -+ "start": 26221, -+ "length": 212, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [638, 639, 640, 641], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25934, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "requireUnchallengedStaker(address)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "AbsRollupUserLogic.requireUnchallengedStaker(address) (src/rollup/RollupUserLogic.sol#638-641) uses a dangerous strict equality:\n\t- require(bool,string)(currentChallenge(stakerAddress) == NO_CHAL_INDEX,IN_CHAL) (src/rollup/RollupUserLogic.sol#640)\n", -+ "markdown": "[AbsRollupUserLogic.requireUnchallengedStaker(address)](src/rollup/RollupUserLogic.sol#L638-L641) uses a dangerous strict equality:\n\t- [require(bool,string)(currentChallenge(stakerAddress) == NO_CHAL_INDEX,IN_CHAL)](src/rollup/RollupUserLogic.sol#L640)\n", -+ "first_markdown_element": "src/rollup/RollupUserLogic.sol#L638-L641", -+ "id": "7bbbccc60c30858495f1002fa4f96507c8f35e5225b241a5dab5ec293383b044", -+ "check": "incorrect-equality", -+ "impact": "Medium", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "stakeOnExistingNode", -+ "source_mapping": { -+ "start": 7710, -+ "length": 583, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25934, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, -+ 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, -+ 642 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "stakeOnExistingNode(uint64,bytes32)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "require(bool,string)(latestStakedNode(msg.sender) == node.prevNum,NOT_STAKED_PREV)", -+ "source_mapping": { -+ "start": 8172, -+ "length": 72, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [211], -+ "starting_column": 9, -+ "ending_column": 81 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "stakeOnExistingNode", -+ "source_mapping": { -+ "start": 7710, -+ "length": 583, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25934, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "stakeOnExistingNode(uint64,bytes32)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "AbsRollupUserLogic.stakeOnExistingNode(uint64,bytes32) (src/rollup/RollupUserLogic.sol#198-213) uses a dangerous strict equality:\n\t- require(bool,string)(latestStakedNode(msg.sender) == node.prevNum,NOT_STAKED_PREV) (src/rollup/RollupUserLogic.sol#211)\n", -+ "markdown": "[AbsRollupUserLogic.stakeOnExistingNode(uint64,bytes32)](src/rollup/RollupUserLogic.sol#L198-L213) uses a dangerous strict equality:\n\t- [require(bool,string)(latestStakedNode(msg.sender) == node.prevNum,NOT_STAKED_PREV)](src/rollup/RollupUserLogic.sol#L211)\n", -+ "first_markdown_element": "src/rollup/RollupUserLogic.sol#L198-L213", -+ "id": "8e5cdf0b77d052567cdd55e34a5291c9b1e139a5df0033fdf1de430263047d89", -+ "check": "incorrect-equality", -+ "impact": "Medium", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "node", -+ "name": "_fundAndDeploy(_inbox,NICK_CREATE2_VALUE,NICK_CREATE2_DEPLOYER,NICK_CREATE2_PAYLOAD,_nativeToken,_maxFeePerGas)", -+ "source_mapping": { -+ "start": 10820, -+ "length": 198, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [107, 108, 109, 110, 111, 112, 113, 114], -+ "starting_column": 9, -+ "ending_column": 10 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "perform", -+ "source_mapping": { -+ "start": 10685, -+ "length": 1095, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, -+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "DeployHelper", -+ "source_mapping": { -+ "start": 525, -+ "length": 11692, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "perform(address,address,uint256)" -+ } -+ } -+ } -+ }, -+ { -+ "type": "node", -+ "name": "_fundAndDeploy(_inbox,NICK_CREATE2_VALUE,NICK_CREATE2_DEPLOYER,NICK_CREATE2_PAYLOAD,_nativeToken,_maxFeePerGas)", -+ "source_mapping": { -+ "start": 10820, -+ "length": 198, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [107, 108, 109, 110, 111, 112, 113, 114], -+ "starting_column": 9, -+ "ending_column": 10 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "perform", -+ "source_mapping": { -+ "start": 10685, -+ "length": 1095, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, -+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "DeployHelper", -+ "source_mapping": { -+ "start": 525, -+ "length": 11692, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "perform(address,address,uint256)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "Multiple retryable tickets created in the same function:\n\t -_fundAndDeploy(_inbox,NICK_CREATE2_VALUE,NICK_CREATE2_DEPLOYER,NICK_CREATE2_PAYLOAD,_nativeToken,_maxFeePerGas) (src/rollup/DeployHelper.sol#107-114)\n\t -_fundAndDeploy(_inbox,NICK_CREATE2_VALUE,NICK_CREATE2_DEPLOYER,NICK_CREATE2_PAYLOAD,_nativeToken,_maxFeePerGas) (src/rollup/DeployHelper.sol#107-114)\n", -+ "markdown": "Multiple retryable tickets created in the same function:\n\t -[_fundAndDeploy(_inbox,NICK_CREATE2_VALUE,NICK_CREATE2_DEPLOYER,NICK_CREATE2_PAYLOAD,_nativeToken,_maxFeePerGas)](src/rollup/DeployHelper.sol#L107-L114)\n\t -[_fundAndDeploy(_inbox,NICK_CREATE2_VALUE,NICK_CREATE2_DEPLOYER,NICK_CREATE2_PAYLOAD,_nativeToken,_maxFeePerGas)](src/rollup/DeployHelper.sol#L107-L114)\n", -+ "first_markdown_element": "src/rollup/DeployHelper.sol#L107-L114", -+ "id": "f31d620e4b82e77afe7ac6649042f283243e9582402f79ba35dacb2026ef6aa7", -+ "check": "out-of-order-retryable", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "createChallenge", -+ "source_mapping": { -+ "start": 13066, -+ "length": 3131, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, -+ 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, -+ 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, -+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, -+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -+ 378, 379, 380, 381, 382, 383, 384, 385, 386 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25934, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, -+ 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, -+ 642 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "challengeIndex = createChallengeHelper(stakers,machineStatuses,globalStates,numBlocks,wasmModuleRoots,(commonEndBlock - proposedBlocks[0]) * ETH_POS_BLOCK_TIME,(commonEndBlock - proposedBlocks[1]) * ETH_POS_BLOCK_TIME)", -+ "source_mapping": { -+ "start": 15609, -+ "length": 398, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [372, 373, 374, 375, 376, 377, 378, 379, 380, 381], -+ "starting_column": 9, -+ "ending_column": 10 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "createChallenge", -+ "source_mapping": { -+ "start": 13066, -+ "length": 3131, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, -+ 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, -+ 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, -+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, -+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -+ 378, 379, 380, 381, 382, 383, 384, 385, 386 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25934, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls" } -+ }, -+ { -+ "type": "node", -+ "name": "challengeManager.createChallenge(wasmModuleRoots[0],machineStatuses,globalStates,numBlocks,stakers[0],stakers[1],asserterTimeLeft,challengerTimeLeft)", -+ "source_mapping": { -+ "start": 16551, -+ "length": 317, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407], -+ "starting_column": 9, -+ "ending_column": 14 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "createChallengeHelper", -+ "source_mapping": { -+ "start": 16203, -+ "length": 672, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, -+ 401, 402, 403, 404, 405, 406, 407, 408 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25934, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createChallengeHelper(address[2],MachineStatus[2],GlobalState[2],uint64,bytes32[2],uint256,uint256)" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls_sending_eth" } -+ }, -+ { -+ "type": "node", -+ "name": "challengeStarted(stakers[0],stakers[1],challengeIndex)", -+ "source_mapping": { -+ "start": 16043, -+ "length": 56, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [383], -+ "starting_column": 9, -+ "ending_column": 65 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "createChallenge", -+ "source_mapping": { -+ "start": 13066, -+ "length": 3131, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, -+ 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, -+ 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, -+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, -+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -+ 378, 379, 380, 381, 382, 383, 384, 385, 386 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25934, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "_stakerMap" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "_stakerMap[staker1].currentChallenge = challenge", -+ "source_mapping": { -+ "start": 13618, -+ "length": 48, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [384], -+ "starting_column": 9, -+ "ending_column": 57 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "challengeStarted", -+ "source_mapping": { -+ "start": 13491, -+ "length": 240, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [379, 380, 381, 382, 383, 384, 385, 386], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24629, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, -+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, -+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, -+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, -+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, -+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, -+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, -+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, -+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, -+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, -+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, -+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, -+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, -+ 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, -+ 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, -+ 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, -+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, -+ 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, -+ 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, -+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -+ 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, -+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -+ 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, -+ 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, -+ 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, -+ 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, -+ 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, -+ 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, -+ 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, -+ 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, -+ 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, -+ 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, -+ 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, -+ 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, -+ 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, -+ 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, -+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, -+ 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678, 679 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "challengeStarted(address,address,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "_stakerMap" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "_stakerMap[staker2].currentChallenge = challenge", -+ "source_mapping": { -+ "start": 13676, -+ "length": 48, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [385], -+ "starting_column": 9, -+ "ending_column": 57 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "challengeStarted", -+ "source_mapping": { -+ "start": 13491, -+ "length": 240, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [379, 380, 381, 382, 383, 384, 385, 386], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24629, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, -+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, -+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, -+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, -+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, -+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, -+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, -+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, -+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, -+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, -+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, -+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, -+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, -+ 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, -+ 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, -+ 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, -+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, -+ 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, -+ 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, -+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -+ 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, -+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -+ 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, -+ 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, -+ 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, -+ 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, -+ 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, -+ 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, -+ 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, -+ 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, -+ 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, -+ 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, -+ 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, -+ 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, -+ 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, -+ 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, -+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, -+ 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678, 679 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "challengeStarted(address,address,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "_stakerMap" -+ } -+ } -+ ], -+ "description": "Reentrancy in AbsRollupUserLogic.createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2]) (src/rollup/RollupUserLogic.sol#313-386):\n\tExternal calls:\n\t- challengeIndex = createChallengeHelper(stakers,machineStatuses,globalStates,numBlocks,wasmModuleRoots,(commonEndBlock - proposedBlocks[0]) * ETH_POS_BLOCK_TIME,(commonEndBlock - proposedBlocks[1]) * ETH_POS_BLOCK_TIME) (src/rollup/RollupUserLogic.sol#372-381)\n\t\t- challengeManager.createChallenge(wasmModuleRoots[0],machineStatuses,globalStates,numBlocks,stakers[0],stakers[1],asserterTimeLeft,challengerTimeLeft) (src/rollup/RollupUserLogic.sol#397-407)\n\tState variables written after the call(s):\n\t- challengeStarted(stakers[0],stakers[1],challengeIndex) (src/rollup/RollupUserLogic.sol#383)\n\t\t- _stakerMap[staker1].currentChallenge = challenge (src/rollup/RollupCore.sol#384)\n\t\t- _stakerMap[staker2].currentChallenge = challenge (src/rollup/RollupCore.sol#385)\n\tRollupCore._stakerMap (src/rollup/RollupCore.sol#68) can be used in cross function reentrancies:\n\t- RollupCore._stakerMap (src/rollup/RollupCore.sol#68)\n\t- RollupCore.amountStaked(address) (src/rollup/RollupCore.sol#186-188)\n\t- RollupCore.challengeStarted(address,address,uint64) (src/rollup/RollupCore.sol#379-386)\n\t- RollupCore.clearChallenge(address) (src/rollup/RollupCore.sol#368-371)\n\t- RollupCore.currentChallenge(address) (src/rollup/RollupCore.sol#177-179)\n\t- RollupCore.deleteStaker(address) (src/rollup/RollupCore.sol#543-551)\n\t- RollupCore.getStaker(address) (src/rollup/RollupCore.sol#195-197)\n\t- RollupCore.inChallenge(address,address) (src/rollup/RollupCore.sol#351-362)\n\t- RollupCore.increaseStakeBy(address,uint256) (src/rollup/RollupCore.sol#393-399)\n\t- RollupCore.isStaked(address) (src/rollup/RollupCore.sol#149-151)\n\t- RollupCore.isStakedOnLatestConfirmed(address) (src/rollup/RollupCore.sol#159-161)\n\t- RollupCore.latestStakedNode(address) (src/rollup/RollupCore.sol#168-170)\n\t- RollupCore.reduceStakeTo(address,uint256) (src/rollup/RollupCore.sol#407-416)\n\t- RollupCore.stakeOnNode(address,uint64) (src/rollup/RollupCore.sol#508-512)\n\t- RollupCore.turnIntoZombie(address) (src/rollup/RollupCore.sol#422-426)\n\t- RollupCore.withdrawStaker(address) (src/rollup/RollupCore.sol#489-501)\n", -+ "markdown": "Reentrancy in [AbsRollupUserLogic.createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])](src/rollup/RollupUserLogic.sol#L313-L386):\n\tExternal calls:\n\t- [challengeIndex = createChallengeHelper(stakers,machineStatuses,globalStates,numBlocks,wasmModuleRoots,(commonEndBlock - proposedBlocks[0]) * ETH_POS_BLOCK_TIME,(commonEndBlock - proposedBlocks[1]) * ETH_POS_BLOCK_TIME)](src/rollup/RollupUserLogic.sol#L372-L381)\n\t\t- [challengeManager.createChallenge(wasmModuleRoots[0],machineStatuses,globalStates,numBlocks,stakers[0],stakers[1],asserterTimeLeft,challengerTimeLeft)](src/rollup/RollupUserLogic.sol#L397-L407)\n\tState variables written after the call(s):\n\t- [challengeStarted(stakers[0],stakers[1],challengeIndex)](src/rollup/RollupUserLogic.sol#L383)\n\t\t- [_stakerMap[staker1].currentChallenge = challenge](src/rollup/RollupCore.sol#L384)\n\t\t- [_stakerMap[staker2].currentChallenge = challenge](src/rollup/RollupCore.sol#L385)\n\t[RollupCore._stakerMap](src/rollup/RollupCore.sol#L68) can be used in cross function reentrancies:\n\t- [RollupCore._stakerMap](src/rollup/RollupCore.sol#L68)\n\t- [RollupCore.amountStaked(address)](src/rollup/RollupCore.sol#L186-L188)\n\t- [RollupCore.challengeStarted(address,address,uint64)](src/rollup/RollupCore.sol#L379-L386)\n\t- [RollupCore.clearChallenge(address)](src/rollup/RollupCore.sol#L368-L371)\n\t- [RollupCore.currentChallenge(address)](src/rollup/RollupCore.sol#L177-L179)\n\t- [RollupCore.deleteStaker(address)](src/rollup/RollupCore.sol#L543-L551)\n\t- [RollupCore.getStaker(address)](src/rollup/RollupCore.sol#L195-L197)\n\t- [RollupCore.inChallenge(address,address)](src/rollup/RollupCore.sol#L351-L362)\n\t- [RollupCore.increaseStakeBy(address,uint256)](src/rollup/RollupCore.sol#L393-L399)\n\t- [RollupCore.isStaked(address)](src/rollup/RollupCore.sol#L149-L151)\n\t- [RollupCore.isStakedOnLatestConfirmed(address)](src/rollup/RollupCore.sol#L159-L161)\n\t- [RollupCore.latestStakedNode(address)](src/rollup/RollupCore.sol#L168-L170)\n\t- [RollupCore.reduceStakeTo(address,uint256)](src/rollup/RollupCore.sol#L407-L416)\n\t- [RollupCore.stakeOnNode(address,uint64)](src/rollup/RollupCore.sol#L508-L512)\n\t- [RollupCore.turnIntoZombie(address)](src/rollup/RollupCore.sol#L422-L426)\n\t- [RollupCore.withdrawStaker(address)](src/rollup/RollupCore.sol#L489-L501)\n", -+ "first_markdown_element": "src/rollup/RollupUserLogic.sol#L313-L386", -+ "id": "c426748e54bb463a55d94c54cd2dffbe8b77ffd98bce03600799e5fe749a7b1d", -+ "check": "reentrancy-no-eth", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "executeTransactionImpl", -+ "source_mapping": { -+ "start": 7336, -+ "length": 1225, -+ "filename_relative": "src/bridge/AbsOutbox.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/bridge/AbsOutbox.sol", -+ "filename_short": "src/bridge/AbsOutbox.sol", -+ "is_dependency": false, -+ "lines": [ -+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsOutbox", -+ "source_mapping": { -+ "start": 698, -+ "length": 12161, -+ "filename_relative": "src/bridge/AbsOutbox.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/bridge/AbsOutbox.sol", -+ "filename_short": "src/bridge/AbsOutbox.sol", -+ "is_dependency": false, -+ "lines": [ -+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, -+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, -+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, -+ 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, -+ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, -+ 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, -+ 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, -+ 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, -+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, -+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, -+ 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, -+ 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, -+ 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, -+ 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, -+ 326, 327, 328, 329, 330, 331, 332, 333, 334, 335 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeTransactionImpl(uint256,address,address,uint256,uint256,uint256,uint256,bytes)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "executeBridgeCall(to,amountToUnlock,data)", -+ "source_mapping": { -+ "start": 8479, -+ "length": 43, -+ "filename_relative": "src/bridge/AbsOutbox.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/bridge/AbsOutbox.sol", -+ "filename_short": "src/bridge/AbsOutbox.sol", -+ "is_dependency": false, -+ "lines": [226], -+ "starting_column": 9, -+ "ending_column": 52 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeTransactionImpl", -+ "source_mapping": { -+ "start": 7336, -+ "length": 1225, -+ "filename_relative": "src/bridge/AbsOutbox.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/bridge/AbsOutbox.sol", -+ "filename_short": "src/bridge/AbsOutbox.sol", -+ "is_dependency": false, -+ "lines": [ -+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsOutbox", -+ "source_mapping": { -+ "start": 698, -+ "length": 12161, -+ "filename_relative": "src/bridge/AbsOutbox.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/bridge/AbsOutbox.sol", -+ "filename_short": "src/bridge/AbsOutbox.sol", -+ "is_dependency": false, -+ "lines": [ -+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, -+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, -+ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, -+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, -+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, -+ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, -+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -+ 329, 330, 331, 332, 333, 334, 335 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeTransactionImpl(uint256,address,address,uint256,uint256,uint256,uint256,bytes)" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls" } -+ }, -+ { -+ "type": "node", -+ "name": "(success,returndata) = bridge.executeCall(to,value,data)", -+ "source_mapping": { -+ "start": 10189, -+ "length": 77, -+ "filename_relative": "src/bridge/AbsOutbox.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/bridge/AbsOutbox.sol", -+ "filename_short": "src/bridge/AbsOutbox.sol", -+ "is_dependency": false, -+ "lines": [279], -+ "starting_column": 9, -+ "ending_column": 86 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeBridgeCall", -+ "source_mapping": { -+ "start": 10067, -+ "length": 594, -+ "filename_relative": "src/bridge/AbsOutbox.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/bridge/AbsOutbox.sol", -+ "filename_short": "src/bridge/AbsOutbox.sol", -+ "is_dependency": false, -+ "lines": [ -+ 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, -+ 287, 288, 289, 290, 291 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsOutbox", -+ "source_mapping": { -+ "start": 698, -+ "length": 12161, -+ "filename_relative": "src/bridge/AbsOutbox.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/bridge/AbsOutbox.sol", -+ "filename_short": "src/bridge/AbsOutbox.sol", -+ "is_dependency": false, -+ "lines": [ -+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, -+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, -+ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, -+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, -+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, -+ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, -+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -+ 329, 330, 331, 332, 333, 334, 335 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeBridgeCall(address,uint256,bytes)" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls_sending_eth" } -+ }, -+ { -+ "type": "node", -+ "name": "context = prevContext", -+ "source_mapping": { -+ "start": 8533, -+ "length": 21, -+ "filename_relative": "src/bridge/AbsOutbox.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/bridge/AbsOutbox.sol", -+ "filename_short": "src/bridge/AbsOutbox.sol", -+ "is_dependency": false, -+ "lines": [228], -+ "starting_column": 9, -+ "ending_column": 30 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeTransactionImpl", -+ "source_mapping": { -+ "start": 7336, -+ "length": 1225, -+ "filename_relative": "src/bridge/AbsOutbox.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/bridge/AbsOutbox.sol", -+ "filename_short": "src/bridge/AbsOutbox.sol", -+ "is_dependency": false, -+ "lines": [ -+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsOutbox", -+ "source_mapping": { -+ "start": 698, -+ "length": 12161, -+ "filename_relative": "src/bridge/AbsOutbox.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/bridge/AbsOutbox.sol", -+ "filename_short": "src/bridge/AbsOutbox.sol", -+ "is_dependency": false, -+ "lines": [ -+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, -+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, -+ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, -+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, -+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, -+ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, -+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -+ 329, 330, 331, 332, 333, 334, 335 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeTransactionImpl(uint256,address,address,uint256,uint256,uint256,uint256,bytes)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "context" -+ } -+ } -+ ], -+ "description": "Reentrancy in AbsOutbox.executeTransactionImpl(uint256,address,address,uint256,uint256,uint256,uint256,bytes) (src/bridge/AbsOutbox.sol#196-229):\n\tExternal calls:\n\t- executeBridgeCall(to,amountToUnlock,data) (src/bridge/AbsOutbox.sol#226)\n\t\t- (success,returndata) = bridge.executeCall(to,value,data) (src/bridge/AbsOutbox.sol#279)\n\tState variables written after the call(s):\n\t- context = prevContext (src/bridge/AbsOutbox.sol#228)\n\tAbsOutbox.context (src/bridge/AbsOutbox.sol#51) can be used in cross function reentrancies:\n\t- AbsOutbox.executeTransactionImpl(uint256,address,address,uint256,uint256,uint256,uint256,bytes) (src/bridge/AbsOutbox.sol#196-229)\n\t- AbsOutbox.initialize(IBridge) (src/bridge/AbsOutbox.sol#63-79)\n\t- AbsOutbox.l2ToL1Block() (src/bridge/AbsOutbox.sol#118-123)\n\t- AbsOutbox.l2ToL1EthBlock() (src/bridge/AbsOutbox.sol#126-131)\n\t- AbsOutbox.l2ToL1OutputId() (src/bridge/AbsOutbox.sol#147-152)\n\t- AbsOutbox.l2ToL1Sender() (src/bridge/AbsOutbox.sol#110-115)\n\t- AbsOutbox.l2ToL1Timestamp() (src/bridge/AbsOutbox.sol#134-139)\n\t- AbsOutbox.postUpgradeInit() (src/bridge/AbsOutbox.sol#81-92)\n", -+ "markdown": "Reentrancy in [AbsOutbox.executeTransactionImpl(uint256,address,address,uint256,uint256,uint256,uint256,bytes)](src/bridge/AbsOutbox.sol#L196-L229):\n\tExternal calls:\n\t- [executeBridgeCall(to,amountToUnlock,data)](src/bridge/AbsOutbox.sol#L226)\n\t\t- [(success,returndata) = bridge.executeCall(to,value,data)](src/bridge/AbsOutbox.sol#L279)\n\tState variables written after the call(s):\n\t- [context = prevContext](src/bridge/AbsOutbox.sol#L228)\n\t[AbsOutbox.context](src/bridge/AbsOutbox.sol#L51) can be used in cross function reentrancies:\n\t- [AbsOutbox.executeTransactionImpl(uint256,address,address,uint256,uint256,uint256,uint256,bytes)](src/bridge/AbsOutbox.sol#L196-L229)\n\t- [AbsOutbox.initialize(IBridge)](src/bridge/AbsOutbox.sol#L63-L79)\n\t- [AbsOutbox.l2ToL1Block()](src/bridge/AbsOutbox.sol#L118-L123)\n\t- [AbsOutbox.l2ToL1EthBlock()](src/bridge/AbsOutbox.sol#L126-L131)\n\t- [AbsOutbox.l2ToL1OutputId()](src/bridge/AbsOutbox.sol#L147-L152)\n\t- [AbsOutbox.l2ToL1Sender()](src/bridge/AbsOutbox.sol#L110-L115)\n\t- [AbsOutbox.l2ToL1Timestamp()](src/bridge/AbsOutbox.sol#L134-L139)\n\t- [AbsOutbox.postUpgradeInit()](src/bridge/AbsOutbox.sol#L81-L92)\n", -+ "first_markdown_element": "src/bridge/AbsOutbox.sol#L196-L229", -+ "id": "b42ba1855895a9ed1833beaf1f3c481a846ec27a28578623d5aca757932249c1", -+ "check": "reentrancy-no-eth", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "forceResolveChallenge", -+ "source_mapping": { -+ "start": 10412, -+ "length": 631, -+ "filename_relative": "src/rollup/RollupAdminLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupAdminLogic.sol", -+ "filename_short": "src/rollup/RollupAdminLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupAdminLogic", -+ "source_mapping": { -+ "start": 590, -+ "length": 15056, -+ "filename_relative": "src/rollup/RollupAdminLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupAdminLogic.sol", -+ "filename_short": "src/rollup/RollupAdminLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, -+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, -+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, -+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, -+ 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, -+ 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, -+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, -+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, -+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, -+ 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, -+ 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, -+ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, -+ 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -+ 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, -+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, -+ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, -+ 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, -+ 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, -+ 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, -+ 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, -+ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "forceResolveChallenge(address[],address[])" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "challengeManager.clearChallenge(chall)", -+ "source_mapping": { -+ "start": 10950, -+ "length": 38, -+ "filename_relative": "src/rollup/RollupAdminLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupAdminLogic.sol", -+ "filename_short": "src/rollup/RollupAdminLogic.sol", -+ "is_dependency": false, -+ "lines": [271], -+ "starting_column": 13, -+ "ending_column": 51 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "forceResolveChallenge", -+ "source_mapping": { -+ "start": 10412, -+ "length": 631, -+ "filename_relative": "src/rollup/RollupAdminLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupAdminLogic.sol", -+ "filename_short": "src/rollup/RollupAdminLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupAdminLogic", -+ "source_mapping": { -+ "start": 590, -+ "length": 15056, -+ "filename_relative": "src/rollup/RollupAdminLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupAdminLogic.sol", -+ "filename_short": "src/rollup/RollupAdminLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, -+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, -+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, -+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, -+ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, -+ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, -+ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -+ 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, -+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, -+ 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, -+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, -+ 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, -+ 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, -+ 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, -+ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, -+ 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, -+ 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, -+ 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -+ 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "forceResolveChallenge(address[],address[])" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls" } -+ }, -+ { -+ "type": "node", -+ "name": "clearChallenge(stakerA[i])", -+ "source_mapping": { -+ "start": 10870, -+ "length": 26, -+ "filename_relative": "src/rollup/RollupAdminLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupAdminLogic.sol", -+ "filename_short": "src/rollup/RollupAdminLogic.sol", -+ "is_dependency": false, -+ "lines": [269], -+ "starting_column": 13, -+ "ending_column": 39 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "forceResolveChallenge", -+ "source_mapping": { -+ "start": 10412, -+ "length": 631, -+ "filename_relative": "src/rollup/RollupAdminLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupAdminLogic.sol", -+ "filename_short": "src/rollup/RollupAdminLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupAdminLogic", -+ "source_mapping": { -+ "start": 590, -+ "length": 15056, -+ "filename_relative": "src/rollup/RollupAdminLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupAdminLogic.sol", -+ "filename_short": "src/rollup/RollupAdminLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, -+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, -+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, -+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, -+ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, -+ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, -+ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -+ 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, -+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, -+ 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, -+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, -+ 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, -+ 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, -+ 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, -+ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, -+ 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, -+ 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, -+ 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -+ 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "forceResolveChallenge(address[],address[])" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "_stakerMap" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "staker.currentChallenge = NO_CHAL_INDEX", -+ "source_mapping": { -+ "start": 13178, -+ "length": 39, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [370], -+ "starting_column": 9, -+ "ending_column": 48 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "clearChallenge", -+ "source_mapping": { -+ "start": 13053, -+ "length": 171, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [368, 369, 370, 371], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24629, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, -+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, -+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, -+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, -+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, -+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, -+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, -+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, -+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, -+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, -+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, -+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, -+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, -+ 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, -+ 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, -+ 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, -+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, -+ 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, -+ 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, -+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -+ 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, -+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -+ 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, -+ 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, -+ 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, -+ 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, -+ 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, -+ 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, -+ 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, -+ 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, -+ 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, -+ 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, -+ 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, -+ 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, -+ 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, -+ 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, -+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, -+ 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678, 679 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "clearChallenge(address)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "_stakerMap" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "clearChallenge(stakerB[i])", -+ "source_mapping": { -+ "start": 10910, -+ "length": 26, -+ "filename_relative": "src/rollup/RollupAdminLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupAdminLogic.sol", -+ "filename_short": "src/rollup/RollupAdminLogic.sol", -+ "is_dependency": false, -+ "lines": [270], -+ "starting_column": 13, -+ "ending_column": 39 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "forceResolveChallenge", -+ "source_mapping": { -+ "start": 10412, -+ "length": 631, -+ "filename_relative": "src/rollup/RollupAdminLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupAdminLogic.sol", -+ "filename_short": "src/rollup/RollupAdminLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupAdminLogic", -+ "source_mapping": { -+ "start": 590, -+ "length": 15056, -+ "filename_relative": "src/rollup/RollupAdminLogic.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupAdminLogic.sol", -+ "filename_short": "src/rollup/RollupAdminLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, -+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, -+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, -+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, -+ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, -+ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, -+ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -+ 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, -+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, -+ 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, -+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, -+ 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, -+ 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, -+ 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, -+ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, -+ 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, -+ 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, -+ 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -+ 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "forceResolveChallenge(address[],address[])" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "_stakerMap" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "staker.currentChallenge = NO_CHAL_INDEX", -+ "source_mapping": { -+ "start": 13178, -+ "length": 39, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [370], -+ "starting_column": 9, -+ "ending_column": 48 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "clearChallenge", -+ "source_mapping": { -+ "start": 13053, -+ "length": 171, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [368, 369, 370, 371], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24629, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, -+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, -+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, -+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, -+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, -+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, -+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, -+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, -+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, -+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, -+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, -+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, -+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, -+ 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, -+ 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, -+ 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, -+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, -+ 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, -+ 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, -+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -+ 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, -+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -+ 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, -+ 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, -+ 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, -+ 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, -+ 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, -+ 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, -+ 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, -+ 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, -+ 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, -+ 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, -+ 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, -+ 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, -+ 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, -+ 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, -+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, -+ 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678, 679 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "clearChallenge(address)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "_stakerMap" -+ } -+ } -+ ], -+ "description": "Reentrancy in RollupAdminLogic.forceResolveChallenge(address[],address[]) (src/rollup/RollupAdminLogic.sol#258-274):\n\tExternal calls:\n\t- challengeManager.clearChallenge(chall) (src/rollup/RollupAdminLogic.sol#271)\n\tState variables written after the call(s):\n\t- clearChallenge(stakerA[i]) (src/rollup/RollupAdminLogic.sol#269)\n\t\t- staker.currentChallenge = NO_CHAL_INDEX (src/rollup/RollupCore.sol#370)\n\tRollupCore._stakerMap (src/rollup/RollupCore.sol#68) can be used in cross function reentrancies:\n\t- RollupCore._stakerMap (src/rollup/RollupCore.sol#68)\n\t- RollupCore.amountStaked(address) (src/rollup/RollupCore.sol#186-188)\n\t- RollupCore.clearChallenge(address) (src/rollup/RollupCore.sol#368-371)\n\t- RollupCore.currentChallenge(address) (src/rollup/RollupCore.sol#177-179)\n\t- RollupCore.deleteStaker(address) (src/rollup/RollupCore.sol#543-551)\n\t- RollupAdminLogic.forceRefundStaker(address[]) (src/rollup/RollupAdminLogic.sol#276-284)\n\t- RollupCore.getStaker(address) (src/rollup/RollupCore.sol#195-197)\n\t- RollupCore.inChallenge(address,address) (src/rollup/RollupCore.sol#351-362)\n\t- RollupCore.isStaked(address) (src/rollup/RollupCore.sol#149-151)\n\t- RollupCore.isStakedOnLatestConfirmed(address) (src/rollup/RollupCore.sol#159-161)\n\t- RollupCore.latestStakedNode(address) (src/rollup/RollupCore.sol#168-170)\n\t- RollupCore.reduceStakeTo(address,uint256) (src/rollup/RollupCore.sol#407-416)\n\t- RollupCore.turnIntoZombie(address) (src/rollup/RollupCore.sol#422-426)\n\t- clearChallenge(stakerB[i]) (src/rollup/RollupAdminLogic.sol#270)\n\t\t- staker.currentChallenge = NO_CHAL_INDEX (src/rollup/RollupCore.sol#370)\n\tRollupCore._stakerMap (src/rollup/RollupCore.sol#68) can be used in cross function reentrancies:\n\t- RollupCore._stakerMap (src/rollup/RollupCore.sol#68)\n\t- RollupCore.amountStaked(address) (src/rollup/RollupCore.sol#186-188)\n\t- RollupCore.clearChallenge(address) (src/rollup/RollupCore.sol#368-371)\n\t- RollupCore.currentChallenge(address) (src/rollup/RollupCore.sol#177-179)\n\t- RollupCore.deleteStaker(address) (src/rollup/RollupCore.sol#543-551)\n\t- RollupAdminLogic.forceRefundStaker(address[]) (src/rollup/RollupAdminLogic.sol#276-284)\n\t- RollupCore.getStaker(address) (src/rollup/RollupCore.sol#195-197)\n\t- RollupCore.inChallenge(address,address) (src/rollup/RollupCore.sol#351-362)\n\t- RollupCore.isStaked(address) (src/rollup/RollupCore.sol#149-151)\n\t- RollupCore.isStakedOnLatestConfirmed(address) (src/rollup/RollupCore.sol#159-161)\n\t- RollupCore.latestStakedNode(address) (src/rollup/RollupCore.sol#168-170)\n\t- RollupCore.reduceStakeTo(address,uint256) (src/rollup/RollupCore.sol#407-416)\n\t- RollupCore.turnIntoZombie(address) (src/rollup/RollupCore.sol#422-426)\n", -+ "markdown": "Reentrancy in [RollupAdminLogic.forceResolveChallenge(address[],address[])](src/rollup/RollupAdminLogic.sol#L258-L274):\n\tExternal calls:\n\t- [challengeManager.clearChallenge(chall)](src/rollup/RollupAdminLogic.sol#L271)\n\tState variables written after the call(s):\n\t- [clearChallenge(stakerA[i])](src/rollup/RollupAdminLogic.sol#L269)\n\t\t- [staker.currentChallenge = NO_CHAL_INDEX](src/rollup/RollupCore.sol#L370)\n\t[RollupCore._stakerMap](src/rollup/RollupCore.sol#L68) can be used in cross function reentrancies:\n\t- [RollupCore._stakerMap](src/rollup/RollupCore.sol#L68)\n\t- [RollupCore.amountStaked(address)](src/rollup/RollupCore.sol#L186-L188)\n\t- [RollupCore.clearChallenge(address)](src/rollup/RollupCore.sol#L368-L371)\n\t- [RollupCore.currentChallenge(address)](src/rollup/RollupCore.sol#L177-L179)\n\t- [RollupCore.deleteStaker(address)](src/rollup/RollupCore.sol#L543-L551)\n\t- [RollupAdminLogic.forceRefundStaker(address[])](src/rollup/RollupAdminLogic.sol#L276-L284)\n\t- [RollupCore.getStaker(address)](src/rollup/RollupCore.sol#L195-L197)\n\t- [RollupCore.inChallenge(address,address)](src/rollup/RollupCore.sol#L351-L362)\n\t- [RollupCore.isStaked(address)](src/rollup/RollupCore.sol#L149-L151)\n\t- [RollupCore.isStakedOnLatestConfirmed(address)](src/rollup/RollupCore.sol#L159-L161)\n\t- [RollupCore.latestStakedNode(address)](src/rollup/RollupCore.sol#L168-L170)\n\t- [RollupCore.reduceStakeTo(address,uint256)](src/rollup/RollupCore.sol#L407-L416)\n\t- [RollupCore.turnIntoZombie(address)](src/rollup/RollupCore.sol#L422-L426)\n\t- [clearChallenge(stakerB[i])](src/rollup/RollupAdminLogic.sol#L270)\n\t\t- [staker.currentChallenge = NO_CHAL_INDEX](src/rollup/RollupCore.sol#L370)\n\t[RollupCore._stakerMap](src/rollup/RollupCore.sol#L68) can be used in cross function reentrancies:\n\t- [RollupCore._stakerMap](src/rollup/RollupCore.sol#L68)\n\t- [RollupCore.amountStaked(address)](src/rollup/RollupCore.sol#L186-L188)\n\t- [RollupCore.clearChallenge(address)](src/rollup/RollupCore.sol#L368-L371)\n\t- [RollupCore.currentChallenge(address)](src/rollup/RollupCore.sol#L177-L179)\n\t- [RollupCore.deleteStaker(address)](src/rollup/RollupCore.sol#L543-L551)\n\t- [RollupAdminLogic.forceRefundStaker(address[])](src/rollup/RollupAdminLogic.sol#L276-L284)\n\t- [RollupCore.getStaker(address)](src/rollup/RollupCore.sol#L195-L197)\n\t- [RollupCore.inChallenge(address,address)](src/rollup/RollupCore.sol#L351-L362)\n\t- [RollupCore.isStaked(address)](src/rollup/RollupCore.sol#L149-L151)\n\t- [RollupCore.isStakedOnLatestConfirmed(address)](src/rollup/RollupCore.sol#L159-L161)\n\t- [RollupCore.latestStakedNode(address)](src/rollup/RollupCore.sol#L168-L170)\n\t- [RollupCore.reduceStakeTo(address,uint256)](src/rollup/RollupCore.sol#L407-L416)\n\t- [RollupCore.turnIntoZombie(address)](src/rollup/RollupCore.sol#L422-L426)\n", -+ "first_markdown_element": "src/rollup/RollupAdminLogic.sol#L258-L274", -+ "id": "3a149381278a1de4529bcf77f84d92625154d32ad83406ea2d17142b95cb4a53", -+ "check": "reentrancy-no-eth", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "_fundAndDeploy", -+ "source_mapping": { -+ "start": 8525, -+ "length": 2154, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, -+ 97, 98, 99, 100 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "DeployHelper", -+ "source_mapping": { -+ "start": 525, -+ "length": 11692, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, -+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, -+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, -+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, -+ 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, -+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, -+ 159, 160 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_fundAndDeploy(address,uint256,address,bytes,address,uint256)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "IERC20Inbox(inbox).createRetryableTicket({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,tokenTotalFeeAmount:feeAmountNativeDenominated,data:})", -+ "source_mapping": { -+ "start": 9674, -+ "length": 451, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85], -+ "starting_column": 13, -+ "ending_column": 15 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_fundAndDeploy", -+ "source_mapping": { -+ "start": 8525, -+ "length": 2154, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, -+ 94, 95, 96, 97, 98, 99, 100 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "DeployHelper", -+ "source_mapping": { -+ "start": 525, -+ "length": 11692, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_fundAndDeploy(address,uint256,address,bytes,address,uint256)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "DeployHelper._fundAndDeploy(address,uint256,address,bytes,address,uint256) (src/rollup/DeployHelper.sol#46-100) ignores return value by IERC20Inbox(inbox).createRetryableTicket({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,tokenTotalFeeAmount:feeAmountNativeDenominated,data:}) (src/rollup/DeployHelper.sol#75-85)\n", -+ "markdown": "[DeployHelper._fundAndDeploy(address,uint256,address,bytes,address,uint256)](src/rollup/DeployHelper.sol#L46-L100) ignores return value by [IERC20Inbox(inbox).createRetryableTicket({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,tokenTotalFeeAmount:feeAmountNativeDenominated,data:})](src/rollup/DeployHelper.sol#L75-L85)\n", -+ "first_markdown_element": "src/rollup/DeployHelper.sol#L46-L100", -+ "id": "bc3bd802cf43553ebdde2f5a650bd37e2ba8471fe3f9de0d0bdbfad1fced1d00", -+ "check": "unused-return", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "_fundAndDeploy", -+ "source_mapping": { -+ "start": 8525, -+ "length": 2154, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, -+ 97, 98, 99, 100 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "DeployHelper", -+ "source_mapping": { -+ "start": 525, -+ "length": 11692, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, -+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, -+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, -+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, -+ 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, -+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, -+ 159, 160 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_fundAndDeploy(address,uint256,address,bytes,address,uint256)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "IInbox(inbox).createRetryableTicket{value: feeAmount}({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,data:})", -+ "source_mapping": { -+ "start": 10156, -+ "length": 399, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [87, 88, 89, 90, 91, 92, 93, 94, 95, 96], -+ "starting_column": 13, -+ "ending_column": 15 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_fundAndDeploy", -+ "source_mapping": { -+ "start": 8525, -+ "length": 2154, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, -+ 94, 95, 96, 97, 98, 99, 100 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "DeployHelper", -+ "source_mapping": { -+ "start": 525, -+ "length": 11692, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_fundAndDeploy(address,uint256,address,bytes,address,uint256)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "DeployHelper._fundAndDeploy(address,uint256,address,bytes,address,uint256) (src/rollup/DeployHelper.sol#46-100) ignores return value by IInbox(inbox).createRetryableTicket{value: feeAmount}({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,data:}) (src/rollup/DeployHelper.sol#87-96)\n", -+ "markdown": "[DeployHelper._fundAndDeploy(address,uint256,address,bytes,address,uint256)](src/rollup/DeployHelper.sol#L46-L100) ignores return value by [IInbox(inbox).createRetryableTicket{value: feeAmount}({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,data:})](src/rollup/DeployHelper.sol#L87-L96)\n", -+ "first_markdown_element": "src/rollup/DeployHelper.sol#L46-L100", -+ "id": "fb1bf81f56dbacb484c41b74ff6b97327ed3ab06f9599b6d9c236b51f9a320ad", -+ "check": "unused-return", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "_fundAndDeploy", -+ "source_mapping": { -+ "start": 8525, -+ "length": 2154, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, -+ 97, 98, 99, 100 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "DeployHelper", -+ "source_mapping": { -+ "start": 525, -+ "length": 11692, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, -+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, -+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, -+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, -+ 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, -+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, -+ 159, 160 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_fundAndDeploy(address,uint256,address,bytes,address,uint256)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "IInboxBase(inbox).sendL2Message(payload)", -+ "source_mapping": { -+ "start": 10632, -+ "length": 40, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [99], -+ "starting_column": 9, -+ "ending_column": 49 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_fundAndDeploy", -+ "source_mapping": { -+ "start": 8525, -+ "length": 2154, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, -+ 94, 95, 96, 97, 98, 99, 100 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "DeployHelper", -+ "source_mapping": { -+ "start": 525, -+ "length": 11692, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_fundAndDeploy(address,uint256,address,bytes,address,uint256)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "DeployHelper._fundAndDeploy(address,uint256,address,bytes,address,uint256) (src/rollup/DeployHelper.sol#46-100) ignores return value by IInboxBase(inbox).sendL2Message(payload) (src/rollup/DeployHelper.sol#99)\n", -+ "markdown": "[DeployHelper._fundAndDeploy(address,uint256,address,bytes,address,uint256)](src/rollup/DeployHelper.sol#L46-L100) ignores return value by [IInboxBase(inbox).sendL2Message(payload)](src/rollup/DeployHelper.sol#L99)\n", -+ "first_markdown_element": "src/rollup/DeployHelper.sol#L46-L100", -+ "id": "1c1cb22c16963df7619b9d485774b3c8fbd70bb511ebd2becbfca1ad7bd77e50", -+ "check": "unused-return", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "deploy", -+ "source_mapping": { -+ "start": 660, -+ "length": 435, -+ "filename_relative": "src/rollup/FactoryDeployerHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/FactoryDeployerHelper.sol", -+ "filename_short": "src/rollup/FactoryDeployerHelper.sol", -+ "is_dependency": false, -+ "lines": [17, 18, 19, 20, 21, 22, 23, 24], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "FactoryDeployerHelper", -+ "source_mapping": { -+ "start": 373, -+ "length": 724, -+ "filename_relative": "src/rollup/FactoryDeployerHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/FactoryDeployerHelper.sol", -+ "filename_short": "src/rollup/FactoryDeployerHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, -+ 25 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "deploy(address,uint256)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "IERC20(feeToken).transferFrom(msg.sender,inbox,amount)", -+ "source_mapping": { -+ "start": 955, -+ "length": 56, -+ "filename_relative": "src/rollup/FactoryDeployerHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/FactoryDeployerHelper.sol", -+ "filename_short": "src/rollup/FactoryDeployerHelper.sol", -+ "is_dependency": false, -+ "lines": [22], -+ "starting_column": 9, -+ "ending_column": 65 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "deploy", -+ "source_mapping": { -+ "start": 660, -+ "length": 435, -+ "filename_relative": "src/rollup/FactoryDeployerHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/FactoryDeployerHelper.sol", -+ "filename_short": "src/rollup/FactoryDeployerHelper.sol", -+ "is_dependency": false, -+ "lines": [17, 18, 19, 20, 21, 22, 23, 24], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "FactoryDeployerHelper", -+ "source_mapping": { -+ "start": 373, -+ "length": 724, -+ "filename_relative": "src/rollup/FactoryDeployerHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/FactoryDeployerHelper.sol", -+ "filename_short": "src/rollup/FactoryDeployerHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, -+ 24, 25 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "deploy(address,uint256)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "FactoryDeployerHelper.deploy(address,uint256) (src/rollup/FactoryDeployerHelper.sol#17-24) ignores return value by IERC20(feeToken).transferFrom(msg.sender,inbox,amount) (src/rollup/FactoryDeployerHelper.sol#22)\n", -+ "markdown": "[FactoryDeployerHelper.deploy(address,uint256)](src/rollup/FactoryDeployerHelper.sol#L17-L24) ignores return value by [IERC20(feeToken).transferFrom(msg.sender,inbox,amount)](src/rollup/FactoryDeployerHelper.sol#L22)\n", -+ "first_markdown_element": "src/rollup/FactoryDeployerHelper.sol#L17-L24", -+ "id": "b61f6cd7e1b9dac16bde231f4604f5082f9d2bb1141b083d7b0c790237076ce2", -+ "check": "unchecked-transfer", -+ "impact": "High", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "_addBid", -+ "source_mapping": { -+ "start": 8665, -+ "length": 636, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -+ 253, 254, 255, 256, 257, 258, 259, 260, 261 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 10045, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, -+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, -+ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, -+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -+ 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, -+ 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, -+ 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, -+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, -+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, -+ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, -+ 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, -+ 290, 291, 292, 293 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_addBid(uint192,address,bytes32,uint64,uint64)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "index == entries.length", -+ "source_mapping": { -+ "start": 9123, -+ "length": 23, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [255], -+ "starting_column": 13, -+ "ending_column": 36 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_addBid", -+ "source_mapping": { -+ "start": 8665, -+ "length": 636, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -+ 253, 254, 255, 256, 257, 258, 259, 260, 261 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 10045, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_addBid(uint192,address,bytes32,uint64,uint64)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "CacheManager._addBid(uint192,address,bytes32,uint64,uint64) (src/chain/CacheManager.sol#240-261) uses a dangerous strict equality:\n\t- index == entries.length (src/chain/CacheManager.sol#255)\n", -+ "markdown": "[CacheManager._addBid(uint192,address,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L240-L261) uses a dangerous strict equality:\n\t- [index == entries.length](src/chain/CacheManager.sol#L255)\n", -+ "first_markdown_element": "src/chain/CacheManager.sol#L240-L261", -+ "id": "d628a546b26bab7d17e51242113a300dee8b63d78108aa14fa547838f7c984b2", -+ "check": "incorrect-equality", -+ "impact": "Medium", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "_addBid", -+ "source_mapping": { -+ "start": 8665, -+ "length": 636, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -+ 253, 254, 255, 256, 257, 258, 259, 260, 261 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 10045, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, -+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, -+ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, -+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -+ 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, -+ 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, -+ 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, -+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, -+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, -+ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, -+ 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, -+ 290, 291, 292, 293 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_addBid(uint192,address,bytes32,uint64,uint64)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "ARB_WASM_CACHE.cacheProgram(program)", -+ "source_mapping": { -+ "start": 9005, -+ "length": 36, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [252], -+ "starting_column": 9, -+ "ending_column": 45 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_addBid", -+ "source_mapping": { -+ "start": 8665, -+ "length": 636, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -+ 253, 254, 255, 256, 257, 258, 259, 260, 261 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 10045, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_addBid(uint192,address,bytes32,uint64,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls" } -+ }, -+ { -+ "type": "node", -+ "name": "queueSize += size", -+ "source_mapping": { -+ "start": 9092, -+ "length": 17, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [254], -+ "starting_column": 9, -+ "ending_column": 26 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_addBid", -+ "source_mapping": { -+ "start": 8665, -+ "length": 636, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -+ 253, 254, 255, 256, 257, 258, 259, 260, 261 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 10045, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_addBid(uint192,address,bytes32,uint64,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "queueSize" -+ } -+ } -+ ], -+ "description": "Reentrancy in CacheManager._addBid(uint192,address,bytes32,uint64,uint64) (src/chain/CacheManager.sol#240-261):\n\tExternal calls:\n\t- ARB_WASM_CACHE.cacheProgram(program) (src/chain/CacheManager.sol#252)\n\tState variables written after the call(s):\n\t- queueSize += size (src/chain/CacheManager.sol#254)\n\tCacheManager.queueSize (src/chain/CacheManager.sol#27) can be used in cross function reentrancies:\n\t- CacheManager._addBid(uint192,address,bytes32,uint64,uint64) (src/chain/CacheManager.sol#240-261)\n\t- CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#264-270)\n\t- CacheManager._makeSpace(uint64) (src/chain/CacheManager.sol#222-237)\n\t- CacheManager.getMinBid(uint64) (src/chain/CacheManager.sol#124-152)\n\t- CacheManager.makeSpace(uint64) (src/chain/CacheManager.sol#196-205)\n\t- CacheManager.queueSize (src/chain/CacheManager.sol#27)\n", -+ "markdown": "Reentrancy in [CacheManager._addBid(uint192,address,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L240-L261):\n\tExternal calls:\n\t- [ARB_WASM_CACHE.cacheProgram(program)](src/chain/CacheManager.sol#L252)\n\tState variables written after the call(s):\n\t- [queueSize += size](src/chain/CacheManager.sol#L254)\n\t[CacheManager.queueSize](src/chain/CacheManager.sol#L27) can be used in cross function reentrancies:\n\t- [CacheManager._addBid(uint192,address,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L240-L261)\n\t- [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L264-L270)\n\t- [CacheManager._makeSpace(uint64)](src/chain/CacheManager.sol#L222-L237)\n\t- [CacheManager.getMinBid(uint64)](src/chain/CacheManager.sol#L124-L152)\n\t- [CacheManager.makeSpace(uint64)](src/chain/CacheManager.sol#L196-L205)\n\t- [CacheManager.queueSize](src/chain/CacheManager.sol#L27)\n", -+ "first_markdown_element": "src/chain/CacheManager.sol#L240-L261", -+ "id": "e3c59613b5f55bcaed6f72836989cdf48eec69a17bd181502982fefee7611e78", -+ "check": "reentrancy-no-eth", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "_deleteEntry", -+ "source_mapping": { -+ "start": 9356, -+ "length": 277, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [264, 265, 266, 267, 268, 269, 270], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 10045, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, -+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, -+ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, -+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -+ 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, -+ 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, -+ 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, -+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, -+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, -+ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, -+ 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, -+ 290, 291, 292, 293 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_deleteEntry(uint192,uint64)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "ARB_WASM_CACHE.evictCodehash(entry.code)", -+ "source_mapping": { -+ "start": 9469, -+ "length": 40, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [266], -+ "starting_column": 9, -+ "ending_column": 49 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_deleteEntry", -+ "source_mapping": { -+ "start": 9356, -+ "length": 277, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [264, 265, 266, 267, 268, 269, 270], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 10045, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_deleteEntry(uint192,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls" } -+ }, -+ { -+ "type": "node", -+ "name": "delete entries[index]", -+ "source_mapping": { -+ "start": 9605, -+ "length": 21, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [269], -+ "starting_column": 9, -+ "ending_column": 30 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_deleteEntry", -+ "source_mapping": { -+ "start": 9356, -+ "length": 277, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [264, 265, 266, 267, 268, 269, 270], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 10045, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_deleteEntry(uint192,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "entries" -+ } -+ } -+ ], -+ "description": "Reentrancy in CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#264-270):\n\tExternal calls:\n\t- ARB_WASM_CACHE.evictCodehash(entry.code) (src/chain/CacheManager.sol#266)\n\tState variables written after the call(s):\n\t- delete entries[index] (src/chain/CacheManager.sol#269)\n\tCacheManager.entries (src/chain/CacheManager.sol#24) can be used in cross function reentrancies:\n\t- CacheManager._addBid(uint192,address,bytes32,uint64,uint64) (src/chain/CacheManager.sol#240-261)\n\t- CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#264-270)\n\t- CacheManager._makeSpace(uint64) (src/chain/CacheManager.sol#222-237)\n\t- CacheManager.entries (src/chain/CacheManager.sol#24)\n\t- CacheManager.evictAll() (src/chain/CacheManager.sol#89-92)\n\t- CacheManager.getEntries() (src/chain/CacheManager.sol#104-106)\n\t- CacheManager.getSmallestEntries(uint256) (src/chain/CacheManager.sol#110-120)\n", -+ "markdown": "Reentrancy in [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L264-L270):\n\tExternal calls:\n\t- [ARB_WASM_CACHE.evictCodehash(entry.code)](src/chain/CacheManager.sol#L266)\n\tState variables written after the call(s):\n\t- [delete entries[index]](src/chain/CacheManager.sol#L269)\n\t[CacheManager.entries](src/chain/CacheManager.sol#L24) can be used in cross function reentrancies:\n\t- [CacheManager._addBid(uint192,address,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L240-L261)\n\t- [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L264-L270)\n\t- [CacheManager._makeSpace(uint64)](src/chain/CacheManager.sol#L222-L237)\n\t- [CacheManager.entries](src/chain/CacheManager.sol#L24)\n\t- [CacheManager.evictAll()](src/chain/CacheManager.sol#L89-L92)\n\t- [CacheManager.getEntries()](src/chain/CacheManager.sol#L104-L106)\n\t- [CacheManager.getSmallestEntries(uint256)](src/chain/CacheManager.sol#L110-L120)\n", -+ "first_markdown_element": "src/chain/CacheManager.sol#L264-L270", -+ "id": "da879b6db94b2d7e9b0b7ac41852a5d4daca51e4947137749f0329b126127352", -+ "check": "reentrancy-no-eth", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "evictAll", -+ "source_mapping": { -+ "start": 2880, -+ "length": 112, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [89, 90, 91, 92], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 10045, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, -+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, -+ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, -+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -+ 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, -+ 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, -+ 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, -+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, -+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, -+ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, -+ 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, -+ 290, 291, 292, 293 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "evictAll()" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "evictPrograms(type()(uint256).max)", -+ "source_mapping": { -+ "start": 2929, -+ "length": 32, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [90], -+ "starting_column": 9, -+ "ending_column": 41 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "evictAll", -+ "source_mapping": { -+ "start": 2880, -+ "length": 112, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [89, 90, 91, 92], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 10045, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "evictAll()" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls" } -+ }, -+ { -+ "type": "node", -+ "name": "ARB_WASM_CACHE.evictCodehash(entry.code)", -+ "source_mapping": { -+ "start": 9469, -+ "length": 40, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [266], -+ "starting_column": 9, -+ "ending_column": 49 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_deleteEntry", -+ "source_mapping": { -+ "start": 9356, -+ "length": 277, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [264, 265, 266, 267, 268, 269, 270], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 10045, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_deleteEntry(uint192,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls_sending_eth" } -+ }, -+ { -+ "type": "node", -+ "name": "delete entries", -+ "source_mapping": { -+ "start": 2971, -+ "length": 14, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [91], -+ "starting_column": 9, -+ "ending_column": 23 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "evictAll", -+ "source_mapping": { -+ "start": 2880, -+ "length": 112, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [89, 90, 91, 92], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 10045, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "evictAll()" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "entries" -+ } -+ } -+ ], -+ "description": "Reentrancy in CacheManager.evictAll() (src/chain/CacheManager.sol#89-92):\n\tExternal calls:\n\t- evictPrograms(type()(uint256).max) (src/chain/CacheManager.sol#90)\n\t\t- ARB_WASM_CACHE.evictCodehash(entry.code) (src/chain/CacheManager.sol#266)\n\tState variables written after the call(s):\n\t- delete entries (src/chain/CacheManager.sol#91)\n\tCacheManager.entries (src/chain/CacheManager.sol#24) can be used in cross function reentrancies:\n\t- CacheManager._addBid(uint192,address,bytes32,uint64,uint64) (src/chain/CacheManager.sol#240-261)\n\t- CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#264-270)\n\t- CacheManager._makeSpace(uint64) (src/chain/CacheManager.sol#222-237)\n\t- CacheManager.entries (src/chain/CacheManager.sol#24)\n\t- CacheManager.evictAll() (src/chain/CacheManager.sol#89-92)\n\t- CacheManager.getEntries() (src/chain/CacheManager.sol#104-106)\n\t- CacheManager.getSmallestEntries(uint256) (src/chain/CacheManager.sol#110-120)\n", -+ "markdown": "Reentrancy in [CacheManager.evictAll()](src/chain/CacheManager.sol#L89-L92):\n\tExternal calls:\n\t- [evictPrograms(type()(uint256).max)](src/chain/CacheManager.sol#L90)\n\t\t- [ARB_WASM_CACHE.evictCodehash(entry.code)](src/chain/CacheManager.sol#L266)\n\tState variables written after the call(s):\n\t- [delete entries](src/chain/CacheManager.sol#L91)\n\t[CacheManager.entries](src/chain/CacheManager.sol#L24) can be used in cross function reentrancies:\n\t- [CacheManager._addBid(uint192,address,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L240-L261)\n\t- [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L264-L270)\n\t- [CacheManager._makeSpace(uint64)](src/chain/CacheManager.sol#L222-L237)\n\t- [CacheManager.entries](src/chain/CacheManager.sol#L24)\n\t- [CacheManager.evictAll()](src/chain/CacheManager.sol#L89-L92)\n\t- [CacheManager.getEntries()](src/chain/CacheManager.sol#L104-L106)\n\t- [CacheManager.getSmallestEntries(uint256)](src/chain/CacheManager.sol#L110-L120)\n", -+ "first_markdown_element": "src/chain/CacheManager.sol#L89-L92", -+ "id": "02366c421ff860e2f8a1d8cd1d277a7c7b74585fbb7afb043f28e6cf527b3d68", -+ "check": "reentrancy-no-eth", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "placeBid", -+ "source_mapping": { -+ "start": 6437, -+ "length": 420, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 10045, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, -+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, -+ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, -+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -+ 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, -+ 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, -+ 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, -+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, -+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, -+ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, -+ 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, -+ 290, 291, 292, 293 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "placeBid(address)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "(bid,index) = _makeSpace(asm)", -+ "source_mapping": { -+ "start": 6745, -+ "length": 45, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [189], -+ "starting_column": 9, -+ "ending_column": 54 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "placeBid", -+ "source_mapping": { -+ "start": 6437, -+ "length": 420, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 10045, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "placeBid(address)" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls" } -+ }, -+ { -+ "type": "node", -+ "name": "ARB_WASM_CACHE.evictCodehash(entry.code)", -+ "source_mapping": { -+ "start": 9469, -+ "length": 40, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [266], -+ "starting_column": 9, -+ "ending_column": 49 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_deleteEntry", -+ "source_mapping": { -+ "start": 9356, -+ "length": 277, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [264, 265, 266, 267, 268, 269, 270], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 10045, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_deleteEntry(uint192,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls_sending_eth" } -+ }, -+ { -+ "type": "node", -+ "name": "_addBid(bid,program,codehash,asm,index)", -+ "source_mapping": { -+ "start": 6800, -+ "length": 50, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [190], -+ "starting_column": 9, -+ "ending_column": 59 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "placeBid", -+ "source_mapping": { -+ "start": 6437, -+ "length": 420, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 10045, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "placeBid(address)" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls" } -+ }, -+ { -+ "type": "node", -+ "name": "ARB_WASM_CACHE.cacheProgram(program)", -+ "source_mapping": { -+ "start": 9005, -+ "length": 36, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [252], -+ "starting_column": 9, -+ "ending_column": 45 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_addBid", -+ "source_mapping": { -+ "start": 8665, -+ "length": 636, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -+ 253, 254, 255, 256, 257, 258, 259, 260, 261 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 10045, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_addBid(uint192,address,bytes32,uint64,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls_sending_eth" } -+ }, -+ { -+ "type": "node", -+ "name": "_addBid(bid,program,codehash,asm,index)", -+ "source_mapping": { -+ "start": 6800, -+ "length": 50, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [190], -+ "starting_column": 9, -+ "ending_column": 59 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "placeBid", -+ "source_mapping": { -+ "start": 6437, -+ "length": 420, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 10045, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "placeBid(address)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "entries" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "entries.push(entry)", -+ "source_mapping": { -+ "start": 9162, -+ "length": 19, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [256], -+ "starting_column": 13, -+ "ending_column": 32 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_addBid", -+ "source_mapping": { -+ "start": 8665, -+ "length": 636, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -+ 253, 254, 255, 256, 257, 258, 259, 260, 261 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 10045, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_addBid(uint192,address,bytes32,uint64,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "entries" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "entries[index] = entry", -+ "source_mapping": { -+ "start": 9212, -+ "length": 22, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [258], -+ "starting_column": 13, -+ "ending_column": 35 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_addBid", -+ "source_mapping": { -+ "start": 8665, -+ "length": 636, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -+ 253, 254, 255, 256, 257, 258, 259, 260, 261 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 10045, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_addBid(uint192,address,bytes32,uint64,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "entries" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "_addBid(bid,program,codehash,asm,index)", -+ "source_mapping": { -+ "start": 6800, -+ "length": 50, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [190], -+ "starting_column": 9, -+ "ending_column": 59 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "placeBid", -+ "source_mapping": { -+ "start": 6437, -+ "length": 420, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 10045, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "placeBid(address)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "queueSize" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "queueSize += size", -+ "source_mapping": { -+ "start": 9092, -+ "length": 17, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [254], -+ "starting_column": 9, -+ "ending_column": 26 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_addBid", -+ "source_mapping": { -+ "start": 8665, -+ "length": 636, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -+ 253, 254, 255, 256, 257, 258, 259, 260, 261 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 10045, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/user/src/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_addBid(uint192,address,bytes32,uint64,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "queueSize" -+ } -+ } -+ ], -+ "description": "Reentrancy in CacheManager.placeBid(address) (src/chain/CacheManager.sol#179-191):\n\tExternal calls:\n\t- (bid,index) = _makeSpace(asm) (src/chain/CacheManager.sol#189)\n\t\t- ARB_WASM_CACHE.evictCodehash(entry.code) (src/chain/CacheManager.sol#266)\n\t- _addBid(bid,program,codehash,asm,index) (src/chain/CacheManager.sol#190)\n\t\t- ARB_WASM_CACHE.cacheProgram(program) (src/chain/CacheManager.sol#252)\n\tState variables written after the call(s):\n\t- _addBid(bid,program,codehash,asm,index) (src/chain/CacheManager.sol#190)\n\t\t- entries.push(entry) (src/chain/CacheManager.sol#256)\n\t\t- entries[index] = entry (src/chain/CacheManager.sol#258)\n\tCacheManager.entries (src/chain/CacheManager.sol#24) can be used in cross function reentrancies:\n\t- CacheManager._addBid(uint192,address,bytes32,uint64,uint64) (src/chain/CacheManager.sol#240-261)\n\t- CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#264-270)\n\t- CacheManager._makeSpace(uint64) (src/chain/CacheManager.sol#222-237)\n\t- CacheManager.entries (src/chain/CacheManager.sol#24)\n\t- CacheManager.evictAll() (src/chain/CacheManager.sol#89-92)\n\t- CacheManager.getEntries() (src/chain/CacheManager.sol#104-106)\n\t- CacheManager.getSmallestEntries(uint256) (src/chain/CacheManager.sol#110-120)\n\t- _addBid(bid,program,codehash,asm,index) (src/chain/CacheManager.sol#190)\n\t\t- queueSize += size (src/chain/CacheManager.sol#254)\n\tCacheManager.queueSize (src/chain/CacheManager.sol#27) can be used in cross function reentrancies:\n\t- CacheManager._addBid(uint192,address,bytes32,uint64,uint64) (src/chain/CacheManager.sol#240-261)\n\t- CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#264-270)\n\t- CacheManager._makeSpace(uint64) (src/chain/CacheManager.sol#222-237)\n\t- CacheManager.getMinBid(uint64) (src/chain/CacheManager.sol#124-152)\n\t- CacheManager.makeSpace(uint64) (src/chain/CacheManager.sol#196-205)\n\t- CacheManager.queueSize (src/chain/CacheManager.sol#27)\n", -+ "markdown": "Reentrancy in [CacheManager.placeBid(address)](src/chain/CacheManager.sol#L179-L191):\n\tExternal calls:\n\t- [(bid,index) = _makeSpace(asm)](src/chain/CacheManager.sol#L189)\n\t\t- [ARB_WASM_CACHE.evictCodehash(entry.code)](src/chain/CacheManager.sol#L266)\n\t- [_addBid(bid,program,codehash,asm,index)](src/chain/CacheManager.sol#L190)\n\t\t- [ARB_WASM_CACHE.cacheProgram(program)](src/chain/CacheManager.sol#L252)\n\tState variables written after the call(s):\n\t- [_addBid(bid,program,codehash,asm,index)](src/chain/CacheManager.sol#L190)\n\t\t- [entries.push(entry)](src/chain/CacheManager.sol#L256)\n\t\t- [entries[index] = entry](src/chain/CacheManager.sol#L258)\n\t[CacheManager.entries](src/chain/CacheManager.sol#L24) can be used in cross function reentrancies:\n\t- [CacheManager._addBid(uint192,address,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L240-L261)\n\t- [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L264-L270)\n\t- [CacheManager._makeSpace(uint64)](src/chain/CacheManager.sol#L222-L237)\n\t- [CacheManager.entries](src/chain/CacheManager.sol#L24)\n\t- [CacheManager.evictAll()](src/chain/CacheManager.sol#L89-L92)\n\t- [CacheManager.getEntries()](src/chain/CacheManager.sol#L104-L106)\n\t- [CacheManager.getSmallestEntries(uint256)](src/chain/CacheManager.sol#L110-L120)\n\t- [_addBid(bid,program,codehash,asm,index)](src/chain/CacheManager.sol#L190)\n\t\t- [queueSize += size](src/chain/CacheManager.sol#L254)\n\t[CacheManager.queueSize](src/chain/CacheManager.sol#L27) can be used in cross function reentrancies:\n\t- [CacheManager._addBid(uint192,address,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L240-L261)\n\t- [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L264-L270)\n\t- [CacheManager._makeSpace(uint64)](src/chain/CacheManager.sol#L222-L237)\n\t- [CacheManager.getMinBid(uint64)](src/chain/CacheManager.sol#L124-L152)\n\t- [CacheManager.makeSpace(uint64)](src/chain/CacheManager.sol#L196-L205)\n\t- [CacheManager.queueSize](src/chain/CacheManager.sol#L27)\n", -+ "first_markdown_element": "src/chain/CacheManager.sol#L179-L191", -+ "id": "0c16e4db0a475c13c57a12b678c8c00c11806c69f841246d0fbbc7448bde8935", -+ "check": "reentrancy-no-eth", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "_addBid", -+ "source_mapping": { -+ "start": 8300, -+ "length": 600, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 9644, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, -+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, -+ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, -+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -+ 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, -+ 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, -+ 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, -+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, -+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, -+ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, -+ 277, 278, 279, 280, 281, 282, 283, 284, 285 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_addBid(uint192,bytes32,uint64,uint64)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "index == entries.length", -+ "source_mapping": { -+ "start": 8731, -+ "length": 23, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [247], -+ "starting_column": 13, -+ "ending_column": 36 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_addBid", -+ "source_mapping": { -+ "start": 8300, -+ "length": 600, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 9644, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_addBid(uint192,bytes32,uint64,uint64)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "CacheManager._addBid(uint192,bytes32,uint64,uint64) (src/chain/CacheManager.sol#233-253) uses a dangerous strict equality:\n\t- index == entries.length (src/chain/CacheManager.sol#247)\n", -+ "markdown": "[CacheManager._addBid(uint192,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L233-L253) uses a dangerous strict equality:\n\t- [index == entries.length](src/chain/CacheManager.sol#L247)\n", -+ "first_markdown_element": "src/chain/CacheManager.sol#L233-L253", -+ "id": "4c098b01c2961dc5b2294e0f72e7cf015b9600b3d18b28ada01a3659da0d5e6f", -+ "check": "incorrect-equality", -+ "impact": "Medium", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "_addBid", -+ "source_mapping": { -+ "start": 8300, -+ "length": 600, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 9644, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, -+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, -+ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, -+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -+ 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, -+ 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, -+ 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, -+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, -+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, -+ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, -+ 277, 278, 279, 280, 281, 282, 283, 284, 285 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_addBid(uint192,bytes32,uint64,uint64)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "ARB_WASM_CACHE.cacheCodehash(code)", -+ "source_mapping": { -+ "start": 8615, -+ "length": 34, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [244], -+ "starting_column": 9, -+ "ending_column": 43 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_addBid", -+ "source_mapping": { -+ "start": 8300, -+ "length": 600, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 9644, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_addBid(uint192,bytes32,uint64,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls" } -+ }, -+ { -+ "type": "node", -+ "name": "queueSize += size", -+ "source_mapping": { -+ "start": 8700, -+ "length": 17, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [246], -+ "starting_column": 9, -+ "ending_column": 26 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_addBid", -+ "source_mapping": { -+ "start": 8300, -+ "length": 600, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 9644, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_addBid(uint192,bytes32,uint64,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "queueSize" -+ } -+ } -+ ], -+ "description": "Reentrancy in CacheManager._addBid(uint192,bytes32,uint64,uint64) (src/chain/CacheManager.sol#233-253):\n\tExternal calls:\n\t- ARB_WASM_CACHE.cacheCodehash(code) (src/chain/CacheManager.sol#244)\n\tState variables written after the call(s):\n\t- queueSize += size (src/chain/CacheManager.sol#246)\n\tCacheManager.queueSize (src/chain/CacheManager.sol#27) can be used in cross function reentrancies:\n\t- CacheManager._addBid(uint192,bytes32,uint64,uint64) (src/chain/CacheManager.sol#233-253)\n\t- CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#256-262)\n\t- CacheManager._makeSpace(uint64) (src/chain/CacheManager.sol#215-230)\n\t- CacheManager.getMinBid(uint64) (src/chain/CacheManager.sol#124-152)\n\t- CacheManager.makeSpace(uint64) (src/chain/CacheManager.sol#189-198)\n\t- CacheManager.queueSize (src/chain/CacheManager.sol#27)\n", -+ "markdown": "Reentrancy in [CacheManager._addBid(uint192,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L233-L253):\n\tExternal calls:\n\t- [ARB_WASM_CACHE.cacheCodehash(code)](src/chain/CacheManager.sol#L244)\n\tState variables written after the call(s):\n\t- [queueSize += size](src/chain/CacheManager.sol#L246)\n\t[CacheManager.queueSize](src/chain/CacheManager.sol#L27) can be used in cross function reentrancies:\n\t- [CacheManager._addBid(uint192,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L233-L253)\n\t- [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L256-L262)\n\t- [CacheManager._makeSpace(uint64)](src/chain/CacheManager.sol#L215-L230)\n\t- [CacheManager.getMinBid(uint64)](src/chain/CacheManager.sol#L124-L152)\n\t- [CacheManager.makeSpace(uint64)](src/chain/CacheManager.sol#L189-L198)\n\t- [CacheManager.queueSize](src/chain/CacheManager.sol#L27)\n", -+ "first_markdown_element": "src/chain/CacheManager.sol#L233-L253", -+ "id": "b9f6ea80a6accee7014dea8d7e8b56ddc8f2ed2255b688758266f20c2bbf230e", -+ "check": "reentrancy-no-eth", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "_deleteEntry", -+ "source_mapping": { -+ "start": 8955, -+ "length": 277, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [256, 257, 258, 259, 260, 261, 262], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 9644, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, -+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, -+ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, -+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -+ 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, -+ 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, -+ 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, -+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, -+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, -+ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, -+ 277, 278, 279, 280, 281, 282, 283, 284, 285 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_deleteEntry(uint192,uint64)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "ARB_WASM_CACHE.evictCodehash(entry.code)", -+ "source_mapping": { -+ "start": 9068, -+ "length": 40, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [258], -+ "starting_column": 9, -+ "ending_column": 49 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_deleteEntry", -+ "source_mapping": { -+ "start": 8955, -+ "length": 277, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [256, 257, 258, 259, 260, 261, 262], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 9644, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_deleteEntry(uint192,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls" } -+ }, -+ { -+ "type": "node", -+ "name": "delete entries[index]", -+ "source_mapping": { -+ "start": 9204, -+ "length": 21, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [261], -+ "starting_column": 9, -+ "ending_column": 30 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_deleteEntry", -+ "source_mapping": { -+ "start": 8955, -+ "length": 277, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [256, 257, 258, 259, 260, 261, 262], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 9644, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_deleteEntry(uint192,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "entries" -+ } -+ } -+ ], -+ "description": "Reentrancy in CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#256-262):\n\tExternal calls:\n\t- ARB_WASM_CACHE.evictCodehash(entry.code) (src/chain/CacheManager.sol#258)\n\tState variables written after the call(s):\n\t- delete entries[index] (src/chain/CacheManager.sol#261)\n\tCacheManager.entries (src/chain/CacheManager.sol#24) can be used in cross function reentrancies:\n\t- CacheManager._addBid(uint192,bytes32,uint64,uint64) (src/chain/CacheManager.sol#233-253)\n\t- CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#256-262)\n\t- CacheManager._makeSpace(uint64) (src/chain/CacheManager.sol#215-230)\n\t- CacheManager.entries (src/chain/CacheManager.sol#24)\n\t- CacheManager.evictAll() (src/chain/CacheManager.sol#89-92)\n\t- CacheManager.getEntries() (src/chain/CacheManager.sol#104-106)\n\t- CacheManager.getSmallestEntries(uint256) (src/chain/CacheManager.sol#110-120)\n", -+ "markdown": "Reentrancy in [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L256-L262):\n\tExternal calls:\n\t- [ARB_WASM_CACHE.evictCodehash(entry.code)](src/chain/CacheManager.sol#L258)\n\tState variables written after the call(s):\n\t- [delete entries[index]](src/chain/CacheManager.sol#L261)\n\t[CacheManager.entries](src/chain/CacheManager.sol#L24) can be used in cross function reentrancies:\n\t- [CacheManager._addBid(uint192,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L233-L253)\n\t- [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L256-L262)\n\t- [CacheManager._makeSpace(uint64)](src/chain/CacheManager.sol#L215-L230)\n\t- [CacheManager.entries](src/chain/CacheManager.sol#L24)\n\t- [CacheManager.evictAll()](src/chain/CacheManager.sol#L89-L92)\n\t- [CacheManager.getEntries()](src/chain/CacheManager.sol#L104-L106)\n\t- [CacheManager.getSmallestEntries(uint256)](src/chain/CacheManager.sol#L110-L120)\n", -+ "first_markdown_element": "src/chain/CacheManager.sol#L256-L262", -+ "id": "4848413594e9f06020a2a4a3b7755e0ac5f0d7f7c22946958b361b50e6ce4a52", -+ "check": "reentrancy-no-eth", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "evictAll", -+ "source_mapping": { -+ "start": 2863, -+ "length": 112, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [89, 90, 91, 92], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 9644, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, -+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, -+ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, -+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -+ 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, -+ 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, -+ 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, -+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, -+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, -+ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, -+ 277, 278, 279, 280, 281, 282, 283, 284, 285 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "evictAll()" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "evictPrograms(type()(uint256).max)", -+ "source_mapping": { -+ "start": 2912, -+ "length": 32, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [90], -+ "starting_column": 9, -+ "ending_column": 41 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "evictAll", -+ "source_mapping": { -+ "start": 2863, -+ "length": 112, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [89, 90, 91, 92], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 9644, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "evictAll()" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls" } -+ }, -+ { -+ "type": "node", -+ "name": "ARB_WASM_CACHE.evictCodehash(entry.code)", -+ "source_mapping": { -+ "start": 9068, -+ "length": 40, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [258], -+ "starting_column": 9, -+ "ending_column": 49 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_deleteEntry", -+ "source_mapping": { -+ "start": 8955, -+ "length": 277, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [256, 257, 258, 259, 260, 261, 262], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 9644, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_deleteEntry(uint192,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls_sending_eth" } -+ }, -+ { -+ "type": "node", -+ "name": "delete entries", -+ "source_mapping": { -+ "start": 2954, -+ "length": 14, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [91], -+ "starting_column": 9, -+ "ending_column": 23 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "evictAll", -+ "source_mapping": { -+ "start": 2863, -+ "length": 112, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [89, 90, 91, 92], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 9644, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "evictAll()" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "entries" -+ } -+ } -+ ], -+ "description": "Reentrancy in CacheManager.evictAll() (src/chain/CacheManager.sol#89-92):\n\tExternal calls:\n\t- evictPrograms(type()(uint256).max) (src/chain/CacheManager.sol#90)\n\t\t- ARB_WASM_CACHE.evictCodehash(entry.code) (src/chain/CacheManager.sol#258)\n\tState variables written after the call(s):\n\t- delete entries (src/chain/CacheManager.sol#91)\n\tCacheManager.entries (src/chain/CacheManager.sol#24) can be used in cross function reentrancies:\n\t- CacheManager._addBid(uint192,bytes32,uint64,uint64) (src/chain/CacheManager.sol#233-253)\n\t- CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#256-262)\n\t- CacheManager._makeSpace(uint64) (src/chain/CacheManager.sol#215-230)\n\t- CacheManager.entries (src/chain/CacheManager.sol#24)\n\t- CacheManager.evictAll() (src/chain/CacheManager.sol#89-92)\n\t- CacheManager.getEntries() (src/chain/CacheManager.sol#104-106)\n\t- CacheManager.getSmallestEntries(uint256) (src/chain/CacheManager.sol#110-120)\n", -+ "markdown": "Reentrancy in [CacheManager.evictAll()](src/chain/CacheManager.sol#L89-L92):\n\tExternal calls:\n\t- [evictPrograms(type()(uint256).max)](src/chain/CacheManager.sol#L90)\n\t\t- [ARB_WASM_CACHE.evictCodehash(entry.code)](src/chain/CacheManager.sol#L258)\n\tState variables written after the call(s):\n\t- [delete entries](src/chain/CacheManager.sol#L91)\n\t[CacheManager.entries](src/chain/CacheManager.sol#L24) can be used in cross function reentrancies:\n\t- [CacheManager._addBid(uint192,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L233-L253)\n\t- [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L256-L262)\n\t- [CacheManager._makeSpace(uint64)](src/chain/CacheManager.sol#L215-L230)\n\t- [CacheManager.entries](src/chain/CacheManager.sol#L24)\n\t- [CacheManager.evictAll()](src/chain/CacheManager.sol#L89-L92)\n\t- [CacheManager.getEntries()](src/chain/CacheManager.sol#L104-L106)\n\t- [CacheManager.getSmallestEntries(uint256)](src/chain/CacheManager.sol#L110-L120)\n", -+ "first_markdown_element": "src/chain/CacheManager.sol#L89-L92", -+ "id": "bf120df8d715208381d983040d42897d8dcac47177e732ee5496cde132d2f231", -+ "check": "reentrancy-no-eth", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "placeBid", -+ "source_mapping": { -+ "start": 6125, -+ "length": 367, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 9644, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, -+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, -+ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, -+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -+ 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, -+ 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, -+ 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, -+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, -+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, -+ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, -+ 277, 278, 279, 280, 281, 282, 283, 284, 285 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "placeBid(bytes32)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "(bid,index) = _makeSpace(asm)", -+ "source_mapping": { -+ "start": 6389, -+ "length": 45, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [182], -+ "starting_column": 9, -+ "ending_column": 54 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "placeBid", -+ "source_mapping": { -+ "start": 6125, -+ "length": 367, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 9644, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "placeBid(bytes32)" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls" } -+ }, -+ { -+ "type": "node", -+ "name": "ARB_WASM_CACHE.evictCodehash(entry.code)", -+ "source_mapping": { -+ "start": 9068, -+ "length": 40, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [258], -+ "starting_column": 9, -+ "ending_column": 49 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_deleteEntry", -+ "source_mapping": { -+ "start": 8955, -+ "length": 277, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [256, 257, 258, 259, 260, 261, 262], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 9644, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_deleteEntry(uint192,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls_sending_eth" } -+ }, -+ { -+ "type": "node", -+ "name": "_addBid(bid,codehash,asm,index)", -+ "source_mapping": { -+ "start": 6444, -+ "length": 41, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [183], -+ "starting_column": 9, -+ "ending_column": 50 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "placeBid", -+ "source_mapping": { -+ "start": 6125, -+ "length": 367, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 9644, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "placeBid(bytes32)" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls" } -+ }, -+ { -+ "type": "node", -+ "name": "ARB_WASM_CACHE.cacheCodehash(code)", -+ "source_mapping": { -+ "start": 8615, -+ "length": 34, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [244], -+ "starting_column": 9, -+ "ending_column": 43 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_addBid", -+ "source_mapping": { -+ "start": 8300, -+ "length": 600, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 9644, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_addBid(uint192,bytes32,uint64,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls_sending_eth" } -+ }, -+ { -+ "type": "node", -+ "name": "_addBid(bid,codehash,asm,index)", -+ "source_mapping": { -+ "start": 6444, -+ "length": 41, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [183], -+ "starting_column": 9, -+ "ending_column": 50 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "placeBid", -+ "source_mapping": { -+ "start": 6125, -+ "length": 367, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 9644, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "placeBid(bytes32)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "entries" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "entries.push(entry)", -+ "source_mapping": { -+ "start": 8770, -+ "length": 19, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [248], -+ "starting_column": 13, -+ "ending_column": 32 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_addBid", -+ "source_mapping": { -+ "start": 8300, -+ "length": 600, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 9644, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_addBid(uint192,bytes32,uint64,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "entries" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "entries[index] = entry", -+ "source_mapping": { -+ "start": 8820, -+ "length": 22, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [250], -+ "starting_column": 13, -+ "ending_column": 35 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_addBid", -+ "source_mapping": { -+ "start": 8300, -+ "length": 600, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 9644, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_addBid(uint192,bytes32,uint64,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "entries" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "_addBid(bid,codehash,asm,index)", -+ "source_mapping": { -+ "start": 6444, -+ "length": 41, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [183], -+ "starting_column": 9, -+ "ending_column": 50 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "placeBid", -+ "source_mapping": { -+ "start": 6125, -+ "length": 367, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 9644, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "placeBid(bytes32)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "queueSize" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "queueSize += size", -+ "source_mapping": { -+ "start": 8700, -+ "length": 17, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [246], -+ "starting_column": 9, -+ "ending_column": 26 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_addBid", -+ "source_mapping": { -+ "start": 8300, -+ "length": 600, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 471, -+ "length": 9644, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/home/chris/lab/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, -+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_addBid(uint192,bytes32,uint64,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "queueSize" -+ } -+ } -+ ], -+ "description": "Reentrancy in CacheManager.placeBid(bytes32) (src/chain/CacheManager.sol#173-184):\n\tExternal calls:\n\t- (bid,index) = _makeSpace(asm) (src/chain/CacheManager.sol#182)\n\t\t- ARB_WASM_CACHE.evictCodehash(entry.code) (src/chain/CacheManager.sol#258)\n\t- _addBid(bid,codehash,asm,index) (src/chain/CacheManager.sol#183)\n\t\t- ARB_WASM_CACHE.cacheCodehash(code) (src/chain/CacheManager.sol#244)\n\tState variables written after the call(s):\n\t- _addBid(bid,codehash,asm,index) (src/chain/CacheManager.sol#183)\n\t\t- entries.push(entry) (src/chain/CacheManager.sol#248)\n\t\t- entries[index] = entry (src/chain/CacheManager.sol#250)\n\tCacheManager.entries (src/chain/CacheManager.sol#24) can be used in cross function reentrancies:\n\t- CacheManager._addBid(uint192,bytes32,uint64,uint64) (src/chain/CacheManager.sol#233-253)\n\t- CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#256-262)\n\t- CacheManager._makeSpace(uint64) (src/chain/CacheManager.sol#215-230)\n\t- CacheManager.entries (src/chain/CacheManager.sol#24)\n\t- CacheManager.evictAll() (src/chain/CacheManager.sol#89-92)\n\t- CacheManager.getEntries() (src/chain/CacheManager.sol#104-106)\n\t- CacheManager.getSmallestEntries(uint256) (src/chain/CacheManager.sol#110-120)\n\t- _addBid(bid,codehash,asm,index) (src/chain/CacheManager.sol#183)\n\t\t- queueSize += size (src/chain/CacheManager.sol#246)\n\tCacheManager.queueSize (src/chain/CacheManager.sol#27) can be used in cross function reentrancies:\n\t- CacheManager._addBid(uint192,bytes32,uint64,uint64) (src/chain/CacheManager.sol#233-253)\n\t- CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#256-262)\n\t- CacheManager._makeSpace(uint64) (src/chain/CacheManager.sol#215-230)\n\t- CacheManager.getMinBid(uint64) (src/chain/CacheManager.sol#124-152)\n\t- CacheManager.makeSpace(uint64) (src/chain/CacheManager.sol#189-198)\n\t- CacheManager.queueSize (src/chain/CacheManager.sol#27)\n", -+ "markdown": "Reentrancy in [CacheManager.placeBid(bytes32)](src/chain/CacheManager.sol#L173-L184):\n\tExternal calls:\n\t- [(bid,index) = _makeSpace(asm)](src/chain/CacheManager.sol#L182)\n\t\t- [ARB_WASM_CACHE.evictCodehash(entry.code)](src/chain/CacheManager.sol#L258)\n\t- [_addBid(bid,codehash,asm,index)](src/chain/CacheManager.sol#L183)\n\t\t- [ARB_WASM_CACHE.cacheCodehash(code)](src/chain/CacheManager.sol#L244)\n\tState variables written after the call(s):\n\t- [_addBid(bid,codehash,asm,index)](src/chain/CacheManager.sol#L183)\n\t\t- [entries.push(entry)](src/chain/CacheManager.sol#L248)\n\t\t- [entries[index] = entry](src/chain/CacheManager.sol#L250)\n\t[CacheManager.entries](src/chain/CacheManager.sol#L24) can be used in cross function reentrancies:\n\t- [CacheManager._addBid(uint192,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L233-L253)\n\t- [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L256-L262)\n\t- [CacheManager._makeSpace(uint64)](src/chain/CacheManager.sol#L215-L230)\n\t- [CacheManager.entries](src/chain/CacheManager.sol#L24)\n\t- [CacheManager.evictAll()](src/chain/CacheManager.sol#L89-L92)\n\t- [CacheManager.getEntries()](src/chain/CacheManager.sol#L104-L106)\n\t- [CacheManager.getSmallestEntries(uint256)](src/chain/CacheManager.sol#L110-L120)\n\t- [_addBid(bid,codehash,asm,index)](src/chain/CacheManager.sol#L183)\n\t\t- [queueSize += size](src/chain/CacheManager.sol#L246)\n\t[CacheManager.queueSize](src/chain/CacheManager.sol#L27) can be used in cross function reentrancies:\n\t- [CacheManager._addBid(uint192,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L233-L253)\n\t- [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L256-L262)\n\t- [CacheManager._makeSpace(uint64)](src/chain/CacheManager.sol#L215-L230)\n\t- [CacheManager.getMinBid(uint64)](src/chain/CacheManager.sol#L124-L152)\n\t- [CacheManager.makeSpace(uint64)](src/chain/CacheManager.sol#L189-L198)\n\t- [CacheManager.queueSize](src/chain/CacheManager.sol#L27)\n", -+ "first_markdown_element": "src/chain/CacheManager.sol#L173-L184", -+ "id": "436212c386c26726839a1cf3068734d839e7b01aab9f4594d2df94fcad8587cf", -+ "check": "reentrancy-no-eth", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "_deployFactories", -+ "source_mapping": { -+ "start": 10566, -+ "length": 1163, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283, 284, 285 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCreator", -+ "source_mapping": { -+ "start": 703, -+ "length": 11028, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, -+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, -+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, -+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, -+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, -+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, -+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, -+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, -+ 279, 280, 281, 282, 283, 284, 285, 286 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_deployFactories(address,address,uint256)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "l2FactoriesDeployer.perform{value: cost}(_inbox,_nativeToken,_maxFeePerGas)", -+ "source_mapping": { -+ "start": 10973, -+ "length": 77, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [268], -+ "starting_column": 13, -+ "ending_column": 90 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_deployFactories", -+ "source_mapping": { -+ "start": 10566, -+ "length": 1163, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283, 284, 285 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCreator", -+ "source_mapping": { -+ "start": 703, -+ "length": 11028, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, -+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, -+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_deployFactories(address,address,uint256)" -+ } -+ } -+ } -+ }, -+ { -+ "type": "node", -+ "name": "(sent,None) = msg.sender.call{value: address(this).balance}()", -+ "source_mapping": { -+ "start": 11161, -+ "length": 65, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [272], -+ "starting_column": 13, -+ "ending_column": 78 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_deployFactories", -+ "source_mapping": { -+ "start": 10566, -+ "length": 1163, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283, 284, 285 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCreator", -+ "source_mapping": { -+ "start": 703, -+ "length": 11028, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, -+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, -+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_deployFactories(address,address,uint256)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "RollupCreator._deployFactories(address,address,uint256) (src/rollup/RollupCreator.sol#255-285) sends eth to arbitrary user\n\tDangerous calls:\n\t- l2FactoriesDeployer.perform{value: cost}(_inbox,_nativeToken,_maxFeePerGas) (src/rollup/RollupCreator.sol#268)\n\t- (sent,None) = msg.sender.call{value: address(this).balance}() (src/rollup/RollupCreator.sol#272)\n", -+ "markdown": "[RollupCreator._deployFactories(address,address,uint256)](src/rollup/RollupCreator.sol#L255-L285) sends eth to arbitrary user\n\tDangerous calls:\n\t- [l2FactoriesDeployer.perform{value: cost}(_inbox,_nativeToken,_maxFeePerGas)](src/rollup/RollupCreator.sol#L268)\n\t- [(sent,None) = msg.sender.call{value: address(this).balance}()](src/rollup/RollupCreator.sol#L272)\n", -+ "first_markdown_element": "src/rollup/RollupCreator.sol#L255-L285", -+ "id": "33e46ab503ffc67db10a32c76db44b3d71085e8ccabf978afab4963ab79410b7", -+ "check": "arbitrary-send-eth", -+ "impact": "High", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "_addBid", -+ "source_mapping": { -+ "start": 8100, -+ "length": 600, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, -+ 244, 245, 246, 247, 248, 249, 250, 251 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 350, -+ "length": 9565, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, -+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, -+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, -+ 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, -+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, -+ 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, -+ 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, -+ 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, -+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, -+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, -+ 275, 276, 277, 278, 279, 280, 281, 282, 283 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_addBid(uint192,bytes32,uint64,uint64)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "index == entries.length", -+ "source_mapping": { -+ "start": 8531, -+ "length": 23, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [245], -+ "starting_column": 13, -+ "ending_column": 36 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_addBid", -+ "source_mapping": { -+ "start": 8100, -+ "length": 600, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, -+ 244, 245, 246, 247, 248, 249, 250, 251 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 350, -+ "length": 9565, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, -+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, -+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, -+ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, -+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, -+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_addBid(uint192,bytes32,uint64,uint64)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "CacheManager._addBid(uint192,bytes32,uint64,uint64) (src/chain/CacheManager.sol#231-251) uses a dangerous strict equality:\n\t- index == entries.length (src/chain/CacheManager.sol#245)\n", -+ "markdown": "[CacheManager._addBid(uint192,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L231-L251) uses a dangerous strict equality:\n\t- [index == entries.length](src/chain/CacheManager.sol#L245)\n", -+ "first_markdown_element": "src/chain/CacheManager.sol#L231-L251", -+ "id": "3a781781186cbb842796b829845aa7945c024854a5354a602603028bf3bf838a", -+ "check": "incorrect-equality", -+ "impact": "Medium", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "executeLinkModule", -+ "source_mapping": { -+ "start": 16420, -+ "length": 1090, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, -+ 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, -+ 459, 460, 461, 462, 463, 464 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverHostIo", -+ "source_mapping": { -+ "start": 502, -+ "length": 23583, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, -+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, -+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, -+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, -+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, -+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, -+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, -+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, -+ 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, -+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, -+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, -+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, -+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, -+ 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -+ 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, -+ 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, -+ 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, -+ 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, -+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, -+ 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -+ 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, -+ 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, -+ 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, -+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, -+ 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, -+ 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, -+ 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, -+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, -+ 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, -+ 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, -+ 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, -+ 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, -+ 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, -+ 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, -+ 643, 644, 645, 646, 647, 648, 649 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeLinkModule(ExecutionContext,Machine,Module,Instruction,bytes)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "(userMod,offset,None) = mod.moduleMemory.proveLeaf(pointer / LEAF_SIZE,proof,0)", -+ "source_mapping": { -+ "start": 16918, -+ "length": 141, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [448, 449, 450, 451, 452], -+ "starting_column": 9, -+ "ending_column": 10 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeLinkModule", -+ "source_mapping": { -+ "start": 16420, -+ "length": 1090, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, -+ 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, -+ 459, 460, 461, 462, 463, 464 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverHostIo", -+ "source_mapping": { -+ "start": 502, -+ "length": 23583, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, -+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, -+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, -+ 645, 646, 647, 648, 649 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeLinkModule(ExecutionContext,Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProverHostIo.executeLinkModule(ExecutionContext,Machine,Module,Instruction,bytes) (src/osp/OneStepProverHostIo.sol#433-464) ignores return value by (userMod,offset,None) = mod.moduleMemory.proveLeaf(pointer / LEAF_SIZE,proof,0) (src/osp/OneStepProverHostIo.sol#448-452)\n", -+ "markdown": "[OneStepProverHostIo.executeLinkModule(ExecutionContext,Machine,Module,Instruction,bytes)](src/osp/OneStepProverHostIo.sol#L433-L464) ignores return value by [(userMod,offset,None) = mod.moduleMemory.proveLeaf(pointer / LEAF_SIZE,proof,0)](src/osp/OneStepProverHostIo.sol#L448-L452)\n", -+ "first_markdown_element": "src/osp/OneStepProverHostIo.sol#L433-L464", -+ "id": "92ac837d702aee6d12fc38548f7f338739ba47bacbb9aa683450dead6b522b68", -+ "check": "unused-return", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "executeMemoryLoad", -+ "source_mapping": { -+ "start": 1168, -+ "length": 3662, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [ -+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, -+ 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, -+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, -+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, -+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverMemory", -+ "source_mapping": { -+ "start": 368, -+ "length": 10198, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, -+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, -+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, -+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, -+ 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, -+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, -+ 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, -+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, -+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, -+ 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, -+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, -+ 276, 277, 278, 279, 280, 281, 282, 283, 284 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeMemoryLoad(Machine,Module,Instruction,bytes)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "(err,value,None) = mod.moduleMemory.load(index,readBytes,proof,0)", -+ "source_mapping": { -+ "start": 3641, -+ "length": 79, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [106], -+ "starting_column": 9, -+ "ending_column": 88 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeMemoryLoad", -+ "source_mapping": { -+ "start": 1168, -+ "length": 3662, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [ -+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, -+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, -+ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, -+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverMemory", -+ "source_mapping": { -+ "start": 368, -+ "length": 10198, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, -+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, -+ 282, 283, 284 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeMemoryLoad(Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProverMemory.executeMemoryLoad(Machine,Module,Instruction,bytes) (src/osp/OneStepProverMemory.sol#36-131) ignores return value by (err,value,None) = mod.moduleMemory.load(index,readBytes,proof,0) (src/osp/OneStepProverMemory.sol#106)\n", -+ "markdown": "[OneStepProverMemory.executeMemoryLoad(Machine,Module,Instruction,bytes)](src/osp/OneStepProverMemory.sol#L36-L131) ignores return value by [(err,value,None) = mod.moduleMemory.load(index,readBytes,proof,0)](src/osp/OneStepProverMemory.sol#L106)\n", -+ "first_markdown_element": "src/osp/OneStepProverMemory.sol#L36-L131", -+ "id": "b002aa15c2eafad3b5923f9ca2204b8ea235c930c19b94647b519331fc1abc4c", -+ "check": "unused-return", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "createRollup", -+ "source_mapping": { -+ "start": 4904, -+ "length": 5018, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, -+ 227, 228, 229, 230, 231, 232, 233 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCreator", -+ "source_mapping": { -+ "start": 703, -+ "length": 11028, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, -+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, -+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, -+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, -+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, -+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, -+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, -+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, -+ 279, 280, 281, 282, 283, 284, 285, 286 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createRollup(RollupCreator.RollupDeploymentParams)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "(None,ethSequencerInbox,ethInbox,None,None) = bridgeCreator.ethBasedTemplates()", -+ "source_mapping": { -+ "start": 5121, -+ "length": 115, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [117, 118], -+ "starting_column": 13, -+ "ending_column": 37 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "createRollup", -+ "source_mapping": { -+ "start": 4904, -+ "length": 5018, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, -+ 227, 228, 229, 230, 231, 232, 233 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCreator", -+ "source_mapping": { -+ "start": 703, -+ "length": 11028, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, -+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, -+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createRollup(RollupCreator.RollupDeploymentParams)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "RollupCreator.createRollup(RollupCreator.RollupDeploymentParams) (src/rollup/RollupCreator.sol#110-233) ignores return value by (None,ethSequencerInbox,ethInbox,None,None) = bridgeCreator.ethBasedTemplates() (src/rollup/RollupCreator.sol#117-118)\n", -+ "markdown": "[RollupCreator.createRollup(RollupCreator.RollupDeploymentParams)](src/rollup/RollupCreator.sol#L110-L233) ignores return value by [(None,ethSequencerInbox,ethInbox,None,None) = bridgeCreator.ethBasedTemplates()](src/rollup/RollupCreator.sol#L117-L118)\n", -+ "first_markdown_element": "src/rollup/RollupCreator.sol#L110-L233", -+ "id": "6ac2b9112a4ee35d3925d1fe7a7ff08b6979520c84e24a42eba70d56c25bfb49", -+ "check": "unused-return", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "createRollup", -+ "source_mapping": { -+ "start": 4904, -+ "length": 5018, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, -+ 227, 228, 229, 230, 231, 232, 233 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCreator", -+ "source_mapping": { -+ "start": 703, -+ "length": 11028, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, -+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, -+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, -+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, -+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, -+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, -+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, -+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, -+ 279, 280, 281, 282, 283, 284, 285, 286 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createRollup(RollupCreator.RollupDeploymentParams)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "(None,erc20SequencerInbox,erc20Inbox,None,None) = bridgeCreator.erc20BasedTemplates()", -+ "source_mapping": { -+ "start": 5509, -+ "length": 121, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [125, 126], -+ "starting_column": 13, -+ "ending_column": 39 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "createRollup", -+ "source_mapping": { -+ "start": 4904, -+ "length": 5018, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, -+ 227, 228, 229, 230, 231, 232, 233 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCreator", -+ "source_mapping": { -+ "start": 703, -+ "length": 11028, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, -+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, -+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createRollup(RollupCreator.RollupDeploymentParams)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "RollupCreator.createRollup(RollupCreator.RollupDeploymentParams) (src/rollup/RollupCreator.sol#110-233) ignores return value by (None,erc20SequencerInbox,erc20Inbox,None,None) = bridgeCreator.erc20BasedTemplates() (src/rollup/RollupCreator.sol#125-126)\n", -+ "markdown": "[RollupCreator.createRollup(RollupCreator.RollupDeploymentParams)](src/rollup/RollupCreator.sol#L110-L233) ignores return value by [(None,erc20SequencerInbox,erc20Inbox,None,None) = bridgeCreator.erc20BasedTemplates()](src/rollup/RollupCreator.sol#L125-L126)\n", -+ "first_markdown_element": "src/rollup/RollupCreator.sol#L110-L233", -+ "id": "a4a7309cfe7707c52e24933155fba88b888f432e0f2bd5db4106b9577b09fab3", -+ "check": "unused-return", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "lastProvedLeafContents", -+ "source_mapping": { -+ "start": 7133, -+ "length": 30, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [192], -+ "starting_column": 9, -+ "ending_column": 39 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeMemoryStore", -+ "source_mapping": { -+ "start": 4836, -+ "length": 3663, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [ -+ 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, -+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, -+ 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, -+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, -+ 224, 225 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverMemory", -+ "source_mapping": { -+ "start": 368, -+ "length": 10198, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, -+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, -+ 282, 283, 284 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeMemoryStore(Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProverMemory.executeMemoryStore(Machine,Module,Instruction,bytes).lastProvedLeafContents (src/osp/OneStepProverMemory.sol#192) is a local variable never initialized\n", -+ "markdown": "[OneStepProverMemory.executeMemoryStore(Machine,Module,Instruction,bytes).lastProvedLeafContents](src/osp/OneStepProverMemory.sol#L192) is a local variable never initialized\n", -+ "first_markdown_element": "src/osp/OneStepProverMemory.sol#L192", -+ "id": "00c7e5f6fcc242a5d65ca8b940bee5979b1e5fae2dfaad3a0f8f2ba6c6cd7a99", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "extractChallengeSegment", -+ "source_mapping": { -+ "start": 1364, -+ "length": 682, -+ "filename_relative": "src/challenge/ChallengeLib.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", -+ "filename_short": "src/challenge/ChallengeLib.sol", -+ "is_dependency": false, -+ "lines": [51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "ChallengeLib", -+ "source_mapping": { -+ "start": 272, -+ "length": 2649, -+ "filename_relative": "src/challenge/ChallengeLib.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", -+ "filename_short": "src/challenge/ChallengeLib.sol", -+ "is_dependency": false, -+ "lines": [ -+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "extractChallengeSegment(ChallengeLib.SegmentSelection)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "segmentLength = selection.oldSegmentsLength / oldChallengeDegree", -+ "source_mapping": { -+ "start": 1611, -+ "length": 64, -+ "filename_relative": "src/challenge/ChallengeLib.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", -+ "filename_short": "src/challenge/ChallengeLib.sol", -+ "is_dependency": false, -+ "lines": [57], -+ "starting_column": 9, -+ "ending_column": 73 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "extractChallengeSegment", -+ "source_mapping": { -+ "start": 1364, -+ "length": 682, -+ "filename_relative": "src/challenge/ChallengeLib.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", -+ "filename_short": "src/challenge/ChallengeLib.sol", -+ "is_dependency": false, -+ "lines": [51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "ChallengeLib", -+ "source_mapping": { -+ "start": 272, -+ "length": 2649, -+ "filename_relative": "src/challenge/ChallengeLib.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", -+ "filename_short": "src/challenge/ChallengeLib.sol", -+ "is_dependency": false, -+ "lines": [ -+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, -+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, -+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -+ 85, 86, 87, 88 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "extractChallengeSegment(ChallengeLib.SegmentSelection)" -+ } -+ } -+ } -+ }, -+ { -+ "type": "node", -+ "name": "segmentStart = selection.oldSegmentsStart + segmentLength * selection.challengePosition", -+ "source_mapping": { -+ "start": 1784, -+ "length": 87, -+ "filename_relative": "src/challenge/ChallengeLib.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", -+ "filename_short": "src/challenge/ChallengeLib.sol", -+ "is_dependency": false, -+ "lines": [59], -+ "starting_column": 9, -+ "ending_column": 96 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "extractChallengeSegment", -+ "source_mapping": { -+ "start": 1364, -+ "length": 682, -+ "filename_relative": "src/challenge/ChallengeLib.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", -+ "filename_short": "src/challenge/ChallengeLib.sol", -+ "is_dependency": false, -+ "lines": [51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "ChallengeLib", -+ "source_mapping": { -+ "start": 272, -+ "length": 2649, -+ "filename_relative": "src/challenge/ChallengeLib.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", -+ "filename_short": "src/challenge/ChallengeLib.sol", -+ "is_dependency": false, -+ "lines": [ -+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, -+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, -+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -+ 85, 86, 87, 88 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "extractChallengeSegment(ChallengeLib.SegmentSelection)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "ChallengeLib.extractChallengeSegment(ChallengeLib.SegmentSelection) (src/challenge/ChallengeLib.sol#51-63) performs a multiplication on the result of a division:\n\t- segmentLength = selection.oldSegmentsLength / oldChallengeDegree (src/challenge/ChallengeLib.sol#57)\n\t- segmentStart = selection.oldSegmentsStart + segmentLength * selection.challengePosition (src/challenge/ChallengeLib.sol#59)\n", -+ "markdown": "[ChallengeLib.extractChallengeSegment(ChallengeLib.SegmentSelection)](src/challenge/ChallengeLib.sol#L51-L63) performs a multiplication on the result of a division:\n\t- [segmentLength = selection.oldSegmentsLength / oldChallengeDegree](src/challenge/ChallengeLib.sol#L57)\n\t- [segmentStart = selection.oldSegmentsStart + segmentLength * selection.challengePosition](src/challenge/ChallengeLib.sol#L59)\n", -+ "first_markdown_element": "src/challenge/ChallengeLib.sol#L51-L63", -+ "id": "a4b93976a94b1cf6b99dc623ae954b79e816fc108466f521511aaa71a571ee62", -+ "check": "divide-before-multiply", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "executeReadPreImage", -+ "source_mapping": { -+ "start": 4469, -+ "length": 5772, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, -+ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, -+ 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, -+ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, -+ 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, -+ 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -+ 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, -+ 245, 246, 247, 248, 249, 250 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverHostIo", -+ "source_mapping": { -+ "start": 502, -+ "length": 23583, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, -+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, -+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, -+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, -+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, -+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, -+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, -+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, -+ 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, -+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, -+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, -+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, -+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, -+ 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -+ 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, -+ 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, -+ 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, -+ 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, -+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, -+ 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -+ 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, -+ 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, -+ 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, -+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, -+ 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, -+ 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, -+ 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, -+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, -+ 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, -+ 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, -+ 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, -+ 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, -+ 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, -+ 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, -+ 643, 644, 645, 646, 647, 648, 649 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeReadPreImage(ExecutionContext,Machine,Module,Instruction,bytes)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "rootOfUnityPower = (1 << 32) / fieldElementsPerBlob", -+ "source_mapping": { -+ "start": 9247, -+ "length": 59, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [229], -+ "starting_column": 17, -+ "ending_column": 76 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeReadPreImage", -+ "source_mapping": { -+ "start": 4469, -+ "length": 5772, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, -+ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, -+ 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, -+ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, -+ 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, -+ 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -+ 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, -+ 245, 246, 247, 248, 249, 250 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverHostIo", -+ "source_mapping": { -+ "start": 502, -+ "length": 23583, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, -+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, -+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, -+ 645, 646, 647, 648, 649 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeReadPreImage(ExecutionContext,Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ }, -+ { -+ "type": "node", -+ "name": "rootOfUnityPower *= bitReversedIndex", -+ "source_mapping": { -+ "start": 9474, -+ "length": 36, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [232], -+ "starting_column": 17, -+ "ending_column": 53 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeReadPreImage", -+ "source_mapping": { -+ "start": 4469, -+ "length": 5772, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, -+ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, -+ 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, -+ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, -+ 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, -+ 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -+ 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, -+ 245, 246, 247, 248, 249, 250 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverHostIo", -+ "source_mapping": { -+ "start": 502, -+ "length": 23583, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, -+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, -+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, -+ 645, 646, 647, 648, 649 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeReadPreImage(ExecutionContext,Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProverHostIo.executeReadPreImage(ExecutionContext,Machine,Module,Instruction,bytes) (src/osp/OneStepProverHostIo.sol#128-250) performs a multiplication on the result of a division:\n\t- rootOfUnityPower = (1 << 32) / fieldElementsPerBlob (src/osp/OneStepProverHostIo.sol#229)\n\t- rootOfUnityPower *= bitReversedIndex (src/osp/OneStepProverHostIo.sol#232)\n", -+ "markdown": "[OneStepProverHostIo.executeReadPreImage(ExecutionContext,Machine,Module,Instruction,bytes)](src/osp/OneStepProverHostIo.sol#L128-L250) performs a multiplication on the result of a division:\n\t- [rootOfUnityPower = (1 << 32) / fieldElementsPerBlob](src/osp/OneStepProverHostIo.sol#L229)\n\t- [rootOfUnityPower *= bitReversedIndex](src/osp/OneStepProverHostIo.sol#L232)\n", -+ "first_markdown_element": "src/osp/OneStepProverHostIo.sol#L128-L250", -+ "id": "f0b43f8c42c636a0a6c208ac9bd013cf20177f73df6cf1ea5ab40b7aec7a50ca", -+ "check": "divide-before-multiply", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "_addBid", -+ "source_mapping": { -+ "start": 8100, -+ "length": 600, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, -+ 244, 245, 246, 247, 248, 249, 250, 251 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 350, -+ "length": 9565, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, -+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, -+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, -+ 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, -+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, -+ 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, -+ 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, -+ 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, -+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, -+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, -+ 275, 276, 277, 278, 279, 280, 281, 282, 283 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_addBid(uint192,bytes32,uint64,uint64)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "ARB_WASM_CACHE.cacheCodehash(code)", -+ "source_mapping": { -+ "start": 8415, -+ "length": 34, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [242], -+ "starting_column": 9, -+ "ending_column": 43 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_addBid", -+ "source_mapping": { -+ "start": 8100, -+ "length": 600, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, -+ 244, 245, 246, 247, 248, 249, 250, 251 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 350, -+ "length": 9565, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, -+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, -+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, -+ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, -+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, -+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_addBid(uint192,bytes32,uint64,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls" } -+ }, -+ { -+ "type": "node", -+ "name": "queueSize += size", -+ "source_mapping": { -+ "start": 8500, -+ "length": 17, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [244], -+ "starting_column": 9, -+ "ending_column": 26 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_addBid", -+ "source_mapping": { -+ "start": 8100, -+ "length": 600, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, -+ 244, 245, 246, 247, 248, 249, 250, 251 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 350, -+ "length": 9565, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, -+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, -+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, -+ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, -+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, -+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_addBid(uint192,bytes32,uint64,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "queueSize" -+ } -+ } -+ ], -+ "description": "Reentrancy in CacheManager._addBid(uint192,bytes32,uint64,uint64) (src/chain/CacheManager.sol#231-251):\n\tExternal calls:\n\t- ARB_WASM_CACHE.cacheCodehash(code) (src/chain/CacheManager.sol#242)\n\tState variables written after the call(s):\n\t- queueSize += size (src/chain/CacheManager.sol#244)\n\tCacheManager.queueSize (src/chain/CacheManager.sol#25) can be used in cross function reentrancies:\n\t- CacheManager._addBid(uint192,bytes32,uint64,uint64) (src/chain/CacheManager.sol#231-251)\n\t- CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#254-260)\n\t- CacheManager._makeSpace(uint64) (src/chain/CacheManager.sol#213-228)\n\t- CacheManager.getMinBid(uint64) (src/chain/CacheManager.sol#122-150)\n\t- CacheManager.makeSpace(uint64) (src/chain/CacheManager.sol#187-196)\n\t- CacheManager.queueSize (src/chain/CacheManager.sol#25)\n", -+ "markdown": "Reentrancy in [CacheManager._addBid(uint192,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L231-L251):\n\tExternal calls:\n\t- [ARB_WASM_CACHE.cacheCodehash(code)](src/chain/CacheManager.sol#L242)\n\tState variables written after the call(s):\n\t- [queueSize += size](src/chain/CacheManager.sol#L244)\n\t[CacheManager.queueSize](src/chain/CacheManager.sol#L25) can be used in cross function reentrancies:\n\t- [CacheManager._addBid(uint192,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L231-L251)\n\t- [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L254-L260)\n\t- [CacheManager._makeSpace(uint64)](src/chain/CacheManager.sol#L213-L228)\n\t- [CacheManager.getMinBid(uint64)](src/chain/CacheManager.sol#L122-L150)\n\t- [CacheManager.makeSpace(uint64)](src/chain/CacheManager.sol#L187-L196)\n\t- [CacheManager.queueSize](src/chain/CacheManager.sol#L25)\n", -+ "first_markdown_element": "src/chain/CacheManager.sol#L231-L251", -+ "id": "7cafef621b24ce7927bcb6c53b9a6c824466abcd138ed1f43bd4a38e07637b19", -+ "check": "reentrancy-no-eth", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "_deleteEntry", -+ "source_mapping": { -+ "start": 8755, -+ "length": 277, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [254, 255, 256, 257, 258, 259, 260], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 350, -+ "length": 9565, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, -+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, -+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, -+ 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, -+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, -+ 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, -+ 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, -+ 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, -+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, -+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, -+ 275, 276, 277, 278, 279, 280, 281, 282, 283 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_deleteEntry(uint192,uint64)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "ARB_WASM_CACHE.evictCodehash(entry.code)", -+ "source_mapping": { -+ "start": 8868, -+ "length": 40, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [256], -+ "starting_column": 9, -+ "ending_column": 49 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_deleteEntry", -+ "source_mapping": { -+ "start": 8755, -+ "length": 277, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [254, 255, 256, 257, 258, 259, 260], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 350, -+ "length": 9565, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, -+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, -+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, -+ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, -+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, -+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_deleteEntry(uint192,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls" } -+ }, -+ { -+ "type": "node", -+ "name": "delete entries[index]", -+ "source_mapping": { -+ "start": 9004, -+ "length": 21, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [259], -+ "starting_column": 9, -+ "ending_column": 30 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_deleteEntry", -+ "source_mapping": { -+ "start": 8755, -+ "length": 277, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [254, 255, 256, 257, 258, 259, 260], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 350, -+ "length": 9565, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, -+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, -+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, -+ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, -+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, -+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_deleteEntry(uint192,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "entries" -+ } -+ } -+ ], -+ "description": "Reentrancy in CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#254-260):\n\tExternal calls:\n\t- ARB_WASM_CACHE.evictCodehash(entry.code) (src/chain/CacheManager.sol#256)\n\tState variables written after the call(s):\n\t- delete entries[index] (src/chain/CacheManager.sol#259)\n\tCacheManager.entries (src/chain/CacheManager.sol#22) can be used in cross function reentrancies:\n\t- CacheManager._addBid(uint192,bytes32,uint64,uint64) (src/chain/CacheManager.sol#231-251)\n\t- CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#254-260)\n\t- CacheManager._makeSpace(uint64) (src/chain/CacheManager.sol#213-228)\n\t- CacheManager.entries (src/chain/CacheManager.sol#22)\n\t- CacheManager.evictAll() (src/chain/CacheManager.sol#87-90)\n\t- CacheManager.getEntries() (src/chain/CacheManager.sol#102-104)\n\t- CacheManager.getSmallestEntries(uint256) (src/chain/CacheManager.sol#108-118)\n", -+ "markdown": "Reentrancy in [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L254-L260):\n\tExternal calls:\n\t- [ARB_WASM_CACHE.evictCodehash(entry.code)](src/chain/CacheManager.sol#L256)\n\tState variables written after the call(s):\n\t- [delete entries[index]](src/chain/CacheManager.sol#L259)\n\t[CacheManager.entries](src/chain/CacheManager.sol#L22) can be used in cross function reentrancies:\n\t- [CacheManager._addBid(uint192,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L231-L251)\n\t- [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L254-L260)\n\t- [CacheManager._makeSpace(uint64)](src/chain/CacheManager.sol#L213-L228)\n\t- [CacheManager.entries](src/chain/CacheManager.sol#L22)\n\t- [CacheManager.evictAll()](src/chain/CacheManager.sol#L87-L90)\n\t- [CacheManager.getEntries()](src/chain/CacheManager.sol#L102-L104)\n\t- [CacheManager.getSmallestEntries(uint256)](src/chain/CacheManager.sol#L108-L118)\n", -+ "first_markdown_element": "src/chain/CacheManager.sol#L254-L260", -+ "id": "1400e2c01607b2bdf7010ad99c436ef2db92c4122f6340a3ca3e5664bc80c983", -+ "check": "reentrancy-no-eth", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "evictAll", -+ "source_mapping": { -+ "start": 2663, -+ "length": 112, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [87, 88, 89, 90], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 350, -+ "length": 9565, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, -+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, -+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, -+ 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, -+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, -+ 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, -+ 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, -+ 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, -+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, -+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, -+ 275, 276, 277, 278, 279, 280, 281, 282, 283 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "evictAll()" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "evictPrograms(type()(uint256).max)", -+ "source_mapping": { -+ "start": 2712, -+ "length": 32, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [88], -+ "starting_column": 9, -+ "ending_column": 41 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "evictAll", -+ "source_mapping": { -+ "start": 2663, -+ "length": 112, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [87, 88, 89, 90], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 350, -+ "length": 9565, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, -+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, -+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, -+ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, -+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, -+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "evictAll()" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls" } -+ }, -+ { -+ "type": "node", -+ "name": "ARB_WASM_CACHE.evictCodehash(entry.code)", -+ "source_mapping": { -+ "start": 8868, -+ "length": 40, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [256], -+ "starting_column": 9, -+ "ending_column": 49 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_deleteEntry", -+ "source_mapping": { -+ "start": 8755, -+ "length": 277, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [254, 255, 256, 257, 258, 259, 260], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 350, -+ "length": 9565, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, -+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, -+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, -+ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, -+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, -+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_deleteEntry(uint192,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls_sending_eth" } -+ }, -+ { -+ "type": "node", -+ "name": "delete entries", -+ "source_mapping": { -+ "start": 2754, -+ "length": 14, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [89], -+ "starting_column": 9, -+ "ending_column": 23 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "evictAll", -+ "source_mapping": { -+ "start": 2663, -+ "length": 112, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [87, 88, 89, 90], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 350, -+ "length": 9565, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, -+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, -+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, -+ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, -+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, -+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "evictAll()" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "entries" -+ } -+ } -+ ], -+ "description": "Reentrancy in CacheManager.evictAll() (src/chain/CacheManager.sol#87-90):\n\tExternal calls:\n\t- evictPrograms(type()(uint256).max) (src/chain/CacheManager.sol#88)\n\t\t- ARB_WASM_CACHE.evictCodehash(entry.code) (src/chain/CacheManager.sol#256)\n\tState variables written after the call(s):\n\t- delete entries (src/chain/CacheManager.sol#89)\n\tCacheManager.entries (src/chain/CacheManager.sol#22) can be used in cross function reentrancies:\n\t- CacheManager._addBid(uint192,bytes32,uint64,uint64) (src/chain/CacheManager.sol#231-251)\n\t- CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#254-260)\n\t- CacheManager._makeSpace(uint64) (src/chain/CacheManager.sol#213-228)\n\t- CacheManager.entries (src/chain/CacheManager.sol#22)\n\t- CacheManager.evictAll() (src/chain/CacheManager.sol#87-90)\n\t- CacheManager.getEntries() (src/chain/CacheManager.sol#102-104)\n\t- CacheManager.getSmallestEntries(uint256) (src/chain/CacheManager.sol#108-118)\n", -+ "markdown": "Reentrancy in [CacheManager.evictAll()](src/chain/CacheManager.sol#L87-L90):\n\tExternal calls:\n\t- [evictPrograms(type()(uint256).max)](src/chain/CacheManager.sol#L88)\n\t\t- [ARB_WASM_CACHE.evictCodehash(entry.code)](src/chain/CacheManager.sol#L256)\n\tState variables written after the call(s):\n\t- [delete entries](src/chain/CacheManager.sol#L89)\n\t[CacheManager.entries](src/chain/CacheManager.sol#L22) can be used in cross function reentrancies:\n\t- [CacheManager._addBid(uint192,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L231-L251)\n\t- [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L254-L260)\n\t- [CacheManager._makeSpace(uint64)](src/chain/CacheManager.sol#L213-L228)\n\t- [CacheManager.entries](src/chain/CacheManager.sol#L22)\n\t- [CacheManager.evictAll()](src/chain/CacheManager.sol#L87-L90)\n\t- [CacheManager.getEntries()](src/chain/CacheManager.sol#L102-L104)\n\t- [CacheManager.getSmallestEntries(uint256)](src/chain/CacheManager.sol#L108-L118)\n", -+ "first_markdown_element": "src/chain/CacheManager.sol#L87-L90", -+ "id": "e453de7fb42e742ec25db94618c0bc9d52db23aecc625992da375d6e46e61fa8", -+ "check": "reentrancy-no-eth", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "placeBid", -+ "source_mapping": { -+ "start": 5925, -+ "length": 367, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 350, -+ "length": 9565, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, -+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, -+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, -+ 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, -+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, -+ 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, -+ 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, -+ 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, -+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, -+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, -+ 275, 276, 277, 278, 279, 280, 281, 282, 283 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "placeBid(bytes32)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "(bid,index) = _makeSpace(asm)", -+ "source_mapping": { -+ "start": 6189, -+ "length": 45, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [180], -+ "starting_column": 9, -+ "ending_column": 54 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "placeBid", -+ "source_mapping": { -+ "start": 5925, -+ "length": 367, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 350, -+ "length": 9565, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, -+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, -+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, -+ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, -+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, -+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "placeBid(bytes32)" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls" } -+ }, -+ { -+ "type": "node", -+ "name": "ARB_WASM_CACHE.evictCodehash(entry.code)", -+ "source_mapping": { -+ "start": 8868, -+ "length": 40, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [256], -+ "starting_column": 9, -+ "ending_column": 49 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_deleteEntry", -+ "source_mapping": { -+ "start": 8755, -+ "length": 277, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [254, 255, 256, 257, 258, 259, 260], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 350, -+ "length": 9565, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, -+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, -+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, -+ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, -+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, -+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_deleteEntry(uint192,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls_sending_eth" } -+ }, -+ { -+ "type": "node", -+ "name": "_addBid(bid,codehash,asm,index)", -+ "source_mapping": { -+ "start": 6244, -+ "length": 41, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [181], -+ "starting_column": 9, -+ "ending_column": 50 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "placeBid", -+ "source_mapping": { -+ "start": 5925, -+ "length": 367, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 350, -+ "length": 9565, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, -+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, -+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, -+ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, -+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, -+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "placeBid(bytes32)" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls" } -+ }, -+ { -+ "type": "node", -+ "name": "ARB_WASM_CACHE.cacheCodehash(code)", -+ "source_mapping": { -+ "start": 8415, -+ "length": 34, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [242], -+ "starting_column": 9, -+ "ending_column": 43 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_addBid", -+ "source_mapping": { -+ "start": 8100, -+ "length": 600, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, -+ 244, 245, 246, 247, 248, 249, 250, 251 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 350, -+ "length": 9565, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, -+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, -+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, -+ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, -+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, -+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_addBid(uint192,bytes32,uint64,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls_sending_eth" } -+ }, -+ { -+ "type": "node", -+ "name": "_addBid(bid,codehash,asm,index)", -+ "source_mapping": { -+ "start": 6244, -+ "length": 41, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [181], -+ "starting_column": 9, -+ "ending_column": 50 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "placeBid", -+ "source_mapping": { -+ "start": 5925, -+ "length": 367, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 350, -+ "length": 9565, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, -+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, -+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, -+ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, -+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, -+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "placeBid(bytes32)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "entries" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "entries.push(entry)", -+ "source_mapping": { -+ "start": 8570, -+ "length": 19, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [246], -+ "starting_column": 13, -+ "ending_column": 32 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_addBid", -+ "source_mapping": { -+ "start": 8100, -+ "length": 600, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, -+ 244, 245, 246, 247, 248, 249, 250, 251 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 350, -+ "length": 9565, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, -+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, -+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, -+ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, -+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, -+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_addBid(uint192,bytes32,uint64,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "entries" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "entries[index] = entry", -+ "source_mapping": { -+ "start": 8620, -+ "length": 22, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [248], -+ "starting_column": 13, -+ "ending_column": 35 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_addBid", -+ "source_mapping": { -+ "start": 8100, -+ "length": 600, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, -+ 244, 245, 246, 247, 248, 249, 250, 251 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 350, -+ "length": 9565, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, -+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, -+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, -+ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, -+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, -+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_addBid(uint192,bytes32,uint64,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "entries" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "_addBid(bid,codehash,asm,index)", -+ "source_mapping": { -+ "start": 6244, -+ "length": 41, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [181], -+ "starting_column": 9, -+ "ending_column": 50 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "placeBid", -+ "source_mapping": { -+ "start": 5925, -+ "length": 367, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 350, -+ "length": 9565, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, -+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, -+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, -+ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, -+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, -+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "placeBid(bytes32)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "queueSize" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "queueSize += size", -+ "source_mapping": { -+ "start": 8500, -+ "length": 17, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [244], -+ "starting_column": 9, -+ "ending_column": 26 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_addBid", -+ "source_mapping": { -+ "start": 8100, -+ "length": 600, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, -+ 244, 245, 246, 247, 248, 249, 250, 251 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 350, -+ "length": 9565, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, -+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, -+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, -+ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, -+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, -+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_addBid(uint192,bytes32,uint64,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "queueSize" -+ } -+ } -+ ], -+ "description": "Reentrancy in CacheManager.placeBid(bytes32) (src/chain/CacheManager.sol#171-182):\n\tExternal calls:\n\t- (bid,index) = _makeSpace(asm) (src/chain/CacheManager.sol#180)\n\t\t- ARB_WASM_CACHE.evictCodehash(entry.code) (src/chain/CacheManager.sol#256)\n\t- _addBid(bid,codehash,asm,index) (src/chain/CacheManager.sol#181)\n\t\t- ARB_WASM_CACHE.cacheCodehash(code) (src/chain/CacheManager.sol#242)\n\tState variables written after the call(s):\n\t- _addBid(bid,codehash,asm,index) (src/chain/CacheManager.sol#181)\n\t\t- entries.push(entry) (src/chain/CacheManager.sol#246)\n\t\t- entries[index] = entry (src/chain/CacheManager.sol#248)\n\tCacheManager.entries (src/chain/CacheManager.sol#22) can be used in cross function reentrancies:\n\t- CacheManager._addBid(uint192,bytes32,uint64,uint64) (src/chain/CacheManager.sol#231-251)\n\t- CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#254-260)\n\t- CacheManager._makeSpace(uint64) (src/chain/CacheManager.sol#213-228)\n\t- CacheManager.entries (src/chain/CacheManager.sol#22)\n\t- CacheManager.evictAll() (src/chain/CacheManager.sol#87-90)\n\t- CacheManager.getEntries() (src/chain/CacheManager.sol#102-104)\n\t- CacheManager.getSmallestEntries(uint256) (src/chain/CacheManager.sol#108-118)\n\t- _addBid(bid,codehash,asm,index) (src/chain/CacheManager.sol#181)\n\t\t- queueSize += size (src/chain/CacheManager.sol#244)\n\tCacheManager.queueSize (src/chain/CacheManager.sol#25) can be used in cross function reentrancies:\n\t- CacheManager._addBid(uint192,bytes32,uint64,uint64) (src/chain/CacheManager.sol#231-251)\n\t- CacheManager._deleteEntry(uint192,uint64) (src/chain/CacheManager.sol#254-260)\n\t- CacheManager._makeSpace(uint64) (src/chain/CacheManager.sol#213-228)\n\t- CacheManager.getMinBid(uint64) (src/chain/CacheManager.sol#122-150)\n\t- CacheManager.makeSpace(uint64) (src/chain/CacheManager.sol#187-196)\n\t- CacheManager.queueSize (src/chain/CacheManager.sol#25)\n", -+ "markdown": "Reentrancy in [CacheManager.placeBid(bytes32)](src/chain/CacheManager.sol#L171-L182):\n\tExternal calls:\n\t- [(bid,index) = _makeSpace(asm)](src/chain/CacheManager.sol#L180)\n\t\t- [ARB_WASM_CACHE.evictCodehash(entry.code)](src/chain/CacheManager.sol#L256)\n\t- [_addBid(bid,codehash,asm,index)](src/chain/CacheManager.sol#L181)\n\t\t- [ARB_WASM_CACHE.cacheCodehash(code)](src/chain/CacheManager.sol#L242)\n\tState variables written after the call(s):\n\t- [_addBid(bid,codehash,asm,index)](src/chain/CacheManager.sol#L181)\n\t\t- [entries.push(entry)](src/chain/CacheManager.sol#L246)\n\t\t- [entries[index] = entry](src/chain/CacheManager.sol#L248)\n\t[CacheManager.entries](src/chain/CacheManager.sol#L22) can be used in cross function reentrancies:\n\t- [CacheManager._addBid(uint192,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L231-L251)\n\t- [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L254-L260)\n\t- [CacheManager._makeSpace(uint64)](src/chain/CacheManager.sol#L213-L228)\n\t- [CacheManager.entries](src/chain/CacheManager.sol#L22)\n\t- [CacheManager.evictAll()](src/chain/CacheManager.sol#L87-L90)\n\t- [CacheManager.getEntries()](src/chain/CacheManager.sol#L102-L104)\n\t- [CacheManager.getSmallestEntries(uint256)](src/chain/CacheManager.sol#L108-L118)\n\t- [_addBid(bid,codehash,asm,index)](src/chain/CacheManager.sol#L181)\n\t\t- [queueSize += size](src/chain/CacheManager.sol#L244)\n\t[CacheManager.queueSize](src/chain/CacheManager.sol#L25) can be used in cross function reentrancies:\n\t- [CacheManager._addBid(uint192,bytes32,uint64,uint64)](src/chain/CacheManager.sol#L231-L251)\n\t- [CacheManager._deleteEntry(uint192,uint64)](src/chain/CacheManager.sol#L254-L260)\n\t- [CacheManager._makeSpace(uint64)](src/chain/CacheManager.sol#L213-L228)\n\t- [CacheManager.getMinBid(uint64)](src/chain/CacheManager.sol#L122-L150)\n\t- [CacheManager.makeSpace(uint64)](src/chain/CacheManager.sol#L187-L196)\n\t- [CacheManager.queueSize](src/chain/CacheManager.sol#L25)\n", -+ "first_markdown_element": "src/chain/CacheManager.sol#L171-L182", -+ "id": "1e0701041bd439420af2077b392bf8fa2ccd25ae29d0d785daec5e92d76ecbb8", -+ "check": "reentrancy-no-eth", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "internalStack", -+ "source_mapping": { -+ "start": 1753, -+ "length": 31, -+ "filename_relative": "src/osp/OneStepProofEntry.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProofEntry.sol", -+ "filename_short": "src/osp/OneStepProofEntry.sol", -+ "is_dependency": false, -+ "lines": [52], -+ "starting_column": 9, -+ "ending_column": 40 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "getStartMachineHash", -+ "source_mapping": { -+ "start": 1158, -+ "length": 1300, -+ "filename_relative": "src/osp/OneStepProofEntry.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProofEntry.sol", -+ "filename_short": "src/osp/OneStepProofEntry.sol", -+ "is_dependency": false, -+ "lines": [ -+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, -+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProofEntry", -+ "source_mapping": { -+ "start": 407, -+ "length": 7601, -+ "filename_relative": "src/osp/OneStepProofEntry.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProofEntry.sol", -+ "filename_short": "src/osp/OneStepProofEntry.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "getStartMachineHash(bytes32,bytes32)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProofEntry.getStartMachineHash(bytes32,bytes32).internalStack (src/osp/OneStepProofEntry.sol#52) is a local variable never initialized\n", -+ "markdown": "[OneStepProofEntry.getStartMachineHash(bytes32,bytes32).internalStack](src/osp/OneStepProofEntry.sol#L52) is a local variable never initialized\n", -+ "first_markdown_element": "src/osp/OneStepProofEntry.sol#L52", -+ "id": "fb3b9ad9a22662ab3a9d3f187478b9833041da23c79103d4346a16da071526e9", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "frameStack", -+ "source_mapping": { -+ "start": 1794, -+ "length": 34, -+ "filename_relative": "src/osp/OneStepProofEntry.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProofEntry.sol", -+ "filename_short": "src/osp/OneStepProofEntry.sol", -+ "is_dependency": false, -+ "lines": [53], -+ "starting_column": 9, -+ "ending_column": 43 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "getStartMachineHash", -+ "source_mapping": { -+ "start": 1158, -+ "length": 1300, -+ "filename_relative": "src/osp/OneStepProofEntry.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProofEntry.sol", -+ "filename_short": "src/osp/OneStepProofEntry.sol", -+ "is_dependency": false, -+ "lines": [ -+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, -+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProofEntry", -+ "source_mapping": { -+ "start": 407, -+ "length": 7601, -+ "filename_relative": "src/osp/OneStepProofEntry.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProofEntry.sol", -+ "filename_short": "src/osp/OneStepProofEntry.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "getStartMachineHash(bytes32,bytes32)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProofEntry.getStartMachineHash(bytes32,bytes32).frameStack (src/osp/OneStepProofEntry.sol#53) is a local variable never initialized\n", -+ "markdown": "[OneStepProofEntry.getStartMachineHash(bytes32,bytes32).frameStack](src/osp/OneStepProofEntry.sol#L53) is a local variable never initialized\n", -+ "first_markdown_element": "src/osp/OneStepProofEntry.sol#L53", -+ "id": "2dd21e12ec5d5965b5bd41d82bb252991172e100ac1f78846fb692a07fd06c26", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "lastProvedLeafContents", -+ "source_mapping": { -+ "start": 2178, -+ "length": 30, -+ "filename_relative": "src/state/ModuleMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/state/ModuleMemory.sol", -+ "filename_short": "src/state/ModuleMemory.sol", -+ "is_dependency": false, -+ "lines": [73], -+ "starting_column": 9, -+ "ending_column": 39 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "load", -+ "source_mapping": { -+ "start": 1729, -+ "length": 1164, -+ "filename_relative": "src/state/ModuleMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/state/ModuleMemory.sol", -+ "filename_short": "src/state/ModuleMemory.sol", -+ "is_dependency": false, -+ "lines": [ -+ 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, -+ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -+ 85, 86, 87, 88, 89, 90, 91 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "ModuleMemoryLib", -+ "source_mapping": { -+ "start": 298, -+ "length": 2597, -+ "filename_relative": "src/state/ModuleMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/state/ModuleMemory.sol", -+ "filename_short": "src/state/ModuleMemory.sol", -+ "is_dependency": false, -+ "lines": [ -+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, -+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, -+ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -+ 86, 87, 88, 89, 90, 91, 92 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "load(ModuleMemory,uint256,uint256,bytes,uint256)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "ModuleMemoryLib.load(ModuleMemory,uint256,uint256,bytes,uint256).lastProvedLeafContents (src/state/ModuleMemory.sol#73) is a local variable never initialized\n", -+ "markdown": "[ModuleMemoryLib.load(ModuleMemory,uint256,uint256,bytes,uint256).lastProvedLeafContents](src/state/ModuleMemory.sol#L73) is a local variable never initialized\n", -+ "first_markdown_element": "src/state/ModuleMemory.sol#L73", -+ "id": "ddf8f7daccaffa622915e6d24c5497c3801c89f4969af443509e576747d091fe", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "emptyMultiStack", -+ "source_mapping": { -+ "start": 1838, -+ "length": 33, -+ "filename_relative": "src/osp/OneStepProofEntry.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProofEntry.sol", -+ "filename_short": "src/osp/OneStepProofEntry.sol", -+ "is_dependency": false, -+ "lines": [54], -+ "starting_column": 9, -+ "ending_column": 42 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "getStartMachineHash", -+ "source_mapping": { -+ "start": 1158, -+ "length": 1300, -+ "filename_relative": "src/osp/OneStepProofEntry.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProofEntry.sol", -+ "filename_short": "src/osp/OneStepProofEntry.sol", -+ "is_dependency": false, -+ "lines": [ -+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, -+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProofEntry", -+ "source_mapping": { -+ "start": 407, -+ "length": 7601, -+ "filename_relative": "src/osp/OneStepProofEntry.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProofEntry.sol", -+ "filename_short": "src/osp/OneStepProofEntry.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "getStartMachineHash(bytes32,bytes32)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProofEntry.getStartMachineHash(bytes32,bytes32).emptyMultiStack (src/osp/OneStepProofEntry.sol#54) is a local variable never initialized\n", -+ "markdown": "[OneStepProofEntry.getStartMachineHash(bytes32,bytes32).emptyMultiStack](src/osp/OneStepProofEntry.sol#L54) is a local variable never initialized\n", -+ "first_markdown_element": "src/osp/OneStepProofEntry.sol#L54", -+ "id": "5c6acbea6429303780ccb1049265a5d97162a57ddda1d6d332f3201bff526332", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "min", -+ "source_mapping": { -+ "start": 7701, -+ "length": 11, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [218], -+ "starting_column": 9, -+ "ending_column": 20 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_makeSpace", -+ "source_mapping": { -+ "start": 7478, -+ "length": 592, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "CacheManager", -+ "source_mapping": { -+ "start": 350, -+ "length": 9565, -+ "filename_relative": "src/chain/CacheManager.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/chain/CacheManager.sol", -+ "filename_short": "src/chain/CacheManager.sol", -+ "is_dependency": false, -+ "lines": [ -+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, -+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, -+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, -+ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, -+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, -+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_makeSpace(uint64)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "CacheManager._makeSpace(uint64).min (src/chain/CacheManager.sol#218) is a local variable never initialized\n", -+ "markdown": "[CacheManager._makeSpace(uint64).min](src/chain/CacheManager.sol#L218) is a local variable never initialized\n", -+ "first_markdown_element": "src/chain/CacheManager.sol#L218", -+ "id": "73850e9ef891d5f054eb989dce18e9362ba7349b4f2237be464bcaeab7c4fe54", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "proveOneStep", -+ "source_mapping": { -+ "start": 3092, -+ "length": 4914, -+ "filename_relative": "src/osp/OneStepProofEntry.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProofEntry.sol", -+ "filename_short": "src/osp/OneStepProofEntry.sol", -+ "is_dependency": false, -+ "lines": [ -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, -+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, -+ 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, -+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, -+ 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, -+ 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, -+ 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, -+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProofEntry", -+ "source_mapping": { -+ "start": 407, -+ "length": 7601, -+ "filename_relative": "src/osp/OneStepProofEntry.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProofEntry.sol", -+ "filename_short": "src/osp/OneStepProofEntry.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, -+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, -+ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, -+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -+ 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, -+ 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, -+ 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "proveOneStep(ExecutionContext,uint256,bytes32,bytes)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "mach.setPcFromRecovery()", -+ "source_mapping": { -+ "start": 7887, -+ "length": 24, -+ "filename_relative": "src/osp/OneStepProofEntry.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProofEntry.sol", -+ "filename_short": "src/osp/OneStepProofEntry.sol", -+ "is_dependency": false, -+ "lines": [197], -+ "starting_column": 13, -+ "ending_column": 37 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "proveOneStep", -+ "source_mapping": { -+ "start": 3092, -+ "length": 4914, -+ "filename_relative": "src/osp/OneStepProofEntry.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProofEntry.sol", -+ "filename_short": "src/osp/OneStepProofEntry.sol", -+ "is_dependency": false, -+ "lines": [ -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, -+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, -+ 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, -+ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, -+ 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, -+ 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, -+ 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, -+ 196, 197, 198, 199, 200, 201, 202 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProofEntry", -+ "source_mapping": { -+ "start": 407, -+ "length": 7601, -+ "filename_relative": "src/osp/OneStepProofEntry.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProofEntry.sol", -+ "filename_short": "src/osp/OneStepProofEntry.sol", -+ "is_dependency": false, -+ "lines": [ -+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "proveOneStep(ExecutionContext,uint256,bytes32,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProofEntry.proveOneStep(ExecutionContext,uint256,bytes32,bytes) (src/osp/OneStepProofEntry.sol#91-202) ignores return value by mach.setPcFromRecovery() (src/osp/OneStepProofEntry.sol#197)\n", -+ "markdown": "[OneStepProofEntry.proveOneStep(ExecutionContext,uint256,bytes32,bytes)](src/osp/OneStepProofEntry.sol#L91-L202) ignores return value by [mach.setPcFromRecovery()](src/osp/OneStepProofEntry.sol#L197)\n", -+ "first_markdown_element": "src/osp/OneStepProofEntry.sol#L91-L202", -+ "id": "1e2dda001e02cbbabef97b698cc66ccc8052b4444a6785554ba4d649b6511550", -+ "check": "unused-return", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "executeDrop", -+ "source_mapping": { -+ "start": 1726, -+ "length": 185, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [61, 62, 63, 64, 65, 66, 67, 68], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProver0", -+ "source_mapping": { -+ "start": 362, -+ "length": 18300, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, -+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, -+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, -+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, -+ 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, -+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, -+ 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, -+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, -+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, -+ 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, -+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, -+ 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, -+ 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, -+ 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -+ 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, -+ 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -+ 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, -+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, -+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -+ 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, -+ 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -+ 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, -+ 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, -+ 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, -+ 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -+ 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, -+ 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, -+ 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, -+ 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, -+ 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, -+ 536, 537, 538 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeDrop(Machine,Module,Instruction,bytes)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "mach.valueStack.pop()", -+ "source_mapping": { -+ "start": 1883, -+ "length": 21, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [67], -+ "starting_column": 9, -+ "ending_column": 30 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeDrop", -+ "source_mapping": { -+ "start": 1726, -+ "length": 185, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [61, 62, 63, 64, 65, 66, 67, 68], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProver0", -+ "source_mapping": { -+ "start": 362, -+ "length": 18300, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, -+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, -+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, -+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, -+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -+ 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, -+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, -+ 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -+ 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, -+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -+ 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, -+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, -+ 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, -+ 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, -+ 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, -+ 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, -+ 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, -+ 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, -+ 534, 535, 536, 537, 538 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeDrop(Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProver0.executeDrop(Machine,Module,Instruction,bytes) (src/osp/OneStepProver0.sol#61-68) ignores return value by mach.valueStack.pop() (src/osp/OneStepProver0.sol#67)\n", -+ "markdown": "[OneStepProver0.executeDrop(Machine,Module,Instruction,bytes)](src/osp/OneStepProver0.sol#L61-L68) ignores return value by [mach.valueStack.pop()](src/osp/OneStepProver0.sol#L67)\n", -+ "first_markdown_element": "src/osp/OneStepProver0.sol#L61-L68", -+ "id": "eba4f716555f696a91fc8ad9e049846421a7a6ad85a83865fb641cf1b9b27c54", -+ "check": "unused-return", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "validateSequencerInbox", -+ "source_mapping": { -+ "start": 10247, -+ "length": 884, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverHostIo", -+ "source_mapping": { -+ "start": 502, -+ "length": 23583, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, -+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, -+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, -+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, -+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, -+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, -+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, -+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, -+ 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, -+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, -+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, -+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, -+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, -+ 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -+ 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, -+ 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, -+ 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, -+ 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, -+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, -+ 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -+ 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, -+ 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, -+ 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, -+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, -+ 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, -+ 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, -+ 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, -+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, -+ 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, -+ 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, -+ 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, -+ 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, -+ 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, -+ 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, -+ 643, 644, 645, 646, 647, 648, 649 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "validateSequencerInbox(ExecutionContext,uint64,bytes)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "(afterDelayedMsg,None) = Deserialize.u64(message,32)", -+ "source_mapping": { -+ "start": 10532, -+ "length": 50, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [260], -+ "starting_column": 9, -+ "ending_column": 59 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "validateSequencerInbox", -+ "source_mapping": { -+ "start": 10247, -+ "length": 884, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverHostIo", -+ "source_mapping": { -+ "start": 502, -+ "length": 23583, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, -+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, -+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, -+ 645, 646, 647, 648, 649 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "validateSequencerInbox(ExecutionContext,uint64,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProverHostIo.validateSequencerInbox(ExecutionContext,uint64,bytes) (src/osp/OneStepProverHostIo.sol#252-274) ignores return value by (afterDelayedMsg,None) = Deserialize.u64(message,32) (src/osp/OneStepProverHostIo.sol#260)\n", -+ "markdown": "[OneStepProverHostIo.validateSequencerInbox(ExecutionContext,uint64,bytes)](src/osp/OneStepProverHostIo.sol#L252-L274) ignores return value by [(afterDelayedMsg,None) = Deserialize.u64(message,32)](src/osp/OneStepProverHostIo.sol#L260)\n", -+ "first_markdown_element": "src/osp/OneStepProverHostIo.sol#L252-L274", -+ "id": "7a935ab3d3995d6dce7a8ceebf4df0c402dd5ffa259ff05c1b75422e65f9a5ed", -+ "check": "unused-return", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "validateDelayedInbox", -+ "source_mapping": { -+ "start": 11137, -+ "length": 916, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, -+ 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverHostIo", -+ "source_mapping": { -+ "start": 502, -+ "length": 23583, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, -+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, -+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, -+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, -+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, -+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, -+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, -+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, -+ 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, -+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, -+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, -+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, -+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, -+ 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -+ 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, -+ 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, -+ 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, -+ 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, -+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, -+ 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -+ 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, -+ 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, -+ 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, -+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, -+ 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, -+ 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, -+ 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, -+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, -+ 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, -+ 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, -+ 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, -+ 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, -+ 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, -+ 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, -+ 643, 644, 645, 646, 647, 648, 649 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "validateDelayedInbox(ExecutionContext,uint64,bytes)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "(sender,None) = Deserialize.u256(message,1)", -+ "source_mapping": { -+ "start": 11660, -+ "length": 41, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [292], -+ "starting_column": 9, -+ "ending_column": 50 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "validateDelayedInbox", -+ "source_mapping": { -+ "start": 11137, -+ "length": 916, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, -+ 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverHostIo", -+ "source_mapping": { -+ "start": 502, -+ "length": 23583, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, -+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, -+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, -+ 645, 646, 647, 648, 649 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "validateDelayedInbox(ExecutionContext,uint64,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProverHostIo.validateDelayedInbox(ExecutionContext,uint64,bytes) (src/osp/OneStepProverHostIo.sol#276-301) ignores return value by (sender,None) = Deserialize.u256(message,1) (src/osp/OneStepProverHostIo.sol#292)\n", -+ "markdown": "[OneStepProverHostIo.validateDelayedInbox(ExecutionContext,uint64,bytes)](src/osp/OneStepProverHostIo.sol#L276-L301) ignores return value by [(sender,None) = Deserialize.u256(message,1)](src/osp/OneStepProverHostIo.sol#L292)\n", -+ "first_markdown_element": "src/osp/OneStepProverHostIo.sol#L276-L301", -+ "id": "81ff5b93f212262122b563d7d9aa8ed5b61e0fe74edfe59c06accd2ae77a46ca", -+ "check": "unused-return", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "executeLinkModule", -+ "source_mapping": { -+ "start": 16420, -+ "length": 1090, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, -+ 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, -+ 459, 460, 461, 462, 463, 464 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverHostIo", -+ "source_mapping": { -+ "start": 502, -+ "length": 23583, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, -+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, -+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, -+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, -+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, -+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, -+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, -+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, -+ 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, -+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, -+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, -+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, -+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, -+ 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -+ 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, -+ 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, -+ 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, -+ 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, -+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, -+ 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -+ 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, -+ 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, -+ 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, -+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, -+ 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, -+ 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, -+ 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, -+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, -+ 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, -+ 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, -+ 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, -+ 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, -+ 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, -+ 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, -+ 643, 644, 645, 646, 647, 648, 649 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeLinkModule(ExecutionContext,Machine,Module,Instruction,bytes)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "(userMod,offset) = mod.moduleMemory.proveLeaf(pointer / LEAF_SIZE,proof,0)", -+ "source_mapping": { -+ "start": 16918, -+ "length": 141, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [448, 449, 450, 451, 452], -+ "starting_column": 9, -+ "ending_column": 10 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeLinkModule", -+ "source_mapping": { -+ "start": 16420, -+ "length": 1090, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, -+ 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, -+ 459, 460, 461, 462, 463, 464 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverHostIo", -+ "source_mapping": { -+ "start": 502, -+ "length": 23583, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, -+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, -+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, -+ 645, 646, 647, 648, 649 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeLinkModule(ExecutionContext,Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProverHostIo.executeLinkModule(ExecutionContext,Machine,Module,Instruction,bytes) (src/osp/OneStepProverHostIo.sol#433-464) ignores return value by (userMod,offset) = mod.moduleMemory.proveLeaf(pointer / LEAF_SIZE,proof,0) (src/osp/OneStepProverHostIo.sol#448-452)\n", -+ "markdown": "[OneStepProverHostIo.executeLinkModule(ExecutionContext,Machine,Module,Instruction,bytes)](src/osp/OneStepProverHostIo.sol#L433-L464) ignores return value by [(userMod,offset) = mod.moduleMemory.proveLeaf(pointer / LEAF_SIZE,proof,0)](src/osp/OneStepProverHostIo.sol#L448-L452)\n", -+ "first_markdown_element": "src/osp/OneStepProverHostIo.sol#L433-L464", -+ "id": "ca4b4a9a8f6f270a10c0e390a10831708cbcfc0bfa398fc3f21331bfbd5fc479", -+ "check": "unused-return", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "executeSwitchCoThread", -+ "source_mapping": { -+ "start": 21302, -+ "length": 1074, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, -+ 598, 599, 600 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverHostIo", -+ "source_mapping": { -+ "start": 502, -+ "length": 23583, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, -+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, -+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, -+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, -+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, -+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, -+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, -+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, -+ 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, -+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, -+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, -+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, -+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, -+ 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -+ 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, -+ 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, -+ 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, -+ 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, -+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, -+ 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -+ 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, -+ 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, -+ 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, -+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, -+ 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, -+ 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, -+ 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, -+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, -+ 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, -+ 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, -+ 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, -+ 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, -+ 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, -+ 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, -+ 643, 644, 645, 646, 647, 648, 649 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeSwitchCoThread(ExecutionContext,Machine,Module,Instruction,bytes)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "mach.setRecoveryFromPc(uint32(inst.argumentData))", -+ "source_mapping": { -+ "start": 22273, -+ "length": 49, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [597], -+ "starting_column": 13, -+ "ending_column": 62 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeSwitchCoThread", -+ "source_mapping": { -+ "start": 21302, -+ "length": 1074, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, -+ 598, 599, 600 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverHostIo", -+ "source_mapping": { -+ "start": 502, -+ "length": 23583, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, -+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, -+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, -+ 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, -+ 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, -+ 645, 646, 647, 648, 649 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeSwitchCoThread(ExecutionContext,Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProverHostIo.executeSwitchCoThread(ExecutionContext,Machine,Module,Instruction,bytes) (src/osp/OneStepProverHostIo.sol#572-600) ignores return value by mach.setRecoveryFromPc(uint32(inst.argumentData)) (src/osp/OneStepProverHostIo.sol#597)\n", -+ "markdown": "[OneStepProverHostIo.executeSwitchCoThread(ExecutionContext,Machine,Module,Instruction,bytes)](src/osp/OneStepProverHostIo.sol#L572-L600) ignores return value by [mach.setRecoveryFromPc(uint32(inst.argumentData))](src/osp/OneStepProverHostIo.sol#L597)\n", -+ "first_markdown_element": "src/osp/OneStepProverHostIo.sol#L572-L600", -+ "id": "ac3b6c8d13d7ed575d28aeae91d5e7c25757469f13c56cd8ec10843535deca31", -+ "check": "unused-return", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "executeMemoryLoad", -+ "source_mapping": { -+ "start": 1168, -+ "length": 3662, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [ -+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, -+ 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, -+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, -+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, -+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverMemory", -+ "source_mapping": { -+ "start": 368, -+ "length": 10198, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, -+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, -+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, -+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, -+ 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, -+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, -+ 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, -+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, -+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, -+ 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, -+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, -+ 276, 277, 278, 279, 280, 281, 282, 283, 284 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeMemoryLoad(Machine,Module,Instruction,bytes)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "(err,value) = mod.moduleMemory.load(index,readBytes,proof,0)", -+ "source_mapping": { -+ "start": 3641, -+ "length": 79, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [106], -+ "starting_column": 9, -+ "ending_column": 88 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeMemoryLoad", -+ "source_mapping": { -+ "start": 1168, -+ "length": 3662, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [ -+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, -+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, -+ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, -+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverMemory", -+ "source_mapping": { -+ "start": 368, -+ "length": 10198, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, -+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, -+ 282, 283, 284 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeMemoryLoad(Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProverMemory.executeMemoryLoad(Machine,Module,Instruction,bytes) (src/osp/OneStepProverMemory.sol#36-131) ignores return value by (err,value) = mod.moduleMemory.load(index,readBytes,proof,0) (src/osp/OneStepProverMemory.sol#106)\n", -+ "markdown": "[OneStepProverMemory.executeMemoryLoad(Machine,Module,Instruction,bytes)](src/osp/OneStepProverMemory.sol#L36-L131) ignores return value by [(err,value) = mod.moduleMemory.load(index,readBytes,proof,0)](src/osp/OneStepProverMemory.sol#L106)\n", -+ "first_markdown_element": "src/osp/OneStepProverMemory.sol#L36-L131", -+ "id": "df6a63edce47eb17310486af71173d172b59ec0187bd5f84df01a3e0bbd022c2", -+ "check": "unused-return", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "offset", -+ "source_mapping": { -+ "start": 7752, -+ "length": 18, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [241], -+ "starting_column": 13, -+ "ending_column": 31 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeCallIndirect", -+ "source_mapping": { -+ "start": 7332, -+ "length": 3565, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [ -+ 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, -+ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, -+ 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -+ 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, -+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, -+ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -+ 306, 307, 308, 309, 310, 311, 312, 313, 314 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProver0", -+ "source_mapping": { -+ "start": 362, -+ "length": 18300, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, -+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, -+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, -+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, -+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -+ 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, -+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, -+ 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -+ 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, -+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -+ 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, -+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, -+ 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, -+ 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, -+ 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, -+ 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, -+ 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, -+ 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, -+ 534, 535, 536, 537, 538 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeCallIndirect(Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ }, -+ { -+ "type": "node", -+ "name": "(elemFuncTypeHash,offset) = Deserialize.b32(proof,offset)", -+ "source_mapping": { -+ "start": 9359, -+ "length": 59, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [277], -+ "starting_column": 13, -+ "ending_column": 72 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeCallIndirect", -+ "source_mapping": { -+ "start": 7332, -+ "length": 3565, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [ -+ 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, -+ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, -+ 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -+ 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, -+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, -+ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -+ 306, 307, 308, 309, 310, 311, 312, 313, 314 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProver0", -+ "source_mapping": { -+ "start": 362, -+ "length": 18300, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, -+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, -+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, -+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, -+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -+ 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, -+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, -+ 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -+ 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, -+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -+ 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, -+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, -+ 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, -+ 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, -+ 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, -+ 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, -+ 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, -+ 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, -+ 534, 535, 536, 537, 538 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeCallIndirect(Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ }, -+ { -+ "type": "node", -+ "name": "(functionPointer,offset) = Deserialize.value(proof,offset)", -+ "source_mapping": { -+ "start": 9432, -+ "length": 60, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [278], -+ "starting_column": 13, -+ "ending_column": 73 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeCallIndirect", -+ "source_mapping": { -+ "start": 7332, -+ "length": 3565, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [ -+ 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, -+ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, -+ 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -+ 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, -+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, -+ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -+ 306, 307, 308, 309, 310, 311, 312, 313, 314 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProver0", -+ "source_mapping": { -+ "start": 362, -+ "length": 18300, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, -+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, -+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, -+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, -+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -+ 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, -+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, -+ 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -+ 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, -+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -+ 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, -+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, -+ 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, -+ 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, -+ 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, -+ 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, -+ 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, -+ 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, -+ 534, 535, 536, 537, 538 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeCallIndirect(Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProver0.executeCallIndirect(Machine,Module,Instruction,bytes).offset (src/osp/OneStepProver0.sol#241) is written in both\n\t(elemFuncTypeHash,offset) = Deserialize.b32(proof,offset) (src/osp/OneStepProver0.sol#277)\n\t(functionPointer,offset) = Deserialize.value(proof,offset) (src/osp/OneStepProver0.sol#278)\n", -+ "markdown": "[OneStepProver0.executeCallIndirect(Machine,Module,Instruction,bytes).offset](src/osp/OneStepProver0.sol#L241) is written in both\n\t[(elemFuncTypeHash,offset) = Deserialize.b32(proof,offset)](src/osp/OneStepProver0.sol#L277)\n\t[(functionPointer,offset) = Deserialize.value(proof,offset)](src/osp/OneStepProver0.sol#L278)\n", -+ "first_markdown_element": "src/osp/OneStepProver0.sol#L241", -+ "id": "d6a42f778bdb10ec1cc4e3ae5bd1d2a66edf8c14085e20de930344608bd29bd2", -+ "check": "write-after-write", -+ "impact": "Medium", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "refundsGas", -+ "source_mapping": { -+ "start": 721, -+ "length": 2143, -+ "filename_relative": "src/libraries/GasRefundEnabled.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/GasRefundEnabled.sol", -+ "filename_short": "src/libraries/GasRefundEnabled.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -+ 51 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "GasRefundEnabled", -+ "source_mapping": { -+ "start": 309, -+ "length": 2557, -+ "filename_relative": "src/libraries/GasRefundEnabled.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/GasRefundEnabled.sol", -+ "filename_short": "src/libraries/GasRefundEnabled.sol", -+ "is_dependency": false, -+ "lines": [ -+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, -+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "refundsGas(IGasRefunder,IReader4844)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "calldataWords = (calldataSize + 31) / 32", -+ "source_mapping": { -+ "start": 960, -+ "length": 48, -+ "filename_relative": "src/libraries/GasRefundEnabled.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/GasRefundEnabled.sol", -+ "filename_short": "src/libraries/GasRefundEnabled.sol", -+ "is_dependency": false, -+ "lines": [22], -+ "starting_column": 13, -+ "ending_column": 61 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "refundsGas", -+ "source_mapping": { -+ "start": 721, -+ "length": 2143, -+ "filename_relative": "src/libraries/GasRefundEnabled.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/GasRefundEnabled.sol", -+ "filename_short": "src/libraries/GasRefundEnabled.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, -+ 49, 50, 51 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "GasRefundEnabled", -+ "source_mapping": { -+ "start": 309, -+ "length": 2557, -+ "filename_relative": "src/libraries/GasRefundEnabled.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/GasRefundEnabled.sol", -+ "filename_short": "src/libraries/GasRefundEnabled.sol", -+ "is_dependency": false, -+ "lines": [ -+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "refundsGas(IGasRefunder,IReader4844)" -+ } -+ } -+ } -+ }, -+ { -+ "type": "node", -+ "name": "startGasLeft += calldataWords * 6 + (calldataWords ** 2) / 512", -+ "source_mapping": { -+ "start": 1130, -+ "length": 60, -+ "filename_relative": "src/libraries/GasRefundEnabled.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/GasRefundEnabled.sol", -+ "filename_short": "src/libraries/GasRefundEnabled.sol", -+ "is_dependency": false, -+ "lines": [24], -+ "starting_column": 13, -+ "ending_column": 73 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "refundsGas", -+ "source_mapping": { -+ "start": 721, -+ "length": 2143, -+ "filename_relative": "src/libraries/GasRefundEnabled.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/GasRefundEnabled.sol", -+ "filename_short": "src/libraries/GasRefundEnabled.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, -+ 49, 50, 51 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "GasRefundEnabled", -+ "source_mapping": { -+ "start": 309, -+ "length": 2557, -+ "filename_relative": "src/libraries/GasRefundEnabled.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/GasRefundEnabled.sol", -+ "filename_short": "src/libraries/GasRefundEnabled.sol", -+ "is_dependency": false, -+ "lines": [ -+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "refundsGas(IGasRefunder,IReader4844)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "GasRefundEnabled.refundsGas(IGasRefunder,IReader4844) (src/libraries/GasRefundEnabled.sol#17-51) performs a multiplication on the result of a division:\n\t- calldataWords = (calldataSize + 31) / 32 (src/libraries/GasRefundEnabled.sol#22)\n\t- startGasLeft += calldataWords * 6 + (calldataWords ** 2) / 512 (src/libraries/GasRefundEnabled.sol#24)\n", -+ "markdown": "[GasRefundEnabled.refundsGas(IGasRefunder,IReader4844)](src/libraries/GasRefundEnabled.sol#L17-L51) performs a multiplication on the result of a division:\n\t- [calldataWords = (calldataSize + 31) / 32](src/libraries/GasRefundEnabled.sol#L22)\n\t- [startGasLeft += calldataWords * 6 + (calldataWords ** 2) / 512](src/libraries/GasRefundEnabled.sol#L24)\n", -+ "first_markdown_element": "src/libraries/GasRefundEnabled.sol#L17-L51", -+ "id": "bb26256ad08f6833c6e0395d78c4b8a1182860d966d17803ac727cde7719e8b6", -+ "check": "divide-before-multiply", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "node", -+ "name": "_fundAndDeploy(_inbox,NICK_CREATE2_VALUE,NICK_CREATE2_DEPLOYER,NICK_CREATE2_PAYLOAD,isUsingFeeToken,_maxFeePerGas)", -+ "source_mapping": { -+ "start": 10207, -+ "length": 201, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [96, 97, 98, 99, 100, 101, 102, 103], -+ "starting_column": 9, -+ "ending_column": 10 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "perform", -+ "source_mapping": { -+ "start": 10012, -+ "length": 1157, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "DeployHelper", -+ "source_mapping": { -+ "start": 513, -+ "length": 11093, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "perform(address,address,uint256)" -+ } -+ } -+ } -+ }, -+ { -+ "type": "node", -+ "name": "_fundAndDeploy(_inbox,NICK_CREATE2_VALUE,NICK_CREATE2_DEPLOYER,NICK_CREATE2_PAYLOAD,isUsingFeeToken,_maxFeePerGas)", -+ "source_mapping": { -+ "start": 10207, -+ "length": 201, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [96, 97, 98, 99, 100, 101, 102, 103], -+ "starting_column": 9, -+ "ending_column": 10 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "perform", -+ "source_mapping": { -+ "start": 10012, -+ "length": 1157, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "DeployHelper", -+ "source_mapping": { -+ "start": 513, -+ "length": 11093, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "perform(address,address,uint256)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "Multiple retryable tickets created in the same function:\n\t -_fundAndDeploy(_inbox,NICK_CREATE2_VALUE,NICK_CREATE2_DEPLOYER,NICK_CREATE2_PAYLOAD,isUsingFeeToken,_maxFeePerGas) (src/rollup/DeployHelper.sol#96-103)\n\t -_fundAndDeploy(_inbox,NICK_CREATE2_VALUE,NICK_CREATE2_DEPLOYER,NICK_CREATE2_PAYLOAD,isUsingFeeToken,_maxFeePerGas) (src/rollup/DeployHelper.sol#96-103)\n", -+ "markdown": "Multiple retryable tickets created in the same function:\n\t -[_fundAndDeploy(_inbox,NICK_CREATE2_VALUE,NICK_CREATE2_DEPLOYER,NICK_CREATE2_PAYLOAD,isUsingFeeToken,_maxFeePerGas)](src/rollup/DeployHelper.sol#L96-L103)\n\t -[_fundAndDeploy(_inbox,NICK_CREATE2_VALUE,NICK_CREATE2_DEPLOYER,NICK_CREATE2_PAYLOAD,isUsingFeeToken,_maxFeePerGas)](src/rollup/DeployHelper.sol#L96-L103)\n", -+ "first_markdown_element": "src/rollup/DeployHelper.sol#L96-L103", -+ "id": "5d40acc11dbb925c7e8ac930729d7231aea71007192a71ca36b451cad7a17520", -+ "check": "out-of-order-retryable", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "_executeLowLevelCall", -+ "source_mapping": { -+ "start": 1379, -+ "length": 299, -+ "filename_relative": "src/bridge/Bridge.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/Bridge.sol", -+ "filename_short": "src/bridge/Bridge.sol", -+ "is_dependency": false, -+ "lines": [42, 43, 44, 45, 46, 47, 48, 49], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "Bridge", -+ "source_mapping": { -+ "start": 702, -+ "length": 1090, -+ "filename_relative": "src/bridge/Bridge.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/Bridge.sol", -+ "filename_short": "src/bridge/Bridge.sol", -+ "is_dependency": false, -+ "lines": [ -+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -+ 52, 53, 54 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_executeLowLevelCall(address,uint256,bytes)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "(success,returnData) = to.call{value: value}(data)", -+ "source_mapping": { -+ "start": 1620, -+ "length": 51, -+ "filename_relative": "src/bridge/Bridge.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/Bridge.sol", -+ "filename_short": "src/bridge/Bridge.sol", -+ "is_dependency": false, -+ "lines": [48], -+ "starting_column": 9, -+ "ending_column": 60 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_executeLowLevelCall", -+ "source_mapping": { -+ "start": 1379, -+ "length": 299, -+ "filename_relative": "src/bridge/Bridge.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/Bridge.sol", -+ "filename_short": "src/bridge/Bridge.sol", -+ "is_dependency": false, -+ "lines": [42, 43, 44, 45, 46, 47, 48, 49], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "Bridge", -+ "source_mapping": { -+ "start": 702, -+ "length": 1090, -+ "filename_relative": "src/bridge/Bridge.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/Bridge.sol", -+ "filename_short": "src/bridge/Bridge.sol", -+ "is_dependency": false, -+ "lines": [ -+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, -+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, -+ 50, 51, 52, 53, 54 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_executeLowLevelCall(address,uint256,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "Bridge._executeLowLevelCall(address,uint256,bytes) (src/bridge/Bridge.sol#42-49) sends eth to arbitrary user\n\tDangerous calls:\n\t- (success,returnData) = to.call{value: value}(data) (src/bridge/Bridge.sol#48)\n", -+ "markdown": "[Bridge._executeLowLevelCall(address,uint256,bytes)](src/bridge/Bridge.sol#L42-L49) sends eth to arbitrary user\n\tDangerous calls:\n\t- [(success,returnData) = to.call{value: value}(data)](src/bridge/Bridge.sol#L48)\n", -+ "first_markdown_element": "src/bridge/Bridge.sol#L42-L49", -+ "id": "52aa149e251bcbda3478032a3845253462c6d80e50cde35746a072dd6dd226a6", -+ "check": "arbitrary-send-eth", -+ "impact": "High", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "_fundAndDeploy", -+ "source_mapping": { -+ "start": 8513, -+ "length": 1493, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "DeployHelper", -+ "source_mapping": { -+ "start": 513, -+ "length": 11093, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, -+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, -+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, -+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, -+ 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, -+ 146, 147, 148, 149 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_fundAndDeploy(address,uint256,address,bytes,bool,uint256)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "IInbox(inbox).createRetryableTicket{value: feeAmount}({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,data:})", -+ "source_mapping": { -+ "start": 9483, -+ "length": 399, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [74, 75, 76, 77, 78, 79, 80, 81, 82, 83], -+ "starting_column": 13, -+ "ending_column": 15 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_fundAndDeploy", -+ "source_mapping": { -+ "start": 8513, -+ "length": 1493, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "DeployHelper", -+ "source_mapping": { -+ "start": 513, -+ "length": 11093, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_fundAndDeploy(address,uint256,address,bytes,bool,uint256)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "DeployHelper._fundAndDeploy(address,uint256,address,bytes,bool,uint256) (src/rollup/DeployHelper.sol#46-87) sends eth to arbitrary user\n\tDangerous calls:\n\t- IInbox(inbox).createRetryableTicket{value: feeAmount}({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,data:}) (src/rollup/DeployHelper.sol#74-83)\n", -+ "markdown": "[DeployHelper._fundAndDeploy(address,uint256,address,bytes,bool,uint256)](src/rollup/DeployHelper.sol#L46-L87) sends eth to arbitrary user\n\tDangerous calls:\n\t- [IInbox(inbox).createRetryableTicket{value: feeAmount}({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,data:})](src/rollup/DeployHelper.sol#L74-L83)\n", -+ "first_markdown_element": "src/rollup/DeployHelper.sol#L46-L87", -+ "id": "e0479a62ad4830e7fe86da8c84b5e23beb3117b4fad5a10981cccab1ed4d7fef", -+ "check": "arbitrary-send-eth", -+ "impact": "High", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "perform", -+ "source_mapping": { -+ "start": 10012, -+ "length": 1157, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, -+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, -+ 131, 132, 133 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "DeployHelper", -+ "source_mapping": { -+ "start": 513, -+ "length": 11093, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, -+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, -+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, -+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, -+ 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, -+ 146, 147, 148, 149 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "perform(address,address,uint256)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "address(msg.sender).transfer(address(this).balance)", -+ "source_mapping": { -+ "start": 11101, -+ "length": 51, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [131], -+ "starting_column": 13, -+ "ending_column": 64 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "perform", -+ "source_mapping": { -+ "start": 10012, -+ "length": 1157, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "DeployHelper", -+ "source_mapping": { -+ "start": 513, -+ "length": 11093, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "perform(address,address,uint256)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "DeployHelper.perform(address,address,uint256) (src/rollup/DeployHelper.sol#89-133) sends eth to arbitrary user\n\tDangerous calls:\n\t- address(msg.sender).transfer(address(this).balance) (src/rollup/DeployHelper.sol#131)\n", -+ "markdown": "[DeployHelper.perform(address,address,uint256)](src/rollup/DeployHelper.sol#L89-L133) sends eth to arbitrary user\n\tDangerous calls:\n\t- [address(msg.sender).transfer(address(this).balance)](src/rollup/DeployHelper.sol#L131)\n", -+ "first_markdown_element": "src/rollup/DeployHelper.sol#L89-L133", -+ "id": "9ffb800c52b7ebc92a4117369762770d49beb52d8f7f0c4c53742745d88e75c4", -+ "check": "arbitrary-send-eth", -+ "impact": "High", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "_deployFactories", -+ "source_mapping": { -+ "start": 10566, -+ "length": 1163, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283, 284, 285 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCreator", -+ "source_mapping": { -+ "start": 703, -+ "length": 11028, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, -+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, -+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, -+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, -+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, -+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, -+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, -+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, -+ 279, 280, 281, 282, 283, 284, 285, 286 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_deployFactories(address,address,uint256)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "l2FactoriesDeployer.perform{value: cost}(_inbox,_nativeToken,_maxFeePerGas)", -+ "source_mapping": { -+ "start": 10973, -+ "length": 77, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [268], -+ "starting_column": 13, -+ "ending_column": 90 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_deployFactories", -+ "source_mapping": { -+ "start": 10566, -+ "length": 1163, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283, 284, 285 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCreator", -+ "source_mapping": { -+ "start": 703, -+ "length": 11028, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, -+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, -+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_deployFactories(address,address,uint256)" -+ } -+ } -+ } -+ }, -+ { -+ "type": "node", -+ "name": "(sent) = msg.sender.call{value: address(this).balance}()", -+ "source_mapping": { -+ "start": 11161, -+ "length": 65, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [272], -+ "starting_column": 13, -+ "ending_column": 78 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_deployFactories", -+ "source_mapping": { -+ "start": 10566, -+ "length": 1163, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283, 284, 285 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCreator", -+ "source_mapping": { -+ "start": 703, -+ "length": 11028, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, -+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, -+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_deployFactories(address,address,uint256)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "RollupCreator._deployFactories(address,address,uint256) (src/rollup/RollupCreator.sol#255-285) sends eth to arbitrary user\n\tDangerous calls:\n\t- l2FactoriesDeployer.perform{value: cost}(_inbox,_nativeToken,_maxFeePerGas) (src/rollup/RollupCreator.sol#268)\n\t- (sent) = msg.sender.call{value: address(this).balance}() (src/rollup/RollupCreator.sol#272)\n", -+ "markdown": "[RollupCreator._deployFactories(address,address,uint256)](src/rollup/RollupCreator.sol#L255-L285) sends eth to arbitrary user\n\tDangerous calls:\n\t- [l2FactoriesDeployer.perform{value: cost}(_inbox,_nativeToken,_maxFeePerGas)](src/rollup/RollupCreator.sol#L268)\n\t- [(sent) = msg.sender.call{value: address(this).balance}()](src/rollup/RollupCreator.sol#L272)\n", -+ "first_markdown_element": "src/rollup/RollupCreator.sol#L255-L285", -+ "id": "76dc4e58fa8c5850af786b5521aa4b4047660ca4b5cfdc3ec6d2b34a27bf414d", -+ "check": "arbitrary-send-eth", -+ "impact": "High", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "calculateRoot", -+ "source_mapping": { -+ "start": 987, -+ "length": 872, -+ "filename_relative": "src/libraries/MerkleLib.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/MerkleLib.sol", -+ "filename_short": "src/libraries/MerkleLib.sol", -+ "is_dependency": false, -+ "lines": [ -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "MerkleLib", -+ "source_mapping": { -+ "start": 254, -+ "length": 1607, -+ "filename_relative": "src/libraries/MerkleLib.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/MerkleLib.sol", -+ "filename_short": "src/libraries/MerkleLib.sol", -+ "is_dependency": false, -+ "lines": [ -+ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "calculateRoot(bytes32[],uint256,bytes32)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "(route & (1 << i)) == 0", -+ "source_mapping": { -+ "start": 1371, -+ "length": 23, -+ "filename_relative": "src/libraries/MerkleLib.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/MerkleLib.sol", -+ "filename_short": "src/libraries/MerkleLib.sol", -+ "is_dependency": false, -+ "lines": [38], -+ "starting_column": 17, -+ "ending_column": 40 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "calculateRoot", -+ "source_mapping": { -+ "start": 987, -+ "length": 872, -+ "filename_relative": "src/libraries/MerkleLib.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/MerkleLib.sol", -+ "filename_short": "src/libraries/MerkleLib.sol", -+ "is_dependency": false, -+ "lines": [ -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "MerkleLib", -+ "source_mapping": { -+ "start": 254, -+ "length": 1607, -+ "filename_relative": "src/libraries/MerkleLib.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/MerkleLib.sol", -+ "filename_short": "src/libraries/MerkleLib.sol", -+ "is_dependency": false, -+ "lines": [ -+ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, -+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, -+ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, -+ 54, 55, 56, 57 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "calculateRoot(bytes32[],uint256,bytes32)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "MerkleLib.calculateRoot(bytes32[],uint256,bytes32) (src/libraries/MerkleLib.sol#28-56) contains an incorrect shift operation: (route & (1 << i)) == 0 (src/libraries/MerkleLib.sol#38)\n", -+ "markdown": "[MerkleLib.calculateRoot(bytes32[],uint256,bytes32)](src/libraries/MerkleLib.sol#L28-L56) contains an incorrect shift operation: [(route & (1 << i)) == 0](src/libraries/MerkleLib.sol#L38)\n", -+ "first_markdown_element": "src/libraries/MerkleLib.sol#L28-L56", -+ "id": "5c3db261bcf096a853ed1cbf065868696b577e437b35616c25ee3da2af6bc0d7", -+ "check": "incorrect-shift", -+ "impact": "High", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "confirmPeriodBlocks", -+ "source_mapping": { -+ "start": 848, -+ "length": 33, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [30], -+ "starting_column": 5, -+ "ending_column": 38 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24587, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, -+ 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, -+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, -+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, -+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, -+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, -+ 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, -+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -+ 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, -+ 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, -+ 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, -+ 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, -+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -+ 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, -+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, -+ 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, -+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, -+ 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -+ 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, -+ 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, -+ 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, -+ 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, -+ 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, -+ 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, -+ 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, -+ 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, -+ 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ } -+ } -+ }, -+ { -+ "type": "function", -+ "name": "_validatorIsAfk", -+ "source_mapping": { -+ "start": 1426, -+ "length": 349, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [47, 48, 49, 50, 51, 52, 53, 54], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25132, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_validatorIsAfk()" -+ } -+ }, -+ { -+ "type": "function", -+ "name": "currentRequiredStake", -+ "source_mapping": { -+ "start": 20210, -+ "length": 1527, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, -+ 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, -+ 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, -+ 516, 517, 518, 519, 520, 521, 522, 523 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25132, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "currentRequiredStake(uint256,uint64,uint256)" -+ } -+ }, -+ { -+ "type": "function", -+ "name": "addStaker", -+ "source_mapping": { -+ "start": 16226, -+ "length": 666, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, -+ 462, 463, 464, 465 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24587, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, -+ 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, -+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, -+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, -+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, -+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, -+ 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, -+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -+ 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, -+ 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, -+ 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, -+ 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, -+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -+ 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, -+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, -+ 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, -+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, -+ 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -+ 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, -+ 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, -+ 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, -+ 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, -+ 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, -+ 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, -+ 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, -+ 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, -+ 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "addStaker(uint64,address)" -+ } -+ }, -+ { -+ "type": "function", -+ "name": "createNewNode", -+ "source_mapping": { -+ "start": 20652, -+ "length": 4618, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, -+ 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, -+ 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, -+ 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, -+ 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, -+ 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, -+ 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, -+ 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, -+ 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24587, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, -+ 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, -+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, -+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, -+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, -+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, -+ 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, -+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -+ 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, -+ 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, -+ 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, -+ 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, -+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -+ 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, -+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, -+ 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, -+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, -+ 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -+ 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, -+ 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, -+ 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, -+ 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, -+ 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, -+ 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, -+ 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, -+ 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, -+ 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createNewNode(Assertion,uint64,uint256,bytes32)" -+ } -+ } -+ ], -+ "description": "RollupCore.confirmPeriodBlocks (src/rollup/RollupCore.sol#30) is never initialized. It is used in:\n\t- AbsRollupUserLogic._validatorIsAfk() (src/rollup/RollupUserLogic.sol#47-54)\n\t- AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256) (src/rollup/RollupUserLogic.sol#477-523)\n\t- RollupCore.addStaker(uint64,address) (src/rollup/RollupCore.sol#449-465)\n\t- RollupCore.createNewNode(Assertion,uint64,uint256,bytes32) (src/rollup/RollupCore.sol#563-677)\n", -+ "markdown": "[RollupCore.confirmPeriodBlocks](src/rollup/RollupCore.sol#L30) is never initialized. It is used in:\n\t- [AbsRollupUserLogic._validatorIsAfk()](src/rollup/RollupUserLogic.sol#L47-L54)\n\t- [AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256)](src/rollup/RollupUserLogic.sol#L477-L523)\n\t- [RollupCore.addStaker(uint64,address)](src/rollup/RollupCore.sol#L449-L465)\n\t- [RollupCore.createNewNode(Assertion,uint64,uint256,bytes32)](src/rollup/RollupCore.sol#L563-L677)\n", -+ "first_markdown_element": "src/rollup/RollupCore.sol#L30", -+ "id": "a4b24bce5aba1839e99647d1a79bb6ee736796ffa0b26da1ff6de3bf0cad25a2", -+ "check": "uninitialized-state", -+ "impact": "High", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "extraChallengeTimeBlocks", -+ "source_mapping": { -+ "start": 887, -+ "length": 38, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [31], -+ "starting_column": 5, -+ "ending_column": 43 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24587, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, -+ 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, -+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, -+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, -+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, -+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, -+ 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, -+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -+ 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, -+ 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, -+ 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, -+ 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, -+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -+ 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, -+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, -+ 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, -+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, -+ 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -+ 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, -+ 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, -+ 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, -+ 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, -+ 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, -+ 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, -+ 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, -+ 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, -+ 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ } -+ } -+ }, -+ { -+ "type": "function", -+ "name": "createChallenge", -+ "source_mapping": { -+ "start": 12264, -+ "length": 3131, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25132, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])" -+ } -+ } -+ ], -+ "description": "RollupCore.extraChallengeTimeBlocks (src/rollup/RollupCore.sol#31) is never initialized. It is used in:\n\t- AbsRollupUserLogic.createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2]) (src/rollup/RollupUserLogic.sol#291-364)\n", -+ "markdown": "[RollupCore.extraChallengeTimeBlocks](src/rollup/RollupCore.sol#L31) is never initialized. It is used in:\n\t- [AbsRollupUserLogic.createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])](src/rollup/RollupUserLogic.sol#L291-L364)\n", -+ "first_markdown_element": "src/rollup/RollupCore.sol#L31", -+ "id": "da3953abca5cd200b13fe48850b6aa7652681e329be2738fada97e811ccf823c", -+ "check": "uninitialized-state", -+ "impact": "High", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "baseStake", -+ "source_mapping": { -+ "start": 959, -+ "length": 24, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [33], -+ "starting_column": 5, -+ "ending_column": 29 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24587, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, -+ 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, -+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, -+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, -+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, -+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, -+ 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, -+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -+ 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, -+ 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, -+ 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, -+ 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, -+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -+ 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, -+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, -+ 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, -+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, -+ 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -+ 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, -+ 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, -+ 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, -+ 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, -+ 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, -+ 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, -+ 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, -+ 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, -+ 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ } -+ } -+ }, -+ { -+ "type": "function", -+ "name": "currentRequiredStake", -+ "source_mapping": { -+ "start": 20210, -+ "length": 1527, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, -+ 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, -+ 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, -+ 516, 517, 518, 519, 520, 521, 522, 523 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25132, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "currentRequiredStake(uint256,uint64,uint256)" -+ } -+ } -+ ], -+ "description": "RollupCore.baseStake (src/rollup/RollupCore.sol#33) is never initialized. It is used in:\n\t- AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256) (src/rollup/RollupUserLogic.sol#477-523)\n", -+ "markdown": "[RollupCore.baseStake](src/rollup/RollupCore.sol#L33) is never initialized. It is used in:\n\t- [AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256)](src/rollup/RollupUserLogic.sol#L477-L523)\n", -+ "first_markdown_element": "src/rollup/RollupCore.sol#L33", -+ "id": "e38524abb8244a635c7bb2fbd1c2e3be4f6f4c45b66589d5c431018eaec19736", -+ "check": "uninitialized-state", -+ "impact": "High", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "wasmModuleRoot", -+ "source_mapping": { -+ "start": 989, -+ "length": 29, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [34], -+ "starting_column": 5, -+ "ending_column": 34 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24587, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, -+ 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, -+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, -+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, -+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, -+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, -+ 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, -+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -+ 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, -+ 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, -+ 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, -+ 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, -+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -+ 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, -+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, -+ 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, -+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, -+ 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -+ 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, -+ 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, -+ 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, -+ 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, -+ 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, -+ 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, -+ 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, -+ 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, -+ 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ } -+ } -+ }, -+ { -+ "type": "function", -+ "name": "createNewNode", -+ "source_mapping": { -+ "start": 20652, -+ "length": 4618, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, -+ 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, -+ 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, -+ 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, -+ 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, -+ 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, -+ 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, -+ 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, -+ 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24587, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, -+ 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, -+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, -+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, -+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, -+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, -+ 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, -+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -+ 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, -+ 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, -+ 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, -+ 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, -+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -+ 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, -+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, -+ 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, -+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, -+ 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -+ 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, -+ 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, -+ 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, -+ 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, -+ 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, -+ 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, -+ 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, -+ 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, -+ 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createNewNode(Assertion,uint64,uint256,bytes32)" -+ } -+ } -+ ], -+ "description": "RollupCore.wasmModuleRoot (src/rollup/RollupCore.sol#34) is never initialized. It is used in:\n\t- RollupCore.createNewNode(Assertion,uint64,uint256,bytes32) (src/rollup/RollupCore.sol#563-677)\n", -+ "markdown": "[RollupCore.wasmModuleRoot](src/rollup/RollupCore.sol#L34) is never initialized. It is used in:\n\t- [RollupCore.createNewNode(Assertion,uint64,uint256,bytes32)](src/rollup/RollupCore.sol#L563-L677)\n", -+ "first_markdown_element": "src/rollup/RollupCore.sol#L34", -+ "id": "ba1b0a9663907f65e34f85d9522781abdfd536250f5ca9c3ce00e5d5fd99e0e5", -+ "check": "uninitialized-state", -+ "impact": "High", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "bridge", -+ "source_mapping": { -+ "start": 1054, -+ "length": 21, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [37], -+ "starting_column": 5, -+ "ending_column": 26 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24587, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, -+ 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, -+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, -+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, -+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, -+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, -+ 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, -+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -+ 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, -+ 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, -+ 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, -+ 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, -+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -+ 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, -+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, -+ 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, -+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, -+ 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -+ 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, -+ 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, -+ 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, -+ 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, -+ 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, -+ 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, -+ 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, -+ 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, -+ 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ } -+ } -+ }, -+ { -+ "type": "function", -+ "name": "createNewNode", -+ "source_mapping": { -+ "start": 20652, -+ "length": 4618, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, -+ 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, -+ 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, -+ 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, -+ 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, -+ 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, -+ 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, -+ 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, -+ 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24587, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, -+ 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, -+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, -+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, -+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, -+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, -+ 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, -+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -+ 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, -+ 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, -+ 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, -+ 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, -+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -+ 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, -+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, -+ 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, -+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, -+ 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -+ 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, -+ 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, -+ 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, -+ 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, -+ 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, -+ 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, -+ 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, -+ 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, -+ 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createNewNode(Assertion,uint64,uint256,bytes32)" -+ } -+ } -+ ], -+ "description": "RollupCore.bridge (src/rollup/RollupCore.sol#37) is never initialized. It is used in:\n\t- RollupCore.createNewNode(Assertion,uint64,uint256,bytes32) (src/rollup/RollupCore.sol#563-677)\n", -+ "markdown": "[RollupCore.bridge](src/rollup/RollupCore.sol#L37) is never initialized. It is used in:\n\t- [RollupCore.createNewNode(Assertion,uint64,uint256,bytes32)](src/rollup/RollupCore.sol#L563-L677)\n", -+ "first_markdown_element": "src/rollup/RollupCore.sol#L37", -+ "id": "083aba2c7a6498e3f6b62bd57041243e85867ce1e7deb7e73af230c8a3fda57c", -+ "check": "uninitialized-state", -+ "impact": "High", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "outbox", -+ "source_mapping": { -+ "start": 1081, -+ "length": 21, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [38], -+ "starting_column": 5, -+ "ending_column": 26 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24587, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, -+ 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, -+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, -+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, -+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, -+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, -+ 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, -+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -+ 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, -+ 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, -+ 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, -+ 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, -+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -+ 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, -+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, -+ 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, -+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, -+ 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -+ 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, -+ 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, -+ 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, -+ 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, -+ 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, -+ 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, -+ 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, -+ 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, -+ 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ } -+ } -+ }, -+ { -+ "type": "function", -+ "name": "confirmNode", -+ "source_mapping": { -+ "start": 10760, -+ "length": 573, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, -+ 319, 320, 321, 322 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24587, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, -+ 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, -+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, -+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, -+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, -+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, -+ 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, -+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -+ 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, -+ 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, -+ 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, -+ 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, -+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -+ 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, -+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, -+ 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, -+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, -+ 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -+ 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, -+ 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, -+ 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, -+ 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, -+ 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, -+ 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, -+ 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, -+ 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, -+ 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "confirmNode(uint64,bytes32,bytes32)" -+ } -+ } -+ ], -+ "description": "RollupCore.outbox (src/rollup/RollupCore.sol#38) is never initialized. It is used in:\n\t- RollupCore.confirmNode(uint64,bytes32,bytes32) (src/rollup/RollupCore.sol#306-322)\n", -+ "markdown": "[RollupCore.outbox](src/rollup/RollupCore.sol#L38) is never initialized. It is used in:\n\t- [RollupCore.confirmNode(uint64,bytes32,bytes32)](src/rollup/RollupCore.sol#L306-L322)\n", -+ "first_markdown_element": "src/rollup/RollupCore.sol#L38", -+ "id": "0e386868f4529a31d9469b3b0f8148977860a53590d8f94171666883bbbe4c3d", -+ "check": "uninitialized-state", -+ "impact": "High", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "challengeManager", -+ "source_mapping": { -+ "start": 1198, -+ "length": 50, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [41], -+ "starting_column": 5, -+ "ending_column": 55 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24587, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, -+ 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, -+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, -+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, -+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, -+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, -+ 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, -+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -+ 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, -+ 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, -+ 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, -+ 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, -+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -+ 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, -+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, -+ 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, -+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, -+ 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -+ 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, -+ 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, -+ 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, -+ 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, -+ 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, -+ 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, -+ 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, -+ 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, -+ 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ } -+ } -+ }, -+ { -+ "type": "function", -+ "name": "createChallengeHelper", -+ "source_mapping": { -+ "start": 15401, -+ "length": 672, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, -+ 379, 380, 381, 382, 383, 384, 385, 386 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25132, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createChallengeHelper(address[2],MachineStatus[2],GlobalState[2],uint64,bytes32[2],uint256,uint256)" -+ } -+ }, -+ { -+ "type": "function", -+ "name": "completeChallenge", -+ "source_mapping": { -+ "start": 16300, -+ "length": 484, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [393, 394, 395, 396, 397, 398, 399, 400, 401, 402], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25132, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "completeChallenge(uint256,address,address)" -+ } -+ } -+ ], -+ "description": "RollupCore.challengeManager (src/rollup/RollupCore.sol#41) is never initialized. It is used in:\n\t- AbsRollupUserLogic.createChallengeHelper(address[2],MachineStatus[2],GlobalState[2],uint64,bytes32[2],uint256,uint256) (src/rollup/RollupUserLogic.sol#366-386)\n\t- AbsRollupUserLogic.completeChallenge(uint256,address,address) (src/rollup/RollupUserLogic.sol#393-402)\n", -+ "markdown": "[RollupCore.challengeManager](src/rollup/RollupCore.sol#L41) is never initialized. It is used in:\n\t- [AbsRollupUserLogic.createChallengeHelper(address[2],MachineStatus[2],GlobalState[2],uint64,bytes32[2],uint256,uint256)](src/rollup/RollupUserLogic.sol#L366-L386)\n\t- [AbsRollupUserLogic.completeChallenge(uint256,address,address)](src/rollup/RollupUserLogic.sol#L393-L402)\n", -+ "first_markdown_element": "src/rollup/RollupCore.sol#L41", -+ "id": "22c612a6037a18832e2adecba9cb92ae47a8af1b6ad06cd807e2930e95704f7f", -+ "check": "uninitialized-state", -+ "impact": "High", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "loserStakeEscrow", -+ "source_mapping": { -+ "start": 1485, -+ "length": 31, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [48], -+ "starting_column": 5, -+ "ending_column": 36 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24587, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, -+ 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, -+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, -+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, -+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, -+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, -+ 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, -+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -+ 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, -+ 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, -+ 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, -+ 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, -+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -+ 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, -+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, -+ 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, -+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, -+ 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -+ 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, -+ 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, -+ 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, -+ 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, -+ 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, -+ 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, -+ 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, -+ 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, -+ 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ } -+ } -+ }, -+ { -+ "type": "function", -+ "name": "completeChallengeImpl", -+ "source_mapping": { -+ "start": 16790, -+ "length": 1104, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25132, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "completeChallengeImpl(address,address)" -+ } -+ } -+ ], -+ "description": "RollupCore.loserStakeEscrow (src/rollup/RollupCore.sol#48) is never initialized. It is used in:\n\t- AbsRollupUserLogic.completeChallengeImpl(address,address) (src/rollup/RollupUserLogic.sol#404-423)\n", -+ "markdown": "[RollupCore.loserStakeEscrow](src/rollup/RollupCore.sol#L48) is never initialized. It is used in:\n\t- [AbsRollupUserLogic.completeChallengeImpl(address,address)](src/rollup/RollupUserLogic.sol#L404-L423)\n", -+ "first_markdown_element": "src/rollup/RollupCore.sol#L48", -+ "id": "c7bcdadad2017983801efa1f09090e62d03f763f4327a3ff8eae213d33849120", -+ "check": "uninitialized-state", -+ "impact": "High", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "stakeToken", -+ "source_mapping": { -+ "start": 1522, -+ "length": 25, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [49], -+ "starting_column": 5, -+ "ending_column": 30 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24587, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, -+ 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, -+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, -+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, -+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, -+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, -+ 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, -+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -+ 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, -+ 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, -+ 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, -+ 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, -+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -+ 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, -+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, -+ 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, -+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, -+ 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -+ 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, -+ 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, -+ 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, -+ 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, -+ 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, -+ 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, -+ 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, -+ 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, -+ 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ } -+ } -+ }, -+ { -+ "type": "function", -+ "name": "isERC20Enabled", -+ "source_mapping": { -+ "start": 2244, -+ "length": 110, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [68, 69, 70], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25132, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "isERC20Enabled()" -+ } -+ } -+ ], -+ "description": "RollupCore.stakeToken (src/rollup/RollupCore.sol#49) is never initialized. It is used in:\n\t- AbsRollupUserLogic.isERC20Enabled() (src/rollup/RollupUserLogic.sol#68-70)\n", -+ "markdown": "[RollupCore.stakeToken](src/rollup/RollupCore.sol#L49) is never initialized. It is used in:\n\t- [AbsRollupUserLogic.isERC20Enabled()](src/rollup/RollupUserLogic.sol#L68-L70)\n", -+ "first_markdown_element": "src/rollup/RollupCore.sol#L49", -+ "id": "762ea8af9375f2dee07c120ca7a44b367b72fbd357f74ed8397e8540a17d87b6", -+ "check": "uninitialized-state", -+ "impact": "High", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "minimumAssertionPeriod", -+ "source_mapping": { -+ "start": 1553, -+ "length": 37, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [50], -+ "starting_column": 5, -+ "ending_column": 42 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24587, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, -+ 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, -+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, -+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, -+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, -+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, -+ 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, -+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -+ 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, -+ 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, -+ 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, -+ 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, -+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -+ 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, -+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, -+ 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, -+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, -+ 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -+ 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, -+ 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, -+ 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, -+ 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, -+ 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, -+ 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, -+ 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, -+ 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, -+ 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ } -+ } -+ }, -+ { -+ "type": "function", -+ "name": "stakeOnNewNode", -+ "source_mapping": { -+ "start": 7704, -+ "length": 1684, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, -+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25132, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "stakeOnNewNode(Assertion,bytes32,uint256)" -+ } -+ } -+ ], -+ "description": "RollupCore.minimumAssertionPeriod (src/rollup/RollupCore.sol#50) is never initialized. It is used in:\n\t- AbsRollupUserLogic.stakeOnNewNode(Assertion,bytes32,uint256) (src/rollup/RollupUserLogic.sol#198-233)\n", -+ "markdown": "[RollupCore.minimumAssertionPeriod](src/rollup/RollupCore.sol#L50) is never initialized. It is used in:\n\t- [AbsRollupUserLogic.stakeOnNewNode(Assertion,bytes32,uint256)](src/rollup/RollupUserLogic.sol#L198-L233)\n", -+ "first_markdown_element": "src/rollup/RollupCore.sol#L50", -+ "id": "01fe9c1889403593f4723665fd7724b4e31b63dd3689c5816cb6d147d16dbf42", -+ "check": "uninitialized-state", -+ "impact": "High", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "isValidator", -+ "source_mapping": { -+ "start": 1597, -+ "length": 43, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [52], -+ "starting_column": 5, -+ "ending_column": 48 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24587, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, -+ 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, -+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, -+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, -+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, -+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, -+ 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, -+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -+ 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, -+ 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, -+ 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, -+ 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, -+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -+ 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, -+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, -+ 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, -+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, -+ 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -+ 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, -+ 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, -+ 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, -+ 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, -+ 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, -+ 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, -+ 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, -+ 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, -+ 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ } -+ } -+ } -+ ], -+ "description": "RollupCore.isValidator (src/rollup/RollupCore.sol#52) is never initialized. It is used in:\n", -+ "markdown": "[RollupCore.isValidator](src/rollup/RollupCore.sol#L52) is never initialized. It is used in:\n", -+ "first_markdown_element": "src/rollup/RollupCore.sol#L52", -+ "id": "f316200e22d3febd4d78fe211de5d864b1b65169f67e03191ea884e8b60055ae", -+ "check": "uninitialized-state", -+ "impact": "High", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "stakeToken", -+ "source_mapping": { -+ "start": 1522, -+ "length": 25, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [49], -+ "starting_column": 5, -+ "ending_column": 30 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24587, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, -+ 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, -+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, -+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, -+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, -+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, -+ 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, -+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -+ 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, -+ 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, -+ 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, -+ 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, -+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -+ 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, -+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, -+ 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, -+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, -+ 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -+ 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, -+ 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, -+ 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, -+ 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, -+ 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, -+ 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, -+ 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, -+ 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, -+ 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ } -+ } -+ }, -+ { -+ "type": "function", -+ "name": "isERC20Enabled", -+ "source_mapping": { -+ "start": 2244, -+ "length": 110, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [68, 69, 70], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25132, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "isERC20Enabled()" -+ } -+ }, -+ { -+ "type": "function", -+ "name": "withdrawStakerFunds", -+ "source_mapping": { -+ "start": 30568, -+ "length": 400, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "ERC20RollupUserLogic", -+ "source_mapping": { -+ "start": 28020, -+ "length": 3167, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, -+ 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, -+ 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, -+ 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, -+ 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, -+ 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, -+ 766, 767, 768, 769 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "withdrawStakerFunds()" -+ } -+ }, -+ { -+ "type": "function", -+ "name": "receiveTokens", -+ "source_mapping": { -+ "start": 30974, -+ "length": 211, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [763, 764, 765, 766, 767, 768], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "ERC20RollupUserLogic", -+ "source_mapping": { -+ "start": 28020, -+ "length": 3167, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, -+ 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, -+ 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, -+ 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, -+ 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, -+ 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, -+ 766, 767, 768, 769 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "receiveTokens(uint256)" -+ } -+ } -+ ], -+ "description": "RollupCore.stakeToken (src/rollup/RollupCore.sol#49) is never initialized. It is used in:\n\t- AbsRollupUserLogic.isERC20Enabled() (src/rollup/RollupUserLogic.sol#68-70)\n\t- ERC20RollupUserLogic.withdrawStakerFunds() (src/rollup/RollupUserLogic.sol#750-761)\n\t- ERC20RollupUserLogic.receiveTokens(uint256) (src/rollup/RollupUserLogic.sol#763-768)\n", -+ "markdown": "[RollupCore.stakeToken](src/rollup/RollupCore.sol#L49) is never initialized. It is used in:\n\t- [AbsRollupUserLogic.isERC20Enabled()](src/rollup/RollupUserLogic.sol#L68-L70)\n\t- [ERC20RollupUserLogic.withdrawStakerFunds()](src/rollup/RollupUserLogic.sol#L750-L761)\n\t- [ERC20RollupUserLogic.receiveTokens(uint256)](src/rollup/RollupUserLogic.sol#L763-L768)\n", -+ "first_markdown_element": "src/rollup/RollupCore.sol#L49", -+ "id": "388304453678fb7cb187225ae4a8eef1f46c80d072185688bad31640b221fb6d", -+ "check": "uninitialized-state", -+ "impact": "High", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "extractChallengeSegment", -+ "source_mapping": { -+ "start": 3040, -+ "length": 682, -+ "filename_relative": "src/challenge/ChallengeLib.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", -+ "filename_short": "src/challenge/ChallengeLib.sol", -+ "is_dependency": false, -+ "lines": [ -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "ChallengeLib", -+ "source_mapping": { -+ "start": 272, -+ "length": 4325, -+ "filename_relative": "src/challenge/ChallengeLib.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", -+ "filename_short": "src/challenge/ChallengeLib.sol", -+ "is_dependency": false, -+ "lines": [ -+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, -+ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, -+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, -+ 131, 132, 133 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "extractChallengeSegment(ChallengeLib.SegmentSelection)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "segmentLength = selection.oldSegmentsLength / oldChallengeDegree", -+ "source_mapping": { -+ "start": 3287, -+ "length": 64, -+ "filename_relative": "src/challenge/ChallengeLib.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", -+ "filename_short": "src/challenge/ChallengeLib.sol", -+ "is_dependency": false, -+ "lines": [102], -+ "starting_column": 9, -+ "ending_column": 73 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "extractChallengeSegment", -+ "source_mapping": { -+ "start": 3040, -+ "length": 682, -+ "filename_relative": "src/challenge/ChallengeLib.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", -+ "filename_short": "src/challenge/ChallengeLib.sol", -+ "is_dependency": false, -+ "lines": [ -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "ChallengeLib", -+ "source_mapping": { -+ "start": 272, -+ "length": 4325, -+ "filename_relative": "src/challenge/ChallengeLib.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", -+ "filename_short": "src/challenge/ChallengeLib.sol", -+ "is_dependency": false, -+ "lines": [ -+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, -+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, -+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, -+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, -+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "extractChallengeSegment(ChallengeLib.SegmentSelection)" -+ } -+ } -+ } -+ }, -+ { -+ "type": "node", -+ "name": "segmentStart = selection.oldSegmentsStart + segmentLength * selection.challengePosition", -+ "source_mapping": { -+ "start": 3460, -+ "length": 87, -+ "filename_relative": "src/challenge/ChallengeLib.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", -+ "filename_short": "src/challenge/ChallengeLib.sol", -+ "is_dependency": false, -+ "lines": [104], -+ "starting_column": 9, -+ "ending_column": 96 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "extractChallengeSegment", -+ "source_mapping": { -+ "start": 3040, -+ "length": 682, -+ "filename_relative": "src/challenge/ChallengeLib.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", -+ "filename_short": "src/challenge/ChallengeLib.sol", -+ "is_dependency": false, -+ "lines": [ -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "ChallengeLib", -+ "source_mapping": { -+ "start": 272, -+ "length": 4325, -+ "filename_relative": "src/challenge/ChallengeLib.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", -+ "filename_short": "src/challenge/ChallengeLib.sol", -+ "is_dependency": false, -+ "lines": [ -+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, -+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, -+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, -+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, -+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "extractChallengeSegment(ChallengeLib.SegmentSelection)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "ChallengeLib.extractChallengeSegment(ChallengeLib.SegmentSelection) (src/challenge/ChallengeLib.sol#96-108) performs a multiplication on the result of a division:\n\t- segmentLength = selection.oldSegmentsLength / oldChallengeDegree (src/challenge/ChallengeLib.sol#102)\n\t- segmentStart = selection.oldSegmentsStart + segmentLength * selection.challengePosition (src/challenge/ChallengeLib.sol#104)\n", -+ "markdown": "[ChallengeLib.extractChallengeSegment(ChallengeLib.SegmentSelection)](src/challenge/ChallengeLib.sol#L96-L108) performs a multiplication on the result of a division:\n\t- [segmentLength = selection.oldSegmentsLength / oldChallengeDegree](src/challenge/ChallengeLib.sol#L102)\n\t- [segmentStart = selection.oldSegmentsStart + segmentLength * selection.challengePosition](src/challenge/ChallengeLib.sol#L104)\n", -+ "first_markdown_element": "src/challenge/ChallengeLib.sol#L96-L108", -+ "id": "e1c80d5388c10fc3c7985b252a3988308fb524570c5772733ff6da1f68ae3665", -+ "check": "divide-before-multiply", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "executeReadPreImage", -+ "source_mapping": { -+ "start": 4302, -+ "length": 5772, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, -+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, -+ 240, 241, 242, 243, 244, 245 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverHostIo", -+ "source_mapping": { -+ "start": 433, -+ "length": 16565, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, -+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, -+ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -+ 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeReadPreImage(ExecutionContext,Machine,Module,Instruction,bytes)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "rootOfUnityPower = (1 << 32) / fieldElementsPerBlob", -+ "source_mapping": { -+ "start": 9080, -+ "length": 59, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [224], -+ "starting_column": 17, -+ "ending_column": 76 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeReadPreImage", -+ "source_mapping": { -+ "start": 4302, -+ "length": 5772, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, -+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, -+ 240, 241, 242, 243, 244, 245 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverHostIo", -+ "source_mapping": { -+ "start": 433, -+ "length": 16565, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, -+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, -+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, -+ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, -+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, -+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, -+ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, -+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, -+ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, -+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, -+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, -+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, -+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, -+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, -+ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, -+ 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, -+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, -+ 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, -+ 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, -+ 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, -+ 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -+ 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, -+ 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, -+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -+ 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, -+ 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeReadPreImage(ExecutionContext,Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ }, -+ { -+ "type": "node", -+ "name": "rootOfUnityPower *= bitReversedIndex", -+ "source_mapping": { -+ "start": 9307, -+ "length": 36, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [227], -+ "starting_column": 17, -+ "ending_column": 53 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeReadPreImage", -+ "source_mapping": { -+ "start": 4302, -+ "length": 5772, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, -+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, -+ 240, 241, 242, 243, 244, 245 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverHostIo", -+ "source_mapping": { -+ "start": 433, -+ "length": 16565, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, -+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, -+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, -+ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, -+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, -+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, -+ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, -+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, -+ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, -+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, -+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, -+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, -+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, -+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, -+ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, -+ 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, -+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, -+ 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, -+ 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, -+ 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, -+ 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -+ 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, -+ 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, -+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -+ 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, -+ 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeReadPreImage(ExecutionContext,Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProverHostIo.executeReadPreImage(ExecutionContext,Machine,Module,Instruction,bytes) (src/osp/OneStepProverHostIo.sol#123-245) performs a multiplication on the result of a division:\n\t- rootOfUnityPower = (1 << 32) / fieldElementsPerBlob (src/osp/OneStepProverHostIo.sol#224)\n\t- rootOfUnityPower *= bitReversedIndex (src/osp/OneStepProverHostIo.sol#227)\n", -+ "markdown": "[OneStepProverHostIo.executeReadPreImage(ExecutionContext,Machine,Module,Instruction,bytes)](src/osp/OneStepProverHostIo.sol#L123-L245) performs a multiplication on the result of a division:\n\t- [rootOfUnityPower = (1 << 32) / fieldElementsPerBlob](src/osp/OneStepProverHostIo.sol#L224)\n\t- [rootOfUnityPower *= bitReversedIndex](src/osp/OneStepProverHostIo.sol#L227)\n", -+ "first_markdown_element": "src/osp/OneStepProverHostIo.sol#L123-L245", -+ "id": "544b092c0dd6ff4838cb1cbaa7af3a7e9ba4011548b519524ea1c0f49488ba8a", -+ "check": "divide-before-multiply", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "currentRequiredStake", -+ "source_mapping": { -+ "start": 20210, -+ "length": 1527, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, -+ 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, -+ 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, -+ 516, 517, 518, 519, 520, 521, 522, 523 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25132, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "currentRequiredStake(uint256,uint64,uint256)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "multiplier = withNumerator / denominators[periodsPassed % 10]", -+ "source_mapping": { -+ "start": 21553, -+ "length": 69, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [518], -+ "starting_column": 9, -+ "ending_column": 78 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "currentRequiredStake", -+ "source_mapping": { -+ "start": 20210, -+ "length": 1527, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, -+ 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, -+ 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, -+ 516, 517, 518, 519, 520, 521, 522, 523 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25132, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "currentRequiredStake(uint256,uint64,uint256)" -+ } -+ } -+ } -+ }, -+ { -+ "type": "node", -+ "name": "baseStake * multiplier", -+ "source_mapping": { -+ "start": 21701, -+ "length": 29, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [522], -+ "starting_column": 9, -+ "ending_column": 38 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "currentRequiredStake", -+ "source_mapping": { -+ "start": 20210, -+ "length": 1527, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, -+ 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, -+ 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, -+ 516, 517, 518, 519, 520, 521, 522, 523 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25132, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "currentRequiredStake(uint256,uint64,uint256)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256) (src/rollup/RollupUserLogic.sol#477-523) performs a multiplication on the result of a division:\n\t- multiplier = withNumerator / denominators[periodsPassed % 10] (src/rollup/RollupUserLogic.sol#518)\n\t- baseStake * multiplier (src/rollup/RollupUserLogic.sol#522)\n", -+ "markdown": "[AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256)](src/rollup/RollupUserLogic.sol#L477-L523) performs a multiplication on the result of a division:\n\t- [multiplier = withNumerator / denominators[periodsPassed % 10]](src/rollup/RollupUserLogic.sol#L518)\n\t- [baseStake * multiplier](src/rollup/RollupUserLogic.sol#L522)\n", -+ "first_markdown_element": "src/rollup/RollupUserLogic.sol#L477-L523", -+ "id": "d8acf03a6b7c6bb0b8a091fbcc3c5657b15d7180c1edc798c1b2b66b27895d5d", -+ "check": "divide-before-multiply", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "onGasSpent", -+ "source_mapping": { -+ "start": 5994, -+ "length": 3002, -+ "filename_relative": "src/bridge/GasRefunder.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/GasRefunder.sol", -+ "filename_short": "src/bridge/GasRefunder.sol", -+ "is_dependency": false, -+ "lines": [ -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "GasRefunder", -+ "source_mapping": { -+ "start": 916, -+ "length": 8082, -+ "filename_relative": "src/bridge/GasRefunder.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/GasRefunder.sol", -+ "filename_short": "src/bridge/GasRefunder.sol", -+ "is_dependency": false, -+ "lines": [ -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, -+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, -+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, -+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, -+ 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, -+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, -+ 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, -+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, -+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, -+ 250, 251, 252, 253, 254, 255, 256, 257 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "onGasSpent(address,uint256,uint256)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "ownBalance == 0", -+ "source_mapping": { -+ "start": 6260, -+ "length": 15, -+ "filename_relative": "src/bridge/GasRefunder.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/GasRefunder.sol", -+ "filename_short": "src/bridge/GasRefunder.sol", -+ "is_dependency": false, -+ "lines": [183], -+ "starting_column": 13, -+ "ending_column": 28 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "onGasSpent", -+ "source_mapping": { -+ "start": 5994, -+ "length": 3002, -+ "filename_relative": "src/bridge/GasRefunder.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/GasRefunder.sol", -+ "filename_short": "src/bridge/GasRefunder.sol", -+ "is_dependency": false, -+ "lines": [ -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "GasRefunder", -+ "source_mapping": { -+ "start": 916, -+ "length": 8082, -+ "filename_relative": "src/bridge/GasRefunder.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/GasRefunder.sol", -+ "filename_short": "src/bridge/GasRefunder.sol", -+ "is_dependency": false, -+ "lines": [ -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, -+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "onGasSpent(address,uint256,uint256)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "GasRefunder.onGasSpent(address,uint256,uint256) (src/bridge/GasRefunder.sol#174-256) uses a dangerous strict equality:\n\t- ownBalance == 0 (src/bridge/GasRefunder.sol#183)\n", -+ "markdown": "[GasRefunder.onGasSpent(address,uint256,uint256)](src/bridge/GasRefunder.sol#L174-L256) uses a dangerous strict equality:\n\t- [ownBalance == 0](src/bridge/GasRefunder.sol#L183)\n", -+ "first_markdown_element": "src/bridge/GasRefunder.sol#L174-L256", -+ "id": "7130559f3bef7fa36dc1a06a74ba5036fede4a8f9a9b7aa15356ff38ae92691a", -+ "check": "incorrect-equality", -+ "impact": "Medium", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "getKeysetCreationBlock", -+ "source_mapping": { -+ "start": 30911, -+ "length": 262, -+ "filename_relative": "src/bridge/SequencerInbox.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/SequencerInbox.sol", -+ "filename_short": "src/bridge/SequencerInbox.sol", -+ "is_dependency": false, -+ "lines": [800, 801, 802, 803, 804], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "SequencerInbox", -+ "source_mapping": { -+ "start": 1909, -+ "length": 29266, -+ "filename_relative": "src/bridge/SequencerInbox.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/SequencerInbox.sol", -+ "filename_short": "src/bridge/SequencerInbox.sol", -+ "is_dependency": false, -+ "lines": [ -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, -+ 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, -+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, -+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, -+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, -+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, -+ 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, -+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -+ 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, -+ 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, -+ 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, -+ 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, -+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -+ 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, -+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, -+ 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, -+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, -+ 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -+ 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, -+ 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, -+ 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, -+ 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, -+ 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, -+ 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, -+ 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, -+ 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, -+ 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, -+ 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, -+ 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, -+ 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, -+ 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, -+ 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, -+ 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, -+ 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, -+ 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, -+ 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "getKeysetCreationBlock(bytes32)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "ksInfo.creationBlock == 0", -+ "source_mapping": { -+ "start": 31066, -+ "length": 25, -+ "filename_relative": "src/bridge/SequencerInbox.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/SequencerInbox.sol", -+ "filename_short": "src/bridge/SequencerInbox.sol", -+ "is_dependency": false, -+ "lines": [802], -+ "starting_column": 13, -+ "ending_column": 38 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "getKeysetCreationBlock", -+ "source_mapping": { -+ "start": 30911, -+ "length": 262, -+ "filename_relative": "src/bridge/SequencerInbox.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/SequencerInbox.sol", -+ "filename_short": "src/bridge/SequencerInbox.sol", -+ "is_dependency": false, -+ "lines": [800, 801, 802, 803, 804], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "SequencerInbox", -+ "source_mapping": { -+ "start": 1909, -+ "length": 29266, -+ "filename_relative": "src/bridge/SequencerInbox.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/SequencerInbox.sol", -+ "filename_short": "src/bridge/SequencerInbox.sol", -+ "is_dependency": false, -+ "lines": [ -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, -+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, -+ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, -+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, -+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, -+ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, -+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -+ 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, -+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, -+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, -+ 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -+ 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, -+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, -+ 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, -+ 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, -+ 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, -+ 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, -+ 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, -+ 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, -+ 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, -+ 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, -+ 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, -+ 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, -+ 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, -+ 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, -+ 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, -+ 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, -+ 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, -+ 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, -+ 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, -+ 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, -+ 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, -+ 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, -+ 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, -+ 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, -+ 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, -+ 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, -+ 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, -+ 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -+ 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, -+ 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, -+ 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, -+ 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, -+ 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, -+ 797, 798, 799, 800, 801, 802, 803, 804, 805 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "getKeysetCreationBlock(bytes32)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "SequencerInbox.getKeysetCreationBlock(bytes32) (src/bridge/SequencerInbox.sol#800-804) uses a dangerous strict equality:\n\t- ksInfo.creationBlock == 0 (src/bridge/SequencerInbox.sol#802)\n", -+ "markdown": "[SequencerInbox.getKeysetCreationBlock(bytes32)](src/bridge/SequencerInbox.sol#L800-L804) uses a dangerous strict equality:\n\t- [ksInfo.creationBlock == 0](src/bridge/SequencerInbox.sol#L802)\n", -+ "first_markdown_element": "src/bridge/SequencerInbox.sol#L800-L804", -+ "id": "8d08f988c853ddc93c73c73c2ffb4eab98ae44f427249e22931a28dd9e0d9616", -+ "check": "incorrect-equality", -+ "impact": "Medium", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "createNewNode", -+ "source_mapping": { -+ "start": 20652, -+ "length": 4618, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, -+ 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, -+ 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, -+ 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, -+ 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, -+ 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, -+ 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, -+ 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, -+ 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24587, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, -+ 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, -+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, -+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, -+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, -+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, -+ 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, -+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -+ 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, -+ 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, -+ 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, -+ 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, -+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -+ 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, -+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, -+ 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, -+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, -+ 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -+ 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, -+ 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, -+ 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, -+ 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, -+ 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, -+ 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, -+ 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, -+ 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, -+ 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createNewNode(Assertion,uint64,uint256,bytes32)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "require(bool,string)(RollupLib.stateHash(assertion.beforeState,prevNodeInboxMaxCount) == memoryFrame.prevNode.stateHash,PREV_STATE_HASH)", -+ "source_mapping": { -+ "start": 21393, -+ "length": 193, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [582, 583, 584, 585, 586], -+ "starting_column": 13, -+ "ending_column": 14 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "createNewNode", -+ "source_mapping": { -+ "start": 20652, -+ "length": 4618, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, -+ 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, -+ 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, -+ 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, -+ 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, -+ 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, -+ 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, -+ 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, -+ 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24587, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, -+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, -+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, -+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, -+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, -+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, -+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, -+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, -+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, -+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, -+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, -+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, -+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, -+ 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, -+ 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, -+ 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, -+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, -+ 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, -+ 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, -+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -+ 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, -+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -+ 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, -+ 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, -+ 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, -+ 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, -+ 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, -+ 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, -+ 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, -+ 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, -+ 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, -+ 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, -+ 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, -+ 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, -+ 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, -+ 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, -+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, -+ 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createNewNode(Assertion,uint64,uint256,bytes32)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "RollupCore.createNewNode(Assertion,uint64,uint256,bytes32) (src/rollup/RollupCore.sol#563-677) uses a dangerous strict equality:\n\t- require(bool,string)(RollupLib.stateHash(assertion.beforeState,prevNodeInboxMaxCount) == memoryFrame.prevNode.stateHash,PREV_STATE_HASH) (src/rollup/RollupCore.sol#582-586)\n", -+ "markdown": "[RollupCore.createNewNode(Assertion,uint64,uint256,bytes32)](src/rollup/RollupCore.sol#L563-L677) uses a dangerous strict equality:\n\t- [require(bool,string)(RollupLib.stateHash(assertion.beforeState,prevNodeInboxMaxCount) == memoryFrame.prevNode.stateHash,PREV_STATE_HASH)](src/rollup/RollupCore.sol#L582-L586)\n", -+ "first_markdown_element": "src/rollup/RollupCore.sol#L563-L677", -+ "id": "d127dddc177369c36ad1c5bef7eb43c1a61fc683b55406bc72a59dc5596e864b", -+ "check": "incorrect-equality", -+ "impact": "Medium", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "createNewNode", -+ "source_mapping": { -+ "start": 20652, -+ "length": 4618, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, -+ 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, -+ 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, -+ 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, -+ 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, -+ 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, -+ 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, -+ 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, -+ 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24587, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, -+ 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, -+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, -+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, -+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, -+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, -+ 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, -+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -+ 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, -+ 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, -+ 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, -+ 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, -+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -+ 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, -+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, -+ 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, -+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, -+ 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -+ 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, -+ 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, -+ 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, -+ 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, -+ 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, -+ 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, -+ 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, -+ 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, -+ 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createNewNode(Assertion,uint64,uint256,bytes32)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "require(bool,string)(newNodeHash == expectedNodeHash || expectedNodeHash == bytes32(0),UNEXPECTED_NODE_HASH)", -+ "source_mapping": { -+ "start": 23847, -+ "length": 144, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [635, 636, 637, 638], -+ "starting_column": 13, -+ "ending_column": 14 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "createNewNode", -+ "source_mapping": { -+ "start": 20652, -+ "length": 4618, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, -+ 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, -+ 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, -+ 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, -+ 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, -+ 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, -+ 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, -+ 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, -+ 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24587, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, -+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, -+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, -+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, -+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, -+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, -+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, -+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, -+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, -+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, -+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, -+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, -+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, -+ 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, -+ 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, -+ 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, -+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, -+ 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, -+ 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, -+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -+ 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, -+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -+ 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, -+ 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, -+ 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, -+ 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, -+ 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, -+ 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, -+ 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, -+ 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, -+ 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, -+ 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, -+ 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, -+ 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, -+ 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, -+ 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, -+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, -+ 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createNewNode(Assertion,uint64,uint256,bytes32)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "RollupCore.createNewNode(Assertion,uint64,uint256,bytes32) (src/rollup/RollupCore.sol#563-677) uses a dangerous strict equality:\n\t- require(bool,string)(newNodeHash == expectedNodeHash || expectedNodeHash == bytes32(0),UNEXPECTED_NODE_HASH) (src/rollup/RollupCore.sol#635-638)\n", -+ "markdown": "[RollupCore.createNewNode(Assertion,uint64,uint256,bytes32)](src/rollup/RollupCore.sol#L563-L677) uses a dangerous strict equality:\n\t- [require(bool,string)(newNodeHash == expectedNodeHash || expectedNodeHash == bytes32(0),UNEXPECTED_NODE_HASH)](src/rollup/RollupCore.sol#L635-L638)\n", -+ "first_markdown_element": "src/rollup/RollupCore.sol#L563-L677", -+ "id": "dfac2423a21baf2a37b1dd8b95efc0128475cfb15a4f40d0cc542e69ff413c79", -+ "check": "incorrect-equality", -+ "impact": "Medium", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "_validatorIsAfk", -+ "source_mapping": { -+ "start": 1426, -+ "length": 349, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [47, 48, 49, 50, 51, 52, 53, 54], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25132, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_validatorIsAfk()" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "latestNode.createdAtBlock == 0", -+ "source_mapping": { -+ "start": 1566, -+ "length": 30, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [49], -+ "starting_column": 13, -+ "ending_column": 43 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_validatorIsAfk", -+ "source_mapping": { -+ "start": 1426, -+ "length": 349, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [47, 48, 49, 50, 51, 52, 53, 54], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25132, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_validatorIsAfk()" -+ } -+ } -+ } -+ } -+ ], -+ "description": "AbsRollupUserLogic._validatorIsAfk() (src/rollup/RollupUserLogic.sol#47-54) uses a dangerous strict equality:\n\t- latestNode.createdAtBlock == 0 (src/rollup/RollupUserLogic.sol#49)\n", -+ "markdown": "[AbsRollupUserLogic._validatorIsAfk()](src/rollup/RollupUserLogic.sol#L47-L54) uses a dangerous strict equality:\n\t- [latestNode.createdAtBlock == 0](src/rollup/RollupUserLogic.sol#L49)\n", -+ "first_markdown_element": "src/rollup/RollupUserLogic.sol#L47-L54", -+ "id": "27da8dd2563854302dbb23b92013f4ff6bae23b8f09a7843b7bd073905bc04e7", -+ "check": "incorrect-equality", -+ "impact": "Medium", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "currentRequiredStake", -+ "source_mapping": { -+ "start": 20210, -+ "length": 1527, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, -+ 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, -+ 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, -+ 516, 517, 518, 519, 520, 521, 522, 523 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25132, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "currentRequiredStake(uint256,uint64,uint256)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "multiplier == 0", -+ "source_mapping": { -+ "start": 21636, -+ "length": 15, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [519], -+ "starting_column": 13, -+ "ending_column": 28 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "currentRequiredStake", -+ "source_mapping": { -+ "start": 20210, -+ "length": 1527, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, -+ 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, -+ 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, -+ 516, 517, 518, 519, 520, 521, 522, 523 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25132, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "currentRequiredStake(uint256,uint64,uint256)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256) (src/rollup/RollupUserLogic.sol#477-523) uses a dangerous strict equality:\n\t- multiplier == 0 (src/rollup/RollupUserLogic.sol#519)\n", -+ "markdown": "[AbsRollupUserLogic.currentRequiredStake(uint256,uint64,uint256)](src/rollup/RollupUserLogic.sol#L477-L523) uses a dangerous strict equality:\n\t- [multiplier == 0](src/rollup/RollupUserLogic.sol#L519)\n", -+ "first_markdown_element": "src/rollup/RollupUserLogic.sol#L477-L523", -+ "id": "46c10604345612b1526f352cacc87cc039daedff5beba654f8f07a5fdc228a45", -+ "check": "incorrect-equality", -+ "impact": "Medium", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "requireUnchallengedStaker", -+ "source_mapping": { -+ "start": 25419, -+ "length": 212, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [616, 617, 618, 619], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25132, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "requireUnchallengedStaker(address)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "require(bool,string)(currentChallenge(stakerAddress) == NO_CHAL_INDEX,IN_CHAL)", -+ "source_mapping": { -+ "start": 25556, -+ "length": 68, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [618], -+ "starting_column": 9, -+ "ending_column": 77 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "requireUnchallengedStaker", -+ "source_mapping": { -+ "start": 25419, -+ "length": 212, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [616, 617, 618, 619], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25132, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "requireUnchallengedStaker(address)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "AbsRollupUserLogic.requireUnchallengedStaker(address) (src/rollup/RollupUserLogic.sol#616-619) uses a dangerous strict equality:\n\t- require(bool,string)(currentChallenge(stakerAddress) == NO_CHAL_INDEX,IN_CHAL) (src/rollup/RollupUserLogic.sol#618)\n", -+ "markdown": "[AbsRollupUserLogic.requireUnchallengedStaker(address)](src/rollup/RollupUserLogic.sol#L616-L619) uses a dangerous strict equality:\n\t- [require(bool,string)(currentChallenge(stakerAddress) == NO_CHAL_INDEX,IN_CHAL)](src/rollup/RollupUserLogic.sol#L618)\n", -+ "first_markdown_element": "src/rollup/RollupUserLogic.sol#L616-L619", -+ "id": "1e95eacfdcf4026b8e9c94f14922ed3f0a0ec1b366b7d354316a8dbcdb09add8", -+ "check": "incorrect-equality", -+ "impact": "Medium", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "stakeOnExistingNode", -+ "source_mapping": { -+ "start": 6908, -+ "length": 583, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25132, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "stakeOnExistingNode(uint64,bytes32)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "require(bool,string)(latestStakedNode(msg.sender) == node.prevNum,NOT_STAKED_PREV)", -+ "source_mapping": { -+ "start": 7370, -+ "length": 72, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [189], -+ "starting_column": 9, -+ "ending_column": 81 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "stakeOnExistingNode", -+ "source_mapping": { -+ "start": 6908, -+ "length": 583, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25132, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "stakeOnExistingNode(uint64,bytes32)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "AbsRollupUserLogic.stakeOnExistingNode(uint64,bytes32) (src/rollup/RollupUserLogic.sol#176-191) uses a dangerous strict equality:\n\t- require(bool,string)(latestStakedNode(msg.sender) == node.prevNum,NOT_STAKED_PREV) (src/rollup/RollupUserLogic.sol#189)\n", -+ "markdown": "[AbsRollupUserLogic.stakeOnExistingNode(uint64,bytes32)](src/rollup/RollupUserLogic.sol#L176-L191) uses a dangerous strict equality:\n\t- [require(bool,string)(latestStakedNode(msg.sender) == node.prevNum,NOT_STAKED_PREV)](src/rollup/RollupUserLogic.sol#L189)\n", -+ "first_markdown_element": "src/rollup/RollupUserLogic.sol#L176-L191", -+ "id": "4507b4ce50a7c39ed1ba1cdbee0a87e257d071a80d56ccf457734f2c8f166b64", -+ "check": "incorrect-equality", -+ "impact": "Medium", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "addSequencerL2BatchImpl", -+ "source_mapping": { -+ "start": 26211, -+ "length": 1103, -+ "filename_relative": "src/bridge/SequencerInbox.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/SequencerInbox.sol", -+ "filename_short": "src/bridge/SequencerInbox.sol", -+ "is_dependency": false, -+ "lines": [ -+ 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, -+ 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, -+ 700, 701, 702, 703, 704, 705 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "SequencerInbox", -+ "source_mapping": { -+ "start": 1909, -+ "length": 29266, -+ "filename_relative": "src/bridge/SequencerInbox.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/SequencerInbox.sol", -+ "filename_short": "src/bridge/SequencerInbox.sol", -+ "is_dependency": false, -+ "lines": [ -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, -+ 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, -+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, -+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, -+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, -+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, -+ 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, -+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -+ 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, -+ 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, -+ 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, -+ 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, -+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -+ 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, -+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, -+ 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, -+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, -+ 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -+ 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, -+ 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, -+ 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, -+ 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, -+ 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, -+ 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, -+ 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, -+ 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, -+ 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, -+ 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, -+ 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, -+ 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, -+ 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, -+ 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, -+ 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, -+ 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, -+ 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, -+ 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "addSequencerL2BatchImpl(bytes32,uint256,uint256,uint256,uint256)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "(seqMessageIndex,beforeAcc,delayedAcc,acc) = bridge.enqueueSequencerMessage(dataHash,afterDelayedMessagesRead,prevMessageCount,newMessageCount)", -+ "source_mapping": { -+ "start": 26792, -+ "length": 207, -+ "filename_relative": "src/bridge/SequencerInbox.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/SequencerInbox.sol", -+ "filename_short": "src/bridge/SequencerInbox.sol", -+ "is_dependency": false, -+ "lines": [692, 693, 694, 695, 696, 697], -+ "starting_column": 9, -+ "ending_column": 10 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "addSequencerL2BatchImpl", -+ "source_mapping": { -+ "start": 26211, -+ "length": 1103, -+ "filename_relative": "src/bridge/SequencerInbox.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/SequencerInbox.sol", -+ "filename_short": "src/bridge/SequencerInbox.sol", -+ "is_dependency": false, -+ "lines": [ -+ 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, -+ 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, -+ 700, 701, 702, 703, 704, 705 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "SequencerInbox", -+ "source_mapping": { -+ "start": 1909, -+ "length": 29266, -+ "filename_relative": "src/bridge/SequencerInbox.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/SequencerInbox.sol", -+ "filename_short": "src/bridge/SequencerInbox.sol", -+ "is_dependency": false, -+ "lines": [ -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, -+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, -+ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, -+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, -+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, -+ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, -+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -+ 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, -+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, -+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, -+ 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -+ 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, -+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, -+ 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, -+ 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, -+ 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, -+ 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, -+ 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, -+ 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, -+ 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, -+ 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, -+ 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, -+ 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, -+ 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, -+ 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, -+ 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, -+ 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, -+ 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, -+ 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, -+ 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, -+ 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, -+ 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, -+ 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, -+ 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, -+ 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, -+ 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, -+ 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, -+ 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, -+ 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -+ 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, -+ 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, -+ 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, -+ 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, -+ 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, -+ 797, 798, 799, 800, 801, 802, 803, 804, 805 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "addSequencerL2BatchImpl(bytes32,uint256,uint256,uint256,uint256)" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls" } -+ }, -+ { -+ "type": "node", -+ "name": "totalDelayedMessagesRead = afterDelayedMessagesRead", -+ "source_mapping": { -+ "start": 27010, -+ "length": 51, -+ "filename_relative": "src/bridge/SequencerInbox.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/SequencerInbox.sol", -+ "filename_short": "src/bridge/SequencerInbox.sol", -+ "is_dependency": false, -+ "lines": [699], -+ "starting_column": 9, -+ "ending_column": 60 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "addSequencerL2BatchImpl", -+ "source_mapping": { -+ "start": 26211, -+ "length": 1103, -+ "filename_relative": "src/bridge/SequencerInbox.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/SequencerInbox.sol", -+ "filename_short": "src/bridge/SequencerInbox.sol", -+ "is_dependency": false, -+ "lines": [ -+ 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, -+ 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, -+ 700, 701, 702, 703, 704, 705 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "SequencerInbox", -+ "source_mapping": { -+ "start": 1909, -+ "length": 29266, -+ "filename_relative": "src/bridge/SequencerInbox.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/SequencerInbox.sol", -+ "filename_short": "src/bridge/SequencerInbox.sol", -+ "is_dependency": false, -+ "lines": [ -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, -+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, -+ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, -+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, -+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, -+ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, -+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -+ 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, -+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, -+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, -+ 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -+ 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, -+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, -+ 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, -+ 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, -+ 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, -+ 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, -+ 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, -+ 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, -+ 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, -+ 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, -+ 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, -+ 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, -+ 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, -+ 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, -+ 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, -+ 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, -+ 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, -+ 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, -+ 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, -+ 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, -+ 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, -+ 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, -+ 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, -+ 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, -+ 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, -+ 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, -+ 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, -+ 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -+ 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, -+ 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, -+ 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, -+ 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, -+ 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, -+ 797, 798, 799, 800, 801, 802, 803, 804, 805 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "addSequencerL2BatchImpl(bytes32,uint256,uint256,uint256,uint256)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "totalDelayedMessagesRead" -+ } -+ } -+ ], -+ "description": "Reentrancy in SequencerInbox.addSequencerL2BatchImpl(bytes32,uint256,uint256,uint256,uint256) (src/bridge/SequencerInbox.sol#674-705):\n\tExternal calls:\n\t- (seqMessageIndex,beforeAcc,delayedAcc,acc) = bridge.enqueueSequencerMessage(dataHash,afterDelayedMessagesRead,prevMessageCount,newMessageCount) (src/bridge/SequencerInbox.sol#692-697)\n\tState variables written after the call(s):\n\t- totalDelayedMessagesRead = afterDelayedMessagesRead (src/bridge/SequencerInbox.sol#699)\n\tSequencerInbox.totalDelayedMessagesRead (src/bridge/SequencerInbox.sol#58) can be used in cross function reentrancies:\n\t- SequencerInbox.addSequencerL2Batch(uint256,bytes,uint256,IGasRefunder,uint256,uint256) (src/bridge/SequencerInbox.sol#468-519)\n\t- SequencerInbox.addSequencerL2BatchFromBlobs(uint256,uint256,IGasRefunder,uint256,uint256) (src/bridge/SequencerInbox.sol#407-466)\n\t- SequencerInbox.addSequencerL2BatchFromOrigin(uint256,bytes,uint256,IGasRefunder,uint256,uint256) (src/bridge/SequencerInbox.sol#355-405)\n\t- SequencerInbox.addSequencerL2BatchImpl(bytes32,uint256,uint256,uint256,uint256) (src/bridge/SequencerInbox.sol#674-705)\n\t- SequencerInbox.forceInclusion(uint256,uint8,uint64[2],uint256,address,bytes32) (src/bridge/SequencerInbox.sol#284-343)\n\t- SequencerInbox.totalDelayedMessagesRead (src/bridge/SequencerInbox.sol#58)\n", -+ "markdown": "Reentrancy in [SequencerInbox.addSequencerL2BatchImpl(bytes32,uint256,uint256,uint256,uint256)](src/bridge/SequencerInbox.sol#L674-L705):\n\tExternal calls:\n\t- [(seqMessageIndex,beforeAcc,delayedAcc,acc) = bridge.enqueueSequencerMessage(dataHash,afterDelayedMessagesRead,prevMessageCount,newMessageCount)](src/bridge/SequencerInbox.sol#L692-L697)\n\tState variables written after the call(s):\n\t- [totalDelayedMessagesRead = afterDelayedMessagesRead](src/bridge/SequencerInbox.sol#L699)\n\t[SequencerInbox.totalDelayedMessagesRead](src/bridge/SequencerInbox.sol#L58) can be used in cross function reentrancies:\n\t- [SequencerInbox.addSequencerL2Batch(uint256,bytes,uint256,IGasRefunder,uint256,uint256)](src/bridge/SequencerInbox.sol#L468-L519)\n\t- [SequencerInbox.addSequencerL2BatchFromBlobs(uint256,uint256,IGasRefunder,uint256,uint256)](src/bridge/SequencerInbox.sol#L407-L466)\n\t- [SequencerInbox.addSequencerL2BatchFromOrigin(uint256,bytes,uint256,IGasRefunder,uint256,uint256)](src/bridge/SequencerInbox.sol#L355-L405)\n\t- [SequencerInbox.addSequencerL2BatchImpl(bytes32,uint256,uint256,uint256,uint256)](src/bridge/SequencerInbox.sol#L674-L705)\n\t- [SequencerInbox.forceInclusion(uint256,uint8,uint64[2],uint256,address,bytes32)](src/bridge/SequencerInbox.sol#L284-L343)\n\t- [SequencerInbox.totalDelayedMessagesRead](src/bridge/SequencerInbox.sol#L58)\n", -+ "first_markdown_element": "src/bridge/SequencerInbox.sol#L674-L705", -+ "id": "b38d9bf0df554a08cf1b8bb6d468b87dd156690f340b399262fff373086c5825", -+ "check": "reentrancy-no-eth", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "createChallenge", -+ "source_mapping": { -+ "start": 12264, -+ "length": 3131, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25132, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, -+ 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, -+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, -+ 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, -+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, -+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, -+ 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, -+ 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "challengeIndex = createChallengeHelper(stakers,machineStatuses,globalStates,numBlocks,wasmModuleRoots,(commonEndBlock - proposedBlocks[0]) * ETH_POS_BLOCK_TIME,(commonEndBlock - proposedBlocks[1]) * ETH_POS_BLOCK_TIME)", -+ "source_mapping": { -+ "start": 14807, -+ "length": 398, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [350, 351, 352, 353, 354, 355, 356, 357, 358, 359], -+ "starting_column": 9, -+ "ending_column": 10 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "createChallenge", -+ "source_mapping": { -+ "start": 12264, -+ "length": 3131, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25132, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls" } -+ }, -+ { -+ "type": "node", -+ "name": "challengeManager.createChallenge(wasmModuleRoots[0],machineStatuses,globalStates,numBlocks,stakers[0],stakers[1],asserterTimeLeft,challengerTimeLeft)", -+ "source_mapping": { -+ "start": 15749, -+ "length": 317, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385], -+ "starting_column": 9, -+ "ending_column": 14 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "createChallengeHelper", -+ "source_mapping": { -+ "start": 15401, -+ "length": 672, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, -+ 379, 380, 381, 382, 383, 384, 385, 386 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25132, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createChallengeHelper(address[2],MachineStatus[2],GlobalState[2],uint64,bytes32[2],uint256,uint256)" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls_sending_eth" } -+ }, -+ { -+ "type": "node", -+ "name": "challengeStarted(stakers[0],stakers[1],challengeIndex)", -+ "source_mapping": { -+ "start": 15241, -+ "length": 56, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [361], -+ "starting_column": 9, -+ "ending_column": 65 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "createChallenge", -+ "source_mapping": { -+ "start": 12264, -+ "length": 3131, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsRollupUserLogic", -+ "source_mapping": { -+ "start": 501, -+ "length": 25132, -+ "filename_relative": "src/rollup/RollupUserLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupUserLogic.sol", -+ "filename_short": "src/rollup/RollupUserLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, -+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, -+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, -+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, -+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, -+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, -+ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, -+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, -+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -+ 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, -+ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -+ 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, -+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, -+ 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, -+ 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, -+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "_stakerMap" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "_stakerMap[staker1].currentChallenge = challenge", -+ "source_mapping": { -+ "start": 13576, -+ "length": 48, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [383], -+ "starting_column": 9, -+ "ending_column": 57 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "challengeStarted", -+ "source_mapping": { -+ "start": 13449, -+ "length": 240, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [378, 379, 380, 381, 382, 383, 384, 385], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24587, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, -+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, -+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, -+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, -+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, -+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, -+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, -+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, -+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, -+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, -+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, -+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, -+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, -+ 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, -+ 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, -+ 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, -+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, -+ 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, -+ 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, -+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -+ 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, -+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -+ 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, -+ 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, -+ 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, -+ 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, -+ 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, -+ 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, -+ 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, -+ 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, -+ 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, -+ 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, -+ 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, -+ 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, -+ 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, -+ 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, -+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, -+ 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "challengeStarted(address,address,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "_stakerMap" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "_stakerMap[staker2].currentChallenge = challenge", -+ "source_mapping": { -+ "start": 13634, -+ "length": 48, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [384], -+ "starting_column": 9, -+ "ending_column": 57 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "challengeStarted", -+ "source_mapping": { -+ "start": 13449, -+ "length": 240, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [378, 379, 380, 381, 382, 383, 384, 385], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24587, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, -+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, -+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, -+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, -+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, -+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, -+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, -+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, -+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, -+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, -+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, -+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, -+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, -+ 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, -+ 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, -+ 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, -+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, -+ 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, -+ 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, -+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -+ 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, -+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -+ 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, -+ 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, -+ 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, -+ 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, -+ 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, -+ 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, -+ 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, -+ 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, -+ 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, -+ 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, -+ 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, -+ 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, -+ 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, -+ 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, -+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, -+ 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "challengeStarted(address,address,uint64)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "_stakerMap" -+ } -+ } -+ ], -+ "description": "Reentrancy in AbsRollupUserLogic.createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2]) (src/rollup/RollupUserLogic.sol#291-364):\n\tExternal calls:\n\t- challengeIndex = createChallengeHelper(stakers,machineStatuses,globalStates,numBlocks,wasmModuleRoots,(commonEndBlock - proposedBlocks[0]) * ETH_POS_BLOCK_TIME,(commonEndBlock - proposedBlocks[1]) * ETH_POS_BLOCK_TIME) (src/rollup/RollupUserLogic.sol#350-359)\n\t\t- challengeManager.createChallenge(wasmModuleRoots[0],machineStatuses,globalStates,numBlocks,stakers[0],stakers[1],asserterTimeLeft,challengerTimeLeft) (src/rollup/RollupUserLogic.sol#375-385)\n\tState variables written after the call(s):\n\t- challengeStarted(stakers[0],stakers[1],challengeIndex) (src/rollup/RollupUserLogic.sol#361)\n\t\t- _stakerMap[staker1].currentChallenge = challenge (src/rollup/RollupCore.sol#383)\n\t\t- _stakerMap[staker2].currentChallenge = challenge (src/rollup/RollupCore.sol#384)\n\tRollupCore._stakerMap (src/rollup/RollupCore.sol#68) can be used in cross function reentrancies:\n\t- RollupCore._stakerMap (src/rollup/RollupCore.sol#68)\n\t- RollupCore.amountStaked(address) (src/rollup/RollupCore.sol#185-187)\n\t- RollupCore.challengeStarted(address,address,uint64) (src/rollup/RollupCore.sol#378-385)\n\t- RollupCore.clearChallenge(address) (src/rollup/RollupCore.sol#367-370)\n\t- RollupCore.currentChallenge(address) (src/rollup/RollupCore.sol#176-178)\n\t- RollupCore.deleteStaker(address) (src/rollup/RollupCore.sol#542-550)\n\t- RollupCore.getStaker(address) (src/rollup/RollupCore.sol#194-196)\n\t- RollupCore.inChallenge(address,address) (src/rollup/RollupCore.sol#350-361)\n\t- RollupCore.increaseStakeBy(address,uint256) (src/rollup/RollupCore.sol#392-398)\n\t- RollupCore.isStaked(address) (src/rollup/RollupCore.sol#148-150)\n\t- RollupCore.isStakedOnLatestConfirmed(address) (src/rollup/RollupCore.sol#158-160)\n\t- RollupCore.latestStakedNode(address) (src/rollup/RollupCore.sol#167-169)\n\t- RollupCore.reduceStakeTo(address,uint256) (src/rollup/RollupCore.sol#406-415)\n\t- RollupCore.stakeOnNode(address,uint64) (src/rollup/RollupCore.sol#507-511)\n\t- RollupCore.turnIntoZombie(address) (src/rollup/RollupCore.sol#421-425)\n\t- RollupCore.withdrawStaker(address) (src/rollup/RollupCore.sol#488-500)\n", -+ "markdown": "Reentrancy in [AbsRollupUserLogic.createChallenge(address[2],uint64[2],MachineStatus[2],GlobalState[2],uint64,bytes32,uint256[2],bytes32[2])](src/rollup/RollupUserLogic.sol#L291-L364):\n\tExternal calls:\n\t- [challengeIndex = createChallengeHelper(stakers,machineStatuses,globalStates,numBlocks,wasmModuleRoots,(commonEndBlock - proposedBlocks[0]) * ETH_POS_BLOCK_TIME,(commonEndBlock - proposedBlocks[1]) * ETH_POS_BLOCK_TIME)](src/rollup/RollupUserLogic.sol#L350-L359)\n\t\t- [challengeManager.createChallenge(wasmModuleRoots[0],machineStatuses,globalStates,numBlocks,stakers[0],stakers[1],asserterTimeLeft,challengerTimeLeft)](src/rollup/RollupUserLogic.sol#L375-L385)\n\tState variables written after the call(s):\n\t- [challengeStarted(stakers[0],stakers[1],challengeIndex)](src/rollup/RollupUserLogic.sol#L361)\n\t\t- [_stakerMap[staker1].currentChallenge = challenge](src/rollup/RollupCore.sol#L383)\n\t\t- [_stakerMap[staker2].currentChallenge = challenge](src/rollup/RollupCore.sol#L384)\n\t[RollupCore._stakerMap](src/rollup/RollupCore.sol#L68) can be used in cross function reentrancies:\n\t- [RollupCore._stakerMap](src/rollup/RollupCore.sol#L68)\n\t- [RollupCore.amountStaked(address)](src/rollup/RollupCore.sol#L185-L187)\n\t- [RollupCore.challengeStarted(address,address,uint64)](src/rollup/RollupCore.sol#L378-L385)\n\t- [RollupCore.clearChallenge(address)](src/rollup/RollupCore.sol#L367-L370)\n\t- [RollupCore.currentChallenge(address)](src/rollup/RollupCore.sol#L176-L178)\n\t- [RollupCore.deleteStaker(address)](src/rollup/RollupCore.sol#L542-L550)\n\t- [RollupCore.getStaker(address)](src/rollup/RollupCore.sol#L194-L196)\n\t- [RollupCore.inChallenge(address,address)](src/rollup/RollupCore.sol#L350-L361)\n\t- [RollupCore.increaseStakeBy(address,uint256)](src/rollup/RollupCore.sol#L392-L398)\n\t- [RollupCore.isStaked(address)](src/rollup/RollupCore.sol#L148-L150)\n\t- [RollupCore.isStakedOnLatestConfirmed(address)](src/rollup/RollupCore.sol#L158-L160)\n\t- [RollupCore.latestStakedNode(address)](src/rollup/RollupCore.sol#L167-L169)\n\t- [RollupCore.reduceStakeTo(address,uint256)](src/rollup/RollupCore.sol#L406-L415)\n\t- [RollupCore.stakeOnNode(address,uint64)](src/rollup/RollupCore.sol#L507-L511)\n\t- [RollupCore.turnIntoZombie(address)](src/rollup/RollupCore.sol#L421-L425)\n\t- [RollupCore.withdrawStaker(address)](src/rollup/RollupCore.sol#L488-L500)\n", -+ "first_markdown_element": "src/rollup/RollupUserLogic.sol#L291-L364", -+ "id": "af65892a907a109b6f58d5895c29425a5794647abc20793593b6461989e07fb6", -+ "check": "reentrancy-no-eth", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "executeTransactionImpl", -+ "source_mapping": { -+ "start": 7336, -+ "length": 990, -+ "filename_relative": "src/bridge/AbsOutbox.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsOutbox.sol", -+ "filename_short": "src/bridge/AbsOutbox.sol", -+ "is_dependency": false, -+ "lines": [ -+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsOutbox", -+ "source_mapping": { -+ "start": 698, -+ "length": 11504, -+ "filename_relative": "src/bridge/AbsOutbox.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsOutbox.sol", -+ "filename_short": "src/bridge/AbsOutbox.sol", -+ "is_dependency": false, -+ "lines": [ -+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, -+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, -+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, -+ 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, -+ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, -+ 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, -+ 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, -+ 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, -+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, -+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, -+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, -+ 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, -+ 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, -+ 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, -+ 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, -+ 326 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeTransactionImpl(uint256,address,address,uint256,uint256,uint256,uint256,bytes)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "executeBridgeCall(to,value,data)", -+ "source_mapping": { -+ "start": 8253, -+ "length": 34, -+ "filename_relative": "src/bridge/AbsOutbox.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsOutbox.sol", -+ "filename_short": "src/bridge/AbsOutbox.sol", -+ "is_dependency": false, -+ "lines": [222], -+ "starting_column": 9, -+ "ending_column": 43 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeTransactionImpl", -+ "source_mapping": { -+ "start": 7336, -+ "length": 990, -+ "filename_relative": "src/bridge/AbsOutbox.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsOutbox.sol", -+ "filename_short": "src/bridge/AbsOutbox.sol", -+ "is_dependency": false, -+ "lines": [ -+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsOutbox", -+ "source_mapping": { -+ "start": 698, -+ "length": 11504, -+ "filename_relative": "src/bridge/AbsOutbox.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsOutbox.sol", -+ "filename_short": "src/bridge/AbsOutbox.sol", -+ "is_dependency": false, -+ "lines": [ -+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, -+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, -+ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, -+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, -+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, -+ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, -+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeTransactionImpl(uint256,address,address,uint256,uint256,uint256,uint256,bytes)" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls" } -+ }, -+ { -+ "type": "node", -+ "name": "(success,returndata) = bridge.executeCall(to,value,data)", -+ "source_mapping": { -+ "start": 9954, -+ "length": 77, -+ "filename_relative": "src/bridge/AbsOutbox.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsOutbox.sol", -+ "filename_short": "src/bridge/AbsOutbox.sol", -+ "is_dependency": false, -+ "lines": [275], -+ "starting_column": 9, -+ "ending_column": 86 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeBridgeCall", -+ "source_mapping": { -+ "start": 9832, -+ "length": 594, -+ "filename_relative": "src/bridge/AbsOutbox.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsOutbox.sol", -+ "filename_short": "src/bridge/AbsOutbox.sol", -+ "is_dependency": false, -+ "lines": [ -+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, -+ 283, 284, 285, 286, 287 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsOutbox", -+ "source_mapping": { -+ "start": 698, -+ "length": 11504, -+ "filename_relative": "src/bridge/AbsOutbox.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsOutbox.sol", -+ "filename_short": "src/bridge/AbsOutbox.sol", -+ "is_dependency": false, -+ "lines": [ -+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, -+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, -+ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, -+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, -+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, -+ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, -+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeBridgeCall(address,uint256,bytes)" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls_sending_eth" } -+ }, -+ { -+ "type": "node", -+ "name": "context = prevContext", -+ "source_mapping": { -+ "start": 8298, -+ "length": 21, -+ "filename_relative": "src/bridge/AbsOutbox.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsOutbox.sol", -+ "filename_short": "src/bridge/AbsOutbox.sol", -+ "is_dependency": false, -+ "lines": [224], -+ "starting_column": 9, -+ "ending_column": 30 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeTransactionImpl", -+ "source_mapping": { -+ "start": 7336, -+ "length": 990, -+ "filename_relative": "src/bridge/AbsOutbox.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsOutbox.sol", -+ "filename_short": "src/bridge/AbsOutbox.sol", -+ "is_dependency": false, -+ "lines": [ -+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsOutbox", -+ "source_mapping": { -+ "start": 698, -+ "length": 11504, -+ "filename_relative": "src/bridge/AbsOutbox.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsOutbox.sol", -+ "filename_short": "src/bridge/AbsOutbox.sol", -+ "is_dependency": false, -+ "lines": [ -+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, -+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, -+ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, -+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, -+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, -+ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, -+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeTransactionImpl(uint256,address,address,uint256,uint256,uint256,uint256,bytes)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "context" -+ } -+ } -+ ], -+ "description": "Reentrancy in AbsOutbox.executeTransactionImpl(uint256,address,address,uint256,uint256,uint256,uint256,bytes) (src/bridge/AbsOutbox.sol#196-225):\n\tExternal calls:\n\t- executeBridgeCall(to,value,data) (src/bridge/AbsOutbox.sol#222)\n\t\t- (success,returndata) = bridge.executeCall(to,value,data) (src/bridge/AbsOutbox.sol#275)\n\tState variables written after the call(s):\n\t- context = prevContext (src/bridge/AbsOutbox.sol#224)\n\tAbsOutbox.context (src/bridge/AbsOutbox.sol#51) can be used in cross function reentrancies:\n\t- AbsOutbox.executeTransactionImpl(uint256,address,address,uint256,uint256,uint256,uint256,bytes) (src/bridge/AbsOutbox.sol#196-225)\n\t- AbsOutbox.initialize(IBridge) (src/bridge/AbsOutbox.sol#63-79)\n\t- AbsOutbox.l2ToL1Block() (src/bridge/AbsOutbox.sol#118-123)\n\t- AbsOutbox.l2ToL1EthBlock() (src/bridge/AbsOutbox.sol#126-131)\n\t- AbsOutbox.l2ToL1OutputId() (src/bridge/AbsOutbox.sol#147-152)\n\t- AbsOutbox.l2ToL1Sender() (src/bridge/AbsOutbox.sol#110-115)\n\t- AbsOutbox.l2ToL1Timestamp() (src/bridge/AbsOutbox.sol#134-139)\n\t- AbsOutbox.postUpgradeInit() (src/bridge/AbsOutbox.sol#81-92)\n", -+ "markdown": "Reentrancy in [AbsOutbox.executeTransactionImpl(uint256,address,address,uint256,uint256,uint256,uint256,bytes)](src/bridge/AbsOutbox.sol#L196-L225):\n\tExternal calls:\n\t- [executeBridgeCall(to,value,data)](src/bridge/AbsOutbox.sol#L222)\n\t\t- [(success,returndata) = bridge.executeCall(to,value,data)](src/bridge/AbsOutbox.sol#L275)\n\tState variables written after the call(s):\n\t- [context = prevContext](src/bridge/AbsOutbox.sol#L224)\n\t[AbsOutbox.context](src/bridge/AbsOutbox.sol#L51) can be used in cross function reentrancies:\n\t- [AbsOutbox.executeTransactionImpl(uint256,address,address,uint256,uint256,uint256,uint256,bytes)](src/bridge/AbsOutbox.sol#L196-L225)\n\t- [AbsOutbox.initialize(IBridge)](src/bridge/AbsOutbox.sol#L63-L79)\n\t- [AbsOutbox.l2ToL1Block()](src/bridge/AbsOutbox.sol#L118-L123)\n\t- [AbsOutbox.l2ToL1EthBlock()](src/bridge/AbsOutbox.sol#L126-L131)\n\t- [AbsOutbox.l2ToL1OutputId()](src/bridge/AbsOutbox.sol#L147-L152)\n\t- [AbsOutbox.l2ToL1Sender()](src/bridge/AbsOutbox.sol#L110-L115)\n\t- [AbsOutbox.l2ToL1Timestamp()](src/bridge/AbsOutbox.sol#L134-L139)\n\t- [AbsOutbox.postUpgradeInit()](src/bridge/AbsOutbox.sol#L81-L92)\n", -+ "first_markdown_element": "src/bridge/AbsOutbox.sol#L196-L225", -+ "id": "426e61b097c321e642232d0d55da1f37bdf8bba9a4d0f425a61dc187192ef9ed", -+ "check": "reentrancy-no-eth", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "forceResolveChallenge", -+ "source_mapping": { -+ "start": 10412, -+ "length": 631, -+ "filename_relative": "src/rollup/RollupAdminLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupAdminLogic.sol", -+ "filename_short": "src/rollup/RollupAdminLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupAdminLogic", -+ "source_mapping": { -+ "start": 590, -+ "length": 14555, -+ "filename_relative": "src/rollup/RollupAdminLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupAdminLogic.sol", -+ "filename_short": "src/rollup/RollupAdminLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, -+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, -+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, -+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, -+ 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, -+ 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, -+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, -+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, -+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, -+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, -+ 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, -+ 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, -+ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, -+ 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -+ 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, -+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, -+ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, -+ 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, -+ 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, -+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, -+ 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, -+ 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "forceResolveChallenge(address[],address[])" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "challengeManager.clearChallenge(chall)", -+ "source_mapping": { -+ "start": 10950, -+ "length": 38, -+ "filename_relative": "src/rollup/RollupAdminLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupAdminLogic.sol", -+ "filename_short": "src/rollup/RollupAdminLogic.sol", -+ "is_dependency": false, -+ "lines": [271], -+ "starting_column": 13, -+ "ending_column": 51 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "forceResolveChallenge", -+ "source_mapping": { -+ "start": 10412, -+ "length": 631, -+ "filename_relative": "src/rollup/RollupAdminLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupAdminLogic.sol", -+ "filename_short": "src/rollup/RollupAdminLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupAdminLogic", -+ "source_mapping": { -+ "start": 590, -+ "length": 14555, -+ "filename_relative": "src/rollup/RollupAdminLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupAdminLogic.sol", -+ "filename_short": "src/rollup/RollupAdminLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, -+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, -+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, -+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, -+ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, -+ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, -+ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -+ 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, -+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, -+ 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, -+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, -+ 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, -+ 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, -+ 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, -+ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, -+ 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, -+ 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, -+ 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -+ 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "forceResolveChallenge(address[],address[])" -+ } -+ } -+ }, -+ "additional_fields": { "underlying_type": "external_calls" } -+ }, -+ { -+ "type": "node", -+ "name": "clearChallenge(stakerA[i])", -+ "source_mapping": { -+ "start": 10870, -+ "length": 26, -+ "filename_relative": "src/rollup/RollupAdminLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupAdminLogic.sol", -+ "filename_short": "src/rollup/RollupAdminLogic.sol", -+ "is_dependency": false, -+ "lines": [269], -+ "starting_column": 13, -+ "ending_column": 39 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "forceResolveChallenge", -+ "source_mapping": { -+ "start": 10412, -+ "length": 631, -+ "filename_relative": "src/rollup/RollupAdminLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupAdminLogic.sol", -+ "filename_short": "src/rollup/RollupAdminLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupAdminLogic", -+ "source_mapping": { -+ "start": 590, -+ "length": 14555, -+ "filename_relative": "src/rollup/RollupAdminLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupAdminLogic.sol", -+ "filename_short": "src/rollup/RollupAdminLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, -+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, -+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, -+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, -+ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, -+ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, -+ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -+ 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, -+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, -+ 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, -+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, -+ 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, -+ 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, -+ 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, -+ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, -+ 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, -+ 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, -+ 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -+ 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "forceResolveChallenge(address[],address[])" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "_stakerMap" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "staker.currentChallenge = NO_CHAL_INDEX", -+ "source_mapping": { -+ "start": 13136, -+ "length": 39, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [369], -+ "starting_column": 9, -+ "ending_column": 48 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "clearChallenge", -+ "source_mapping": { -+ "start": 13011, -+ "length": 171, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [367, 368, 369, 370], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24587, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, -+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, -+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, -+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, -+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, -+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, -+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, -+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, -+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, -+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, -+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, -+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, -+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, -+ 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, -+ 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, -+ 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, -+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, -+ 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, -+ 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, -+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -+ 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, -+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -+ 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, -+ 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, -+ 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, -+ 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, -+ 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, -+ 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, -+ 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, -+ 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, -+ 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, -+ 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, -+ 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, -+ 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, -+ 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, -+ 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, -+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, -+ 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "clearChallenge(address)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "_stakerMap" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "clearChallenge(stakerB[i])", -+ "source_mapping": { -+ "start": 10910, -+ "length": 26, -+ "filename_relative": "src/rollup/RollupAdminLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupAdminLogic.sol", -+ "filename_short": "src/rollup/RollupAdminLogic.sol", -+ "is_dependency": false, -+ "lines": [270], -+ "starting_column": 13, -+ "ending_column": 39 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "forceResolveChallenge", -+ "source_mapping": { -+ "start": 10412, -+ "length": 631, -+ "filename_relative": "src/rollup/RollupAdminLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupAdminLogic.sol", -+ "filename_short": "src/rollup/RollupAdminLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -+ 271, 272, 273, 274 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupAdminLogic", -+ "source_mapping": { -+ "start": 590, -+ "length": 14555, -+ "filename_relative": "src/rollup/RollupAdminLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupAdminLogic.sol", -+ "filename_short": "src/rollup/RollupAdminLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, -+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, -+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, -+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, -+ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, -+ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, -+ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -+ 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, -+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, -+ 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, -+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, -+ 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, -+ 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, -+ 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, -+ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, -+ 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, -+ 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, -+ 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -+ 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "forceResolveChallenge(address[],address[])" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "_stakerMap" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "staker.currentChallenge = NO_CHAL_INDEX", -+ "source_mapping": { -+ "start": 13136, -+ "length": 39, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [369], -+ "starting_column": 9, -+ "ending_column": 48 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "clearChallenge", -+ "source_mapping": { -+ "start": 13011, -+ "length": 171, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [367, 368, 369, 370], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24587, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, -+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, -+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, -+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, -+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, -+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, -+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, -+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, -+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, -+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, -+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, -+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, -+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, -+ 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, -+ 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, -+ 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, -+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, -+ 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, -+ 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, -+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -+ 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, -+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -+ 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, -+ 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, -+ 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, -+ 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, -+ 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, -+ 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, -+ 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, -+ 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, -+ 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, -+ 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, -+ 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, -+ 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, -+ 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, -+ 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, -+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, -+ 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "clearChallenge(address)" -+ } -+ } -+ }, -+ "additional_fields": { -+ "underlying_type": "variables_written", -+ "variable_name": "_stakerMap" -+ } -+ } -+ ], -+ "description": "Reentrancy in RollupAdminLogic.forceResolveChallenge(address[],address[]) (src/rollup/RollupAdminLogic.sol#258-274):\n\tExternal calls:\n\t- challengeManager.clearChallenge(chall) (src/rollup/RollupAdminLogic.sol#271)\n\tState variables written after the call(s):\n\t- clearChallenge(stakerA[i]) (src/rollup/RollupAdminLogic.sol#269)\n\t\t- staker.currentChallenge = NO_CHAL_INDEX (src/rollup/RollupCore.sol#369)\n\tRollupCore._stakerMap (src/rollup/RollupCore.sol#68) can be used in cross function reentrancies:\n\t- RollupCore._stakerMap (src/rollup/RollupCore.sol#68)\n\t- RollupCore.amountStaked(address) (src/rollup/RollupCore.sol#185-187)\n\t- RollupCore.clearChallenge(address) (src/rollup/RollupCore.sol#367-370)\n\t- RollupCore.currentChallenge(address) (src/rollup/RollupCore.sol#176-178)\n\t- RollupCore.deleteStaker(address) (src/rollup/RollupCore.sol#542-550)\n\t- RollupAdminLogic.forceRefundStaker(address[]) (src/rollup/RollupAdminLogic.sol#276-284)\n\t- RollupCore.getStaker(address) (src/rollup/RollupCore.sol#194-196)\n\t- RollupCore.inChallenge(address,address) (src/rollup/RollupCore.sol#350-361)\n\t- RollupCore.isStaked(address) (src/rollup/RollupCore.sol#148-150)\n\t- RollupCore.isStakedOnLatestConfirmed(address) (src/rollup/RollupCore.sol#158-160)\n\t- RollupCore.latestStakedNode(address) (src/rollup/RollupCore.sol#167-169)\n\t- RollupCore.reduceStakeTo(address,uint256) (src/rollup/RollupCore.sol#406-415)\n\t- RollupCore.turnIntoZombie(address) (src/rollup/RollupCore.sol#421-425)\n\t- clearChallenge(stakerB[i]) (src/rollup/RollupAdminLogic.sol#270)\n\t\t- staker.currentChallenge = NO_CHAL_INDEX (src/rollup/RollupCore.sol#369)\n\tRollupCore._stakerMap (src/rollup/RollupCore.sol#68) can be used in cross function reentrancies:\n\t- RollupCore._stakerMap (src/rollup/RollupCore.sol#68)\n\t- RollupCore.amountStaked(address) (src/rollup/RollupCore.sol#185-187)\n\t- RollupCore.clearChallenge(address) (src/rollup/RollupCore.sol#367-370)\n\t- RollupCore.currentChallenge(address) (src/rollup/RollupCore.sol#176-178)\n\t- RollupCore.deleteStaker(address) (src/rollup/RollupCore.sol#542-550)\n\t- RollupAdminLogic.forceRefundStaker(address[]) (src/rollup/RollupAdminLogic.sol#276-284)\n\t- RollupCore.getStaker(address) (src/rollup/RollupCore.sol#194-196)\n\t- RollupCore.inChallenge(address,address) (src/rollup/RollupCore.sol#350-361)\n\t- RollupCore.isStaked(address) (src/rollup/RollupCore.sol#148-150)\n\t- RollupCore.isStakedOnLatestConfirmed(address) (src/rollup/RollupCore.sol#158-160)\n\t- RollupCore.latestStakedNode(address) (src/rollup/RollupCore.sol#167-169)\n\t- RollupCore.reduceStakeTo(address,uint256) (src/rollup/RollupCore.sol#406-415)\n\t- RollupCore.turnIntoZombie(address) (src/rollup/RollupCore.sol#421-425)\n", -+ "markdown": "Reentrancy in [RollupAdminLogic.forceResolveChallenge(address[],address[])](src/rollup/RollupAdminLogic.sol#L258-L274):\n\tExternal calls:\n\t- [challengeManager.clearChallenge(chall)](src/rollup/RollupAdminLogic.sol#L271)\n\tState variables written after the call(s):\n\t- [clearChallenge(stakerA[i])](src/rollup/RollupAdminLogic.sol#L269)\n\t\t- [staker.currentChallenge = NO_CHAL_INDEX](src/rollup/RollupCore.sol#L369)\n\t[RollupCore._stakerMap](src/rollup/RollupCore.sol#L68) can be used in cross function reentrancies:\n\t- [RollupCore._stakerMap](src/rollup/RollupCore.sol#L68)\n\t- [RollupCore.amountStaked(address)](src/rollup/RollupCore.sol#L185-L187)\n\t- [RollupCore.clearChallenge(address)](src/rollup/RollupCore.sol#L367-L370)\n\t- [RollupCore.currentChallenge(address)](src/rollup/RollupCore.sol#L176-L178)\n\t- [RollupCore.deleteStaker(address)](src/rollup/RollupCore.sol#L542-L550)\n\t- [RollupAdminLogic.forceRefundStaker(address[])](src/rollup/RollupAdminLogic.sol#L276-L284)\n\t- [RollupCore.getStaker(address)](src/rollup/RollupCore.sol#L194-L196)\n\t- [RollupCore.inChallenge(address,address)](src/rollup/RollupCore.sol#L350-L361)\n\t- [RollupCore.isStaked(address)](src/rollup/RollupCore.sol#L148-L150)\n\t- [RollupCore.isStakedOnLatestConfirmed(address)](src/rollup/RollupCore.sol#L158-L160)\n\t- [RollupCore.latestStakedNode(address)](src/rollup/RollupCore.sol#L167-L169)\n\t- [RollupCore.reduceStakeTo(address,uint256)](src/rollup/RollupCore.sol#L406-L415)\n\t- [RollupCore.turnIntoZombie(address)](src/rollup/RollupCore.sol#L421-L425)\n\t- [clearChallenge(stakerB[i])](src/rollup/RollupAdminLogic.sol#L270)\n\t\t- [staker.currentChallenge = NO_CHAL_INDEX](src/rollup/RollupCore.sol#L369)\n\t[RollupCore._stakerMap](src/rollup/RollupCore.sol#L68) can be used in cross function reentrancies:\n\t- [RollupCore._stakerMap](src/rollup/RollupCore.sol#L68)\n\t- [RollupCore.amountStaked(address)](src/rollup/RollupCore.sol#L185-L187)\n\t- [RollupCore.clearChallenge(address)](src/rollup/RollupCore.sol#L367-L370)\n\t- [RollupCore.currentChallenge(address)](src/rollup/RollupCore.sol#L176-L178)\n\t- [RollupCore.deleteStaker(address)](src/rollup/RollupCore.sol#L542-L550)\n\t- [RollupAdminLogic.forceRefundStaker(address[])](src/rollup/RollupAdminLogic.sol#L276-L284)\n\t- [RollupCore.getStaker(address)](src/rollup/RollupCore.sol#L194-L196)\n\t- [RollupCore.inChallenge(address,address)](src/rollup/RollupCore.sol#L350-L361)\n\t- [RollupCore.isStaked(address)](src/rollup/RollupCore.sol#L148-L150)\n\t- [RollupCore.isStakedOnLatestConfirmed(address)](src/rollup/RollupCore.sol#L158-L160)\n\t- [RollupCore.latestStakedNode(address)](src/rollup/RollupCore.sol#L167-L169)\n\t- [RollupCore.reduceStakeTo(address,uint256)](src/rollup/RollupCore.sol#L406-L415)\n\t- [RollupCore.turnIntoZombie(address)](src/rollup/RollupCore.sol#L421-L425)\n", -+ "first_markdown_element": "src/rollup/RollupAdminLogic.sol#L258-L274", -+ "id": "2e21893be44131693ea2dfb272622853fa44deea082e4c78e0bbd132c84af93e", -+ "check": "reentrancy-no-eth", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "u64Vals", -+ "source_mapping": { -+ "start": 6924, -+ "length": 24, -+ "filename_relative": "src/state/Deserialize.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/state/Deserialize.sol", -+ "filename_short": "src/state/Deserialize.sol", -+ "is_dependency": false, -+ "lines": [226], -+ "starting_column": 9, -+ "ending_column": 33 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "globalState", -+ "source_mapping": { -+ "start": 6617, -+ "length": 684, -+ "filename_relative": "src/state/Deserialize.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/state/Deserialize.sol", -+ "filename_short": "src/state/Deserialize.sol", -+ "is_dependency": false, -+ "lines": [ -+ 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -+ 230, 231, 232, 233, 234, 235 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "Deserialize", -+ "source_mapping": { -+ "start": 450, -+ "length": 9161, -+ "filename_relative": "src/state/Deserialize.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/state/Deserialize.sol", -+ "filename_short": "src/state/Deserialize.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, -+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, -+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "globalState(bytes,uint256)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "Deserialize.globalState(bytes,uint256).u64Vals (src/state/Deserialize.sol#226) is a local variable never initialized\n", -+ "markdown": "[Deserialize.globalState(bytes,uint256).u64Vals](src/state/Deserialize.sol#L226) is a local variable never initialized\n", -+ "first_markdown_element": "src/state/Deserialize.sol#L226", -+ "id": "b49e20832cf227724d4b048fc859ce00efa36bda00bb2d354df6861b1e5b65c8", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "funcIdx", -+ "source_mapping": { -+ "start": 6151, -+ "length": 14, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [194], -+ "starting_column": 9, -+ "ending_column": 23 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeCallIndirect", -+ "source_mapping": { -+ "start": 5971, -+ "length": 3565, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [ -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, -+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, -+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -+ 266, 267, 268, 269, 270, 271, 272, 273, 274 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProver0", -+ "source_mapping": { -+ "start": 362, -+ "length": 16704, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, -+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, -+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, -+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, -+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -+ 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, -+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, -+ 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -+ 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, -+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -+ 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, -+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, -+ 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, -+ 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, -+ 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeCallIndirect(Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProver0.executeCallIndirect(Machine,Module,Instruction,bytes).funcIdx (src/osp/OneStepProver0.sol#194) is a local variable never initialized\n", -+ "markdown": "[OneStepProver0.executeCallIndirect(Machine,Module,Instruction,bytes).funcIdx](src/osp/OneStepProver0.sol#L194) is a local variable never initialized\n", -+ "first_markdown_element": "src/osp/OneStepProver0.sol#L194", -+ "id": "0b3ea27e34dd552b3d33e544c7732699f56da1be9d675526040264c6f35cf115", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "sourceBits", -+ "source_mapping": { -+ "start": 12021, -+ "length": 16, -+ "filename_relative": "src/osp/OneStepProverMath.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMath.sol", -+ "filename_short": "src/osp/OneStepProverMath.sol", -+ "is_dependency": false, -+ "lines": [400], -+ "starting_column": 9, -+ "ending_column": 25 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeExtendSameType", -+ "source_mapping": { -+ "start": 11827, -+ "length": 1476, -+ "filename_relative": "src/osp/OneStepProverMath.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMath.sol", -+ "filename_short": "src/osp/OneStepProverMath.sol", -+ "is_dependency": false, -+ "lines": [ -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, -+ 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -+ 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, -+ 432, 433, 434 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverMath", -+ "source_mapping": { -+ "start": 362, -+ "length": 16325, -+ "filename_relative": "src/osp/OneStepProverMath.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMath.sol", -+ "filename_short": "src/osp/OneStepProverMath.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, -+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, -+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, -+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, -+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -+ 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, -+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, -+ 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -+ 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, -+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -+ 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, -+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, -+ 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, -+ 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, -+ 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, -+ 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, -+ 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, -+ 522, 523, 524 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeExtendSameType(Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProverMath.executeExtendSameType(Machine,Module,Instruction,bytes).sourceBits (src/osp/OneStepProverMath.sol#400) is a local variable never initialized\n", -+ "markdown": "[OneStepProverMath.executeExtendSameType(Machine,Module,Instruction,bytes).sourceBits](src/osp/OneStepProverMath.sol#L400) is a local variable never initialized\n", -+ "first_markdown_element": "src/osp/OneStepProverMath.sol#L400", -+ "id": "7e6b4db4655b21a377a13a4c03fdcc62f8c4e56c5ecdf979c82afb0985a1fac5", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "part", -+ "source_mapping": { -+ "start": 1123, -+ "length": 17, -+ "filename_relative": "src/osp/HashProofHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/HashProofHelper.sol", -+ "filename_short": "src/osp/HashProofHelper.sol", -+ "is_dependency": false, -+ "lines": [38], -+ "starting_column": 9, -+ "ending_column": 26 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "proveWithFullPreimage", -+ "source_mapping": { -+ "start": 954, -+ "length": 572, -+ "filename_relative": "src/osp/HashProofHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/HashProofHelper.sol", -+ "filename_short": "src/osp/HashProofHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "HashProofHelper", -+ "source_mapping": { -+ "start": 388, -+ "length": 5264, -+ "filename_relative": "src/osp/HashProofHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/HashProofHelper.sol", -+ "filename_short": "src/osp/HashProofHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, -+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, -+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "proveWithFullPreimage(bytes,uint64)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "HashProofHelper.proveWithFullPreimage(bytes,uint64).part (src/osp/HashProofHelper.sol#38) is a local variable never initialized\n", -+ "markdown": "[HashProofHelper.proveWithFullPreimage(bytes,uint64).part](src/osp/HashProofHelper.sol#L38) is a local variable never initialized\n", -+ "first_markdown_element": "src/osp/HashProofHelper.sol#L38", -+ "id": "9f6b190b96895f4cfb0f3db956545a55f4132aa16c8af057e7257d7fd2c5de43", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "ty", -+ "source_mapping": { -+ "start": 1685, -+ "length": 12, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [49], -+ "starting_column": 9, -+ "ending_column": 21 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeMemoryLoad", -+ "source_mapping": { -+ "start": 1507, -+ "length": 4594, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [ -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, -+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, -+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, -+ 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, -+ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, -+ 157, 158, 159, 160 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverMemory", -+ "source_mapping": { -+ "start": 368, -+ "length": 11469, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, -+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, -+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, -+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -+ 306, 307, 308, 309, 310, 311, 312, 313 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeMemoryLoad(Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProverMemory.executeMemoryLoad(Machine,Module,Instruction,bytes).ty (src/osp/OneStepProverMemory.sol#49) is a local variable never initialized\n", -+ "markdown": "[OneStepProverMemory.executeMemoryLoad(Machine,Module,Instruction,bytes).ty](src/osp/OneStepProverMemory.sol#L49) is a local variable never initialized\n", -+ "first_markdown_element": "src/osp/OneStepProverMemory.sol#L49", -+ "id": "d44b109a885f9f18431fcbd810bf7f45b9f86b4749430739056c0786ab2d150e", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "impl", -+ "source_mapping": { -+ "start": 11151, -+ "length": 120, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [296, 297, 298], -+ "starting_column": 9, -+ "ending_column": 22 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeOneStep", -+ "source_mapping": { -+ "start": 10780, -+ "length": 1055, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [ -+ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, -+ 310, 311, 312 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverMemory", -+ "source_mapping": { -+ "start": 368, -+ "length": 11469, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, -+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, -+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, -+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -+ 306, 307, 308, 309, 310, 311, 312, 313 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeOneStep(ExecutionContext,Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProverMemory.executeOneStep(ExecutionContext,Machine,Module,Instruction,bytes).impl (src/osp/OneStepProverMemory.sol#296-298) is a local variable never initialized\n", -+ "markdown": "[OneStepProverMemory.executeOneStep(ExecutionContext,Machine,Module,Instruction,bytes).impl](src/osp/OneStepProverMemory.sol#L296-L298) is a local variable never initialized\n", -+ "first_markdown_element": "src/osp/OneStepProverMemory.sol#L296-L298", -+ "id": "c0081c68be4899b530be0e0720e9713a3d42b71364ad4392c42fd165ec162d1e", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "beforeAcc", -+ "source_mapping": { -+ "start": 11222, -+ "length": 17, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [278], -+ "starting_column": 9, -+ "ending_column": 26 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "validateDelayedInbox", -+ "source_mapping": { -+ "start": 10970, -+ "length": 916, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, -+ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverHostIo", -+ "source_mapping": { -+ "start": 433, -+ "length": 16565, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, -+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, -+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, -+ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, -+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, -+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, -+ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, -+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, -+ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, -+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, -+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, -+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, -+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, -+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, -+ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, -+ 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, -+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, -+ 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, -+ 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, -+ 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, -+ 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -+ 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, -+ 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, -+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -+ 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, -+ 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "validateDelayedInbox(ExecutionContext,uint64,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProverHostIo.validateDelayedInbox(ExecutionContext,uint64,bytes).beforeAcc (src/osp/OneStepProverHostIo.sol#278) is a local variable never initialized\n", -+ "markdown": "[OneStepProverHostIo.validateDelayedInbox(ExecutionContext,uint64,bytes).beforeAcc](src/osp/OneStepProverHostIo.sol#L278) is a local variable never initialized\n", -+ "first_markdown_element": "src/osp/OneStepProverHostIo.sol#L278", -+ "id": "dab8df6b27e88ad0e415842d20e13cd455e0d5f0c84fa74d2906eefd6d1e06f0", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "impl", -+ "source_mapping": { -+ "start": 14734, -+ "length": 120, -+ "filename_relative": "src/osp/OneStepProverMath.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMath.sol", -+ "filename_short": "src/osp/OneStepProverMath.sol", -+ "is_dependency": false, -+ "lines": [477, 478, 479], -+ "starting_column": 9, -+ "ending_column": 22 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeOneStep", -+ "source_mapping": { -+ "start": 14363, -+ "length": 2322, -+ "filename_relative": "src/osp/OneStepProverMath.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMath.sol", -+ "filename_short": "src/osp/OneStepProverMath.sol", -+ "is_dependency": false, -+ "lines": [ -+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, -+ 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, -+ 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, -+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, -+ 517, 518, 519, 520, 521, 522, 523 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverMath", -+ "source_mapping": { -+ "start": 362, -+ "length": 16325, -+ "filename_relative": "src/osp/OneStepProverMath.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMath.sol", -+ "filename_short": "src/osp/OneStepProverMath.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, -+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, -+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, -+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, -+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -+ 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, -+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, -+ 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -+ 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, -+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -+ 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, -+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, -+ 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, -+ 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, -+ 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, -+ 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, -+ 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, -+ 522, 523, 524 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeOneStep(ExecutionContext,Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProverMath.executeOneStep(ExecutionContext,Machine,Module,Instruction,bytes).impl (src/osp/OneStepProverMath.sol#477-479) is a local variable never initialized\n", -+ "markdown": "[OneStepProverMath.executeOneStep(ExecutionContext,Machine,Module,Instruction,bytes).impl](src/osp/OneStepProverMath.sol#L477-L479) is a local variable never initialized\n", -+ "first_markdown_element": "src/osp/OneStepProverMath.sol#L477-L479", -+ "id": "7bb129f3bd93db0e9c1579c8ab353fe86d0d54b40d421f4a568ab9279ce8b6cb", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "internalStack", -+ "source_mapping": { -+ "start": 1959, -+ "length": 31, -+ "filename_relative": "src/challenge/ChallengeLib.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", -+ "filename_short": "src/challenge/ChallengeLib.sol", -+ "is_dependency": false, -+ "lines": [63], -+ "starting_column": 9, -+ "ending_column": 40 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "getStartMachineHash", -+ "source_mapping": { -+ "start": 1364, -+ "length": 1078, -+ "filename_relative": "src/challenge/ChallengeLib.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", -+ "filename_short": "src/challenge/ChallengeLib.sol", -+ "is_dependency": false, -+ "lines": [ -+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, -+ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "ChallengeLib", -+ "source_mapping": { -+ "start": 272, -+ "length": 4325, -+ "filename_relative": "src/challenge/ChallengeLib.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", -+ "filename_short": "src/challenge/ChallengeLib.sol", -+ "is_dependency": false, -+ "lines": [ -+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, -+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, -+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, -+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, -+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "getStartMachineHash(bytes32,bytes32)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "ChallengeLib.getStartMachineHash(bytes32,bytes32).internalStack (src/challenge/ChallengeLib.sol#63) is a local variable never initialized\n", -+ "markdown": "[ChallengeLib.getStartMachineHash(bytes32,bytes32).internalStack](src/challenge/ChallengeLib.sol#L63) is a local variable never initialized\n", -+ "first_markdown_element": "src/challenge/ChallengeLib.sol#L63", -+ "id": "2b6e1af0735464f525ca02dac16210c75f5e60fdd4f5020e646e82eccdf94e2a", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "frameStack", -+ "source_mapping": { -+ "start": 2000, -+ "length": 34, -+ "filename_relative": "src/challenge/ChallengeLib.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", -+ "filename_short": "src/challenge/ChallengeLib.sol", -+ "is_dependency": false, -+ "lines": [64], -+ "starting_column": 9, -+ "ending_column": 43 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "getStartMachineHash", -+ "source_mapping": { -+ "start": 1364, -+ "length": 1078, -+ "filename_relative": "src/challenge/ChallengeLib.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", -+ "filename_short": "src/challenge/ChallengeLib.sol", -+ "is_dependency": false, -+ "lines": [ -+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, -+ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "ChallengeLib", -+ "source_mapping": { -+ "start": 272, -+ "length": 4325, -+ "filename_relative": "src/challenge/ChallengeLib.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/challenge/ChallengeLib.sol", -+ "filename_short": "src/challenge/ChallengeLib.sol", -+ "is_dependency": false, -+ "lines": [ -+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, -+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, -+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, -+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, -+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "getStartMachineHash(bytes32,bytes32)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "ChallengeLib.getStartMachineHash(bytes32,bytes32).frameStack (src/challenge/ChallengeLib.sol#64) is a local variable never initialized\n", -+ "markdown": "[ChallengeLib.getStartMachineHash(bytes32,bytes32).frameStack](src/challenge/ChallengeLib.sol#L64) is a local variable never initialized\n", -+ "first_markdown_element": "src/challenge/ChallengeLib.sol#L64", -+ "id": "e2c13e88a674b7d15f66c38811493b28e3d768158293153c3761365faf8e45c7", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "signed", -+ "source_mapping": { -+ "start": 1734, -+ "length": 11, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [51], -+ "starting_column": 9, -+ "ending_column": 20 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeMemoryLoad", -+ "source_mapping": { -+ "start": 1507, -+ "length": 4594, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [ -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, -+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, -+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, -+ 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, -+ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, -+ 157, 158, 159, 160 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverMemory", -+ "source_mapping": { -+ "start": 368, -+ "length": 11469, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, -+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, -+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, -+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -+ 306, 307, 308, 309, 310, 311, 312, 313 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeMemoryLoad(Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProverMemory.executeMemoryLoad(Machine,Module,Instruction,bytes).signed (src/osp/OneStepProverMemory.sol#51) is a local variable never initialized\n", -+ "markdown": "[OneStepProverMemory.executeMemoryLoad(Machine,Module,Instruction,bytes).signed](src/osp/OneStepProverMemory.sol#L51) is a local variable never initialized\n", -+ "first_markdown_element": "src/osp/OneStepProverMemory.sol#L51", -+ "id": "494ad26e42522ed318b7143deadf6e22863a94ac35e1bc7e431f680c09e99249", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "extracted", -+ "source_mapping": { -+ "start": 5123, -+ "length": 22, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [147], -+ "starting_column": 9, -+ "ending_column": 31 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeReadPreImage", -+ "source_mapping": { -+ "start": 4302, -+ "length": 5772, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, -+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, -+ 240, 241, 242, 243, 244, 245 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverHostIo", -+ "source_mapping": { -+ "start": 433, -+ "length": 16565, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, -+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, -+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, -+ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, -+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, -+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, -+ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, -+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, -+ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, -+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, -+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, -+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, -+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, -+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, -+ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, -+ 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, -+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, -+ 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, -+ 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, -+ 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, -+ 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -+ 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, -+ 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, -+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -+ 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, -+ 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeReadPreImage(ExecutionContext,Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProverHostIo.executeReadPreImage(ExecutionContext,Machine,Module,Instruction,bytes).extracted (src/osp/OneStepProverHostIo.sol#147) is a local variable never initialized\n", -+ "markdown": "[OneStepProverHostIo.executeReadPreImage(ExecutionContext,Machine,Module,Instruction,bytes).extracted](src/osp/OneStepProverHostIo.sol#L147) is a local variable never initialized\n", -+ "first_markdown_element": "src/osp/OneStepProverHostIo.sol#L147", -+ "id": "b8f149ef07d9b5bf6a4fd2772d951ef00e1136d5728509097c74a6d35fb7419a", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "delayedAcc", -+ "source_mapping": { -+ "start": 10502, -+ "length": 18, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [258], -+ "starting_column": 9, -+ "ending_column": 27 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "validateSequencerInbox", -+ "source_mapping": { -+ "start": 10080, -+ "length": 884, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverHostIo", -+ "source_mapping": { -+ "start": 433, -+ "length": 16565, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, -+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, -+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, -+ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, -+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, -+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, -+ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, -+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, -+ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, -+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, -+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, -+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, -+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, -+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, -+ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, -+ 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, -+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, -+ 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, -+ 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, -+ 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, -+ 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -+ 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, -+ 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, -+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -+ 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, -+ 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "validateSequencerInbox(ExecutionContext,uint64,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProverHostIo.validateSequencerInbox(ExecutionContext,uint64,bytes).delayedAcc (src/osp/OneStepProverHostIo.sol#258) is a local variable never initialized\n", -+ "markdown": "[OneStepProverHostIo.validateSequencerInbox(ExecutionContext,uint64,bytes).delayedAcc](src/osp/OneStepProverHostIo.sol#L258) is a local variable never initialized\n", -+ "first_markdown_element": "src/osp/OneStepProverHostIo.sol#L258", -+ "id": "a4af275d7732b756f493da186504395ee7b6705d359094ed504be4cb2382a71f", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "state256", -+ "source_mapping": { -+ "start": 4683, -+ "length": 27, -+ "filename_relative": "src/osp/HashProofHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/HashProofHelper.sol", -+ "filename_short": "src/osp/HashProofHelper.sol", -+ "is_dependency": false, -+ "lines": [127], -+ "starting_column": 13, -+ "ending_column": 40 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "keccakUpdate", -+ "source_mapping": { -+ "start": 3663, -+ "length": 1486, -+ "filename_relative": "src/osp/HashProofHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/HashProofHelper.sol", -+ "filename_short": "src/osp/HashProofHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "HashProofHelper", -+ "source_mapping": { -+ "start": 388, -+ "length": 5264, -+ "filename_relative": "src/osp/HashProofHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/HashProofHelper.sol", -+ "filename_short": "src/osp/HashProofHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, -+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, -+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "keccakUpdate(HashProofHelper.KeccakState,bytes,bool)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "HashProofHelper.keccakUpdate(HashProofHelper.KeccakState,bytes,bool).state256 (src/osp/HashProofHelper.sol#127) is a local variable never initialized\n", -+ "markdown": "[HashProofHelper.keccakUpdate(HashProofHelper.KeccakState,bytes,bool).state256](src/osp/HashProofHelper.sol#L127) is a local variable never initialized\n", -+ "first_markdown_element": "src/osp/HashProofHelper.sol#L127", -+ "id": "b10eafcd668276e8f081740d67fa003ef0534d1520e371c18e96833214fc3ff2", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "beforeAcc", -+ "source_mapping": { -+ "start": 10475, -+ "length": 17, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [257], -+ "starting_column": 9, -+ "ending_column": 26 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "validateSequencerInbox", -+ "source_mapping": { -+ "start": 10080, -+ "length": 884, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverHostIo", -+ "source_mapping": { -+ "start": 433, -+ "length": 16565, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, -+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, -+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, -+ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, -+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, -+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, -+ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, -+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, -+ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, -+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, -+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, -+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, -+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, -+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, -+ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, -+ 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, -+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, -+ 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, -+ 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, -+ 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, -+ 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -+ 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, -+ 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, -+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -+ 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, -+ 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "validateSequencerInbox(ExecutionContext,uint64,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProverHostIo.validateSequencerInbox(ExecutionContext,uint64,bytes).beforeAcc (src/osp/OneStepProverHostIo.sol#257) is a local variable never initialized\n", -+ "markdown": "[OneStepProverHostIo.validateSequencerInbox(ExecutionContext,uint64,bytes).beforeAcc](src/osp/OneStepProverHostIo.sol#L257) is a local variable never initialized\n", -+ "first_markdown_element": "src/osp/OneStepProverHostIo.sol#L257", -+ "id": "93458ecce4030168b57a5b4b9bddf11e556bda0b87b21572901703776f8a4a4d", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "memoryFrame", -+ "source_mapping": { -+ "start": 21082, -+ "length": 38, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [575], -+ "starting_column": 9, -+ "ending_column": 47 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "createNewNode", -+ "source_mapping": { -+ "start": 20652, -+ "length": 4618, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, -+ 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, -+ 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, -+ 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, -+ 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, -+ 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, -+ 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, -+ 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, -+ 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCore", -+ "source_mapping": { -+ "start": 685, -+ "length": 24587, -+ "filename_relative": "src/rollup/RollupCore.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCore.sol", -+ "filename_short": "src/rollup/RollupCore.sol", -+ "is_dependency": false, -+ "lines": [ -+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, -+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, -+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, -+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, -+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, -+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, -+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, -+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, -+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, -+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, -+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, -+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, -+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, -+ 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, -+ 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, -+ 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, -+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, -+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, -+ 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, -+ 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, -+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -+ 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, -+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -+ 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -+ 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, -+ 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, -+ 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, -+ 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, -+ 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, -+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, -+ 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, -+ 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, -+ 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, -+ 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, -+ 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, -+ 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, -+ 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, -+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, -+ 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, -+ 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, -+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, -+ 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, -+ 676, 677, 678 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createNewNode(Assertion,uint64,uint256,bytes32)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "RollupCore.createNewNode(Assertion,uint64,uint256,bytes32).memoryFrame (src/rollup/RollupCore.sol#575) is a local variable never initialized\n", -+ "markdown": "[RollupCore.createNewNode(Assertion,uint64,uint256,bytes32).memoryFrame](src/rollup/RollupCore.sol#L575) is a local variable never initialized\n", -+ "first_markdown_element": "src/rollup/RollupCore.sol#L575", -+ "id": "22d3572f5fd9e44b1a0e455ebf3a57c571e31a392c713a5313ed78cdb5bdd79d", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "bounds", -+ "source_mapping": { -+ "start": 7906, -+ "length": 32, -+ "filename_relative": "src/bridge/SequencerInbox.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/SequencerInbox.sol", -+ "filename_short": "src/bridge/SequencerInbox.sol", -+ "is_dependency": false, -+ "lines": [214], -+ "starting_column": 9, -+ "ending_column": 41 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "getTimeBounds", -+ "source_mapping": { -+ "start": 7813, -+ "length": 740, -+ "filename_relative": "src/bridge/SequencerInbox.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/SequencerInbox.sol", -+ "filename_short": "src/bridge/SequencerInbox.sol", -+ "is_dependency": false, -+ "lines": [ -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "SequencerInbox", -+ "source_mapping": { -+ "start": 1909, -+ "length": 29266, -+ "filename_relative": "src/bridge/SequencerInbox.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/SequencerInbox.sol", -+ "filename_short": "src/bridge/SequencerInbox.sol", -+ "is_dependency": false, -+ "lines": [ -+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, -+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, -+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, -+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, -+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, -+ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, -+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, -+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, -+ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, -+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -+ 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, -+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, -+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, -+ 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -+ 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, -+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, -+ 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, -+ 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, -+ 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, -+ 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, -+ 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, -+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, -+ 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, -+ 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, -+ 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, -+ 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, -+ 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, -+ 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, -+ 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, -+ 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, -+ 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, -+ 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, -+ 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, -+ 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, -+ 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, -+ 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, -+ 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, -+ 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, -+ 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, -+ 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, -+ 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, -+ 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, -+ 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -+ 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, -+ 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, -+ 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, -+ 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, -+ 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, -+ 797, 798, 799, 800, 801, 802, 803, 804, 805 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "getTimeBounds()" -+ } -+ } -+ } -+ } -+ ], -+ "description": "SequencerInbox.getTimeBounds().bounds (src/bridge/SequencerInbox.sol#214) is a local variable never initialized\n", -+ "markdown": "[SequencerInbox.getTimeBounds().bounds](src/bridge/SequencerInbox.sol#L214) is a local variable never initialized\n", -+ "first_markdown_element": "src/bridge/SequencerInbox.sol#L214", -+ "id": "a9ab2d44723c17809429f069881bb97a07e53966e1c848cc3083baebb7d26ceb", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "ty", -+ "source_mapping": { -+ "start": 6351, -+ "length": 12, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [171], -+ "starting_column": 13, -+ "ending_column": 25 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeMemoryStore", -+ "source_mapping": { -+ "start": 6107, -+ "length": 3663, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [ -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, -+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, -+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -+ 253, 254 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverMemory", -+ "source_mapping": { -+ "start": 368, -+ "length": 11469, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, -+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, -+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, -+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -+ 306, 307, 308, 309, 310, 311, 312, 313 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeMemoryStore(Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProverMemory.executeMemoryStore(Machine,Module,Instruction,bytes).ty (src/osp/OneStepProverMemory.sol#171) is a local variable never initialized\n", -+ "markdown": "[OneStepProverMemory.executeMemoryStore(Machine,Module,Instruction,bytes).ty](src/osp/OneStepProverMemory.sol#L171) is a local variable never initialized\n", -+ "first_markdown_element": "src/osp/OneStepProverMemory.sol#L171", -+ "id": "565f5e19fbe1a69065e4ef47ec789739a56008570ac09324d5995e298652f2be", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "ty", -+ "source_mapping": { -+ "start": 1158, -+ "length": 12, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [44], -+ "starting_column": 9, -+ "ending_column": 21 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeConstPush", -+ "source_mapping": { -+ "start": 954, -+ "length": 732, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [ -+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, -+ 53, 54, 55, 56, 57, 58 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProver0", -+ "source_mapping": { -+ "start": 362, -+ "length": 16704, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, -+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, -+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, -+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, -+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -+ 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, -+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, -+ 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -+ 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, -+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -+ 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, -+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, -+ 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, -+ 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, -+ 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeConstPush(Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProver0.executeConstPush(Machine,Module,Instruction,bytes).ty (src/osp/OneStepProver0.sol#44) is a local variable never initialized\n", -+ "markdown": "[OneStepProver0.executeConstPush(Machine,Module,Instruction,bytes).ty](src/osp/OneStepProver0.sol#L44) is a local variable never initialized\n", -+ "first_markdown_element": "src/osp/OneStepProver0.sol#L44", -+ "id": "f3a4bd8740f9565ecd548a3027588ef6a9ab1fab50a47ee9989dff0a450c0d81", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "emptyGlobalState", -+ "source_mapping": { -+ "start": 3120, -+ "length": 35, -+ "filename_relative": "src/rollup/RollupAdminLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupAdminLogic.sol", -+ "filename_short": "src/rollup/RollupAdminLogic.sol", -+ "is_dependency": false, -+ "lines": [78], -+ "starting_column": 9, -+ "ending_column": 44 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "createInitialNode", -+ "source_mapping": { -+ "start": 3046, -+ "length": 662, -+ "filename_relative": "src/rollup/RollupAdminLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupAdminLogic.sol", -+ "filename_short": "src/rollup/RollupAdminLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupAdminLogic", -+ "source_mapping": { -+ "start": 590, -+ "length": 14555, -+ "filename_relative": "src/rollup/RollupAdminLogic.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupAdminLogic.sol", -+ "filename_short": "src/rollup/RollupAdminLogic.sol", -+ "is_dependency": false, -+ "lines": [ -+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, -+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, -+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, -+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, -+ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, -+ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, -+ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -+ 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, -+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, -+ 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, -+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, -+ 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, -+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, -+ 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, -+ 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, -+ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, -+ 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, -+ 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, -+ 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -+ 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createInitialNode()" -+ } -+ } -+ } -+ } -+ ], -+ "description": "RollupAdminLogic.createInitialNode().emptyGlobalState (src/rollup/RollupAdminLogic.sol#78) is a local variable never initialized\n", -+ "markdown": "[RollupAdminLogic.createInitialNode().emptyGlobalState](src/rollup/RollupAdminLogic.sol#L78) is a local variable never initialized\n", -+ "first_markdown_element": "src/rollup/RollupAdminLogic.sol#L78", -+ "id": "b104a1c9b21db741f0eff33cad88bcd28b01251cf7cb2ac69372f55f19cc56b2", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "lastProvedLeafContents", -+ "source_mapping": { -+ "start": 4304, -+ "length": 30, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [121], -+ "starting_column": 9, -+ "ending_column": 39 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeMemoryLoad", -+ "source_mapping": { -+ "start": 1507, -+ "length": 4594, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [ -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, -+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, -+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, -+ 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, -+ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, -+ 157, 158, 159, 160 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverMemory", -+ "source_mapping": { -+ "start": 368, -+ "length": 11469, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, -+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, -+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, -+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -+ 306, 307, 308, 309, 310, 311, 312, 313 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeMemoryLoad(Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProverMemory.executeMemoryLoad(Machine,Module,Instruction,bytes).lastProvedLeafContents (src/osp/OneStepProverMemory.sol#121) is a local variable never initialized\n", -+ "markdown": "[OneStepProverMemory.executeMemoryLoad(Machine,Module,Instruction,bytes).lastProvedLeafContents](src/osp/OneStepProverMemory.sol#L121) is a local variable never initialized\n", -+ "first_markdown_element": "src/osp/OneStepProverMemory.sol#L121", -+ "id": "162cb33b9534bc21104309b21e51a798ebe240718727aed3b174e3802daec4c1", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "bytes32Vals", -+ "source_mapping": { -+ "start": 6885, -+ "length": 29, -+ "filename_relative": "src/state/Deserialize.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/state/Deserialize.sol", -+ "filename_short": "src/state/Deserialize.sol", -+ "is_dependency": false, -+ "lines": [225], -+ "starting_column": 9, -+ "ending_column": 38 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "globalState", -+ "source_mapping": { -+ "start": 6617, -+ "length": 684, -+ "filename_relative": "src/state/Deserialize.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/state/Deserialize.sol", -+ "filename_short": "src/state/Deserialize.sol", -+ "is_dependency": false, -+ "lines": [ -+ 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -+ 230, 231, 232, 233, 234, 235 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "Deserialize", -+ "source_mapping": { -+ "start": 450, -+ "length": 9161, -+ "filename_relative": "src/state/Deserialize.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/state/Deserialize.sol", -+ "filename_short": "src/state/Deserialize.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, -+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, -+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "globalState(bytes,uint256)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "Deserialize.globalState(bytes,uint256).bytes32Vals (src/state/Deserialize.sol#225) is a local variable never initialized\n", -+ "markdown": "[Deserialize.globalState(bytes,uint256).bytes32Vals](src/state/Deserialize.sol#L225) is a local variable never initialized\n", -+ "first_markdown_element": "src/state/Deserialize.sol#L225", -+ "id": "347c23c28d92854b0181184cb13878043e27048bb6b0d14e6f9f24d733477f80", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "status", -+ "source_mapping": { -+ "start": 7495, -+ "length": 20, -+ "filename_relative": "src/state/Deserialize.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/state/Deserialize.sol", -+ "filename_short": "src/state/Deserialize.sol", -+ "is_dependency": false, -+ "lines": [243], -+ "starting_column": 9, -+ "ending_column": 29 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "machine", -+ "source_mapping": { -+ "start": 7307, -+ "length": 1811, -+ "filename_relative": "src/state/Deserialize.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/state/Deserialize.sol", -+ "filename_short": "src/state/Deserialize.sol", -+ "is_dependency": false, -+ "lines": [ -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, -+ 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, -+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, -+ 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "Deserialize", -+ "source_mapping": { -+ "start": 450, -+ "length": 9161, -+ "filename_relative": "src/state/Deserialize.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/state/Deserialize.sol", -+ "filename_short": "src/state/Deserialize.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, -+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, -+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "machine(bytes,uint256)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "Deserialize.machine(bytes,uint256).status (src/state/Deserialize.sol#243) is a local variable never initialized\n", -+ "markdown": "[Deserialize.machine(bytes,uint256).status](src/state/Deserialize.sol#L243) is a local variable never initialized\n", -+ "first_markdown_element": "src/state/Deserialize.sol#L243", -+ "id": "b0bb66b3aaa5e859564fcf69ddd9c518a2dff55461b2e23469e57954ece88023", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "sourceTy", -+ "source_mapping": { -+ "start": 13504, -+ "length": 18, -+ "filename_relative": "src/osp/OneStepProverMath.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMath.sol", -+ "filename_short": "src/osp/OneStepProverMath.sol", -+ "is_dependency": false, -+ "lines": [443], -+ "starting_column": 9, -+ "ending_column": 27 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeReinterpret", -+ "source_mapping": { -+ "start": 13309, -+ "length": 1048, -+ "filename_relative": "src/osp/OneStepProverMath.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMath.sol", -+ "filename_short": "src/osp/OneStepProverMath.sol", -+ "is_dependency": false, -+ "lines": [ -+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, -+ 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, -+ 462, 463 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverMath", -+ "source_mapping": { -+ "start": 362, -+ "length": 16325, -+ "filename_relative": "src/osp/OneStepProverMath.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMath.sol", -+ "filename_short": "src/osp/OneStepProverMath.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, -+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, -+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, -+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, -+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -+ 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, -+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, -+ 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -+ 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, -+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -+ 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, -+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, -+ 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, -+ 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, -+ 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, -+ 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, -+ 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, -+ 522, 523, 524 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeReinterpret(Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProverMath.executeReinterpret(Machine,Module,Instruction,bytes).sourceTy (src/osp/OneStepProverMath.sol#443) is a local variable never initialized\n", -+ "markdown": "[OneStepProverMath.executeReinterpret(Machine,Module,Instruction,bytes).sourceTy](src/osp/OneStepProverMath.sol#L443) is a local variable never initialized\n", -+ "first_markdown_element": "src/osp/OneStepProverMath.sol#L443", -+ "id": "19cc2967641f968047d8174e2ba3152038af798b63c42b1bb55dd59287a923a7", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "writeBytes", -+ "source_mapping": { -+ "start": 6286, -+ "length": 17, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [168], -+ "starting_column": 9, -+ "ending_column": 26 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeMemoryStore", -+ "source_mapping": { -+ "start": 6107, -+ "length": 3663, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [ -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, -+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, -+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -+ 253, 254 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverMemory", -+ "source_mapping": { -+ "start": 368, -+ "length": 11469, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, -+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, -+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, -+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -+ 306, 307, 308, 309, 310, 311, 312, 313 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeMemoryStore(Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProverMemory.executeMemoryStore(Machine,Module,Instruction,bytes).writeBytes (src/osp/OneStepProverMemory.sol#168) is a local variable never initialized\n", -+ "markdown": "[OneStepProverMemory.executeMemoryStore(Machine,Module,Instruction,bytes).writeBytes](src/osp/OneStepProverMemory.sol#L168) is a local variable never initialized\n", -+ "first_markdown_element": "src/osp/OneStepProverMemory.sol#L168", -+ "id": "f573681c354f3fdccf310c43fad70c2f0994cf3b3de20432e01071bd6a3981de", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "destTy", -+ "source_mapping": { -+ "start": 13478, -+ "length": 16, -+ "filename_relative": "src/osp/OneStepProverMath.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMath.sol", -+ "filename_short": "src/osp/OneStepProverMath.sol", -+ "is_dependency": false, -+ "lines": [442], -+ "starting_column": 9, -+ "ending_column": 25 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeReinterpret", -+ "source_mapping": { -+ "start": 13309, -+ "length": 1048, -+ "filename_relative": "src/osp/OneStepProverMath.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMath.sol", -+ "filename_short": "src/osp/OneStepProverMath.sol", -+ "is_dependency": false, -+ "lines": [ -+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, -+ 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, -+ 462, 463 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverMath", -+ "source_mapping": { -+ "start": 362, -+ "length": 16325, -+ "filename_relative": "src/osp/OneStepProverMath.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMath.sol", -+ "filename_short": "src/osp/OneStepProverMath.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, -+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, -+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, -+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, -+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -+ 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, -+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, -+ 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -+ 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, -+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -+ 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, -+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, -+ 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, -+ 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, -+ 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, -+ 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, -+ 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, -+ 522, 523, 524 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeReinterpret(Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProverMath.executeReinterpret(Machine,Module,Instruction,bytes).destTy (src/osp/OneStepProverMath.sol#442) is a local variable never initialized\n", -+ "markdown": "[OneStepProverMath.executeReinterpret(Machine,Module,Instruction,bytes).destTy](src/osp/OneStepProverMath.sol#L442) is a local variable never initialized\n", -+ "first_markdown_element": "src/osp/OneStepProverMath.sol#L442", -+ "id": "0c40a87502e42085a3fc0a61f202e687aed2386c6fe161376f0f0b2f16a4c9c5", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "ty", -+ "source_mapping": { -+ "start": 11999, -+ "length": 12, -+ "filename_relative": "src/osp/OneStepProverMath.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMath.sol", -+ "filename_short": "src/osp/OneStepProverMath.sol", -+ "is_dependency": false, -+ "lines": [399], -+ "starting_column": 9, -+ "ending_column": 21 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeExtendSameType", -+ "source_mapping": { -+ "start": 11827, -+ "length": 1476, -+ "filename_relative": "src/osp/OneStepProverMath.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMath.sol", -+ "filename_short": "src/osp/OneStepProverMath.sol", -+ "is_dependency": false, -+ "lines": [ -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, -+ 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -+ 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, -+ 432, 433, 434 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverMath", -+ "source_mapping": { -+ "start": 362, -+ "length": 16325, -+ "filename_relative": "src/osp/OneStepProverMath.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMath.sol", -+ "filename_short": "src/osp/OneStepProverMath.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, -+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, -+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, -+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, -+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -+ 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, -+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, -+ 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -+ 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, -+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -+ 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, -+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, -+ 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, -+ 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, -+ 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, -+ 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, -+ 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, -+ 522, 523, 524 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeExtendSameType(Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProverMath.executeExtendSameType(Machine,Module,Instruction,bytes).ty (src/osp/OneStepProverMath.sol#399) is a local variable never initialized\n", -+ "markdown": "[OneStepProverMath.executeExtendSameType(Machine,Module,Instruction,bytes).ty](src/osp/OneStepProverMath.sol#L399) is a local variable never initialized\n", -+ "first_markdown_element": "src/osp/OneStepProverMath.sol#L399", -+ "id": "d5801e7c2f23eb0d6bc004590ab2e75879037d149be714c34ab3b066e1c4b819", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "readBytes", -+ "source_mapping": { -+ "start": 1707, -+ "length": 17, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [50], -+ "starting_column": 9, -+ "ending_column": 26 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeMemoryLoad", -+ "source_mapping": { -+ "start": 1507, -+ "length": 4594, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [ -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, -+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, -+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, -+ 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, -+ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, -+ 157, 158, 159, 160 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverMemory", -+ "source_mapping": { -+ "start": 368, -+ "length": 11469, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, -+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, -+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, -+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -+ 306, 307, 308, 309, 310, 311, 312, 313 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeMemoryLoad(Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProverMemory.executeMemoryLoad(Machine,Module,Instruction,bytes).readBytes (src/osp/OneStepProverMemory.sol#50) is a local variable never initialized\n", -+ "markdown": "[OneStepProverMemory.executeMemoryLoad(Machine,Module,Instruction,bytes).readBytes](src/osp/OneStepProverMemory.sol#L50) is a local variable never initialized\n", -+ "first_markdown_element": "src/osp/OneStepProverMemory.sol#L50", -+ "id": "09c1e38d961440cc644e890e7e165ecd2073dd96901441ae9b2b9c939257cc6f", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "frame", -+ "source_mapping": { -+ "start": 1824, -+ "length": 28, -+ "filename_relative": "src/rollup/BridgeCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/BridgeCreator.sol", -+ "filename_short": "src/rollup/BridgeCreator.sol", -+ "is_dependency": false, -+ "lines": [58], -+ "starting_column": 9, -+ "ending_column": 37 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_createBridge", -+ "source_mapping": { -+ "start": 1674, -+ "length": 1017, -+ "filename_relative": "src/rollup/BridgeCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/BridgeCreator.sol", -+ "filename_short": "src/rollup/BridgeCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, -+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "BridgeCreator", -+ "source_mapping": { -+ "start": 676, -+ "length": 3074, -+ "filename_relative": "src/rollup/BridgeCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/BridgeCreator.sol", -+ "filename_short": "src/rollup/BridgeCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, -+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, -+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_createBridge(address,BridgeCreator.BridgeContracts)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "BridgeCreator._createBridge(address,BridgeCreator.BridgeContracts).frame (src/rollup/BridgeCreator.sol#58) is a local variable never initialized\n", -+ "markdown": "[BridgeCreator._createBridge(address,BridgeCreator.BridgeContracts).frame](src/rollup/BridgeCreator.sol#L58) is a local variable never initialized\n", -+ "first_markdown_element": "src/rollup/BridgeCreator.sol#L58", -+ "id": "4c4998aea345771ab95ff74b35dc261d24cfbcc254dff7368e71dcded4e6b088", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "impl", -+ "source_mapping": { -+ "start": 14921, -+ "length": 120, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [444, 445, 446], -+ "starting_column": 9, -+ "ending_column": 22 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeOneStep", -+ "source_mapping": { -+ "start": 14550, -+ "length": 2514, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [ -+ 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, -+ 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, -+ 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -+ 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, -+ 484, 485, 486, 487, 488, 489, 490, 491, 492, 493 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProver0", -+ "source_mapping": { -+ "start": 362, -+ "length": 16704, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, -+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, -+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, -+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, -+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -+ 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, -+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, -+ 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -+ 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, -+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -+ 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, -+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, -+ 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, -+ 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, -+ 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeOneStep(ExecutionContext,Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProver0.executeOneStep(ExecutionContext,Machine,Module,Instruction,bytes).impl (src/osp/OneStepProver0.sol#444-446) is a local variable never initialized\n", -+ "markdown": "[OneStepProver0.executeOneStep(ExecutionContext,Machine,Module,Instruction,bytes).impl](src/osp/OneStepProver0.sol#L444-L446) is a local variable never initialized\n", -+ "first_markdown_element": "src/osp/OneStepProver0.sol#L444-L446", -+ "id": "bf9df19313618417269a105ecd5b4cf0c22530264701877ed554d77b7886b033", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "impl", -+ "source_mapping": { -+ "start": 16165, -+ "length": 193, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [425, 426, 427, 428, 429, 430, 431], -+ "starting_column": 9, -+ "ending_column": 29 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeOneStep", -+ "source_mapping": { -+ "start": 15786, -+ "length": 1210, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, -+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, -+ 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverHostIo", -+ "source_mapping": { -+ "start": 433, -+ "length": 16565, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, -+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, -+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, -+ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, -+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, -+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, -+ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, -+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, -+ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, -+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, -+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, -+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, -+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, -+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, -+ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, -+ 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, -+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, -+ 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, -+ 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, -+ 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, -+ 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -+ 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, -+ 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, -+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -+ 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, -+ 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeOneStep(ExecutionContext,Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProverHostIo.executeOneStep(ExecutionContext,Machine,Module,Instruction,bytes).impl (src/osp/OneStepProverHostIo.sol#425-431) is a local variable never initialized\n", -+ "markdown": "[OneStepProverHostIo.executeOneStep(ExecutionContext,Machine,Module,Instruction,bytes).impl](src/osp/OneStepProverHostIo.sol#L425-L431) is a local variable never initialized\n", -+ "first_markdown_element": "src/osp/OneStepProverHostIo.sol#L425-L431", -+ "id": "fd4baa84dfad7402f9c850b2abb8c959fa89f0a0f27d7a4d985504eafa596460", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "node", -+ "source_mapping": { -+ "start": 2394, -+ "length": 16, -+ "filename_relative": "src/rollup/Node.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/Node.sol", -+ "filename_short": "src/rollup/Node.sol", -+ "is_dependency": false, -+ "lines": [69], -+ "starting_column": 9, -+ "ending_column": 25 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "createNode", -+ "source_mapping": { -+ "start": 2149, -+ "length": 636, -+ "filename_relative": "src/rollup/Node.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/Node.sol", -+ "filename_short": "src/rollup/Node.sol", -+ "is_dependency": false, -+ "lines": [ -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "NodeLib", -+ "source_mapping": { -+ "start": 1752, -+ "length": 2186, -+ "filename_relative": "src/rollup/Node.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/Node.sol", -+ "filename_short": "src/rollup/Node.sol", -+ "is_dependency": false, -+ "lines": [ -+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, -+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, -+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createNode(bytes32,bytes32,bytes32,uint64,uint64,bytes32)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "NodeLib.createNode(bytes32,bytes32,bytes32,uint64,uint64,bytes32).node (src/rollup/Node.sol#69) is a local variable never initialized\n", -+ "markdown": "[NodeLib.createNode(bytes32,bytes32,bytes32,uint64,uint64,bytes32).node](src/rollup/Node.sol#L69) is a local variable never initialized\n", -+ "first_markdown_element": "src/rollup/Node.sol#L69", -+ "id": "2fbc6226a17bd364563caa94e1c97858f74f9cd682e6c1096bb46cf3ce114daf", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "lastProvedMerkle", -+ "source_mapping": { -+ "start": 8359, -+ "length": 35, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [220], -+ "starting_column": 9, -+ "ending_column": 44 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeMemoryStore", -+ "source_mapping": { -+ "start": 6107, -+ "length": 3663, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [ -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, -+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, -+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -+ 253, 254 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverMemory", -+ "source_mapping": { -+ "start": 368, -+ "length": 11469, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, -+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, -+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, -+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -+ 306, 307, 308, 309, 310, 311, 312, 313 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeMemoryStore(Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProverMemory.executeMemoryStore(Machine,Module,Instruction,bytes).lastProvedMerkle (src/osp/OneStepProverMemory.sol#220) is a local variable never initialized\n", -+ "markdown": "[OneStepProverMemory.executeMemoryStore(Machine,Module,Instruction,bytes).lastProvedMerkle](src/osp/OneStepProverMemory.sol#L220) is a local variable never initialized\n", -+ "first_markdown_element": "src/osp/OneStepProverMemory.sol#L220", -+ "id": "970df6569838c064f8c23181f94aa7553a41b5a23c53e802d29cd0162f7d4f2b", -+ "check": "uninitialized-local", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "initialize", -+ "source_mapping": { -+ "start": 969, -+ "length": 447, -+ "filename_relative": "src/bridge/ERC20Inbox.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/ERC20Inbox.sol", -+ "filename_short": "src/bridge/ERC20Inbox.sol", -+ "is_dependency": false, -+ "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "ERC20Inbox", -+ "source_mapping": { -+ "start": 789, -+ "length": 4172, -+ "filename_relative": "src/bridge/ERC20Inbox.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/ERC20Inbox.sol", -+ "filename_short": "src/bridge/ERC20Inbox.sol", -+ "is_dependency": false, -+ "lines": [ -+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, -+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, -+ 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, -+ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, -+ 140, 141, 142, 143, 144 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "initialize(IBridge,ISequencerInbox)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "IERC20(nativeToken).approve(address(bridge),type()(uint256).max)", -+ "source_mapping": { -+ "start": 1346, -+ "length": 63, -+ "filename_relative": "src/bridge/ERC20Inbox.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/ERC20Inbox.sol", -+ "filename_short": "src/bridge/ERC20Inbox.sol", -+ "is_dependency": false, -+ "lines": [36], -+ "starting_column": 9, -+ "ending_column": 72 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "initialize", -+ "source_mapping": { -+ "start": 969, -+ "length": 447, -+ "filename_relative": "src/bridge/ERC20Inbox.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/ERC20Inbox.sol", -+ "filename_short": "src/bridge/ERC20Inbox.sol", -+ "is_dependency": false, -+ "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "ERC20Inbox", -+ "source_mapping": { -+ "start": 789, -+ "length": 4172, -+ "filename_relative": "src/bridge/ERC20Inbox.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/ERC20Inbox.sol", -+ "filename_short": "src/bridge/ERC20Inbox.sol", -+ "is_dependency": false, -+ "lines": [ -+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, -+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, -+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -+ 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, -+ 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "initialize(IBridge,ISequencerInbox)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "ERC20Inbox.initialize(IBridge,ISequencerInbox) (src/bridge/ERC20Inbox.sol#27-37) ignores return value by IERC20(nativeToken).approve(address(bridge),type()(uint256).max) (src/bridge/ERC20Inbox.sol#36)\n", -+ "markdown": "[ERC20Inbox.initialize(IBridge,ISequencerInbox)](src/bridge/ERC20Inbox.sol#L27-L37) ignores return value by [IERC20(nativeToken).approve(address(bridge),type()(uint256).max)](src/bridge/ERC20Inbox.sol#L36)\n", -+ "first_markdown_element": "src/bridge/ERC20Inbox.sol#L27-L37", -+ "id": "02a7ce9e0718ec474776a6c6466ec2120335f60d5d537c682d2d0b48b02e328e", -+ "check": "unused-return", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "refundsGas", -+ "source_mapping": { -+ "start": 721, -+ "length": 2143, -+ "filename_relative": "src/libraries/GasRefundEnabled.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/GasRefundEnabled.sol", -+ "filename_short": "src/libraries/GasRefundEnabled.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -+ 51 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "GasRefundEnabled", -+ "source_mapping": { -+ "start": 309, -+ "length": 2557, -+ "filename_relative": "src/libraries/GasRefundEnabled.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/GasRefundEnabled.sol", -+ "filename_short": "src/libraries/GasRefundEnabled.sol", -+ "is_dependency": false, -+ "lines": [ -+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, -+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "refundsGas(IGasRefunder,IReader4844)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "gasRefunder.onGasSpent(address(msg.sender),startGasLeft - gasleft()(),calldataSize)", -+ "source_mapping": { -+ "start": 2764, -+ "length": 83, -+ "filename_relative": "src/libraries/GasRefundEnabled.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/GasRefundEnabled.sol", -+ "filename_short": "src/libraries/GasRefundEnabled.sol", -+ "is_dependency": false, -+ "lines": [49], -+ "starting_column": 13, -+ "ending_column": 96 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "refundsGas", -+ "source_mapping": { -+ "start": 721, -+ "length": 2143, -+ "filename_relative": "src/libraries/GasRefundEnabled.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/GasRefundEnabled.sol", -+ "filename_short": "src/libraries/GasRefundEnabled.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, -+ 49, 50, 51 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "GasRefundEnabled", -+ "source_mapping": { -+ "start": 309, -+ "length": 2557, -+ "filename_relative": "src/libraries/GasRefundEnabled.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/GasRefundEnabled.sol", -+ "filename_short": "src/libraries/GasRefundEnabled.sol", -+ "is_dependency": false, -+ "lines": [ -+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "refundsGas(IGasRefunder,IReader4844)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "GasRefundEnabled.refundsGas(IGasRefunder,IReader4844) (src/libraries/GasRefundEnabled.sol#17-51) ignores return value by gasRefunder.onGasSpent(address(msg.sender),startGasLeft - gasleft()(),calldataSize) (src/libraries/GasRefundEnabled.sol#49)\n", -+ "markdown": "[GasRefundEnabled.refundsGas(IGasRefunder,IReader4844)](src/libraries/GasRefundEnabled.sol#L17-L51) ignores return value by [gasRefunder.onGasSpent(address(msg.sender),startGasLeft - gasleft()(),calldataSize)](src/libraries/GasRefundEnabled.sol#L49)\n", -+ "first_markdown_element": "src/libraries/GasRefundEnabled.sol#L17-L51", -+ "id": "dd7d7f9070537fa235923aa2a3f52a440202d201a28033828f3cfb6418df3676", -+ "check": "unused-return", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "executeDrop", -+ "source_mapping": { -+ "start": 1692, -+ "length": 185, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [60, 61, 62, 63, 64, 65, 66, 67], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProver0", -+ "source_mapping": { -+ "start": 362, -+ "length": 16704, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, -+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, -+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, -+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, -+ 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, -+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, -+ 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, -+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, -+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, -+ 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, -+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, -+ 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, -+ 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, -+ 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -+ 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, -+ 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -+ 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, -+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, -+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -+ 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, -+ 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -+ 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, -+ 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, -+ 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, -+ 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -+ 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, -+ 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeDrop(Machine,Module,Instruction,bytes)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "mach.valueStack.pop()", -+ "source_mapping": { -+ "start": 1849, -+ "length": 21, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [66], -+ "starting_column": 9, -+ "ending_column": 30 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeDrop", -+ "source_mapping": { -+ "start": 1692, -+ "length": 185, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [60, 61, 62, 63, 64, 65, 66, 67], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProver0", -+ "source_mapping": { -+ "start": 362, -+ "length": 16704, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, -+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, -+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, -+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, -+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -+ 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, -+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, -+ 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -+ 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, -+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -+ 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, -+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, -+ 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, -+ 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, -+ 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeDrop(Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProver0.executeDrop(Machine,Module,Instruction,bytes) (src/osp/OneStepProver0.sol#60-67) ignores return value by mach.valueStack.pop() (src/osp/OneStepProver0.sol#66)\n", -+ "markdown": "[OneStepProver0.executeDrop(Machine,Module,Instruction,bytes)](src/osp/OneStepProver0.sol#L60-L67) ignores return value by [mach.valueStack.pop()](src/osp/OneStepProver0.sol#L66)\n", -+ "first_markdown_element": "src/osp/OneStepProver0.sol#L60-L67", -+ "id": "12bf5611aeaa1ce8c4037f42705c38eef1245905dff7bc27604a5c8290de634b", -+ "check": "unused-return", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "validateSequencerInbox", -+ "source_mapping": { -+ "start": 10080, -+ "length": 884, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverHostIo", -+ "source_mapping": { -+ "start": 433, -+ "length": 16565, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, -+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, -+ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -+ 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "validateSequencerInbox(ExecutionContext,uint64,bytes)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "(afterDelayedMsg,None) = Deserialize.u64(message,32)", -+ "source_mapping": { -+ "start": 10365, -+ "length": 50, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [255], -+ "starting_column": 9, -+ "ending_column": 59 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "validateSequencerInbox", -+ "source_mapping": { -+ "start": 10080, -+ "length": 884, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverHostIo", -+ "source_mapping": { -+ "start": 433, -+ "length": 16565, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, -+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, -+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, -+ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, -+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, -+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, -+ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, -+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, -+ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, -+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, -+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, -+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, -+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, -+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, -+ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, -+ 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, -+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, -+ 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, -+ 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, -+ 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, -+ 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -+ 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, -+ 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, -+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -+ 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, -+ 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "validateSequencerInbox(ExecutionContext,uint64,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProverHostIo.validateSequencerInbox(ExecutionContext,uint64,bytes) (src/osp/OneStepProverHostIo.sol#247-269) ignores return value by (afterDelayedMsg,None) = Deserialize.u64(message,32) (src/osp/OneStepProverHostIo.sol#255)\n", -+ "markdown": "[OneStepProverHostIo.validateSequencerInbox(ExecutionContext,uint64,bytes)](src/osp/OneStepProverHostIo.sol#L247-L269) ignores return value by [(afterDelayedMsg,None) = Deserialize.u64(message,32)](src/osp/OneStepProverHostIo.sol#L255)\n", -+ "first_markdown_element": "src/osp/OneStepProverHostIo.sol#L247-L269", -+ "id": "8e9dac288df9bcd5afd57ce5afd7d08f223411c09b70bf9486fbdce8c99e8a4e", -+ "check": "unused-return", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "validateDelayedInbox", -+ "source_mapping": { -+ "start": 10970, -+ "length": 916, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, -+ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverHostIo", -+ "source_mapping": { -+ "start": 433, -+ "length": 16565, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, -+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, -+ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -+ 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, -+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, -+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, -+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, -+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, -+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, -+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, -+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, -+ 447, 448, 449, 450 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "validateDelayedInbox(ExecutionContext,uint64,bytes)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "(sender,None) = Deserialize.u256(message,1)", -+ "source_mapping": { -+ "start": 11493, -+ "length": 41, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [287], -+ "starting_column": 9, -+ "ending_column": 50 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "validateDelayedInbox", -+ "source_mapping": { -+ "start": 10970, -+ "length": 916, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, -+ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverHostIo", -+ "source_mapping": { -+ "start": 433, -+ "length": 16565, -+ "filename_relative": "src/osp/OneStepProverHostIo.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverHostIo.sol", -+ "filename_short": "src/osp/OneStepProverHostIo.sol", -+ "is_dependency": false, -+ "lines": [ -+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, -+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, -+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, -+ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, -+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, -+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, -+ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, -+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, -+ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, -+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, -+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, -+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, -+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, -+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, -+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, -+ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, -+ 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, -+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, -+ 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, -+ 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, -+ 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, -+ 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -+ 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, -+ 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, -+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -+ 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, -+ 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "validateDelayedInbox(ExecutionContext,uint64,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProverHostIo.validateDelayedInbox(ExecutionContext,uint64,bytes) (src/osp/OneStepProverHostIo.sol#271-296) ignores return value by (sender,None) = Deserialize.u256(message,1) (src/osp/OneStepProverHostIo.sol#287)\n", -+ "markdown": "[OneStepProverHostIo.validateDelayedInbox(ExecutionContext,uint64,bytes)](src/osp/OneStepProverHostIo.sol#L271-L296) ignores return value by [(sender,None) = Deserialize.u256(message,1)](src/osp/OneStepProverHostIo.sol#L287)\n", -+ "first_markdown_element": "src/osp/OneStepProverHostIo.sol#L271-L296", -+ "id": "06e60ad1cf7b2c761d007d2174aab9de589f5fb917c2547582fac31386b8bf17", -+ "check": "unused-return", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "executeMemoryLoad", -+ "source_mapping": { -+ "start": 1507, -+ "length": 4594, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [ -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, -+ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverMemory", -+ "source_mapping": { -+ "start": 368, -+ "length": 11469, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, -+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, -+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, -+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, -+ 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, -+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, -+ 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, -+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, -+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, -+ 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, -+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, -+ 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, -+ 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, -+ 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeMemoryLoad(Machine,Module,Instruction,bytes)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "(lastProvedLeafContents,proofOffset,None) = ModuleMemoryLib.proveLeaf(mod.moduleMemory,leafIdx,proof,proofOffset)", -+ "source_mapping": { -+ "start": 4658, -+ "length": 212, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [128, 129, 130, 131, 132, 133], -+ "starting_column": 17, -+ "ending_column": 18 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeMemoryLoad", -+ "source_mapping": { -+ "start": 1507, -+ "length": 4594, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [ -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, -+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, -+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, -+ 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, -+ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, -+ 157, 158, 159, 160 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProverMemory", -+ "source_mapping": { -+ "start": 368, -+ "length": 11469, -+ "filename_relative": "src/osp/OneStepProverMemory.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProverMemory.sol", -+ "filename_short": "src/osp/OneStepProverMemory.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, -+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, -+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, -+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -+ 306, 307, 308, 309, 310, 311, 312, 313 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeMemoryLoad(Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProverMemory.executeMemoryLoad(Machine,Module,Instruction,bytes) (src/osp/OneStepProverMemory.sol#43-160) ignores return value by (lastProvedLeafContents,proofOffset,None) = ModuleMemoryLib.proveLeaf(mod.moduleMemory,leafIdx,proof,proofOffset) (src/osp/OneStepProverMemory.sol#128-133)\n", -+ "markdown": "[OneStepProverMemory.executeMemoryLoad(Machine,Module,Instruction,bytes)](src/osp/OneStepProverMemory.sol#L43-L160) ignores return value by [(lastProvedLeafContents,proofOffset,None) = ModuleMemoryLib.proveLeaf(mod.moduleMemory,leafIdx,proof,proofOffset)](src/osp/OneStepProverMemory.sol#L128-L133)\n", -+ "first_markdown_element": "src/osp/OneStepProverMemory.sol#L43-L160", -+ "id": "ab8910cb7fbab9ad8b4fcabf66567df3327f36c637f318ceaf3df0ea258b2a1d", -+ "check": "unused-return", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "_fundAndDeploy", -+ "source_mapping": { -+ "start": 8513, -+ "length": 1493, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "DeployHelper", -+ "source_mapping": { -+ "start": 513, -+ "length": 11093, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, -+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, -+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, -+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, -+ 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, -+ 146, 147, 148, 149 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_fundAndDeploy(address,uint256,address,bytes,bool,uint256)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "IERC20Inbox(inbox).createRetryableTicket({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,tokenTotalFeeAmount:feeAmount,data:})", -+ "source_mapping": { -+ "start": 9018, -+ "length": 434, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72], -+ "starting_column": 13, -+ "ending_column": 15 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_fundAndDeploy", -+ "source_mapping": { -+ "start": 8513, -+ "length": 1493, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "DeployHelper", -+ "source_mapping": { -+ "start": 513, -+ "length": 11093, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_fundAndDeploy(address,uint256,address,bytes,bool,uint256)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "DeployHelper._fundAndDeploy(address,uint256,address,bytes,bool,uint256) (src/rollup/DeployHelper.sol#46-87) ignores return value by IERC20Inbox(inbox).createRetryableTicket({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,tokenTotalFeeAmount:feeAmount,data:}) (src/rollup/DeployHelper.sol#62-72)\n", -+ "markdown": "[DeployHelper._fundAndDeploy(address,uint256,address,bytes,bool,uint256)](src/rollup/DeployHelper.sol#L46-L87) ignores return value by [IERC20Inbox(inbox).createRetryableTicket({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,tokenTotalFeeAmount:feeAmount,data:})](src/rollup/DeployHelper.sol#L62-L72)\n", -+ "first_markdown_element": "src/rollup/DeployHelper.sol#L46-L87", -+ "id": "b577066c87e9c3fd8db423a41c6f80870945020f8f55d5dd38041b1894b9af5a", -+ "check": "unused-return", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "_fundAndDeploy", -+ "source_mapping": { -+ "start": 8513, -+ "length": 1493, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "DeployHelper", -+ "source_mapping": { -+ "start": 513, -+ "length": 11093, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, -+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, -+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, -+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, -+ 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, -+ 146, 147, 148, 149 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_fundAndDeploy(address,uint256,address,bytes,bool,uint256)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "IInbox(inbox).createRetryableTicket{value: feeAmount}({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,data:})", -+ "source_mapping": { -+ "start": 9483, -+ "length": 399, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [74, 75, 76, 77, 78, 79, 80, 81, 82, 83], -+ "starting_column": 13, -+ "ending_column": 15 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_fundAndDeploy", -+ "source_mapping": { -+ "start": 8513, -+ "length": 1493, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "DeployHelper", -+ "source_mapping": { -+ "start": 513, -+ "length": 11093, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_fundAndDeploy(address,uint256,address,bytes,bool,uint256)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "DeployHelper._fundAndDeploy(address,uint256,address,bytes,bool,uint256) (src/rollup/DeployHelper.sol#46-87) ignores return value by IInbox(inbox).createRetryableTicket{value: feeAmount}({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,data:}) (src/rollup/DeployHelper.sol#74-83)\n", -+ "markdown": "[DeployHelper._fundAndDeploy(address,uint256,address,bytes,bool,uint256)](src/rollup/DeployHelper.sol#L46-L87) ignores return value by [IInbox(inbox).createRetryableTicket{value: feeAmount}({to:_l2Address,l2CallValue:_value,maxSubmissionCost:submissionCost,excessFeeRefundAddress:msg.sender,callValueRefundAddress:msg.sender,gasLimit:GASLIMIT,maxFeePerGas:maxFeePerGas,data:})](src/rollup/DeployHelper.sol#L74-L83)\n", -+ "first_markdown_element": "src/rollup/DeployHelper.sol#L46-L87", -+ "id": "08d31a6c6d79a1ee2e015f8b5e35c4ed5b9293c91824de95a577f6e382ac73bd", -+ "check": "unused-return", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "_fundAndDeploy", -+ "source_mapping": { -+ "start": 8513, -+ "length": 1493, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, -+ 80, 81, 82, 83, 84, 85, 86, 87 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "DeployHelper", -+ "source_mapping": { -+ "start": 513, -+ "length": 11093, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, -+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, -+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, -+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, -+ 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, -+ 146, 147, 148, 149 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_fundAndDeploy(address,uint256,address,bytes,bool,uint256)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "IInboxBase(inbox).sendL2Message(payload)", -+ "source_mapping": { -+ "start": 9959, -+ "length": 40, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [86], -+ "starting_column": 9, -+ "ending_column": 49 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_fundAndDeploy", -+ "source_mapping": { -+ "start": 8513, -+ "length": 1493, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "DeployHelper", -+ "source_mapping": { -+ "start": 513, -+ "length": 11093, -+ "filename_relative": "src/rollup/DeployHelper.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/DeployHelper.sol", -+ "filename_short": "src/rollup/DeployHelper.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_fundAndDeploy(address,uint256,address,bytes,bool,uint256)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "DeployHelper._fundAndDeploy(address,uint256,address,bytes,bool,uint256) (src/rollup/DeployHelper.sol#46-87) ignores return value by IInboxBase(inbox).sendL2Message(payload) (src/rollup/DeployHelper.sol#86)\n", -+ "markdown": "[DeployHelper._fundAndDeploy(address,uint256,address,bytes,bool,uint256)](src/rollup/DeployHelper.sol#L46-L87) ignores return value by [IInboxBase(inbox).sendL2Message(payload)](src/rollup/DeployHelper.sol#L86)\n", -+ "first_markdown_element": "src/rollup/DeployHelper.sol#L46-L87", -+ "id": "b4a84cbb13a9ec2260cb5bdf5bf9641492e27e04195d23e819c7abac1a906e14", -+ "check": "unused-return", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "_upgradeSecondaryToAndCall", -+ "source_mapping": { -+ "start": 2306, -+ "length": 313, -+ "filename_relative": "src/libraries/AdminFallbackProxy.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/AdminFallbackProxy.sol", -+ "filename_short": "src/libraries/AdminFallbackProxy.sol", -+ "is_dependency": false, -+ "lines": [60, 61, 62, 63, 64, 65, 66, 67, 68, 69], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "DoubleLogicERC1967Upgrade", -+ "source_mapping": { -+ "start": 525, -+ "length": 3364, -+ "filename_relative": "src/libraries/AdminFallbackProxy.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/AdminFallbackProxy.sol", -+ "filename_short": "src/libraries/AdminFallbackProxy.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, -+ 93, 94, 95, 96, 97, 98 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_upgradeSecondaryToAndCall(address,bytes,bool)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "Address.functionDelegateCall(newImplementation,data)", -+ "source_mapping": { -+ "start": 2549, -+ "length": 53, -+ "filename_relative": "src/libraries/AdminFallbackProxy.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/AdminFallbackProxy.sol", -+ "filename_short": "src/libraries/AdminFallbackProxy.sol", -+ "is_dependency": false, -+ "lines": [67], -+ "starting_column": 13, -+ "ending_column": 66 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "_upgradeSecondaryToAndCall", -+ "source_mapping": { -+ "start": 2306, -+ "length": 313, -+ "filename_relative": "src/libraries/AdminFallbackProxy.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/AdminFallbackProxy.sol", -+ "filename_short": "src/libraries/AdminFallbackProxy.sol", -+ "is_dependency": false, -+ "lines": [60, 61, 62, 63, 64, 65, 66, 67, 68, 69], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "DoubleLogicERC1967Upgrade", -+ "source_mapping": { -+ "start": 525, -+ "length": 3364, -+ "filename_relative": "src/libraries/AdminFallbackProxy.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/libraries/AdminFallbackProxy.sol", -+ "filename_short": "src/libraries/AdminFallbackProxy.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "_upgradeSecondaryToAndCall(address,bytes,bool)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "DoubleLogicERC1967Upgrade._upgradeSecondaryToAndCall(address,bytes,bool) (src/libraries/AdminFallbackProxy.sol#60-69) ignores return value by Address.functionDelegateCall(newImplementation,data) (src/libraries/AdminFallbackProxy.sol#67)\n", -+ "markdown": "[DoubleLogicERC1967Upgrade._upgradeSecondaryToAndCall(address,bytes,bool)](src/libraries/AdminFallbackProxy.sol#L60-L69) ignores return value by [Address.functionDelegateCall(newImplementation,data)](src/libraries/AdminFallbackProxy.sol#L67)\n", -+ "first_markdown_element": "src/libraries/AdminFallbackProxy.sol#L60-L69", -+ "id": "47e0b452924c566df231e1282a84ce0091600869b7eac2442aebf277bfcb6455", -+ "check": "unused-return", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "createRollup", -+ "source_mapping": { -+ "start": 4904, -+ "length": 5018, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, -+ 227, 228, 229, 230, 231, 232, 233 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCreator", -+ "source_mapping": { -+ "start": 703, -+ "length": 11028, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, -+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, -+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, -+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, -+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, -+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, -+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, -+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, -+ 279, 280, 281, 282, 283, 284, 285, 286 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createRollup(RollupCreator.RollupDeploymentParams)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "(ethSequencerInbox,ethInbox) = bridgeCreator.ethBasedTemplates()", -+ "source_mapping": { -+ "start": 5121, -+ "length": 115, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [117, 118], -+ "starting_column": 13, -+ "ending_column": 37 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "createRollup", -+ "source_mapping": { -+ "start": 4904, -+ "length": 5018, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, -+ 227, 228, 229, 230, 231, 232, 233 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCreator", -+ "source_mapping": { -+ "start": 703, -+ "length": 11028, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, -+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, -+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createRollup(RollupCreator.RollupDeploymentParams)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "RollupCreator.createRollup(RollupCreator.RollupDeploymentParams) (src/rollup/RollupCreator.sol#110-233) ignores return value by (ethSequencerInbox,ethInbox) = bridgeCreator.ethBasedTemplates() (src/rollup/RollupCreator.sol#117-118)\n", -+ "markdown": "[RollupCreator.createRollup(RollupCreator.RollupDeploymentParams)](src/rollup/RollupCreator.sol#L110-L233) ignores return value by [(ethSequencerInbox,ethInbox) = bridgeCreator.ethBasedTemplates()](src/rollup/RollupCreator.sol#L117-L118)\n", -+ "first_markdown_element": "src/rollup/RollupCreator.sol#L110-L233", -+ "id": "ab1f7532bdfa2da03ac0035addb1594f2610bdbf697232a9b6207e2345bfd5a7", -+ "check": "unused-return", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "function", -+ "name": "createRollup", -+ "source_mapping": { -+ "start": 4904, -+ "length": 5018, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, -+ 227, 228, 229, 230, 231, 232, 233 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCreator", -+ "source_mapping": { -+ "start": 703, -+ "length": 11028, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, -+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, -+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, -+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, -+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, -+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, -+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, -+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, -+ 279, 280, 281, 282, 283, 284, 285, 286 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createRollup(RollupCreator.RollupDeploymentParams)" -+ } -+ }, -+ { -+ "type": "node", -+ "name": "(erc20SequencerInbox,erc20Inbox) = bridgeCreator.erc20BasedTemplates()", -+ "source_mapping": { -+ "start": 5509, -+ "length": 121, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [125, 126], -+ "starting_column": 13, -+ "ending_column": 39 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "createRollup", -+ "source_mapping": { -+ "start": 4904, -+ "length": 5018, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, -+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, -+ 227, 228, 229, 230, 231, 232, 233 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "RollupCreator", -+ "source_mapping": { -+ "start": 703, -+ "length": 11028, -+ "filename_relative": "src/rollup/RollupCreator.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/rollup/RollupCreator.sol", -+ "filename_short": "src/rollup/RollupCreator.sol", -+ "is_dependency": false, -+ "lines": [ -+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, -+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, -+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "createRollup(RollupCreator.RollupDeploymentParams)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "RollupCreator.createRollup(RollupCreator.RollupDeploymentParams) (src/rollup/RollupCreator.sol#110-233) ignores return value by (erc20SequencerInbox,erc20Inbox) = bridgeCreator.erc20BasedTemplates() (src/rollup/RollupCreator.sol#125-126)\n", -+ "markdown": "[RollupCreator.createRollup(RollupCreator.RollupDeploymentParams)](src/rollup/RollupCreator.sol#L110-L233) ignores return value by [(erc20SequencerInbox,erc20Inbox) = bridgeCreator.erc20BasedTemplates()](src/rollup/RollupCreator.sol#L125-L126)\n", -+ "first_markdown_element": "src/rollup/RollupCreator.sol#L110-L233", -+ "id": "66c2e2cbe1d68bc0695a2c75ad2b2ad0c7a15d7d1455bb4ae31a64aeece91d52", -+ "check": "unused-return", -+ "impact": "Medium", -+ "confidence": "Medium" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "_activeOutbox", -+ "source_mapping": { -+ "start": 1410, -+ "length": 30, -+ "filename_relative": "src/bridge/AbsBridge.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsBridge.sol", -+ "filename_short": "src/bridge/AbsBridge.sol", -+ "is_dependency": false, -+ "lines": [45], -+ "starting_column": 5, -+ "ending_column": 35 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsBridge", -+ "source_mapping": { -+ "start": 995, -+ "length": 9716, -+ "filename_relative": "src/bridge/AbsBridge.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsBridge.sol", -+ "filename_short": "src/bridge/AbsBridge.sol", -+ "is_dependency": false, -+ "lines": [ -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, -+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, -+ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -+ 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, -+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, -+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, -+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, -+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, -+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -+ 304, 305, 306, 307, 308 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ } -+ } -+ }, -+ { -+ "type": "node", -+ "name": "_activeOutbox = msg.sender", -+ "source_mapping": { -+ "start": 6961, -+ "length": 26, -+ "filename_relative": "src/bridge/AbsBridge.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsBridge.sol", -+ "filename_short": "src/bridge/AbsBridge.sol", -+ "is_dependency": false, -+ "lines": [218], -+ "starting_column": 9, -+ "ending_column": 35 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeCall", -+ "source_mapping": { -+ "start": 6606, -+ "length": 870, -+ "filename_relative": "src/bridge/AbsBridge.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsBridge.sol", -+ "filename_short": "src/bridge/AbsBridge.sol", -+ "is_dependency": false, -+ "lines": [ -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsBridge", -+ "source_mapping": { -+ "start": 995, -+ "length": 9716, -+ "filename_relative": "src/bridge/AbsBridge.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsBridge.sol", -+ "filename_short": "src/bridge/AbsBridge.sol", -+ "is_dependency": false, -+ "lines": [ -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeCall(address,uint256,bytes)" -+ } -+ } -+ } -+ }, -+ { -+ "type": "node", -+ "name": "_activeOutbox = prevOutbox", -+ "source_mapping": { -+ "start": 7380, -+ "length": 26, -+ "filename_relative": "src/bridge/AbsBridge.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsBridge.sol", -+ "filename_short": "src/bridge/AbsBridge.sol", -+ "is_dependency": false, -+ "lines": [225], -+ "starting_column": 9, -+ "ending_column": 35 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeCall", -+ "source_mapping": { -+ "start": 6606, -+ "length": 870, -+ "filename_relative": "src/bridge/AbsBridge.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsBridge.sol", -+ "filename_short": "src/bridge/AbsBridge.sol", -+ "is_dependency": false, -+ "lines": [ -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, -+ 223, 224, 225, 226, 227 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "AbsBridge", -+ "source_mapping": { -+ "start": 995, -+ "length": 9716, -+ "filename_relative": "src/bridge/AbsBridge.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/bridge/AbsBridge.sol", -+ "filename_short": "src/bridge/AbsBridge.sol", -+ "is_dependency": false, -+ "lines": [ -+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, -+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, -+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, -+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, -+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, -+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeCall(address,uint256,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "AbsBridge._activeOutbox (src/bridge/AbsBridge.sol#45) is written in both\n\t_activeOutbox = msg.sender (src/bridge/AbsBridge.sol#218)\n\t_activeOutbox = prevOutbox (src/bridge/AbsBridge.sol#225)\n", -+ "markdown": "[AbsBridge._activeOutbox](src/bridge/AbsBridge.sol#L45) is written in both\n\t[_activeOutbox = msg.sender](src/bridge/AbsBridge.sol#L218)\n\t[_activeOutbox = prevOutbox](src/bridge/AbsBridge.sol#L225)\n", -+ "first_markdown_element": "src/bridge/AbsBridge.sol#L45", -+ "id": "b37c58023a3ec214b040ae7619219597fa970084995f29f74c24648d6f1ba59f", -+ "check": "write-after-write", -+ "impact": "Medium", -+ "confidence": "High" -+ }, -+ { -+ "elements": [ -+ { -+ "type": "variable", -+ "name": "offset", -+ "source_mapping": { -+ "start": 6391, -+ "length": 18, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [201], -+ "starting_column": 13, -+ "ending_column": 31 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeCallIndirect", -+ "source_mapping": { -+ "start": 5971, -+ "length": 3565, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [ -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, -+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, -+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -+ 266, 267, 268, 269, 270, 271, 272, 273, 274 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProver0", -+ "source_mapping": { -+ "start": 362, -+ "length": 16704, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, -+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, -+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, -+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, -+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -+ 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, -+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, -+ 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -+ 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, -+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -+ 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, -+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, -+ 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, -+ 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, -+ 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeCallIndirect(Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ }, -+ { -+ "type": "node", -+ "name": "(elemFuncTypeHash,offset) = Deserialize.b32(proof,offset)", -+ "source_mapping": { -+ "start": 7998, -+ "length": 59, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [237], -+ "starting_column": 13, -+ "ending_column": 72 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeCallIndirect", -+ "source_mapping": { -+ "start": 5971, -+ "length": 3565, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [ -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, -+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, -+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -+ 266, 267, 268, 269, 270, 271, 272, 273, 274 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProver0", -+ "source_mapping": { -+ "start": 362, -+ "length": 16704, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, -+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, -+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, -+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, -+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -+ 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, -+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, -+ 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -+ 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, -+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -+ 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, -+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, -+ 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, -+ 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, -+ 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeCallIndirect(Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ }, -+ { -+ "type": "node", -+ "name": "(functionPointer,offset) = Deserialize.value(proof,offset)", -+ "source_mapping": { -+ "start": 8071, -+ "length": 60, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [238], -+ "starting_column": 13, -+ "ending_column": 73 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "function", -+ "name": "executeCallIndirect", -+ "source_mapping": { -+ "start": 5971, -+ "length": 3565, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [ -+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, -+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, -+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, -+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -+ 266, 267, 268, 269, 270, 271, 272, 273, 274 -+ ], -+ "starting_column": 5, -+ "ending_column": 6 -+ }, -+ "type_specific_fields": { -+ "parent": { -+ "type": "contract", -+ "name": "OneStepProver0", -+ "source_mapping": { -+ "start": 362, -+ "length": 16704, -+ "filename_relative": "src/osp/OneStepProver0.sol", -+ "filename_absolute": "/Users/goran/repos/offchain/nitro-contracts/src/osp/OneStepProver0.sol", -+ "filename_short": "src/osp/OneStepProver0.sol", -+ "is_dependency": false, -+ "lines": [ -+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, -+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, -+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, -+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, -+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, -+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, -+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, -+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, -+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, -+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, -+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, -+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, -+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -+ 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, -+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, -+ 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -+ 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, -+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, -+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -+ 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, -+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, -+ 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, -+ 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, -+ 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -+ 486, 487, 488, 489, 490, 491, 492, 493, 494 -+ ], -+ "starting_column": 1, -+ "ending_column": 2 -+ } -+ }, -+ "signature": "executeCallIndirect(Machine,Module,Instruction,bytes)" -+ } -+ } -+ } -+ } -+ ], -+ "description": "OneStepProver0.executeCallIndirect(Machine,Module,Instruction,bytes).offset (src/osp/OneStepProver0.sol#201) is written in both\n\t(elemFuncTypeHash,offset) = Deserialize.b32(proof,offset) (src/osp/OneStepProver0.sol#237)\n\t(functionPointer,offset) = Deserialize.value(proof,offset) (src/osp/OneStepProver0.sol#238)\n", -+ "markdown": "[OneStepProver0.executeCallIndirect(Machine,Module,Instruction,bytes).offset](src/osp/OneStepProver0.sol#L201) is written in both\n\t[(elemFuncTypeHash,offset) = Deserialize.b32(proof,offset)](src/osp/OneStepProver0.sol#L237)\n\t[(functionPointer,offset) = Deserialize.value(proof,offset)](src/osp/OneStepProver0.sol#L238)\n", -+ "first_markdown_element": "src/osp/OneStepProver0.sol#L201", -+ "id": "a2b254b166a5aad9092374dafd67aae05d0d84bd0d8079074f9addfc91926e56", -+ "check": "write-after-write", -+ "impact": "Medium", -+ "confidence": "High" -+ } -+]
-
- - -
- - - - -
- -
- -
+10
-
-8
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/test/foundry/CacheManager.t.sol Layr-Labs/nitro-contracts/test/foundry/CacheManager.t.sol -index 62f1a0fd0784cba9d4fe692d453dc55b532ad715..5ddfe041622a44bd980fc4d594d70007241e863f 100644 ---- OffchainLabs/nitro-contracts/test/foundry/CacheManager.t.sol -+++ Layr-Labs/nitro-contracts/test/foundry/CacheManager.t.sol -@@ -20,11 +20,7 @@ ProxyAdmin proxyAdmin = new ProxyAdmin(); - CacheManager cacheManagerImpl = new CacheManager(); - cacheManager = CacheManager( - address( -- new TransparentUpgradeableProxy( -- address(cacheManagerImpl), -- address(proxyAdmin), -- "" -- ) -+ new TransparentUpgradeableProxy(address(cacheManagerImpl), address(proxyAdmin), "") - ) - ); - uint64 cacheSize = 1_000_000; -@@ -50,7 +46,11 @@ for (uint256 i = 0; i < programs.length; i++) { - // Deploy bytes(bytes32(i)) as code to a sample program - // PUSH32 i PUSH1 0 MSTORE PUSH1 32 PUSH1 0 RETURN - // at the time of writing this our forge version or config doesn't have PUSH0 support -- bytes memory bytecode = bytes.concat(hex"7F", abi.encodePacked(i), hex"60005260206000F3"); -+ bytes memory bytecode = bytes.concat( -+ hex"7F", -+ abi.encodePacked(i), -+ hex"60005260206000F3" -+ ); - address program; - assembly { - program := create(0, add(bytecode, 32), mload(bytecode)) -@@ -67,7 +67,9 @@ - for (uint256 epoch = 0; epoch < 4; epoch++) { - for (uint256 round = 0; round < 512; round++) { - // roll one of 256 random programs -- address program = programs[uint256(keccak256(abi.encodePacked("code", epoch, round))) % programs.length]; -+ address program = programs[ -+ uint256(keccak256(abi.encodePacked("code", epoch, round))) % programs.length -+ ]; - bytes32 codehash = program.codehash; -  - vm.warp(block.timestamp + 1); // move time forward to test decay and make bid unique -@@ -136,7 +138,7 @@ } -  - cacheManager.placeBid{value: pay}(program); -  -- if(mustCache) { -+ if (mustCache) { - require( - ARB_WASM_CACHE.codehashIsCached(codehash), - "must cache codehash not cached"
-
- - -
- - - - -
- -
- -
+30
-
-12
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/test/foundry/ChallengeManager.t.sol Layr-Labs/nitro-contracts/test/foundry/ChallengeManager.t.sol -index 88557db995eea50023492e5c5dd3a7812c4c80c5..1e9622e2294575567d7cb0b7f61bad7d96dd91ea 100644 ---- OffchainLabs/nitro-contracts/test/foundry/ChallengeManager.t.sol -+++ Layr-Labs/nitro-contracts/test/foundry/ChallengeManager.t.sol -@@ -24,10 +24,14 @@ address(new TransparentUpgradeableProxy(address(chalmanImpl), proxyAdmin, "")) - ); - chalman.initialize(resultReceiver, sequencerInbox, bridge, osp); - assertEq( -- address(chalman.resultReceiver()), address(resultReceiver), "Result receiver not set" -+ address(chalman.resultReceiver()), -+ address(resultReceiver), -+ "Result receiver not set" - ); - assertEq( -- address(chalman.sequencerInbox()), address(sequencerInbox), "Sequencer inbox not set" -+ address(chalman.sequencerInbox()), -+ address(sequencerInbox), -+ "Sequencer inbox not set" - ); - assertEq(address(chalman.bridge()), address(bridge), "Bridge not set"); - assertEq(address(chalman.osp()), address(osp), "OSP not set"); -@@ -52,10 +56,12 @@ bytes32 legacyRoot = keccak256(abi.encodePacked("legacyRoot")); -  - // legacy hashes - bytes32 legacySegment0 = legacyOSP.getStartMachineHash( -- keccak256(abi.encodePacked("globalStateHash[0]")), legacyRoot -+ keccak256(abi.encodePacked("globalStateHash[0]")), -+ legacyRoot - ); - bytes32 legacySegment1 = legacyOSP.getEndMachineHash( -- MachineStatus.FINISHED, keccak256(abi.encodePacked("globalStateHashes[1]")) -+ MachineStatus.FINISHED, -+ keccak256(abi.encodePacked("globalStateHashes[1]")) - ); -  - /// new OSP -@@ -72,10 +78,12 @@ ); -  - // new hashes - bytes32 newSegment0 = _newOSP.getStartMachineHash( -- keccak256(abi.encodePacked("globalStateHash[0]")), randomRoot -+ keccak256(abi.encodePacked("globalStateHash[0]")), -+ randomRoot - ); - bytes32 newSegment1 = _newOSP.getEndMachineHash( -- MachineStatus.FINISHED, keccak256(abi.encodePacked("new_globalStateHashes[1]")) -+ MachineStatus.FINISHED, -+ keccak256(abi.encodePacked("new_globalStateHashes[1]")) - ); -  - /// do upgrade -@@ -83,7 +91,10 @@ vm.prank(proxyAdmin); - TransparentUpgradeableProxy(payable(address(chalman))).upgradeToAndCall( - address(chalmanImpl), - abi.encodeWithSelector( -- ChallengeManager.postUpgradeInit.selector, _newOSP, legacyRoot, legacyOSP -+ ChallengeManager.postUpgradeInit.selector, -+ _newOSP, -+ legacyRoot, -+ legacyOSP - ) - ); -  -@@ -92,14 +103,16 @@ IOneStepProofEntry _condOsp = chalman.getOsp(legacyRoot); - assertEq(address(_condOsp), address(legacyOSP), "Legacy osp not set"); - assertEq( - _condOsp.getStartMachineHash( -- keccak256(abi.encodePacked("globalStateHash[0]")), legacyRoot -+ keccak256(abi.encodePacked("globalStateHash[0]")), -+ legacyRoot - ), - legacySegment0, - "Unexpected start machine hash" - ); - assertEq( - _condOsp.getEndMachineHash( -- MachineStatus.FINISHED, keccak256(abi.encodePacked("globalStateHashes[1]")) -+ MachineStatus.FINISHED, -+ keccak256(abi.encodePacked("globalStateHashes[1]")) - ), - legacySegment1, - "Unexpected end machine hash" -@@ -110,14 +123,16 @@ IOneStepProofEntry _newOsp = chalman.getOsp(randomRoot); - assertEq(address(_newOsp), address(_newOSP), "New osp not set"); - assertEq( - _newOsp.getStartMachineHash( -- keccak256(abi.encodePacked("globalStateHash[0]")), randomRoot -+ keccak256(abi.encodePacked("globalStateHash[0]")), -+ randomRoot - ), - newSegment0, - "Unexpected start machine hash" - ); - assertEq( - _newOsp.getEndMachineHash( -- MachineStatus.FINISHED, keccak256(abi.encodePacked("new_globalStateHashes[1]")) -+ MachineStatus.FINISHED, -+ keccak256(abi.encodePacked("new_globalStateHashes[1]")) - ), - newSegment1, - "Unexpected end machine hash" -@@ -135,7 +150,10 @@ vm.prank(proxyAdmin); - TransparentUpgradeableProxy(payable(address(chalman))).upgradeToAndCall( - address(chalmanImpl), - abi.encodeWithSelector( -- ChallengeManager.postUpgradeInit.selector, newOsp, randomRoot, condOsp -+ ChallengeManager.postUpgradeInit.selector, -+ newOsp, -+ randomRoot, -+ condOsp - ) - ); -
-
- - -
- - - - -
- -
- -
+1
-
-2
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/test/foundry/ERC20Bridge.t.sol Layr-Labs/nitro-contracts/test/foundry/ERC20Bridge.t.sol -index 1d2d82aace8fc982ac65c35478815d2d602d9178..876c49c4b7a36df29a5a5440a8c71009cf659ce5 100644 ---- OffchainLabs/nitro-contracts/test/foundry/ERC20Bridge.t.sol -+++ Layr-Labs/nitro-contracts/test/foundry/ERC20Bridge.t.sol -@@ -60,7 +60,6 @@ vm.expectRevert(abi.encodeWithSelector(InvalidTokenSet.selector, address(0))); - noTokenBridge.initialize(IOwnable(rollup), address(0)); - } -  -- - function test_initialize_ERC20_LessThan18Decimals() public { - ERC20 _nativeToken = new ERC20_6Decimals(); - ERC20Bridge _bridge = ERC20Bridge(TestUtil.deployProxy(address(new ERC20Bridge()))); -@@ -81,7 +80,7 @@ function test_initialize_revert_37Decimals() public { - ERC20_37Decimals _nativeToken = new ERC20_37Decimals(); - ERC20Bridge _bridge = ERC20Bridge(TestUtil.deployProxy(address(new ERC20Bridge()))); -  -- vm.expectRevert(abi.encodeWithSelector(NativeTokenDecimalsTooLarge.selector,37)); -+ vm.expectRevert(abi.encodeWithSelector(NativeTokenDecimalsTooLarge.selector, 37)); - _bridge.initialize(IOwnable(makeAddr("_rollup")), address(_nativeToken)); - } -
-
- - -
- - - - -
- -
- -
+100
-
-56
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/test/foundry/ERC20Inbox.t.sol Layr-Labs/nitro-contracts/test/foundry/ERC20Inbox.t.sol -index 80596a10ca610a6316d8f838bb84526b8005eace..7d41810643275c2e64f65a6f0cf6c3b8747d8563 100644 ---- OffchainLabs/nitro-contracts/test/foundry/ERC20Inbox.t.sol -+++ Layr-Labs/nitro-contracts/test/foundry/ERC20Inbox.t.sol -@@ -87,7 +87,9 @@ uint8 decimals = 6; - ERC20 _nativeToken = new ERC20_6Decimals(); -  - IERC20Bridge _bridge = IERC20Bridge(TestUtil.deployProxy(address(new ERC20Bridge()))); -- IERC20Inbox _inbox = IERC20Inbox(TestUtil.deployProxy(address(new ERC20Inbox(MAX_DATA_SIZE)))); -+ IERC20Inbox _inbox = IERC20Inbox( -+ TestUtil.deployProxy(address(new ERC20Inbox(MAX_DATA_SIZE))) -+ ); -  - // init bridge and inbox - address _rollup = makeAddr("_rollup"); -@@ -97,9 +99,9 @@ vm.prank(_rollup); - _bridge.setDelayedInbox(address(_inbox), true); -  - // fund user account -- ERC20_6Decimals(address(_nativeToken)).mint(user, 1000 * 10 ** decimals); -+ ERC20_6Decimals(address(_nativeToken)).mint(user, 1000 * 10**decimals); -  -- uint256 depositAmount = 300 * 10 ** decimals; -+ uint256 depositAmount = 300 * 10**decimals; -  - uint256 bridgeTokenBalanceBefore = _nativeToken.balanceOf(address(_bridge)); - uint256 userTokenBalanceBefore = _nativeToken.balanceOf(address(user)); -@@ -110,7 +112,7 @@ vm.prank(user); - _nativeToken.approve(address(_inbox), depositAmount); -  - // expect event -- uint256 expectedAmountToMintOnL2 = depositAmount * 10 ** (18 - decimals); -+ uint256 expectedAmountToMintOnL2 = depositAmount * 10**(18 - decimals); - vm.expectEmit(true, true, true, true); - emit InboxMessageDelivered(0, abi.encodePacked(user, expectedAmountToMintOnL2)); -  -@@ -143,7 +145,9 @@ uint8 decimals = 20; - ERC20 _nativeToken = new ERC20_20Decimals(); -  - IERC20Bridge _bridge = IERC20Bridge(TestUtil.deployProxy(address(new ERC20Bridge()))); -- IERC20Inbox _inbox = IERC20Inbox(TestUtil.deployProxy(address(new ERC20Inbox(MAX_DATA_SIZE)))); -+ IERC20Inbox _inbox = IERC20Inbox( -+ TestUtil.deployProxy(address(new ERC20Inbox(MAX_DATA_SIZE))) -+ ); -  - // init bridge and inbox - address _rollup = makeAddr("_rollup"); -@@ -153,9 +157,9 @@ vm.prank(_rollup); - _bridge.setDelayedInbox(address(_inbox), true); -  - // fund user account -- ERC20_20Decimals(address(_nativeToken)).mint(user, 1000 * 10 ** decimals); -+ ERC20_20Decimals(address(_nativeToken)).mint(user, 1000 * 10**decimals); -  -- uint256 depositAmount = 300 * 10 ** decimals; -+ uint256 depositAmount = 300 * 10**decimals; -  - uint256 bridgeTokenBalanceBefore = _nativeToken.balanceOf(address(_bridge)); - uint256 userTokenBalanceBefore = _nativeToken.balanceOf(address(user)); -@@ -166,7 +170,7 @@ vm.prank(user); - _nativeToken.approve(address(_inbox), depositAmount); -  - // expect event -- uint256 expectedAmountToMintOnL2 = depositAmount / (10 ** (decimals - 18)); -+ uint256 expectedAmountToMintOnL2 = depositAmount / (10**(decimals - 18)); - vm.expectEmit(true, true, true, true); - emit InboxMessageDelivered(0, abi.encodePacked(user, expectedAmountToMintOnL2)); -  -@@ -198,7 +202,9 @@ function test_depositERC20_FromEOA_NoDecimals() public { - ERC20 _nativeToken = new ERC20NoDecimals(); -  - IERC20Bridge _bridge = IERC20Bridge(TestUtil.deployProxy(address(new ERC20Bridge()))); -- IERC20Inbox _inbox = IERC20Inbox(TestUtil.deployProxy(address(new ERC20Inbox(MAX_DATA_SIZE)))); -+ IERC20Inbox _inbox = IERC20Inbox( -+ TestUtil.deployProxy(address(new ERC20Inbox(MAX_DATA_SIZE))) -+ ); -  - // init bridge and inbox - address _rollup = makeAddr("_rollup"); -@@ -221,7 +227,7 @@ vm.prank(user); - _nativeToken.approve(address(_inbox), depositAmount); -  - // expect event -- uint256 expectedAmountToMintOnL2 = depositAmount * 10 ** 18; -+ uint256 expectedAmountToMintOnL2 = depositAmount * 10**18; - vm.expectEmit(true, true, true, true); - emit InboxMessageDelivered(0, abi.encodePacked(user, expectedAmountToMintOnL2)); -  -@@ -329,7 +335,9 @@ function test_depositERC20_revert_DepositAmountTooLarge() public { - ERC20 _nativeToken = new ERC20_6Decimals(); -  - IERC20Bridge _bridge = IERC20Bridge(TestUtil.deployProxy(address(new ERC20Bridge()))); -- IERC20Inbox _inbox = IERC20Inbox(TestUtil.deployProxy(address(new ERC20Inbox(MAX_DATA_SIZE)))); -+ IERC20Inbox _inbox = IERC20Inbox( -+ TestUtil.deployProxy(address(new ERC20Inbox(MAX_DATA_SIZE))) -+ ); -  - // init bridge and inbox - address _rollup = makeAddr("_rollup"); -@@ -343,9 +351,7 @@ ERC20_6Decimals(address(_nativeToken)).mint(user, type(uint256).max - 10); -  - uint256 depositAmountTooHigh = type(uint256).max / 10; -  -- vm.expectRevert( -- abi.encodeWithSelector(AmountTooLarge.selector, depositAmountTooHigh) -- ); -+ vm.expectRevert(abi.encodeWithSelector(AmountTooLarge.selector, depositAmountTooHigh)); - vm.prank(user, user); - _inbox.depositERC20(depositAmountTooHigh); - } -@@ -446,7 +452,9 @@ uint8 decimals = 6; - ERC20 _nativeToken = new ERC20_6Decimals(); -  - IERC20Bridge _bridge = IERC20Bridge(TestUtil.deployProxy(address(new ERC20Bridge()))); -- IERC20Inbox _inbox = IERC20Inbox(TestUtil.deployProxy(address(new ERC20Inbox(MAX_DATA_SIZE)))); -+ IERC20Inbox _inbox = IERC20Inbox( -+ TestUtil.deployProxy(address(new ERC20Inbox(MAX_DATA_SIZE))) -+ ); -  - // init bridge and inbox - address _rollup = makeAddr("_rollup"); -@@ -456,20 +464,20 @@ vm.prank(_rollup); - _bridge.setDelayedInbox(address(_inbox), true); -  - // fund user account -- ERC20_6Decimals(address(_nativeToken)).mint(user, 1000 * 10 ** decimals); -+ ERC20_6Decimals(address(_nativeToken)).mint(user, 1000 * 10**decimals); -  - // snapshot - uint256 bridgeTokenBalanceBefore = _nativeToken.balanceOf(address(_bridge)); - uint256 userTokenBalanceBefore = _nativeToken.balanceOf(address(user)); -  -- uint256 tokenTotalFeeAmount = 300 * 10 ** decimals; -+ uint256 tokenTotalFeeAmount = 300 * 10**decimals; -  - // approve inbox to fetch tokens - vm.prank(user); - _nativeToken.approve(address(_inbox), tokenTotalFeeAmount); -  - // retyrable params -- uint256 l2CallValue = 20 * 10 ** decimals; -+ uint256 l2CallValue = 20 * 10**decimals; - uint256 maxSubmissionCost = 0; - uint256 gasLimit = 100; - uint256 maxFeePerGas = 2; -@@ -477,7 +485,7 @@ bytes memory data = abi.encodePacked("some msg"); -  - { - // expect event -- uint256 expectedTokenTotalFeeAmount18Dec = tokenTotalFeeAmount * 10 ** (18 - decimals); -+ uint256 expectedTokenTotalFeeAmount18Dec = tokenTotalFeeAmount * 10**(18 - decimals); - vm.expectEmit(true, true, true, true); - emit InboxMessageDelivered( - 0, -@@ -534,7 +542,9 @@ uint8 decimals = 20; - ERC20 _nativeToken = new ERC20_20Decimals(); -  - IERC20Bridge _bridge = IERC20Bridge(TestUtil.deployProxy(address(new ERC20Bridge()))); -- IERC20Inbox _inbox = IERC20Inbox(TestUtil.deployProxy(address(new ERC20Inbox(MAX_DATA_SIZE)))); -+ IERC20Inbox _inbox = IERC20Inbox( -+ TestUtil.deployProxy(address(new ERC20Inbox(MAX_DATA_SIZE))) -+ ); -  - // init bridge and inbox - address _rollup = makeAddr("_rollup"); -@@ -544,20 +554,20 @@ vm.prank(_rollup); - _bridge.setDelayedInbox(address(_inbox), true); -  - // fund user account -- ERC20_20Decimals(address(_nativeToken)).mint(user, 1000 * 10 ** decimals); -+ ERC20_20Decimals(address(_nativeToken)).mint(user, 1000 * 10**decimals); -  - // snapshot - uint256 bridgeTokenBalanceBefore = _nativeToken.balanceOf(address(_bridge)); - uint256 userTokenBalanceBefore = _nativeToken.balanceOf(address(user)); -  -- uint256 tokenTotalFeeAmount = 235 * 10 ** decimals; -+ uint256 tokenTotalFeeAmount = 235 * 10**decimals; -  - // approve inbox to fetch tokens - vm.prank(user); - _nativeToken.approve(address(_inbox), tokenTotalFeeAmount); -  - // retyrable params -- uint256 l2CallValue = 20 * 10 ** 18; -+ uint256 l2CallValue = 20 * 10**18; - uint256 maxSubmissionCost = 0; - uint256 gasLimit = 100; - uint256 maxFeePerGas = 2; -@@ -565,7 +575,7 @@ bytes memory data = abi.encodePacked("some msg"); -  - { - // expect event -- uint256 expectedTokenTotalFeeAmount18Dec = tokenTotalFeeAmount / 10 ** (decimals - 18); -+ uint256 expectedTokenTotalFeeAmount18Dec = tokenTotalFeeAmount / 10**(decimals - 18); - vm.expectEmit(true, true, true, true); - emit InboxMessageDelivered( - 0, -@@ -759,7 +769,9 @@ uint8 decimals = 6; - ERC20 _nativeToken = new ERC20_6Decimals(); -  - IERC20Bridge _bridge = IERC20Bridge(TestUtil.deployProxy(address(new ERC20Bridge()))); -- IERC20Inbox _inbox = IERC20Inbox(TestUtil.deployProxy(address(new ERC20Inbox(MAX_DATA_SIZE)))); -+ IERC20Inbox _inbox = IERC20Inbox( -+ TestUtil.deployProxy(address(new ERC20Inbox(MAX_DATA_SIZE))) -+ ); -  - // init bridge and inbox - address _rollup = makeAddr("_rollup"); -@@ -769,16 +781,16 @@ vm.prank(_rollup); - _bridge.setDelayedInbox(address(_inbox), true); -  - // fund user account -- ERC20_6Decimals(address(_nativeToken)).mint(user, 1_000_000 * 10 ** decimals); -+ ERC20_6Decimals(address(_nativeToken)).mint(user, 1_000_000 * 10**decimals); -  - //// create ticket -  -- uint256 tooSmallTokenTotalFeeAmount = 2 * 10 ** 6; // 2 USDC becomes 2*10^18 on child chain -+ uint256 tooSmallTokenTotalFeeAmount = 2 * 10**6; // 2 USDC becomes 2*10^18 on child chain -  -- uint256 l2CallValue = 2 * 10 ** 18; -+ uint256 l2CallValue = 2 * 10**18; - uint256 maxSubmissionCost = 0; - uint256 gasLimit = 80_000; -- uint256 maxFeePerGas = 10 ** 9; //1 gwei -+ uint256 maxFeePerGas = 10**9; //1 gwei - /// provided: 2USDC on parent chain = 2*10^18 on child chain - /// needed: 2.00008*10^18 on child chain -  -@@ -787,7 +799,7 @@ vm.expectRevert( - abi.encodeWithSelector( - InsufficientValue.selector, - maxSubmissionCost + l2CallValue + gasLimit * maxFeePerGas, -- tooSmallTokenTotalFeeAmount * 10 ** (18 - decimals) -+ tooSmallTokenTotalFeeAmount * 10**(18 - decimals) - ) - ); - _inbox.createRetryableTicket({ -@@ -808,7 +820,9 @@ uint8 decimals = 20; - ERC20 _nativeToken = new ERC20_20Decimals(); -  - IERC20Bridge _bridge = IERC20Bridge(TestUtil.deployProxy(address(new ERC20Bridge()))); -- IERC20Inbox _inbox = IERC20Inbox(TestUtil.deployProxy(address(new ERC20Inbox(MAX_DATA_SIZE)))); -+ IERC20Inbox _inbox = IERC20Inbox( -+ TestUtil.deployProxy(address(new ERC20Inbox(MAX_DATA_SIZE))) -+ ); -  - // init bridge and inbox - address _rollup = makeAddr("_rollup"); -@@ -818,16 +832,16 @@ vm.prank(_rollup); - _bridge.setDelayedInbox(address(_inbox), true); -  - // fund user account -- ERC20_20Decimals(address(_nativeToken)).mint(user, 1_000_000 * 10 ** decimals); -+ ERC20_20Decimals(address(_nativeToken)).mint(user, 1_000_000 * 10**decimals); -  - //// create ticket -  -- uint256 tooSmallTokenTotalFeeAmount = 2 * 10 ** 20; -+ uint256 tooSmallTokenTotalFeeAmount = 2 * 10**20; -  -- uint256 l2CallValue = 2 * 10 ** 18; -+ uint256 l2CallValue = 2 * 10**18; - uint256 maxSubmissionCost = 0; - uint256 gasLimit = 80_000; -- uint256 maxFeePerGas = 10 ** 9; //1 gwei -+ uint256 maxFeePerGas = 10**9; //1 gwei - /// provided: 2 * 10 ** 20 on parent chain = 2*10^18 on child chain - /// needed: 2.00008*10^18 on child chain -  -@@ -836,7 +850,7 @@ vm.expectRevert( - abi.encodeWithSelector( - InsufficientValue.selector, - maxSubmissionCost + l2CallValue + gasLimit * maxFeePerGas, -- tooSmallTokenTotalFeeAmount / 10 ** (decimals - 18) -+ tooSmallTokenTotalFeeAmount / 10**(decimals - 18) - ) - ); - _inbox.createRetryableTicket({ -@@ -1135,7 +1149,9 @@ uint8 decimals = 6; - ERC20 _nativeToken = new ERC20_6Decimals(); -  - IERC20Bridge _bridge = IERC20Bridge(TestUtil.deployProxy(address(new ERC20Bridge()))); -- IERC20Inbox _inbox = IERC20Inbox(TestUtil.deployProxy(address(new ERC20Inbox(MAX_DATA_SIZE)))); -+ IERC20Inbox _inbox = IERC20Inbox( -+ TestUtil.deployProxy(address(new ERC20Inbox(MAX_DATA_SIZE))) -+ ); -  - // init bridge and inbox - address _rollup = makeAddr("_rollup"); -@@ -1145,13 +1161,13 @@ vm.prank(_rollup); - _bridge.setDelayedInbox(address(_inbox), true); -  - // fund user account -- ERC20_6Decimals(address(_nativeToken)).mint(user, 1000 * 10 ** decimals); -+ ERC20_6Decimals(address(_nativeToken)).mint(user, 1000 * 10**decimals); -  - // L2 msg params - uint256 maxFeePerGas = 0; - uint256 gasLimit = 10; - uint256 nonce = 3; -- uint256 l2CallValue = 15 * 10 ** decimals; -+ uint256 l2CallValue = 15 * 10**decimals; - bytes memory data = abi.encodePacked("7"); -  - // expect event -@@ -1171,8 +1187,14 @@ ); -  - // send TX - vm.prank(user, user); -- uint256 msgNum = -- _inbox.sendUnsignedTransaction(gasLimit, maxFeePerGas, nonce, user, l2CallValue, data); -+ uint256 msgNum = _inbox.sendUnsignedTransaction( -+ gasLimit, -+ maxFeePerGas, -+ nonce, -+ user, -+ l2CallValue, -+ data -+ ); -  - //// checks - assertEq(msgNum, 0, "Invalid msgNum"); -@@ -1185,7 +1207,9 @@ uint8 decimals = 20; - ERC20 _nativeToken = new ERC20_20Decimals(); -  - IERC20Bridge _bridge = IERC20Bridge(TestUtil.deployProxy(address(new ERC20Bridge()))); -- IERC20Inbox _inbox = IERC20Inbox(TestUtil.deployProxy(address(new ERC20Inbox(MAX_DATA_SIZE)))); -+ IERC20Inbox _inbox = IERC20Inbox( -+ TestUtil.deployProxy(address(new ERC20Inbox(MAX_DATA_SIZE))) -+ ); -  - // init bridge and inbox - address _rollup = makeAddr("_rollup"); -@@ -1195,13 +1219,13 @@ vm.prank(_rollup); - _bridge.setDelayedInbox(address(_inbox), true); -  - // fund user account -- ERC20_20Decimals(address(_nativeToken)).mint(user, 1000 * 10 ** decimals); -+ ERC20_20Decimals(address(_nativeToken)).mint(user, 1000 * 10**decimals); -  - // L2 msg params - uint256 maxFeePerGas = 0; - uint256 gasLimit = 10; - uint256 nonce = 3; -- uint256 l2CallValue = 15 * 10 ** decimals; -+ uint256 l2CallValue = 15 * 10**decimals; - bytes memory data = abi.encodePacked("7"); -  - // expect event -@@ -1221,8 +1245,14 @@ ); -  - // send TX - vm.prank(user, user); -- uint256 msgNum = -- _inbox.sendUnsignedTransaction(gasLimit, maxFeePerGas, nonce, user, l2CallValue, data); -+ uint256 msgNum = _inbox.sendUnsignedTransaction( -+ gasLimit, -+ maxFeePerGas, -+ nonce, -+ user, -+ l2CallValue, -+ data -+ ); -  - //// checks - assertEq(msgNum, 0, "Invalid msgNum"); -@@ -1235,7 +1265,9 @@ uint8 decimals = 6; - ERC20 _nativeToken = new ERC20_6Decimals(); -  - IERC20Bridge _bridge = IERC20Bridge(TestUtil.deployProxy(address(new ERC20Bridge()))); -- IERC20Inbox _inbox = IERC20Inbox(TestUtil.deployProxy(address(new ERC20Inbox(MAX_DATA_SIZE)))); -+ IERC20Inbox _inbox = IERC20Inbox( -+ TestUtil.deployProxy(address(new ERC20Inbox(MAX_DATA_SIZE))) -+ ); -  - // init bridge and inbox - address _rollup = makeAddr("_rollup"); -@@ -1245,12 +1277,12 @@ vm.prank(_rollup); - _bridge.setDelayedInbox(address(_inbox), true); -  - // fund user account -- ERC20_6Decimals(address(_nativeToken)).mint(user, 1000 * 10 ** decimals); -+ ERC20_6Decimals(address(_nativeToken)).mint(user, 1000 * 10**decimals); -  - // L2 msg params - uint256 maxFeePerGas = 0; - uint256 gasLimit = 10; -- uint256 l2CallValue = 72 * 10 ** decimals; -+ uint256 l2CallValue = 72 * 10**decimals; - bytes memory data = abi.encodePacked("test data"); -  - // expect event -@@ -1269,8 +1301,13 @@ ); -  - // send TX - vm.prank(user); -- uint256 msgNum = -- _inbox.sendContractTransaction(gasLimit, maxFeePerGas, user, l2CallValue, data); -+ uint256 msgNum = _inbox.sendContractTransaction( -+ gasLimit, -+ maxFeePerGas, -+ user, -+ l2CallValue, -+ data -+ ); -  - //// checks - assertEq(msgNum, 0, "Invalid msgNum"); -@@ -1283,7 +1320,9 @@ uint8 decimals = 20; - ERC20 _nativeToken = new ERC20_20Decimals(); -  - IERC20Bridge _bridge = IERC20Bridge(TestUtil.deployProxy(address(new ERC20Bridge()))); -- IERC20Inbox _inbox = IERC20Inbox(TestUtil.deployProxy(address(new ERC20Inbox(MAX_DATA_SIZE)))); -+ IERC20Inbox _inbox = IERC20Inbox( -+ TestUtil.deployProxy(address(new ERC20Inbox(MAX_DATA_SIZE))) -+ ); -  - // init bridge and inbox - address _rollup = makeAddr("_rollup"); -@@ -1293,12 +1332,12 @@ vm.prank(_rollup); - _bridge.setDelayedInbox(address(_inbox), true); -  - // fund user account -- ERC20_20Decimals(address(_nativeToken)).mint(user, 1000 * 10 ** decimals); -+ ERC20_20Decimals(address(_nativeToken)).mint(user, 1000 * 10**decimals); -  - // L2 msg params - uint256 maxFeePerGas = 0; - uint256 gasLimit = 10; -- uint256 l2CallValue = 72 * 10 ** decimals; -+ uint256 l2CallValue = 72 * 10**decimals; - bytes memory data = abi.encodePacked("test data"); -  - // expect event -@@ -1317,8 +1356,13 @@ ); -  - // send TX - vm.prank(user); -- uint256 msgNum = -- _inbox.sendContractTransaction(gasLimit, maxFeePerGas, user, l2CallValue, data); -+ uint256 msgNum = _inbox.sendContractTransaction( -+ gasLimit, -+ maxFeePerGas, -+ user, -+ l2CallValue, -+ data -+ ); -  - //// checks - assertEq(msgNum, 0, "Invalid msgNum");
-
- - -
- - - - -
- -
- -
+19
-
-28
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/test/foundry/ERC20Outbox.t.sol Layr-Labs/nitro-contracts/test/foundry/ERC20Outbox.t.sol -index 4c385a56ab2f1101e2686390d146b0d2538f5a37..102058b19879c829d07771ed5d80c0232fa85666 100644 ---- OffchainLabs/nitro-contracts/test/foundry/ERC20Outbox.t.sol -+++ Layr-Labs/nitro-contracts/test/foundry/ERC20Outbox.t.sol -@@ -78,10 +78,7 @@ }); - bytes32 root = outbox.calculateMerkleRoot(proof, index, itemHash); - // store root - vm.prank(rollup); -- outbox.updateSendRoot( -- root, -- bytes32(uint256(1)) -- ); -+ outbox.updateSendRoot(root, bytes32(uint256(1))); -  - outbox.executeTransaction({ - proof: proof, -@@ -162,10 +159,7 @@ }); - bytes32 root = outbox.calculateMerkleRoot(proof, index, itemHash); - // store root - vm.prank(rollup); -- outbox.updateSendRoot( -- root, -- bytes32(uint256(1)) -- ); -+ outbox.updateSendRoot(root, bytes32(uint256(1))); -  - vm.expectRevert(abi.encodeWithSelector(CallTargetNotAllowed.selector, invalidTarget)); - outbox.executeTransaction({ -@@ -193,7 +187,9 @@ uint8 decimals = 6; - ERC20 _nativeToken = new ERC20_6Decimals(); -  - IERC20Bridge _bridge = IERC20Bridge(TestUtil.deployProxy(address(new ERC20Bridge()))); -- IERC20Inbox _inbox = IERC20Inbox(TestUtil.deployProxy(address(new ERC20Inbox(MAX_DATA_SIZE)))); -+ IERC20Inbox _inbox = IERC20Inbox( -+ TestUtil.deployProxy(address(new ERC20Inbox(MAX_DATA_SIZE))) -+ ); - ERC20Outbox _outbox = ERC20Outbox(TestUtil.deployProxy(address(new ERC20Outbox()))); -  - // init bridge and inbox -@@ -205,7 +201,7 @@ vm.prank(_rollup); - _bridge.setOutbox(address(_outbox), true); -  - // fund bridge with some tokens -- ERC20_6Decimals(address(_nativeToken)).mint(address(_bridge), 1_000_000 * 10 ** decimals); -+ ERC20_6Decimals(address(_nativeToken)).mint(address(_bridge), 1_000_000 * 10**decimals); -  - // create msg receiver on L1 - ERC20L2ToL1Target target = new ERC20L2ToL1Target(); -@@ -219,7 +215,7 @@ bytes32[] memory proof = new bytes32[](1); - proof[0] = bytes32(0); -  - uint256 withdrawalAmount = 188_394_098_124_747_940; -- uint256 expetedAmountToUnlock = withdrawalAmount / (10 ** (18 - decimals)); -+ uint256 expetedAmountToUnlock = withdrawalAmount / (10**(18 - decimals)); -  - bytes memory data = abi.encodeWithSignature("receiveHook()"); -  -@@ -237,10 +233,7 @@ }); - bytes32 root = _outbox.calculateMerkleRoot(proof, index, itemHash); - // store root - vm.prank(_rollup); -- _outbox.updateSendRoot( -- root, -- bytes32(uint256(1)) -- ); -+ _outbox.updateSendRoot(root, bytes32(uint256(1))); - } -  - _outbox.executeTransaction({ -@@ -301,7 +294,9 @@ uint8 decimals = 20; - ERC20 _nativeToken = new ERC20_20Decimals(); -  - IERC20Bridge _bridge = IERC20Bridge(TestUtil.deployProxy(address(new ERC20Bridge()))); -- IERC20Inbox _inbox = IERC20Inbox(TestUtil.deployProxy(address(new ERC20Inbox(MAX_DATA_SIZE)))); -+ IERC20Inbox _inbox = IERC20Inbox( -+ TestUtil.deployProxy(address(new ERC20Inbox(MAX_DATA_SIZE))) -+ ); - ERC20Outbox _outbox = ERC20Outbox(TestUtil.deployProxy(address(new ERC20Outbox()))); -  - // init bridge and inbox -@@ -313,7 +308,7 @@ vm.prank(_rollup); - _bridge.setOutbox(address(_outbox), true); -  - // fund bridge with some tokens -- ERC20_20Decimals(address(_nativeToken)).mint(address(_bridge), 1_000_000 * 10 ** decimals); -+ ERC20_20Decimals(address(_nativeToken)).mint(address(_bridge), 1_000_000 * 10**decimals); -  - // create msg receiver on L1 - ERC20L2ToL1Target target = new ERC20L2ToL1Target(); -@@ -327,7 +322,7 @@ bytes32[] memory proof = new bytes32[](1); - proof[0] = bytes32(0); -  - uint256 withdrawalAmount = 188_394_098_124_747_940; -- uint256 expetedAmountToUnlock = withdrawalAmount * (10 ** (decimals - 18)); -+ uint256 expetedAmountToUnlock = withdrawalAmount * (10**(decimals - 18)); -  - bytes memory data = abi.encodeWithSignature("receiveHook()"); -  -@@ -345,10 +340,7 @@ }); - bytes32 root = _outbox.calculateMerkleRoot(proof, index, itemHash); - // store root - vm.prank(_rollup); -- _outbox.updateSendRoot( -- root, -- bytes32(uint256(1)) -- ); -+ _outbox.updateSendRoot(root, bytes32(uint256(1))); - } -  - _outbox.executeTransaction({ -@@ -408,7 +400,9 @@ // create token/bridge/inbox - ERC20 _nativeToken = new ERC20_36Decimals(); -  - IERC20Bridge _bridge = IERC20Bridge(TestUtil.deployProxy(address(new ERC20Bridge()))); -- IERC20Inbox _inbox = IERC20Inbox(TestUtil.deployProxy(address(new ERC20Inbox(MAX_DATA_SIZE)))); -+ IERC20Inbox _inbox = IERC20Inbox( -+ TestUtil.deployProxy(address(new ERC20Inbox(MAX_DATA_SIZE))) -+ ); - ERC20Outbox _outbox = ERC20Outbox(TestUtil.deployProxy(address(new ERC20Outbox()))); -  - // init bridge and inbox -@@ -430,7 +424,7 @@ //// execute transaction - bytes32[] memory proof = new bytes32[](1); - proof[0] = bytes32(0); -  -- uint256 tooLargeWithdrawalAmount = type(uint256).max / 10 ** 18 + 1; -+ uint256 tooLargeWithdrawalAmount = type(uint256).max / 10**18 + 1; -  - bytes memory data = abi.encodeWithSignature("receiveHook()"); -  -@@ -448,10 +442,7 @@ }); - bytes32 root = _outbox.calculateMerkleRoot(proof, index, itemHash); - // store root - vm.prank(_rollup); -- _outbox.updateSendRoot( -- root, -- bytes32(uint256(1)) -- ); -+ _outbox.updateSendRoot(root, bytes32(uint256(1))); - } -  - vm.expectRevert(stdError.arithmeticError); // overflow
-
- - -
- - - - -
- -
- -
+21
-
-10
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/test/foundry/ERC20RollupEventInbox.t.sol Layr-Labs/nitro-contracts/test/foundry/ERC20RollupEventInbox.t.sol -index 2608db98627a17be7bb237ef538b5715d1f98d03..a526a3772cd52b87dd732eeb826867075dd039c4 100644 ---- OffchainLabs/nitro-contracts/test/foundry/ERC20RollupEventInbox.t.sol -+++ Layr-Labs/nitro-contracts/test/foundry/ERC20RollupEventInbox.t.sol -@@ -5,13 +5,15 @@ import "./AbsRollupEventInbox.t.sol"; - import {TestUtil} from "./util/TestUtil.sol"; - import {ERC20RollupEventInbox} from "../../src/rollup/ERC20RollupEventInbox.sol"; - import {ERC20Bridge, IERC20Bridge, IOwnable} from "../../src/bridge/ERC20Bridge.sol"; --import {ERC20PresetMinterPauser} from -- "@openzeppelin/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol"; -+import { -+ ERC20PresetMinterPauser -+} from "@openzeppelin/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol"; -  - contract ERC20RollupEventInboxTest is AbsRollupEventInboxTest { - function setUp() public { -- rollupEventInbox = -- IRollupEventInbox(TestUtil.deployProxy(address(new ERC20RollupEventInbox()))); -+ rollupEventInbox = IRollupEventInbox( -+ TestUtil.deployProxy(address(new ERC20RollupEventInbox())) -+ ); - bridge = IBridge(TestUtil.deployProxy(address(new ERC20Bridge()))); - address nativeToken = address(new ERC20PresetMinterPauser("Appchain Token", "App")); - IERC20Bridge(address(bridge)).initialize(IOwnable(rollup), nativeToken); -@@ -24,8 +26,9 @@ } -  - /* solhint-disable func-name-mixedcase */ - function test_initialize_revert_ZeroInit() public { -- ERC20RollupEventInbox rollupEventInbox = -- ERC20RollupEventInbox(TestUtil.deployProxy(address(new ERC20RollupEventInbox()))); -+ ERC20RollupEventInbox rollupEventInbox = ERC20RollupEventInbox( -+ TestUtil.deployProxy(address(new ERC20RollupEventInbox())) -+ ); -  - vm.expectRevert(HadZeroInit.selector); - rollupEventInbox.initialize(IBridge(address(0))); -@@ -37,8 +40,12 @@ string memory chainConfig = "chainConfig"; -  - uint8 expectedInitMsgVersion = 1; - uint256 expectedCurrentDataCost = 0; -- bytes memory expectedInitMsg = -- abi.encodePacked(chainId, expectedInitMsgVersion, expectedCurrentDataCost, chainConfig); -+ bytes memory expectedInitMsg = abi.encodePacked( -+ chainId, -+ expectedInitMsgVersion, -+ expectedCurrentDataCost, -+ chainConfig -+ ); -  - // expect event - vm.expectEmit(true, true, true, true); -@@ -73,8 +80,12 @@ string memory chainConfig = "chainConfig2"; -  - uint8 expectedInitMsgVersion = 1; - uint256 expectedCurrentDataCost = 0; -- bytes memory expectedInitMsg = -- abi.encodePacked(chainId, expectedInitMsgVersion, expectedCurrentDataCost, chainConfig); -+ bytes memory expectedInitMsg = abi.encodePacked( -+ chainId, -+ expectedInitMsgVersion, -+ expectedCurrentDataCost, -+ chainConfig -+ ); -  - // expect event - vm.expectEmit(true, true, true, true);
-
- - -
- - - - -
- -
- -
+7
-
-6
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/test/foundry/Outbox.t.sol Layr-Labs/nitro-contracts/test/foundry/Outbox.t.sol -index 8d38deb8567931147c794b90280b58d17faba8d3..83eaba8cc06bffb16f61523034976c7f2322c4e5 100644 ---- OffchainLabs/nitro-contracts/test/foundry/Outbox.t.sol -+++ Layr-Labs/nitro-contracts/test/foundry/Outbox.t.sol -@@ -61,10 +61,7 @@ }); - bytes32 root = outbox.calculateMerkleRoot(proof, index, itemHash); - // store root - vm.prank(rollup); -- outbox.updateSendRoot( -- root, -- bytes32(uint256(1)) -- ); -+ outbox.updateSendRoot(root, bytes32(uint256(1))); -  - outbox.executeTransaction({ - proof: proof, -@@ -80,12 +77,16 @@ }); -  - uint256 bridgeBalanceAfter = address(bridge).balance; - assertEq( -- bridgeBalanceBefore - bridgeBalanceAfter, withdrawalAmount, "Invalid bridge balance" -+ bridgeBalanceBefore - bridgeBalanceAfter, -+ withdrawalAmount, -+ "Invalid bridge balance" - ); -  - uint256 targetBalanceAfter = address(target).balance; - assertEq( -- targetBalanceAfter - targetBalanceBefore, withdrawalAmount, "Invalid target balance" -+ targetBalanceAfter - targetBalanceBefore, -+ withdrawalAmount, -+ "Invalid target balance" - ); -  - /// check context was properly set during execution
-
- - -
- - - - -
- -
- -
+18
-
-7
- -
- -
-
-
diff --git OffchainLabs/nitro-contracts/test/foundry/RollupEventInbox.t.sol Layr-Labs/nitro-contracts/test/foundry/RollupEventInbox.t.sol -index 47bfa9ec4ad31f7c4aed07ca4f57114025592fb4..5dca3167ddfe05754cc311074ce27e755cabbf0b 100644 ---- OffchainLabs/nitro-contracts/test/foundry/RollupEventInbox.t.sol -+++ Layr-Labs/nitro-contracts/test/foundry/RollupEventInbox.t.sol -@@ -22,8 +22,9 @@ } -  - /* solhint-disable func-name-mixedcase */ - function test_initialize_revert_ZeroInit() public { -- RollupEventInbox rollupEventInbox = -- RollupEventInbox(TestUtil.deployProxy(address(new RollupEventInbox()))); -+ RollupEventInbox rollupEventInbox = RollupEventInbox( -+ TestUtil.deployProxy(address(new RollupEventInbox())) -+ ); -  - vm.expectRevert(HadZeroInit.selector); - rollupEventInbox.initialize(IBridge(address(0))); -@@ -39,8 +40,12 @@ vm.fee(basefee); -  - uint8 expectedInitMsgVersion = 1; - uint256 expectedCurrentDataCost = basefee; -- bytes memory expectedInitMsg = -- abi.encodePacked(chainId, expectedInitMsgVersion, expectedCurrentDataCost, chainConfig); -+ bytes memory expectedInitMsg = abi.encodePacked( -+ chainId, -+ expectedInitMsgVersion, -+ expectedCurrentDataCost, -+ chainConfig -+ ); -  - // expect event - vm.expectEmit(true, true, true, true); -@@ -73,13 +78,19 @@ - // 50 gwei L1 basefee - uint256 l1Fee = 50_000_000_000; - vm.mockCall( -- address(0x6c), abi.encodeWithSignature("getL1BaseFeeEstimate()"), abi.encode(l1Fee) -+ address(0x6c), -+ abi.encodeWithSignature("getL1BaseFeeEstimate()"), -+ abi.encode(l1Fee) - ); -  - uint8 expectedInitMsgVersion = 1; - uint256 expectedCurrentDataCost = l2Fee + l1Fee; -- bytes memory expectedInitMsg = -- abi.encodePacked(chainId, expectedInitMsgVersion, expectedCurrentDataCost, chainConfig); -+ bytes memory expectedInitMsg = abi.encodePacked( -+ chainId, -+ expectedInitMsgVersion, -+ expectedCurrentDataCost, -+ chainConfig -+ ); -  - /// this will result in 'hostChainIsArbitrum = true' - vm.mockCall(
-
- - -
-
- -
-
-
- - -
-
-
- - - - - - - -