diff --git a/.circleci/config.yml b/.circleci/config.yml index d876ba148a37..18c8c67dc263 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -333,12 +333,6 @@ jobs: command: | yarn lint:check || echo "export LINT_STATUS=1" >> "$BASH_ENV" working_directory: packages/contracts-bedrock - - run: - name: slither - command: | - slither --version - yarn slither || exit 0 - working_directory: packages/contracts-bedrock - run: name: gas snapshot command: | @@ -382,6 +376,26 @@ jobs: exit 1 fi + contracts-bedrock-slither: + docker: + - image: ethereumoptimism/ci-builder:latest + resource_class: xlarge + steps: + - checkout + - attach_workspace: { at: "." } + - restore_cache: + name: Restore Yarn Package Cache + keys: + - yarn-packages-v2-{{ checksum "yarn.lock" }} + - check-changed: + patterns: contracts-bedrock,hardhat-deploy-config + - run: + name: slither + command: | + slither --version + yarn slither + working_directory: packages/contracts-bedrock + contracts-bedrock-validate-spaces: docker: - image: ethereumoptimism/ci-builder:latest @@ -995,6 +1009,9 @@ workflows: - contracts-bedrock-checks: requires: - yarn-monorepo + - contracts-bedrock-slither: + requires: + - yarn-monorepo - contracts-bedrock-validate-spaces: requires: - yarn-monorepo diff --git a/packages/contracts-bedrock/package.json b/packages/contracts-bedrock/package.json index 400378e7d0fb..2fa78f2e644f 100644 --- a/packages/contracts-bedrock/package.json +++ b/packages/contracts-bedrock/package.json @@ -32,6 +32,7 @@ "storage-snapshot": "./scripts/storage-snapshot.sh", "validate-spacers": "hardhat compile && hardhat validate-spacers", "slither": "./scripts/slither.sh", + "slither:triage": "TRIAGE_MODE=1 ./scripts/slither.sh", "clean": "rm -rf ./dist ./artifacts ./forge-artifacts ./cache ./tsconfig.tsbuildinfo ./tsconfig.build.tsbuildinfo ./src/contract-artifacts.ts ./test-case-generator/fuzz", "lint:ts:check": "eslint . --max-warnings=0", "lint:forge-tests:check": "ts-node scripts/forge-test-names.ts", diff --git a/packages/contracts-bedrock/scripts/slither.sh b/packages/contracts-bedrock/scripts/slither.sh index 48a457c2e269..e05a2653f6b9 100755 --- a/packages/contracts-bedrock/scripts/slither.sh +++ b/packages/contracts-bedrock/scripts/slither.sh @@ -2,10 +2,24 @@ rm -rf artifacts forge-artifacts -# Handle slither bug unable to work with the foundry tests -TEMP=$(mktemp -d) -mv contracts/test $TEMP/test +# See slither.config.json for slither settings +if [ -n "$TRIAGE_MODE" ]; then + # Slither's triage mode will run an 'interview' in the terminal, allowing you to review each of + # its findings, and specify which should be ignored in future runs of slither. This will update + # (or create) the slither.db.json file. This DB is a cleaner alternative to adding slither-disable + # comments throughout the codebase. + # Triage mode should only be run manually, and can be used to update the db when new findings are + # causing a CI failure. + slither . --triage-mode -slither . --foundry-out-directory artifacts - -mv $TEMP/test contracts/test + # For whatever reason the slither db contains a filename_absolute property which includes the full + # local path to source code on the machine where it was generated. This property does not + # seem to be required for slither to run, so we remove it. + DB=slither.db.json + TEMP_DB=temp-slither.db.json + mv $DB $TEMP_DB + jq 'walk(if type == "object" then del(.filename_absolute) else . end)' $TEMP_DB > $DB + rm -f $TEMP_DB +else + slither . +fi diff --git a/packages/contracts-bedrock/slither.config.json b/packages/contracts-bedrock/slither.config.json index f48a7929c076..f6de8a76d6f2 100644 --- a/packages/contracts-bedrock/slither.config.json +++ b/packages/contracts-bedrock/slither.config.json @@ -1,12 +1,13 @@ { "detectors_to_exclude": "assembly-usage,block-timestamp,naming-convention,solc-version", - "exclude_informational": false, - "exclude_low": false, - "exclude_medium": false, + "exclude_informational": true, + "exclude_low": true, + "exclude_medium": true, "exclude_high": false, "solc_disable_warnings": false, "hardhat_ignore_compile": false, "disable_color": false, - "exclude_dependencies": false, - "filter_paths": "contracts/test|lib" + "exclude_dependencies": true, + "filter_paths": "contracts/test,contracts/vendor,contracts/echidna,node_modules", + "foundry_out_directory": "artifacts" } diff --git a/packages/contracts-bedrock/slither.db.json b/packages/contracts-bedrock/slither.db.json index 762c9a83c955..001e6b1ee1b8 100644 --- a/packages/contracts-bedrock/slither.db.json +++ b/packages/contracts-bedrock/slither.db.json @@ -1,421 +1,38361 @@ [ { "elements": [ + { + "type": "variable", + "name": "spacer_0_0_20", + "source_mapping": { + "start": 851, + "length": 29, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 23 + ], + "starting_column": 5, + "ending_column": 34 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "CrossDomainMessengerLegacySpacer0", + "source_mapping": { + "start": 673, + "length": 210, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, { "type": "contract", - "name": "DepositFeed", + "name": "L1CrossDomainMessenger", "source_mapping": { - "start": 86, - "length": 1929, - "filename_used": "contracts/L1/DepositFeed.sol", - "filename_relative": "contracts/L1/DepositFeed.sol", - "filename_absolute": "contracts/L1/DepositFeed.sol", - "filename_short": "contracts/L1/DepositFeed.sol", + "start": 630, + "length": 1377, + "filename_relative": "contracts/L1/L1CrossDomainMessenger.sol", + "filename_short": "contracts/L1/L1CrossDomainMessenger.sol", "is_dependency": false, "lines": [ - 7, 8, 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, 58, - 59, 60, 61, 62, 63, 64, 65, 66, 67 + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67 ], "starting_column": 1, "ending_column": 2 } - }, + } + ], + "description": "CrossDomainMessengerLegacySpacer0.spacer_0_0_20 (contracts/universal/CrossDomainMessenger.sol#23) is never used in L1CrossDomainMessenger (contracts/L1/L1CrossDomainMessenger.sol#16-67)\n", + "markdown": "[CrossDomainMessengerLegacySpacer0.spacer_0_0_20](contracts/universal/CrossDomainMessenger.sol#L23) is never used in [L1CrossDomainMessenger](contracts/L1/L1CrossDomainMessenger.sol#L16-L67)\n", + "first_markdown_element": "contracts/universal/CrossDomainMessenger.sol#L23", + "id": "7223d7b6564e10f393572e638eaecc0c452ab7125362e297ad9f60e7b6aba912", + "check": "unused-state", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ { - "type": "function", - "name": "receive", + "type": "variable", + "name": "spacer_1_0_1600", "source_mapping": { - "start": 826, - "length": 110, - "filename_used": "contracts/L1/DepositFeed.sol", - "filename_relative": "contracts/L1/DepositFeed.sol", - "filename_absolute": "contracts/L1/DepositFeed.sol", - "filename_short": "contracts/L1/DepositFeed.sol", + "start": 1464, + "length": 35, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", "is_dependency": false, - "lines": [33, 34, 35], + "lines": [ + 41 + ], "starting_column": 5, - "ending_column": 6 + "ending_column": 40 }, "type_specific_fields": { "parent": { "type": "contract", - "name": "DepositFeed", + "name": "CrossDomainMessengerLegacySpacer1", "source_mapping": { - "start": 86, - "length": 1929, - "filename_used": "contracts/L1/DepositFeed.sol", - "filename_relative": "contracts/L1/DepositFeed.sol", - "filename_absolute": "contracts/L1/DepositFeed.sol", - "filename_short": "contracts/L1/DepositFeed.sol", + "start": 1210, + "length": 1900, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", "is_dependency": false, "lines": [ - 7, 8, 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, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67 + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 ], "starting_column": 1, "ending_column": 2 } - }, - "signature": "receive()" + } } }, { - "type": "function", - "name": "depositTransaction", + "type": "contract", + "name": "L1CrossDomainMessenger", + "source_mapping": { + "start": 630, + "length": 1377, + "filename_relative": "contracts/L1/L1CrossDomainMessenger.sol", + "filename_short": "contracts/L1/L1CrossDomainMessenger.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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + ], + "description": "CrossDomainMessengerLegacySpacer1.spacer_1_0_1600 (contracts/universal/CrossDomainMessenger.sol#41) is never used in L1CrossDomainMessenger (contracts/L1/L1CrossDomainMessenger.sol#16-67)\n", + "markdown": "[CrossDomainMessengerLegacySpacer1.spacer_1_0_1600](contracts/universal/CrossDomainMessenger.sol#L41) is never used in [L1CrossDomainMessenger](contracts/L1/L1CrossDomainMessenger.sol#L16-L67)\n", + "first_markdown_element": "contracts/universal/CrossDomainMessenger.sol#L41", + "id": "492fe36373661fc2572bf8654b8cf842a8c361410c236cbc693d53446f676726", + "check": "unused-state", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "spacer_51_0_20", "source_mapping": { - "start": 1367, - "length": 646, - "filename_used": "contracts/L1/DepositFeed.sol", - "filename_relative": "contracts/L1/DepositFeed.sol", - "filename_absolute": "contracts/L1/DepositFeed.sol", - "filename_short": "contracts/L1/DepositFeed.sol", + "start": 1682, + "length": 30, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.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 + 49 ], "starting_column": 5, - "ending_column": 6 + "ending_column": 35 }, "type_specific_fields": { "parent": { "type": "contract", - "name": "DepositFeed", + "name": "CrossDomainMessengerLegacySpacer1", "source_mapping": { - "start": 86, - "length": 1929, - "filename_used": "contracts/L1/DepositFeed.sol", - "filename_relative": "contracts/L1/DepositFeed.sol", - "filename_absolute": "contracts/L1/DepositFeed.sol", - "filename_short": "contracts/L1/DepositFeed.sol", + "start": 1210, + "length": 1900, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", "is_dependency": false, "lines": [ - 7, 8, 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, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67 + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 ], "starting_column": 1, "ending_column": 2 } - }, - "signature": "depositTransaction(address,uint256,uint256,bool,bytes)" + } + } + }, + { + "type": "contract", + "name": "L1CrossDomainMessenger", + "source_mapping": { + "start": 630, + "length": 1377, + "filename_relative": "contracts/L1/L1CrossDomainMessenger.sol", + "filename_short": "contracts/L1/L1CrossDomainMessenger.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 + ], + "starting_column": 1, + "ending_column": 2 } } ], - "description": "Contract locking ether found:\n\tContract DepositFeed (contracts/L1/DepositFeed.sol#7-67) has payable functions:\n\t - DepositFeed.receive() (contracts/L1/DepositFeed.sol#33-35)\n\t - DepositFeed.depositTransaction(address,uint256,uint256,bool,bytes) (contracts/L1/DepositFeed.sol#46-66)\n\tBut does not have a function to withdraw the ether\n", - "markdown": "Contract locking ether found:\n\tContract [DepositFeed](contracts/L1/DepositFeed.sol#L7-L67) has payable functions:\n\t - [DepositFeed.receive()](contracts/L1/DepositFeed.sol#L33-L35)\n\t - [DepositFeed.depositTransaction(address,uint256,uint256,bool,bytes)](contracts/L1/DepositFeed.sol#L46-L66)\n\tBut does not have a function to withdraw the ether\n", - "first_markdown_element": "contracts/L1/DepositFeed.sol#L7-L67", - "id": "288a726f2c33db8578a9b3b43eaabd069d963e2dbe1fb2ae508c861783d169f5", - "check": "locked-ether", - "impact": "Medium", + "description": "CrossDomainMessengerLegacySpacer1.spacer_51_0_20 (contracts/universal/CrossDomainMessenger.sol#49) is never used in L1CrossDomainMessenger (contracts/L1/L1CrossDomainMessenger.sol#16-67)\n", + "markdown": "[CrossDomainMessengerLegacySpacer1.spacer_51_0_20](contracts/universal/CrossDomainMessenger.sol#L49) is never used in [L1CrossDomainMessenger](contracts/L1/L1CrossDomainMessenger.sol#L16-L67)\n", + "first_markdown_element": "contracts/universal/CrossDomainMessenger.sol#L49", + "id": "bc9f176b71cdfe8d8327625e32b05f9d74f368dfa0bc482d568cdb670ca0432b", + "check": "unused-state", + "impact": "Informational", "confidence": "High" }, { "elements": [ + { + "type": "variable", + "name": "spacer_52_0_1568", + "source_mapping": { + "start": 1917, + "length": 36, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 57 + ], + "starting_column": 5, + "ending_column": 41 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "CrossDomainMessengerLegacySpacer1", + "source_mapping": { + "start": 1210, + "length": 1900, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, { "type": "contract", - "name": "DepositFeed", + "name": "L1CrossDomainMessenger", "source_mapping": { - "start": 86, - "length": 1666, - "filename_used": "./contracts/L1/DepositFeed.sol", - "filename_relative": "contracts/L1/DepositFeed.sol", - "filename_absolute": "./contracts/contracts/L1/DepositFeed.sol", - "filename_short": "contracts/L1/DepositFeed.sol", + "start": 630, + "length": 1377, + "filename_relative": "contracts/L1/L1CrossDomainMessenger.sol", + "filename_short": "contracts/L1/L1CrossDomainMessenger.sol", "is_dependency": false, "lines": [ - 7, 8, 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, 58, - 59 + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67 ], "starting_column": 1, "ending_column": 2 } - }, + } + ], + "description": "CrossDomainMessengerLegacySpacer1.spacer_52_0_1568 (contracts/universal/CrossDomainMessenger.sol#57) is never used in L1CrossDomainMessenger (contracts/L1/L1CrossDomainMessenger.sol#16-67)\n", + "markdown": "[CrossDomainMessengerLegacySpacer1.spacer_52_0_1568](contracts/universal/CrossDomainMessenger.sol#L57) is never used in [L1CrossDomainMessenger](contracts/L1/L1CrossDomainMessenger.sol#L16-L67)\n", + "first_markdown_element": "contracts/universal/CrossDomainMessenger.sol#L57", + "id": "29cd4a47c23e3da807376d11ba54dd24b6d0e52ba43bf5ebe0f2a6114b6f62a1", + "check": "unused-state", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ { - "type": "function", - "name": "depositTransaction", + "type": "variable", + "name": "spacer_101_0_1", "source_mapping": { - "start": 1102, - "length": 648, - "filename_used": "./contracts/contracts/L1/DepositFeed.sol", - "filename_relative": "contracts/L1/DepositFeed.sol", - "filename_absolute": "./contracts/contracts/L1/DepositFeed.sol", - "filename_short": "contracts/L1/DepositFeed.sol", + "start": 2138, + "length": 27, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", "is_dependency": false, "lines": [ - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58 + 65 ], "starting_column": 5, - "ending_column": 6 + "ending_column": 32 }, "type_specific_fields": { "parent": { "type": "contract", - "name": "DepositFeed", + "name": "CrossDomainMessengerLegacySpacer1", "source_mapping": { - "start": 86, - "length": 1666, - "filename_used": "./contracts/contracts/L1/DepositFeed.sol", - "filename_relative": "contracts/L1/DepositFeed.sol", - "filename_absolute": "./contracts/contracts/L1/DepositFeed.sol", - "filename_short": "contracts/L1/DepositFeed.sol", + "start": 1210, + "length": 1900, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", "is_dependency": false, "lines": [ - 7, 8, 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, 58, 59 + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 ], "starting_column": 1, "ending_column": 2 } - }, - "signature": "depositTransaction(address,uint256,uint256,bool,bytes)" + } + } + }, + { + "type": "contract", + "name": "L1CrossDomainMessenger", + "source_mapping": { + "start": 630, + "length": 1377, + "filename_relative": "contracts/L1/L1CrossDomainMessenger.sol", + "filename_short": "contracts/L1/L1CrossDomainMessenger.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 + ], + "starting_column": 1, + "ending_column": 2 } } ], - "description": "Contract locking ether found:\n\tContract DepositFeed (contracts/L1/DepositFeed.sol#7-59) has payable functions:\n\t - DepositFeed.depositTransaction(address,uint256,uint256,bool,bytes) (contracts/L1/DepositFeed.sol#38-58)\n\tBut does not have a function to withdraw the ether\n", - "markdown": "Contract locking ether found:\n\tContract [DepositFeed](contracts/L1/DepositFeed.sol#L7-L59) has payable functions:\n\t - [DepositFeed.depositTransaction(address,uint256,uint256,bool,bytes)](contracts/L1/DepositFeed.sol#L38-L58)\n\tBut does not have a function to withdraw the ether\n", - "first_markdown_element": "contracts/L1/DepositFeed.sol#L7-L59", - "id": "be013b000d4c176d4d893619bdca725d93e4761e4b2e22fa77a64144e53abb26", - "check": "locked-ether", - "impact": "Medium", + "description": "CrossDomainMessengerLegacySpacer1.spacer_101_0_1 (contracts/universal/CrossDomainMessenger.sol#65) is never used in L1CrossDomainMessenger (contracts/L1/L1CrossDomainMessenger.sol#16-67)\n", + "markdown": "[CrossDomainMessengerLegacySpacer1.spacer_101_0_1](contracts/universal/CrossDomainMessenger.sol#L65) is never used in [L1CrossDomainMessenger](contracts/L1/L1CrossDomainMessenger.sol#L16-L67)\n", + "first_markdown_element": "contracts/universal/CrossDomainMessenger.sol#L65", + "id": "2a3686b92efcfc365446a8bfeae911e0fbc3985106faf988ff9757a954d8181f", + "check": "unused-state", + "impact": "Informational", "confidence": "High" }, { "elements": [ { - "type": "function", - "name": "proposeL2Output", + "type": "variable", + "name": "spacer_102_0_1568", "source_mapping": { - "start": 1769, - "length": 422, - "filename_used": "./contracts/L1/MockL2OutputOracle.sol", - "filename_relative": "contracts/L1/MockL2OutputOracle.sol", - "filename_absolute": "./contracts/L1/MockL2OutputOracle.sol", - "filename_short": "contracts/L1/MockL2OutputOracle.sol", + "start": 2348, + "length": 37, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", "is_dependency": false, - "lines": [45, 46, 47, 48, 49, 50, 51], + "lines": [ + 73 + ], "starting_column": 5, - "ending_column": 6 + "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "contract", - "name": "MockL2OutputOracle", + "name": "CrossDomainMessengerLegacySpacer1", "source_mapping": { - "start": 95, - "length": 2773, - "filename_used": "./contracts/L1/MockL2OutputOracle.sol", - "filename_relative": "contracts/L1/MockL2OutputOracle.sol", - "filename_absolute": "./contracts/L1/MockL2OutputOracle.sol", - "filename_short": "contracts/L1/MockL2OutputOracle.sol", + "start": 1210, + "length": 1900, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", "is_dependency": false, "lines": [ - 7, 8, 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, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69 + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 ], "starting_column": 1, "ending_column": 2 } - }, - "signature": "proposeL2Output(bytes32,uint256)" + } } }, { - "type": "node", - "name": "require(bool,string)(_timestamp == nextTimestamp(),Timestamp not equal to next expected timestamp)", + "type": "contract", + "name": "L1CrossDomainMessenger", "source_mapping": { - "start": 2010, - "length": 88, - "filename_used": "./contracts/L1/MockL2OutputOracle.sol", - "filename_relative": "contracts/L1/MockL2OutputOracle.sol", - "filename_absolute": "./contracts/L1/MockL2OutputOracle.sol", - "filename_short": "contracts/L1/MockL2OutputOracle.sol", + "start": 630, + "length": 1377, + "filename_relative": "contracts/L1/L1CrossDomainMessenger.sol", + "filename_short": "contracts/L1/L1CrossDomainMessenger.sol", "is_dependency": false, - "lines": [48], - "starting_column": 9, - "ending_column": 97 + "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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + ], + "description": "CrossDomainMessengerLegacySpacer1.spacer_102_0_1568 (contracts/universal/CrossDomainMessenger.sol#73) is never used in L1CrossDomainMessenger (contracts/L1/L1CrossDomainMessenger.sol#16-67)\n", + "markdown": "[CrossDomainMessengerLegacySpacer1.spacer_102_0_1568](contracts/universal/CrossDomainMessenger.sol#L73) is never used in [L1CrossDomainMessenger](contracts/L1/L1CrossDomainMessenger.sol#L16-L67)\n", + "first_markdown_element": "contracts/universal/CrossDomainMessenger.sol#L73", + "id": "9ba46bf6745646f7c62615b3bd11746c0851261e228e5ef302523f84edbbdd90", + "check": "unused-state", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "spacer_151_0_32", + "source_mapping": { + "start": 2548, + "length": 31, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 80 + ], + "starting_column": 5, + "ending_column": 36 }, "type_specific_fields": { "parent": { - "type": "function", - "name": "proposeL2Output", + "type": "contract", + "name": "CrossDomainMessengerLegacySpacer1", "source_mapping": { - "start": 1769, - "length": 422, - "filename_used": "./contracts/L1/MockL2OutputOracle.sol", - "filename_relative": "contracts/L1/MockL2OutputOracle.sol", - "filename_absolute": "./contracts/L1/MockL2OutputOracle.sol", - "filename_short": "contracts/L1/MockL2OutputOracle.sol", + "start": 1210, + "length": 1900, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", "is_dependency": false, - "lines": [45, 46, 47, 48, 49, 50, 51], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MockL2OutputOracle", - "source_mapping": { - "start": 95, - "length": 2773, - "filename_used": "./contracts/L1/MockL2OutputOracle.sol", - "filename_relative": "contracts/L1/MockL2OutputOracle.sol", - "filename_absolute": "./contracts/L1/MockL2OutputOracle.sol", - "filename_short": "contracts/L1/MockL2OutputOracle.sol", - "is_dependency": false, - "lines": [ - 7, 8, 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, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "proposeL2Output(bytes32,uint256)" + "lines": [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ], + "starting_column": 1, + "ending_column": 2 } } } + }, + { + "type": "contract", + "name": "L1CrossDomainMessenger", + "source_mapping": { + "start": 630, + "length": 1377, + "filename_relative": "contracts/L1/L1CrossDomainMessenger.sol", + "filename_short": "contracts/L1/L1CrossDomainMessenger.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 + ], + "starting_column": 1, + "ending_column": 2 + } } ], - "description": "MockL2OutputOracle.proposeL2Output(bytes32,uint256) (contracts/L1/MockL2OutputOracle.sol#45-51) uses a dangerous strict equality:\n\t- require(bool,string)(_timestamp == nextTimestamp(),Timestamp not equal to next expected timestamp) (contracts/L1/MockL2OutputOracle.sol#48)\n", - "markdown": "[MockL2OutputOracle.proposeL2Output(bytes32,uint256)](contracts/L1/MockL2OutputOracle.sol#L45-L51) uses a dangerous strict equality:\n\t- [require(bool,string)(_timestamp == nextTimestamp(),Timestamp not equal to next expected timestamp)](contracts/L1/MockL2OutputOracle.sol#L48)\n", - "first_markdown_element": "contracts/L1/MockL2OutputOracle.sol#L45-L51", - "id": "74ee9955ede80e105221045625f8b4f963a0ca8422674891166ad65bdcdba57a", - "check": "incorrect-equality", - "impact": "Medium", + "description": "CrossDomainMessengerLegacySpacer1.spacer_151_0_32 (contracts/universal/CrossDomainMessenger.sol#80) is never used in L1CrossDomainMessenger (contracts/L1/L1CrossDomainMessenger.sol#16-67)\n", + "markdown": "[CrossDomainMessengerLegacySpacer1.spacer_151_0_32](contracts/universal/CrossDomainMessenger.sol#L80) is never used in [L1CrossDomainMessenger](contracts/L1/L1CrossDomainMessenger.sol#L16-L67)\n", + "first_markdown_element": "contracts/universal/CrossDomainMessenger.sol#L80", + "id": "cf6bf1d951f6cea29bbc7fd172e2192ef7e15c9073449b3097889f83e1a1632c", + "check": "unused-state", + "impact": "Informational", "confidence": "High" }, { "elements": [ { - "type": "function", - "name": "slitherConstructorConstantVariables", + "type": "variable", + "name": "__gap_reentrancy_guard", + "source_mapping": { + "start": 2701, + "length": 42, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 86 + ], + "starting_column": 5, + "ending_column": 47 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "CrossDomainMessengerLegacySpacer1", + "source_mapping": { + "start": 1210, + "length": 1900, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "contract", + "name": "L1CrossDomainMessenger", "source_mapping": { - "start": 86, - "length": 1666, - "filename_used": "./contracts/L1/DepositFeed.sol", - "filename_relative": "contracts/L1/DepositFeed.sol", - "filename_absolute": "./contracts/L1/DepositFeed.sol", - "filename_short": "contracts/L1/DepositFeed.sol", + "start": 630, + "length": 1377, + "filename_relative": "contracts/L1/L1CrossDomainMessenger.sol", + "filename_short": "contracts/L1/L1CrossDomainMessenger.sol", "is_dependency": false, "lines": [ - 7, 8, 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, 58, - 59 + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67 ], "starting_column": 1, "ending_column": 2 + } + } + ], + "description": "CrossDomainMessengerLegacySpacer1.__gap_reentrancy_guard (contracts/universal/CrossDomainMessenger.sol#86) is never used in L1CrossDomainMessenger (contracts/L1/L1CrossDomainMessenger.sol#16-67)\n", + "markdown": "[CrossDomainMessengerLegacySpacer1.__gap_reentrancy_guard](contracts/universal/CrossDomainMessenger.sol#L86) is never used in [L1CrossDomainMessenger](contracts/L1/L1CrossDomainMessenger.sol#L16-L67)\n", + "first_markdown_element": "contracts/universal/CrossDomainMessenger.sol#L86", + "id": "d6e55fc92bf8bc630cfe3180ed6b52dcde2b9030ea9fef8d5be82f84c0bbda9c", + "check": "unused-state", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "spacer_201_0_32", + "source_mapping": { + "start": 2877, + "length": 48, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 93 + ], + "starting_column": 5, + "ending_column": 53 }, "type_specific_fields": { "parent": { "type": "contract", - "name": "DepositFeed", + "name": "CrossDomainMessengerLegacySpacer1", "source_mapping": { - "start": 86, - "length": 1666, - "filename_used": "./contracts/L1/DepositFeed.sol", - "filename_relative": "contracts/L1/DepositFeed.sol", - "filename_absolute": "./contracts/L1/DepositFeed.sol", - "filename_short": "contracts/L1/DepositFeed.sol", + "start": 1210, + "length": 1900, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", "is_dependency": false, "lines": [ - 7, 8, 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, 58, 59 + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 ], "starting_column": 1, "ending_column": 2 } - }, - "signature": "slitherConstructorConstantVariables()" + } } }, { - "type": "node", - "name": "OFFSET = uint160(0x1111000000000000000000000000000000001111)", + "type": "contract", + "name": "L1CrossDomainMessenger", + "source_mapping": { + "start": 630, + "length": 1377, + "filename_relative": "contracts/L1/L1CrossDomainMessenger.sol", + "filename_short": "contracts/L1/L1CrossDomainMessenger.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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + ], + "description": "CrossDomainMessengerLegacySpacer1.spacer_201_0_32 (contracts/universal/CrossDomainMessenger.sol#93) is never used in L1CrossDomainMessenger (contracts/L1/L1CrossDomainMessenger.sol#16-67)\n", + "markdown": "[CrossDomainMessengerLegacySpacer1.spacer_201_0_32](contracts/universal/CrossDomainMessenger.sol#L93) is never used in [L1CrossDomainMessenger](contracts/L1/L1CrossDomainMessenger.sol#L16-L67)\n", + "first_markdown_element": "contracts/universal/CrossDomainMessenger.sol#L93", + "id": "b6ffad3c1aefda1b8919e1a696cfa371a5786299573ff27359774e69790272a9", + "check": "unused-state", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "spacer_202_0_32", "source_mapping": { - "start": 284, - "length": 85, - "filename_used": "./contracts/L1/DepositFeed.sol", - "filename_relative": "contracts/L1/DepositFeed.sol", - "filename_absolute": "./contracts/L1/DepositFeed.sol", - "filename_short": "contracts/L1/DepositFeed.sol", + "start": 3059, + "length": 48, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", "is_dependency": false, - "lines": [14], + "lines": [ + 100 + ], "starting_column": 5, - "ending_column": 90 + "ending_column": 53 }, "type_specific_fields": { "parent": { - "type": "function", - "name": "slitherConstructorConstantVariables", + "type": "contract", + "name": "CrossDomainMessengerLegacySpacer1", "source_mapping": { - "start": 86, - "length": 1666, - "filename_used": "./contracts/L1/DepositFeed.sol", - "filename_relative": "contracts/L1/DepositFeed.sol", - "filename_absolute": "./contracts/L1/DepositFeed.sol", - "filename_short": "contracts/L1/DepositFeed.sol", + "start": 1210, + "length": 1900, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", "is_dependency": false, "lines": [ - 7, 8, 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, 58, 59 + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 ], "starting_column": 1, "ending_column": 2 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DepositFeed", - "source_mapping": { - "start": 86, - "length": 1666, - "filename_used": "./contracts/L1/DepositFeed.sol", - "filename_relative": "contracts/L1/DepositFeed.sol", - "filename_absolute": "./contracts/L1/DepositFeed.sol", - "filename_short": "contracts/L1/DepositFeed.sol", - "is_dependency": false, - "lines": [ - 7, 8, 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, 58, 59 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "slitherConstructorConstantVariables()" } } } + }, + { + "type": "contract", + "name": "L1CrossDomainMessenger", + "source_mapping": { + "start": 630, + "length": 1377, + "filename_relative": "contracts/L1/L1CrossDomainMessenger.sol", + "filename_short": "contracts/L1/L1CrossDomainMessenger.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 + ], + "starting_column": 1, + "ending_column": 2 + } } ], - "description": "DepositFeed.slitherConstructorConstantVariables() (contracts/L1/DepositFeed.sol#7-59) uses literals with too many digits:\n\t- OFFSET = uint160(0x1111000000000000000000000000000000001111) (contracts/L1/DepositFeed.sol#14)\n", - "markdown": "[DepositFeed.slitherConstructorConstantVariables()](contracts/L1/DepositFeed.sol#L7-L59) uses literals with too many digits:\n\t- [OFFSET = uint160(0x1111000000000000000000000000000000001111)](contracts/L1/DepositFeed.sol#L14)\n", - "first_markdown_element": "contracts/L1/DepositFeed.sol#L7-L59", - "id": "14adc89c437b961183112ca2328ae0e07b627d12995c5555d2c2fca5d4dbe1aa", - "check": "too-many-digits", + "description": "CrossDomainMessengerLegacySpacer1.spacer_202_0_32 (contracts/universal/CrossDomainMessenger.sol#100) is never used in L1CrossDomainMessenger (contracts/L1/L1CrossDomainMessenger.sol#16-67)\n", + "markdown": "[CrossDomainMessengerLegacySpacer1.spacer_202_0_32](contracts/universal/CrossDomainMessenger.sol#L100) is never used in [L1CrossDomainMessenger](contracts/L1/L1CrossDomainMessenger.sol#L16-L67)\n", + "first_markdown_element": "contracts/universal/CrossDomainMessenger.sol#L100", + "id": "4bd6010f62efc0e028e26fb3da52df997ae2bdad36d4637bd0234d2f7f5e4121", + "check": "unused-state", "impact": "Informational", - "confidence": "Medium" + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "__gap", + "source_mapping": { + "start": 6494, + "length": 25, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 188 + ], + "starting_column": 5, + "ending_column": 30 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "CrossDomainMessenger", + "source_mapping": { + "start": 3734, + "length": 14913, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "contract", + "name": "L1CrossDomainMessenger", + "source_mapping": { + "start": 630, + "length": 1377, + "filename_relative": "contracts/L1/L1CrossDomainMessenger.sol", + "filename_short": "contracts/L1/L1CrossDomainMessenger.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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + ], + "description": "CrossDomainMessenger.__gap (contracts/universal/CrossDomainMessenger.sol#188) is never used in L1CrossDomainMessenger (contracts/L1/L1CrossDomainMessenger.sol#16-67)\n", + "markdown": "[CrossDomainMessenger.__gap](contracts/universal/CrossDomainMessenger.sol#L188) is never used in [L1CrossDomainMessenger](contracts/L1/L1CrossDomainMessenger.sol#L16-L67)\n", + "first_markdown_element": "contracts/universal/CrossDomainMessenger.sol#L188", + "id": "c446d00fc2d04741c5f2fe7f8f75272c4e50035a0f404cb912ab5cfcc05c4165", + "check": "unused-state", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "__gap", + "source_mapping": { + "start": 691, + "length": 25, + "filename_relative": "contracts/universal/ERC721Bridge.sol", + "filename_short": "contracts/universal/ERC721Bridge.sol", + "is_dependency": false, + "lines": [ + 25 + ], + "starting_column": 5, + "ending_column": 30 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ERC721Bridge", + "source_mapping": { + "start": 302, + "length": 8424, + "filename_relative": "contracts/universal/ERC721Bridge.sol", + "filename_short": "contracts/universal/ERC721Bridge.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, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "contract", + "name": "L1ERC721Bridge", + "source_mapping": { + "start": 595, + "length": 3650, + "filename_relative": "contracts/L1/L1ERC721Bridge.sol", + "filename_short": "contracts/L1/L1ERC721Bridge.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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + ], + "description": "ERC721Bridge.__gap (contracts/universal/ERC721Bridge.sol#25) is never used in L1ERC721Bridge (contracts/L1/L1ERC721Bridge.sol#15-107)\n", + "markdown": "[ERC721Bridge.__gap](contracts/universal/ERC721Bridge.sol#L25) is never used in [L1ERC721Bridge](contracts/L1/L1ERC721Bridge.sol#L15-L107)\n", + "first_markdown_element": "contracts/universal/ERC721Bridge.sol#L25", + "id": "0090a3fef60bebe6d830824967f13dc06d1e21a4094e4f8ab30bbe15937fe4bf", + "check": "unused-state", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "spacer_0_0_20", + "source_mapping": { + "start": 1599, + "length": 29, + "filename_relative": "contracts/universal/StandardBridge.sol", + "filename_short": "contracts/universal/StandardBridge.sol", + "is_dependency": false, + "lines": [ + 43 + ], + "starting_column": 5, + "ending_column": 34 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "StandardBridge", + "source_mapping": { + "start": 990, + "length": 21120, + "filename_relative": "contracts/universal/StandardBridge.sol", + "filename_short": "contracts/universal/StandardBridge.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, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "contract", + "name": "L1StandardBridge", + "source_mapping": { + "start": 1002, + "length": 12303, + "filename_relative": "contracts/L1/L1StandardBridge.sol", + "filename_short": "contracts/L1/L1StandardBridge.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, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 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": 1, + "ending_column": 2 + } + } + ], + "description": "StandardBridge.spacer_0_0_20 (contracts/universal/StandardBridge.sol#43) is never used in L1StandardBridge (contracts/L1/L1StandardBridge.sol#20-364)\n", + "markdown": "[StandardBridge.spacer_0_0_20](contracts/universal/StandardBridge.sol#L43) is never used in [L1StandardBridge](contracts/L1/L1StandardBridge.sol#L20-L364)\n", + "first_markdown_element": "contracts/universal/StandardBridge.sol#L43", + "id": "e300b11bf175964ab4db62675b3e1eee2177b0bd254a7ffb132b65f4f2e2abe1", + "check": "unused-state", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "spacer_1_0_20", + "source_mapping": { + "start": 1760, + "length": 29, + "filename_relative": "contracts/universal/StandardBridge.sol", + "filename_short": "contracts/universal/StandardBridge.sol", + "is_dependency": false, + "lines": [ + 50 + ], + "starting_column": 5, + "ending_column": 34 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "StandardBridge", + "source_mapping": { + "start": 990, + "length": 21120, + "filename_relative": "contracts/universal/StandardBridge.sol", + "filename_short": "contracts/universal/StandardBridge.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, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "contract", + "name": "L1StandardBridge", + "source_mapping": { + "start": 1002, + "length": 12303, + "filename_relative": "contracts/L1/L1StandardBridge.sol", + "filename_short": "contracts/L1/L1StandardBridge.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, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 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": 1, + "ending_column": 2 + } + } + ], + "description": "StandardBridge.spacer_1_0_20 (contracts/universal/StandardBridge.sol#50) is never used in L1StandardBridge (contracts/L1/L1StandardBridge.sol#20-364)\n", + "markdown": "[StandardBridge.spacer_1_0_20](contracts/universal/StandardBridge.sol#L50) is never used in [L1StandardBridge](contracts/L1/L1StandardBridge.sol#L20-L364)\n", + "first_markdown_element": "contracts/universal/StandardBridge.sol#L50", + "id": "4a043ef3000316b2d9ce7c3f5588f287bc896a1e60b5abb48ab59a9ca78f3e1e", + "check": "unused-state", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "__gap", + "source_mapping": { + "start": 2223, + "length": 25, + "filename_relative": "contracts/universal/StandardBridge.sol", + "filename_short": "contracts/universal/StandardBridge.sol", + "is_dependency": false, + "lines": [ + 62 + ], + "starting_column": 5, + "ending_column": 30 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "StandardBridge", + "source_mapping": { + "start": 990, + "length": 21120, + "filename_relative": "contracts/universal/StandardBridge.sol", + "filename_short": "contracts/universal/StandardBridge.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, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "contract", + "name": "L1StandardBridge", + "source_mapping": { + "start": 1002, + "length": 12303, + "filename_relative": "contracts/L1/L1StandardBridge.sol", + "filename_short": "contracts/L1/L1StandardBridge.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, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 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": 1, + "ending_column": 2 + } + } + ], + "description": "StandardBridge.__gap (contracts/universal/StandardBridge.sol#62) is never used in L1StandardBridge (contracts/L1/L1StandardBridge.sol#20-364)\n", + "markdown": "[StandardBridge.__gap](contracts/universal/StandardBridge.sol#L62) is never used in [L1StandardBridge](contracts/L1/L1StandardBridge.sol#L20-L364)\n", + "first_markdown_element": "contracts/universal/StandardBridge.sol#L62", + "id": "d74d16c89d2daec1c6be1e3c884bc949d7050b929835a5a4144477619b2879d6", + "check": "unused-state", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "__gap", + "source_mapping": { + "start": 3187, + "length": 25, + "filename_relative": "contracts/L1/ResourceMetering.sol", + "filename_short": "contracts/L1/ResourceMetering.sol", + "is_dependency": false, + "lines": [ + 68 + ], + "starting_column": 5, + "ending_column": 30 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ResourceMetering", + "source_mapping": { + "start": 529, + "length": 8173, + "filename_relative": "contracts/L1/ResourceMetering.sol", + "filename_short": "contracts/L1/ResourceMetering.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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "contract", + "name": "OptimismPortal", + "source_mapping": { + "start": 1057, + "length": 19148, + "filename_relative": "contracts/L1/OptimismPortal.sol", + "filename_short": "contracts/L1/OptimismPortal.sol", + "is_dependency": false, + "lines": [ + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489 + ], + "starting_column": 1, + "ending_column": 2 + } + } + ], + "description": "ResourceMetering.__gap (contracts/L1/ResourceMetering.sol#68) is never used in OptimismPortal (contracts/L1/OptimismPortal.sol#23-489)\n", + "markdown": "[ResourceMetering.__gap](contracts/L1/ResourceMetering.sol#L68) is never used in [OptimismPortal](contracts/L1/OptimismPortal.sol#L23-L489)\n", + "first_markdown_element": "contracts/L1/ResourceMetering.sol#L68", + "id": "c62b3c623ee34262a84482e7f74ab9836806f710dbdbded4a53d23e8049182e4", + "check": "unused-state", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "spacer_0_0_20", + "source_mapping": { + "start": 851, + "length": 29, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 23 + ], + "starting_column": 5, + "ending_column": 34 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "CrossDomainMessengerLegacySpacer0", + "source_mapping": { + "start": 673, + "length": 210, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "contract", + "name": "L2CrossDomainMessenger", + "source_mapping": { + "start": 746, + "length": 1641, + "filename_relative": "contracts/L2/L2CrossDomainMessenger.sol", + "filename_short": "contracts/L2/L2CrossDomainMessenger.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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + ], + "description": "CrossDomainMessengerLegacySpacer0.spacer_0_0_20 (contracts/universal/CrossDomainMessenger.sol#23) is never used in L2CrossDomainMessenger (contracts/L2/L2CrossDomainMessenger.sol#18-75)\n", + "markdown": "[CrossDomainMessengerLegacySpacer0.spacer_0_0_20](contracts/universal/CrossDomainMessenger.sol#L23) is never used in [L2CrossDomainMessenger](contracts/L2/L2CrossDomainMessenger.sol#L18-L75)\n", + "first_markdown_element": "contracts/universal/CrossDomainMessenger.sol#L23", + "id": "03fcd0f6c7117504414c14378bc85204264c69bff5282016e2c224bddb0914ea", + "check": "unused-state", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "spacer_1_0_1600", + "source_mapping": { + "start": 1464, + "length": 35, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 41 + ], + "starting_column": 5, + "ending_column": 40 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "CrossDomainMessengerLegacySpacer1", + "source_mapping": { + "start": 1210, + "length": 1900, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "contract", + "name": "L2CrossDomainMessenger", + "source_mapping": { + "start": 746, + "length": 1641, + "filename_relative": "contracts/L2/L2CrossDomainMessenger.sol", + "filename_short": "contracts/L2/L2CrossDomainMessenger.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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + ], + "description": "CrossDomainMessengerLegacySpacer1.spacer_1_0_1600 (contracts/universal/CrossDomainMessenger.sol#41) is never used in L2CrossDomainMessenger (contracts/L2/L2CrossDomainMessenger.sol#18-75)\n", + "markdown": "[CrossDomainMessengerLegacySpacer1.spacer_1_0_1600](contracts/universal/CrossDomainMessenger.sol#L41) is never used in [L2CrossDomainMessenger](contracts/L2/L2CrossDomainMessenger.sol#L18-L75)\n", + "first_markdown_element": "contracts/universal/CrossDomainMessenger.sol#L41", + "id": "9963adb0eb8da33bf974cb4c80f7cbab2da17a8bb5f9c3a787e88a33c8c4ec2c", + "check": "unused-state", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "spacer_51_0_20", + "source_mapping": { + "start": 1682, + "length": 30, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 49 + ], + "starting_column": 5, + "ending_column": 35 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "CrossDomainMessengerLegacySpacer1", + "source_mapping": { + "start": 1210, + "length": 1900, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "contract", + "name": "L2CrossDomainMessenger", + "source_mapping": { + "start": 746, + "length": 1641, + "filename_relative": "contracts/L2/L2CrossDomainMessenger.sol", + "filename_short": "contracts/L2/L2CrossDomainMessenger.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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + ], + "description": "CrossDomainMessengerLegacySpacer1.spacer_51_0_20 (contracts/universal/CrossDomainMessenger.sol#49) is never used in L2CrossDomainMessenger (contracts/L2/L2CrossDomainMessenger.sol#18-75)\n", + "markdown": "[CrossDomainMessengerLegacySpacer1.spacer_51_0_20](contracts/universal/CrossDomainMessenger.sol#L49) is never used in [L2CrossDomainMessenger](contracts/L2/L2CrossDomainMessenger.sol#L18-L75)\n", + "first_markdown_element": "contracts/universal/CrossDomainMessenger.sol#L49", + "id": "3d51f8c3f6765c63913dc40bd03eb2ad8945e8b2782fc0d7c75942830968a1ae", + "check": "unused-state", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "spacer_52_0_1568", + "source_mapping": { + "start": 1917, + "length": 36, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 57 + ], + "starting_column": 5, + "ending_column": 41 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "CrossDomainMessengerLegacySpacer1", + "source_mapping": { + "start": 1210, + "length": 1900, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "contract", + "name": "L2CrossDomainMessenger", + "source_mapping": { + "start": 746, + "length": 1641, + "filename_relative": "contracts/L2/L2CrossDomainMessenger.sol", + "filename_short": "contracts/L2/L2CrossDomainMessenger.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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + ], + "description": "CrossDomainMessengerLegacySpacer1.spacer_52_0_1568 (contracts/universal/CrossDomainMessenger.sol#57) is never used in L2CrossDomainMessenger (contracts/L2/L2CrossDomainMessenger.sol#18-75)\n", + "markdown": "[CrossDomainMessengerLegacySpacer1.spacer_52_0_1568](contracts/universal/CrossDomainMessenger.sol#L57) is never used in [L2CrossDomainMessenger](contracts/L2/L2CrossDomainMessenger.sol#L18-L75)\n", + "first_markdown_element": "contracts/universal/CrossDomainMessenger.sol#L57", + "id": "bbf3479f69cdfd0e3519204b494d34de29c1095a67ce795f6524c1d043f4ae67", + "check": "unused-state", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "spacer_101_0_1", + "source_mapping": { + "start": 2138, + "length": 27, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 65 + ], + "starting_column": 5, + "ending_column": 32 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "CrossDomainMessengerLegacySpacer1", + "source_mapping": { + "start": 1210, + "length": 1900, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "contract", + "name": "L2CrossDomainMessenger", + "source_mapping": { + "start": 746, + "length": 1641, + "filename_relative": "contracts/L2/L2CrossDomainMessenger.sol", + "filename_short": "contracts/L2/L2CrossDomainMessenger.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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + ], + "description": "CrossDomainMessengerLegacySpacer1.spacer_101_0_1 (contracts/universal/CrossDomainMessenger.sol#65) is never used in L2CrossDomainMessenger (contracts/L2/L2CrossDomainMessenger.sol#18-75)\n", + "markdown": "[CrossDomainMessengerLegacySpacer1.spacer_101_0_1](contracts/universal/CrossDomainMessenger.sol#L65) is never used in [L2CrossDomainMessenger](contracts/L2/L2CrossDomainMessenger.sol#L18-L75)\n", + "first_markdown_element": "contracts/universal/CrossDomainMessenger.sol#L65", + "id": "696255fe1c3304907bdaa5b6574dd9a94450a17ee57e0a7e89597a656828a95d", + "check": "unused-state", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "spacer_102_0_1568", + "source_mapping": { + "start": 2348, + "length": 37, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 73 + ], + "starting_column": 5, + "ending_column": 42 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "CrossDomainMessengerLegacySpacer1", + "source_mapping": { + "start": 1210, + "length": 1900, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "contract", + "name": "L2CrossDomainMessenger", + "source_mapping": { + "start": 746, + "length": 1641, + "filename_relative": "contracts/L2/L2CrossDomainMessenger.sol", + "filename_short": "contracts/L2/L2CrossDomainMessenger.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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + ], + "description": "CrossDomainMessengerLegacySpacer1.spacer_102_0_1568 (contracts/universal/CrossDomainMessenger.sol#73) is never used in L2CrossDomainMessenger (contracts/L2/L2CrossDomainMessenger.sol#18-75)\n", + "markdown": "[CrossDomainMessengerLegacySpacer1.spacer_102_0_1568](contracts/universal/CrossDomainMessenger.sol#L73) is never used in [L2CrossDomainMessenger](contracts/L2/L2CrossDomainMessenger.sol#L18-L75)\n", + "first_markdown_element": "contracts/universal/CrossDomainMessenger.sol#L73", + "id": "07001a479158e572d903375113f849e658ebdadedf6b371640b344547f5f1fc0", + "check": "unused-state", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "spacer_151_0_32", + "source_mapping": { + "start": 2548, + "length": 31, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 80 + ], + "starting_column": 5, + "ending_column": 36 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "CrossDomainMessengerLegacySpacer1", + "source_mapping": { + "start": 1210, + "length": 1900, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "contract", + "name": "L2CrossDomainMessenger", + "source_mapping": { + "start": 746, + "length": 1641, + "filename_relative": "contracts/L2/L2CrossDomainMessenger.sol", + "filename_short": "contracts/L2/L2CrossDomainMessenger.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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + ], + "description": "CrossDomainMessengerLegacySpacer1.spacer_151_0_32 (contracts/universal/CrossDomainMessenger.sol#80) is never used in L2CrossDomainMessenger (contracts/L2/L2CrossDomainMessenger.sol#18-75)\n", + "markdown": "[CrossDomainMessengerLegacySpacer1.spacer_151_0_32](contracts/universal/CrossDomainMessenger.sol#L80) is never used in [L2CrossDomainMessenger](contracts/L2/L2CrossDomainMessenger.sol#L18-L75)\n", + "first_markdown_element": "contracts/universal/CrossDomainMessenger.sol#L80", + "id": "9a127ef18810ac0b5eb4e42f2abb4c545e6ea8ace73d31a239462c164a20a5cf", + "check": "unused-state", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "__gap_reentrancy_guard", + "source_mapping": { + "start": 2701, + "length": 42, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 86 + ], + "starting_column": 5, + "ending_column": 47 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "CrossDomainMessengerLegacySpacer1", + "source_mapping": { + "start": 1210, + "length": 1900, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "contract", + "name": "L2CrossDomainMessenger", + "source_mapping": { + "start": 746, + "length": 1641, + "filename_relative": "contracts/L2/L2CrossDomainMessenger.sol", + "filename_short": "contracts/L2/L2CrossDomainMessenger.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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + ], + "description": "CrossDomainMessengerLegacySpacer1.__gap_reentrancy_guard (contracts/universal/CrossDomainMessenger.sol#86) is never used in L2CrossDomainMessenger (contracts/L2/L2CrossDomainMessenger.sol#18-75)\n", + "markdown": "[CrossDomainMessengerLegacySpacer1.__gap_reentrancy_guard](contracts/universal/CrossDomainMessenger.sol#L86) is never used in [L2CrossDomainMessenger](contracts/L2/L2CrossDomainMessenger.sol#L18-L75)\n", + "first_markdown_element": "contracts/universal/CrossDomainMessenger.sol#L86", + "id": "6e07b6f98e3d622ec5a92402f6b932c3035d2f35354c3be0473ec57085729ef3", + "check": "unused-state", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "spacer_201_0_32", + "source_mapping": { + "start": 2877, + "length": 48, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 93 + ], + "starting_column": 5, + "ending_column": 53 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "CrossDomainMessengerLegacySpacer1", + "source_mapping": { + "start": 1210, + "length": 1900, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "contract", + "name": "L2CrossDomainMessenger", + "source_mapping": { + "start": 746, + "length": 1641, + "filename_relative": "contracts/L2/L2CrossDomainMessenger.sol", + "filename_short": "contracts/L2/L2CrossDomainMessenger.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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + ], + "description": "CrossDomainMessengerLegacySpacer1.spacer_201_0_32 (contracts/universal/CrossDomainMessenger.sol#93) is never used in L2CrossDomainMessenger (contracts/L2/L2CrossDomainMessenger.sol#18-75)\n", + "markdown": "[CrossDomainMessengerLegacySpacer1.spacer_201_0_32](contracts/universal/CrossDomainMessenger.sol#L93) is never used in [L2CrossDomainMessenger](contracts/L2/L2CrossDomainMessenger.sol#L18-L75)\n", + "first_markdown_element": "contracts/universal/CrossDomainMessenger.sol#L93", + "id": "405aeac663ca7caa60b9f9a23fad82a48f509f253d0fb1db6ebdbb27c746a470", + "check": "unused-state", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "spacer_202_0_32", + "source_mapping": { + "start": 3059, + "length": 48, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 100 + ], + "starting_column": 5, + "ending_column": 53 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "CrossDomainMessengerLegacySpacer1", + "source_mapping": { + "start": 1210, + "length": 1900, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "contract", + "name": "L2CrossDomainMessenger", + "source_mapping": { + "start": 746, + "length": 1641, + "filename_relative": "contracts/L2/L2CrossDomainMessenger.sol", + "filename_short": "contracts/L2/L2CrossDomainMessenger.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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + ], + "description": "CrossDomainMessengerLegacySpacer1.spacer_202_0_32 (contracts/universal/CrossDomainMessenger.sol#100) is never used in L2CrossDomainMessenger (contracts/L2/L2CrossDomainMessenger.sol#18-75)\n", + "markdown": "[CrossDomainMessengerLegacySpacer1.spacer_202_0_32](contracts/universal/CrossDomainMessenger.sol#L100) is never used in [L2CrossDomainMessenger](contracts/L2/L2CrossDomainMessenger.sol#L18-L75)\n", + "first_markdown_element": "contracts/universal/CrossDomainMessenger.sol#L100", + "id": "52f812dc5b797fa0c1516b90de045f9f36fe2f424c3fae50e22cf2487e6dcdc5", + "check": "unused-state", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "__gap", + "source_mapping": { + "start": 6494, + "length": 25, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 188 + ], + "starting_column": 5, + "ending_column": 30 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "CrossDomainMessenger", + "source_mapping": { + "start": 3734, + "length": 14913, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "contract", + "name": "L2CrossDomainMessenger", + "source_mapping": { + "start": 746, + "length": 1641, + "filename_relative": "contracts/L2/L2CrossDomainMessenger.sol", + "filename_short": "contracts/L2/L2CrossDomainMessenger.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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + ], + "description": "CrossDomainMessenger.__gap (contracts/universal/CrossDomainMessenger.sol#188) is never used in L2CrossDomainMessenger (contracts/L2/L2CrossDomainMessenger.sol#18-75)\n", + "markdown": "[CrossDomainMessenger.__gap](contracts/universal/CrossDomainMessenger.sol#L188) is never used in [L2CrossDomainMessenger](contracts/L2/L2CrossDomainMessenger.sol#L18-L75)\n", + "first_markdown_element": "contracts/universal/CrossDomainMessenger.sol#L188", + "id": "986edb5af86b4bc2f524c8df0e6c0e8fa411859d97dbf391676b5e1a62de866f", + "check": "unused-state", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "__gap", + "source_mapping": { + "start": 691, + "length": 25, + "filename_relative": "contracts/universal/ERC721Bridge.sol", + "filename_short": "contracts/universal/ERC721Bridge.sol", + "is_dependency": false, + "lines": [ + 25 + ], + "starting_column": 5, + "ending_column": 30 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ERC721Bridge", + "source_mapping": { + "start": 302, + "length": 8424, + "filename_relative": "contracts/universal/ERC721Bridge.sol", + "filename_short": "contracts/universal/ERC721Bridge.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, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "contract", + "name": "L2ERC721Bridge", + "source_mapping": { + "start": 1120, + "length": 4263, + "filename_relative": "contracts/L2/L2ERC721Bridge.sol", + "filename_short": "contracts/L2/L2ERC721Bridge.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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + ], + "description": "ERC721Bridge.__gap (contracts/universal/ERC721Bridge.sol#25) is never used in L2ERC721Bridge (contracts/L2/L2ERC721Bridge.sol#21-126)\n", + "markdown": "[ERC721Bridge.__gap](contracts/universal/ERC721Bridge.sol#L25) is never used in [L2ERC721Bridge](contracts/L2/L2ERC721Bridge.sol#L21-L126)\n", + "first_markdown_element": "contracts/universal/ERC721Bridge.sol#L25", + "id": "daf3ad1ba68412f1d59c1f59e56ed6084bd5a4a8333f3f32166ce70dcef89329", + "check": "unused-state", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "spacer_0_0_20", + "source_mapping": { + "start": 1599, + "length": 29, + "filename_relative": "contracts/universal/StandardBridge.sol", + "filename_short": "contracts/universal/StandardBridge.sol", + "is_dependency": false, + "lines": [ + 43 + ], + "starting_column": 5, + "ending_column": 34 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "StandardBridge", + "source_mapping": { + "start": 990, + "length": 21120, + "filename_relative": "contracts/universal/StandardBridge.sol", + "filename_short": "contracts/universal/StandardBridge.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, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "contract", + "name": "L2StandardBridge", + "source_mapping": { + "start": 998, + "length": 9194, + "filename_relative": "contracts/L2/L2StandardBridge.sol", + "filename_short": "contracts/L2/L2StandardBridge.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, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276 + ], + "starting_column": 1, + "ending_column": 2 + } + } + ], + "description": "StandardBridge.spacer_0_0_20 (contracts/universal/StandardBridge.sol#43) is never used in L2StandardBridge (contracts/L2/L2StandardBridge.sol#20-276)\n", + "markdown": "[StandardBridge.spacer_0_0_20](contracts/universal/StandardBridge.sol#L43) is never used in [L2StandardBridge](contracts/L2/L2StandardBridge.sol#L20-L276)\n", + "first_markdown_element": "contracts/universal/StandardBridge.sol#L43", + "id": "58be670f1852d0c5a5d4b4c7730bf87d0fb3bf1ae32cfcb4e53d88f282de456a", + "check": "unused-state", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "spacer_1_0_20", + "source_mapping": { + "start": 1760, + "length": 29, + "filename_relative": "contracts/universal/StandardBridge.sol", + "filename_short": "contracts/universal/StandardBridge.sol", + "is_dependency": false, + "lines": [ + 50 + ], + "starting_column": 5, + "ending_column": 34 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "StandardBridge", + "source_mapping": { + "start": 990, + "length": 21120, + "filename_relative": "contracts/universal/StandardBridge.sol", + "filename_short": "contracts/universal/StandardBridge.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, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "contract", + "name": "L2StandardBridge", + "source_mapping": { + "start": 998, + "length": 9194, + "filename_relative": "contracts/L2/L2StandardBridge.sol", + "filename_short": "contracts/L2/L2StandardBridge.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, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276 + ], + "starting_column": 1, + "ending_column": 2 + } + } + ], + "description": "StandardBridge.spacer_1_0_20 (contracts/universal/StandardBridge.sol#50) is never used in L2StandardBridge (contracts/L2/L2StandardBridge.sol#20-276)\n", + "markdown": "[StandardBridge.spacer_1_0_20](contracts/universal/StandardBridge.sol#L50) is never used in [L2StandardBridge](contracts/L2/L2StandardBridge.sol#L20-L276)\n", + "first_markdown_element": "contracts/universal/StandardBridge.sol#L50", + "id": "ff11456df7e4613133133e65f591d03c309a13281af69530e9c805e52c0a245c", + "check": "unused-state", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "__gap", + "source_mapping": { + "start": 2223, + "length": 25, + "filename_relative": "contracts/universal/StandardBridge.sol", + "filename_short": "contracts/universal/StandardBridge.sol", + "is_dependency": false, + "lines": [ + 62 + ], + "starting_column": 5, + "ending_column": 30 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "StandardBridge", + "source_mapping": { + "start": 990, + "length": 21120, + "filename_relative": "contracts/universal/StandardBridge.sol", + "filename_short": "contracts/universal/StandardBridge.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, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "contract", + "name": "L2StandardBridge", + "source_mapping": { + "start": 998, + "length": 9194, + "filename_relative": "contracts/L2/L2StandardBridge.sol", + "filename_short": "contracts/L2/L2StandardBridge.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, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276 + ], + "starting_column": 1, + "ending_column": 2 + } + } + ], + "description": "StandardBridge.__gap (contracts/universal/StandardBridge.sol#62) is never used in L2StandardBridge (contracts/L2/L2StandardBridge.sol#20-276)\n", + "markdown": "[StandardBridge.__gap](contracts/universal/StandardBridge.sol#L62) is never used in [L2StandardBridge](contracts/L2/L2StandardBridge.sol#L20-L276)\n", + "first_markdown_element": "contracts/universal/StandardBridge.sol#L62", + "id": "59024192838c3cd1958813e4b67208e90a535d7fbfdcd01b17ea59b513685ae6", + "check": "unused-state", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "spacer_0_0_20", + "source_mapping": { + "start": 851, + "length": 29, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 23 + ], + "starting_column": 5, + "ending_column": 34 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "CrossDomainMessengerLegacySpacer0", + "source_mapping": { + "start": 673, + "length": 210, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + } + ], + "description": "CrossDomainMessengerLegacySpacer0.spacer_0_0_20 (contracts/universal/CrossDomainMessenger.sol#23) should be constant\n", + "markdown": "[CrossDomainMessengerLegacySpacer0.spacer_0_0_20](contracts/universal/CrossDomainMessenger.sol#L23) should be constant\n", + "first_markdown_element": "contracts/universal/CrossDomainMessenger.sol#L23", + "id": "8050e3019aeed188ac6182f9357a1f8ffbf97fee9626989763161c58dbcc9e87", + "check": "constable-states", + "impact": "Optimization", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "spacer_101_0_1", + "source_mapping": { + "start": 2138, + "length": 27, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 65 + ], + "starting_column": 5, + "ending_column": 32 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "CrossDomainMessengerLegacySpacer1", + "source_mapping": { + "start": 1210, + "length": 1900, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + } + ], + "description": "CrossDomainMessengerLegacySpacer1.spacer_101_0_1 (contracts/universal/CrossDomainMessenger.sol#65) should be constant\n", + "markdown": "[CrossDomainMessengerLegacySpacer1.spacer_101_0_1](contracts/universal/CrossDomainMessenger.sol#L65) should be constant\n", + "first_markdown_element": "contracts/universal/CrossDomainMessenger.sol#L65", + "id": "f52d83e01a5069b9fcd424e07062ab811f59cae3f0f16d840d1885726eb875fd", + "check": "constable-states", + "impact": "Optimization", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "spacer_151_0_32", + "source_mapping": { + "start": 2548, + "length": 31, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 80 + ], + "starting_column": 5, + "ending_column": 36 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "CrossDomainMessengerLegacySpacer1", + "source_mapping": { + "start": 1210, + "length": 1900, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + } + ], + "description": "CrossDomainMessengerLegacySpacer1.spacer_151_0_32 (contracts/universal/CrossDomainMessenger.sol#80) should be constant\n", + "markdown": "[CrossDomainMessengerLegacySpacer1.spacer_151_0_32](contracts/universal/CrossDomainMessenger.sol#L80) should be constant\n", + "first_markdown_element": "contracts/universal/CrossDomainMessenger.sol#L80", + "id": "5e82d1228b2651b9fbe5a71d36ed74764afe689b3c86665cc9ba8d42a9c7c26a", + "check": "constable-states", + "impact": "Optimization", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "spacer_51_0_20", + "source_mapping": { + "start": 1682, + "length": 30, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 49 + ], + "starting_column": 5, + "ending_column": 35 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "CrossDomainMessengerLegacySpacer1", + "source_mapping": { + "start": 1210, + "length": 1900, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + } + ], + "description": "CrossDomainMessengerLegacySpacer1.spacer_51_0_20 (contracts/universal/CrossDomainMessenger.sol#49) should be constant\n", + "markdown": "[CrossDomainMessengerLegacySpacer1.spacer_51_0_20](contracts/universal/CrossDomainMessenger.sol#L49) should be constant\n", + "first_markdown_element": "contracts/universal/CrossDomainMessenger.sol#L49", + "id": "13d4e24f11479ab2b4d29a19757a2245d8a123bb19d74dd98744b5bdeff3b146", + "check": "constable-states", + "impact": "Optimization", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "spacer_0_0_20", + "source_mapping": { + "start": 1599, + "length": 29, + "filename_relative": "contracts/universal/StandardBridge.sol", + "filename_short": "contracts/universal/StandardBridge.sol", + "is_dependency": false, + "lines": [ + 43 + ], + "starting_column": 5, + "ending_column": 34 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "StandardBridge", + "source_mapping": { + "start": 990, + "length": 21120, + "filename_relative": "contracts/universal/StandardBridge.sol", + "filename_short": "contracts/universal/StandardBridge.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, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + } + ], + "description": "StandardBridge.spacer_0_0_20 (contracts/universal/StandardBridge.sol#43) should be constant\n", + "markdown": "[StandardBridge.spacer_0_0_20](contracts/universal/StandardBridge.sol#L43) should be constant\n", + "first_markdown_element": "contracts/universal/StandardBridge.sol#L43", + "id": "dd309c01c3407cd99973458c80d14300034d0ba3d707fdc30ef1a723fd8a6cea", + "check": "constable-states", + "impact": "Optimization", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "spacer_1_0_20", + "source_mapping": { + "start": 1760, + "length": 29, + "filename_relative": "contracts/universal/StandardBridge.sol", + "filename_short": "contracts/universal/StandardBridge.sol", + "is_dependency": false, + "lines": [ + 50 + ], + "starting_column": 5, + "ending_column": 34 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "StandardBridge", + "source_mapping": { + "start": 990, + "length": 21120, + "filename_relative": "contracts/universal/StandardBridge.sol", + "filename_short": "contracts/universal/StandardBridge.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, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + } + ], + "description": "StandardBridge.spacer_1_0_20 (contracts/universal/StandardBridge.sol#50) should be constant\n", + "markdown": "[StandardBridge.spacer_1_0_20](contracts/universal/StandardBridge.sol#L50) should be constant\n", + "first_markdown_element": "contracts/universal/StandardBridge.sol#L50", + "id": "5553f6c11d68b29a4a66d56c95e6e3020f2622f32058874087d241b32faad5c6", + "check": "constable-states", + "impact": "Optimization", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "peel", + "source_mapping": { + "start": 1695, + "length": 824, + "filename_relative": "contracts/periphery/TransferOnion.sol", + "filename_short": "contracts/periphery/TransferOnion.sol", + "is_dependency": false, + "lines": [ + 62, + 63, + 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": "TransferOnion", + "source_mapping": { + "start": 636, + "length": 1885, + "filename_relative": "contracts/periphery/TransferOnion.sol", + "filename_short": "contracts/periphery/TransferOnion.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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "peel(TransferOnion.Layer[])" + } + }, + { + "type": "node", + "name": "TOKEN.safeTransferFrom(SENDER,layer.recipient,layer.amount)", + "source_mapping": { + "start": 2300, + "length": 61, + "filename_relative": "contracts/periphery/TransferOnion.sol", + "filename_short": "contracts/periphery/TransferOnion.sol", + "is_dependency": false, + "lines": [ + 78 + ], + "starting_column": 13, + "ending_column": 74 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "peel", + "source_mapping": { + "start": 1695, + "length": 824, + "filename_relative": "contracts/periphery/TransferOnion.sol", + "filename_short": "contracts/periphery/TransferOnion.sol", + "is_dependency": false, + "lines": [ + 62, + 63, + 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": "TransferOnion", + "source_mapping": { + "start": 636, + "length": 1885, + "filename_relative": "contracts/periphery/TransferOnion.sol", + "filename_short": "contracts/periphery/TransferOnion.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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "peel(TransferOnion.Layer[])" + } + } + } + } + ], + "description": "TransferOnion.peel(TransferOnion.Layer[]) (contracts/periphery/TransferOnion.sol#62-87) uses arbitrary from in transferFrom: TOKEN.safeTransferFrom(SENDER,layer.recipient,layer.amount) (contracts/periphery/TransferOnion.sol#78)\n", + "markdown": "[TransferOnion.peel(TransferOnion.Layer[])](contracts/periphery/TransferOnion.sol#L62-L87) uses arbitrary from in transferFrom: [TOKEN.safeTransferFrom(SENDER,layer.recipient,layer.amount)](contracts/periphery/TransferOnion.sol#L78)\n", + "first_markdown_element": "contracts/periphery/TransferOnion.sol#L62-L87", + "id": "e4e68870e9d2f8a7caf9d32b8d2b1f57af2bdef51f45724b1b49397f117c3ffe", + "check": "arbitrary-send-erc20", + "impact": "High", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "donate", + "source_mapping": { + "start": 710, + "length": 92, + "filename_relative": "contracts/deployment/PortalSender.sol", + "filename_short": "contracts/deployment/PortalSender.sol", + "is_dependency": false, + "lines": [ + 27, + 28, + 29 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "PortalSender", + "source_mapping": { + "start": 328, + "length": 476, + "filename_relative": "contracts/deployment/PortalSender.sol", + "filename_short": "contracts/deployment/PortalSender.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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "donate()" + } + }, + { + "type": "node", + "name": "PORTAL.donateETH{value: address(this).balance}()", + "source_mapping": { + "start": 745, + "length": 50, + "filename_relative": "contracts/deployment/PortalSender.sol", + "filename_short": "contracts/deployment/PortalSender.sol", + "is_dependency": false, + "lines": [ + 28 + ], + "starting_column": 9, + "ending_column": 59 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "donate", + "source_mapping": { + "start": 710, + "length": 92, + "filename_relative": "contracts/deployment/PortalSender.sol", + "filename_short": "contracts/deployment/PortalSender.sol", + "is_dependency": false, + "lines": [ + 27, + 28, + 29 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "PortalSender", + "source_mapping": { + "start": 328, + "length": 476, + "filename_relative": "contracts/deployment/PortalSender.sol", + "filename_short": "contracts/deployment/PortalSender.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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "donate()" + } + } + } + } + ], + "description": "PortalSender.donate() (contracts/deployment/PortalSender.sol#27-29) sends eth to arbitrary user\n\tDangerous calls:\n\t- PORTAL.donateETH{value: address(this).balance}() (contracts/deployment/PortalSender.sol#28)\n", + "markdown": "[PortalSender.donate()](contracts/deployment/PortalSender.sol#L27-L29) sends eth to arbitrary user\n\tDangerous calls:\n\t- [PORTAL.donateETH{value: address(this).balance}()](contracts/deployment/PortalSender.sol#L28)\n", + "first_markdown_element": "contracts/deployment/PortalSender.sol#L27-L29", + "id": "57ff538ce533c88f5852cca299915d9dd842bfaa1a5c7d1a6d7c44f1a88d0e3c", + "check": "arbitrary-send-eth", + "impact": "High", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_decodeLength", + "source_mapping": { + "start": 5678, + "length": 4323, + "filename_relative": "contracts/libraries/rlp/RLPReader.sol", + "filename_short": "contracts/libraries/rlp/RLPReader.sol", + "is_dependency": false, + "lines": [ + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "RLPReader", + "source_mapping": { + "start": 394, + "length": 10822, + "filename_relative": "contracts/libraries/rlp/RLPReader.sol", + "filename_short": "contracts/libraries/rlp/RLPReader.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, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_decodeLength(RLPReader.RLPItem)" + } + }, + { + "type": "node", + "name": "firstByteOfContent = mload(uint256)(ptr + 1) & 0xff << 248", + "source_mapping": { + "start": 6936, + "length": 61, + "filename_relative": "contracts/libraries/rlp/RLPReader.sol", + "filename_short": "contracts/libraries/rlp/RLPReader.sol", + "is_dependency": false, + "lines": [ + 225 + ], + "starting_column": 17, + "ending_column": 78 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_decodeLength", + "source_mapping": { + "start": 5678, + "length": 4323, + "filename_relative": "contracts/libraries/rlp/RLPReader.sol", + "filename_short": "contracts/libraries/rlp/RLPReader.sol", + "is_dependency": false, + "lines": [ + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "RLPReader", + "source_mapping": { + "start": 394, + "length": 10822, + "filename_relative": "contracts/libraries/rlp/RLPReader.sol", + "filename_short": "contracts/libraries/rlp/RLPReader.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, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_decodeLength(RLPReader.RLPItem)" + } + } + } + } + ], + "description": "RLPReader._decodeLength(RLPReader.RLPItem) (contracts/libraries/rlp/RLPReader.sol#186-316) contains an incorrect shift operation: firstByteOfContent = mload(uint256)(ptr + 1) & 0xff << 248 (contracts/libraries/rlp/RLPReader.sol#225)\n", + "markdown": "[RLPReader._decodeLength(RLPReader.RLPItem)](contracts/libraries/rlp/RLPReader.sol#L186-L316) contains an incorrect shift operation: [firstByteOfContent = mload(uint256)(ptr + 1) & 0xff << 248](contracts/libraries/rlp/RLPReader.sol#L225)\n", + "first_markdown_element": "contracts/libraries/rlp/RLPReader.sol#L186-L316", + "id": "07689793296be214d3262f062edd1c3956c7661643f61942ccdf0da80f9b1e4d", + "check": "incorrect-shift", + "impact": "High", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "_decodeLength", + "source_mapping": { + "start": 5678, + "length": 4323, + "filename_relative": "contracts/libraries/rlp/RLPReader.sol", + "filename_short": "contracts/libraries/rlp/RLPReader.sol", + "is_dependency": false, + "lines": [ + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "RLPReader", + "source_mapping": { + "start": 394, + "length": 10822, + "filename_relative": "contracts/libraries/rlp/RLPReader.sol", + "filename_short": "contracts/libraries/rlp/RLPReader.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, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_decodeLength(RLPReader.RLPItem)" + } + }, + { + "type": "node", + "name": "firstByteOfContent = mload(uint256)(ptr + 1) & 0xff << 248", + "source_mapping": { + "start": 7632, + "length": 61, + "filename_relative": "contracts/libraries/rlp/RLPReader.sol", + "filename_short": "contracts/libraries/rlp/RLPReader.sol", + "is_dependency": false, + "lines": [ + 245 + ], + "starting_column": 17, + "ending_column": 78 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_decodeLength", + "source_mapping": { + "start": 5678, + "length": 4323, + "filename_relative": "contracts/libraries/rlp/RLPReader.sol", + "filename_short": "contracts/libraries/rlp/RLPReader.sol", + "is_dependency": false, + "lines": [ + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "RLPReader", + "source_mapping": { + "start": 394, + "length": 10822, + "filename_relative": "contracts/libraries/rlp/RLPReader.sol", + "filename_short": "contracts/libraries/rlp/RLPReader.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, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_decodeLength(RLPReader.RLPItem)" + } + } + } + } + ], + "description": "RLPReader._decodeLength(RLPReader.RLPItem) (contracts/libraries/rlp/RLPReader.sol#186-316) contains an incorrect shift operation: firstByteOfContent = mload(uint256)(ptr + 1) & 0xff << 248 (contracts/libraries/rlp/RLPReader.sol#245)\n", + "markdown": "[RLPReader._decodeLength(RLPReader.RLPItem)](contracts/libraries/rlp/RLPReader.sol#L186-L316) contains an incorrect shift operation: [firstByteOfContent = mload(uint256)(ptr + 1) & 0xff << 248](contracts/libraries/rlp/RLPReader.sol#L245)\n", + "first_markdown_element": "contracts/libraries/rlp/RLPReader.sol#L186-L316", + "id": "c4c72536585b0d11159e128c2108104e11e844afe6bed322b915cf21834d0ed4", + "check": "incorrect-shift", + "impact": "High", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "_decodeLength", + "source_mapping": { + "start": 5678, + "length": 4323, + "filename_relative": "contracts/libraries/rlp/RLPReader.sol", + "filename_short": "contracts/libraries/rlp/RLPReader.sol", + "is_dependency": false, + "lines": [ + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "RLPReader", + "source_mapping": { + "start": 394, + "length": 10822, + "filename_relative": "contracts/libraries/rlp/RLPReader.sol", + "filename_short": "contracts/libraries/rlp/RLPReader.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, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_decodeLength(RLPReader.RLPItem)" + } + }, + { + "type": "node", + "name": "firstByteOfContent = mload(uint256)(ptr + 1) & 0xff << 248", + "source_mapping": { + "start": 9177, + "length": 61, + "filename_relative": "contracts/libraries/rlp/RLPReader.sol", + "filename_short": "contracts/libraries/rlp/RLPReader.sol", + "is_dependency": false, + "lines": [ + 291 + ], + "starting_column": 17, + "ending_column": 78 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_decodeLength", + "source_mapping": { + "start": 5678, + "length": 4323, + "filename_relative": "contracts/libraries/rlp/RLPReader.sol", + "filename_short": "contracts/libraries/rlp/RLPReader.sol", + "is_dependency": false, + "lines": [ + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "RLPReader", + "source_mapping": { + "start": 394, + "length": 10822, + "filename_relative": "contracts/libraries/rlp/RLPReader.sol", + "filename_short": "contracts/libraries/rlp/RLPReader.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, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_decodeLength(RLPReader.RLPItem)" + } + } + } + } + ], + "description": "RLPReader._decodeLength(RLPReader.RLPItem) (contracts/libraries/rlp/RLPReader.sol#186-316) contains an incorrect shift operation: firstByteOfContent = mload(uint256)(ptr + 1) & 0xff << 248 (contracts/libraries/rlp/RLPReader.sol#291)\n", + "markdown": "[RLPReader._decodeLength(RLPReader.RLPItem)](contracts/libraries/rlp/RLPReader.sol#L186-L316) contains an incorrect shift operation: [firstByteOfContent = mload(uint256)(ptr + 1) & 0xff << 248](contracts/libraries/rlp/RLPReader.sol#L291)\n", + "first_markdown_element": "contracts/libraries/rlp/RLPReader.sol#L186-L316", + "id": "7e8d3dc2fd5bdaaed0f35e08eb7485005727644b4826ab9a19a50ccd62d4dfbd", + "check": "incorrect-shift", + "impact": "High", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "finalizeBridgeERC721", + "source_mapping": { + "start": 2027, + "length": 1102, + "filename_relative": "contracts/L1/L1ERC721Bridge.sol", + "filename_short": "contracts/L1/L1ERC721Bridge.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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "L1ERC721Bridge", + "source_mapping": { + "start": 595, + "length": 3650, + "filename_relative": "contracts/L1/L1ERC721Bridge.sol", + "filename_short": "contracts/L1/L1ERC721Bridge.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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "finalizeBridgeERC721(address,address,address,address,uint256,bytes)" + } + }, + { + "type": "node", + "name": "require(bool,string)(deposits[_localToken][_remoteToken][_tokenId] == true,L1ERC721Bridge: Token ID is not escrowed in the L1 Bridge)", + "source_mapping": { + "start": 2448, + "length": 157, + "filename_relative": "contracts/L1/L1ERC721Bridge.sol", + "filename_short": "contracts/L1/L1ERC721Bridge.sol", + "is_dependency": false, + "lines": [ + 57, + 58, + 59, + 60 + ], + "starting_column": 9, + "ending_column": 10 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "finalizeBridgeERC721", + "source_mapping": { + "start": 2027, + "length": 1102, + "filename_relative": "contracts/L1/L1ERC721Bridge.sol", + "filename_short": "contracts/L1/L1ERC721Bridge.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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "L1ERC721Bridge", + "source_mapping": { + "start": 595, + "length": 3650, + "filename_relative": "contracts/L1/L1ERC721Bridge.sol", + "filename_short": "contracts/L1/L1ERC721Bridge.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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "finalizeBridgeERC721(address,address,address,address,uint256,bytes)" + } + } + } + } + ], + "description": "L1ERC721Bridge.finalizeBridgeERC721(address,address,address,address,uint256,bytes) (contracts/L1/L1ERC721Bridge.sol#46-72) compares to a boolean constant:\n\t-require(bool,string)(deposits[_localToken][_remoteToken][_tokenId] == true,L1ERC721Bridge: Token ID is not escrowed in the L1 Bridge) (contracts/L1/L1ERC721Bridge.sol#57-60)\n", + "markdown": "[L1ERC721Bridge.finalizeBridgeERC721(address,address,address,address,uint256,bytes)](contracts/L1/L1ERC721Bridge.sol#L46-L72) compares to a boolean constant:\n\t-[require(bool,string)(deposits[_localToken][_remoteToken][_tokenId] == true,L1ERC721Bridge: Token ID is not escrowed in the L1 Bridge)](contracts/L1/L1ERC721Bridge.sol#L57-L60)\n", + "first_markdown_element": "contracts/L1/L1ERC721Bridge.sol#L46-L72", + "id": "d253ee47e18f210dd0773602fc8c4bcacbe9e82727ca6bfb0e2833fdeec26388", + "check": "boolean-equal", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "finalizeWithdrawalTransaction", + "source_mapping": { + "start": 11873, + "length": 5103, + "filename_relative": "contracts/L1/OptimismPortal.sol", + "filename_short": "contracts/L1/OptimismPortal.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, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "OptimismPortal", + "source_mapping": { + "start": 1057, + "length": 19148, + "filename_relative": "contracts/L1/OptimismPortal.sol", + "filename_short": "contracts/L1/OptimismPortal.sol", + "is_dependency": false, + "lines": [ + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "finalizeWithdrawalTransaction(Types.WithdrawalTransaction)" + } + }, + { + "type": "node", + "name": "success == false && tx.origin == Constants.ESTIMATION_ADDRESS", + "source_mapping": { + "start": 16839, + "length": 61, + "filename_relative": "contracts/L1/OptimismPortal.sol", + "filename_short": "contracts/L1/OptimismPortal.sol", + "is_dependency": false, + "lines": [ + 409 + ], + "starting_column": 13, + "ending_column": 74 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "finalizeWithdrawalTransaction", + "source_mapping": { + "start": 11873, + "length": 5103, + "filename_relative": "contracts/L1/OptimismPortal.sol", + "filename_short": "contracts/L1/OptimismPortal.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, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "OptimismPortal", + "source_mapping": { + "start": 1057, + "length": 19148, + "filename_relative": "contracts/L1/OptimismPortal.sol", + "filename_short": "contracts/L1/OptimismPortal.sol", + "is_dependency": false, + "lines": [ + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "finalizeWithdrawalTransaction(Types.WithdrawalTransaction)" + } + } + } + } + ], + "description": "OptimismPortal.finalizeWithdrawalTransaction(Types.WithdrawalTransaction) (contracts/L1/OptimismPortal.sol#315-412) compares to a boolean constant:\n\t-success == false && tx.origin == Constants.ESTIMATION_ADDRESS (contracts/L1/OptimismPortal.sol#409)\n", + "markdown": "[OptimismPortal.finalizeWithdrawalTransaction(Types.WithdrawalTransaction)](contracts/L1/OptimismPortal.sol#L315-L412) compares to a boolean constant:\n\t-[success == false && tx.origin == Constants.ESTIMATION_ADDRESS](contracts/L1/OptimismPortal.sol#L409)\n", + "first_markdown_element": "contracts/L1/OptimismPortal.sol#L315-L412", + "id": "c17d34c6ce0aa760d433b187099a956cda4325648bb6ff3b06029ff3e7ab3210", + "check": "boolean-equal", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "finalizeWithdrawalTransaction", + "source_mapping": { + "start": 11873, + "length": 5103, + "filename_relative": "contracts/L1/OptimismPortal.sol", + "filename_short": "contracts/L1/OptimismPortal.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, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "OptimismPortal", + "source_mapping": { + "start": 1057, + "length": 19148, + "filename_relative": "contracts/L1/OptimismPortal.sol", + "filename_short": "contracts/L1/OptimismPortal.sol", + "is_dependency": false, + "lines": [ + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "finalizeWithdrawalTransaction(Types.WithdrawalTransaction)" + } + }, + { + "type": "node", + "name": "require(bool,string)(finalizedWithdrawals[withdrawalHash] == false,OptimismPortal: withdrawal has already been finalized)", + "source_mapping": { + "start": 15038, + "length": 145, + "filename_relative": "contracts/L1/OptimismPortal.sol", + "filename_short": "contracts/L1/OptimismPortal.sol", + "is_dependency": false, + "lines": [ + 377, + 378, + 379, + 380 + ], + "starting_column": 9, + "ending_column": 10 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "finalizeWithdrawalTransaction", + "source_mapping": { + "start": 11873, + "length": 5103, + "filename_relative": "contracts/L1/OptimismPortal.sol", + "filename_short": "contracts/L1/OptimismPortal.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, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "OptimismPortal", + "source_mapping": { + "start": 1057, + "length": 19148, + "filename_relative": "contracts/L1/OptimismPortal.sol", + "filename_short": "contracts/L1/OptimismPortal.sol", + "is_dependency": false, + "lines": [ + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "finalizeWithdrawalTransaction(Types.WithdrawalTransaction)" + } + } + } + } + ], + "description": "OptimismPortal.finalizeWithdrawalTransaction(Types.WithdrawalTransaction) (contracts/L1/OptimismPortal.sol#315-412) compares to a boolean constant:\n\t-require(bool,string)(finalizedWithdrawals[withdrawalHash] == false,OptimismPortal: withdrawal has already been finalized) (contracts/L1/OptimismPortal.sol#377-380)\n", + "markdown": "[OptimismPortal.finalizeWithdrawalTransaction(Types.WithdrawalTransaction)](contracts/L1/OptimismPortal.sol#L315-L412) compares to a boolean constant:\n\t-[require(bool,string)(finalizedWithdrawals[withdrawalHash] == false,OptimismPortal: withdrawal has already been finalized)](contracts/L1/OptimismPortal.sol#L377-L380)\n", + "first_markdown_element": "contracts/L1/OptimismPortal.sol#L315-L412", + "id": "8447a71e06520d6500109de71674bc255e79589ac1378ea60fc5d83e28d14541", + "check": "boolean-equal", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "whenNotPaused", + "source_mapping": { + "start": 4722, + "length": 103, + "filename_relative": "contracts/L1/OptimismPortal.sol", + "filename_short": "contracts/L1/OptimismPortal.sol", + "is_dependency": false, + "lines": [ + 138, + 139, + 140, + 141 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "OptimismPortal", + "source_mapping": { + "start": 1057, + "length": 19148, + "filename_relative": "contracts/L1/OptimismPortal.sol", + "filename_short": "contracts/L1/OptimismPortal.sol", + "is_dependency": false, + "lines": [ + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "whenNotPaused()" + } + }, + { + "type": "node", + "name": "require(bool,string)(paused == false,OptimismPortal: paused)", + "source_mapping": { + "start": 4757, + "length": 50, + "filename_relative": "contracts/L1/OptimismPortal.sol", + "filename_short": "contracts/L1/OptimismPortal.sol", + "is_dependency": false, + "lines": [ + 139 + ], + "starting_column": 9, + "ending_column": 59 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "whenNotPaused", + "source_mapping": { + "start": 4722, + "length": 103, + "filename_relative": "contracts/L1/OptimismPortal.sol", + "filename_short": "contracts/L1/OptimismPortal.sol", + "is_dependency": false, + "lines": [ + 138, + 139, + 140, + 141 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "OptimismPortal", + "source_mapping": { + "start": 1057, + "length": 19148, + "filename_relative": "contracts/L1/OptimismPortal.sol", + "filename_short": "contracts/L1/OptimismPortal.sol", + "is_dependency": false, + "lines": [ + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "whenNotPaused()" + } + } + } + } + ], + "description": "OptimismPortal.whenNotPaused() (contracts/L1/OptimismPortal.sol#138-141) compares to a boolean constant:\n\t-require(bool,string)(paused == false,OptimismPortal: paused) (contracts/L1/OptimismPortal.sol#139)\n", + "markdown": "[OptimismPortal.whenNotPaused()](contracts/L1/OptimismPortal.sol#L138-L141) compares to a boolean constant:\n\t-[require(bool,string)(paused == false,OptimismPortal: paused)](contracts/L1/OptimismPortal.sol#L139)\n", + "first_markdown_element": "contracts/L1/OptimismPortal.sol#L138-L141", + "id": "65ddf3ae583094c7adfbcf9e208034b903bce7e1b6541f557fc93c30148dde76", + "check": "boolean-equal", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "fallback", + "source_mapping": { + "start": 1976, + "length": 668, + "filename_relative": "contracts/legacy/ResolvedDelegateProxy.sol", + "filename_short": "contracts/legacy/ResolvedDelegateProxy.sol", + "is_dependency": false, + "lines": [ + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 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": "ResolvedDelegateProxy", + "source_mapping": { + "start": 442, + "length": 2204, + "filename_relative": "contracts/legacy/ResolvedDelegateProxy.sol", + "filename_short": "contracts/legacy/ResolvedDelegateProxy.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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "fallback()" + } + }, + { + "type": "node", + "name": "success == true", + "source_mapping": { + "start": 2389, + "length": 15, + "filename_relative": "contracts/legacy/ResolvedDelegateProxy.sol", + "filename_short": "contracts/legacy/ResolvedDelegateProxy.sol", + "is_dependency": false, + "lines": [ + 54 + ], + "starting_column": 13, + "ending_column": 28 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "fallback", + "source_mapping": { + "start": 1976, + "length": 668, + "filename_relative": "contracts/legacy/ResolvedDelegateProxy.sol", + "filename_short": "contracts/legacy/ResolvedDelegateProxy.sol", + "is_dependency": false, + "lines": [ + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 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": "ResolvedDelegateProxy", + "source_mapping": { + "start": 442, + "length": 2204, + "filename_relative": "contracts/legacy/ResolvedDelegateProxy.sol", + "filename_short": "contracts/legacy/ResolvedDelegateProxy.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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "fallback()" + } + } + } + } + ], + "description": "ResolvedDelegateProxy.fallback() (contracts/legacy/ResolvedDelegateProxy.sol#44-63) compares to a boolean constant:\n\t-success == true (contracts/legacy/ResolvedDelegateProxy.sol#54)\n", + "markdown": "[ResolvedDelegateProxy.fallback()](contracts/legacy/ResolvedDelegateProxy.sol#L44-L63) compares to a boolean constant:\n\t-[success == true](contracts/legacy/ResolvedDelegateProxy.sol#L54)\n", + "first_markdown_element": "contracts/legacy/ResolvedDelegateProxy.sol#L44-L63", + "id": "268f5135490879478e06d54bdc70d8a4338ff0d7a48f0b9bb97cfaff2ef6acdd", + "check": "boolean-equal", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "relayMessage", + "source_mapping": { + "start": 10567, + "length": 3656, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.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, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "CrossDomainMessenger", + "source_mapping": { + "start": 3734, + "length": 14913, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "relayMessage(uint256,address,address,uint256,uint256,bytes)" + } + }, + { + "type": "node", + "name": "require(bool,string)(successfulMessages[oldHash] == false,CrossDomainMessenger: legacy withdrawal already relayed)", + "source_mapping": { + "start": 11316, + "length": 150, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 309, + 310, + 311, + 312 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "relayMessage", + "source_mapping": { + "start": 10567, + "length": 3656, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.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, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "CrossDomainMessenger", + "source_mapping": { + "start": 3734, + "length": 14913, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "relayMessage(uint256,address,address,uint256,uint256,bytes)" + } + } + } + } + ], + "description": "CrossDomainMessenger.relayMessage(uint256,address,address,uint256,uint256,bytes) (contracts/universal/CrossDomainMessenger.sol#291-383) compares to a boolean constant:\n\t-require(bool,string)(successfulMessages[oldHash] == false,CrossDomainMessenger: legacy withdrawal already relayed) (contracts/universal/CrossDomainMessenger.sol#309-312)\n", + "markdown": "[CrossDomainMessenger.relayMessage(uint256,address,address,uint256,uint256,bytes)](contracts/universal/CrossDomainMessenger.sol#L291-L383) compares to a boolean constant:\n\t-[require(bool,string)(successfulMessages[oldHash] == false,CrossDomainMessenger: legacy withdrawal already relayed)](contracts/universal/CrossDomainMessenger.sol#L309-L312)\n", + "first_markdown_element": "contracts/universal/CrossDomainMessenger.sol#L291-L383", + "id": "6ed10d0c35a9b25ea592a236aec867b369ce70003ca6113ff29ddc5c89715b17", + "check": "boolean-equal", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "relayMessage", + "source_mapping": { + "start": 10567, + "length": 3656, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.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, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "CrossDomainMessenger", + "source_mapping": { + "start": 3734, + "length": 14913, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "relayMessage(uint256,address,address,uint256,uint256,bytes)" + } + }, + { + "type": "node", + "name": "require(bool,string)(successfulMessages[versionedHash] == false,CrossDomainMessenger: message has already been relayed)", + "source_mapping": { + "start": 12918, + "length": 143, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 355, + 356, + 357, + 358 + ], + "starting_column": 9, + "ending_column": 10 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "relayMessage", + "source_mapping": { + "start": 10567, + "length": 3656, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.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, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "CrossDomainMessenger", + "source_mapping": { + "start": 3734, + "length": 14913, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "relayMessage(uint256,address,address,uint256,uint256,bytes)" + } + } + } + } + ], + "description": "CrossDomainMessenger.relayMessage(uint256,address,address,uint256,uint256,bytes) (contracts/universal/CrossDomainMessenger.sol#291-383) compares to a boolean constant:\n\t-require(bool,string)(successfulMessages[versionedHash] == false,CrossDomainMessenger: message has already been relayed) (contracts/universal/CrossDomainMessenger.sol#355-358)\n", + "markdown": "[CrossDomainMessenger.relayMessage(uint256,address,address,uint256,uint256,bytes)](contracts/universal/CrossDomainMessenger.sol#L291-L383) compares to a boolean constant:\n\t-[require(bool,string)(successfulMessages[versionedHash] == false,CrossDomainMessenger: message has already been relayed)](contracts/universal/CrossDomainMessenger.sol#L355-L358)\n", + "first_markdown_element": "contracts/universal/CrossDomainMessenger.sol#L291-L383", + "id": "7abc6a7f5887bb7a339b427b3fdc97d7a3050e04c82a581b4af843bdde991946", + "check": "boolean-equal", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "relayMessage", + "source_mapping": { + "start": 10567, + "length": 3656, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.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, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "CrossDomainMessenger", + "source_mapping": { + "start": 3734, + "length": 14913, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "relayMessage(uint256,address,address,uint256,uint256,bytes)" + } + }, + { + "type": "node", + "name": "require(bool,string)(_isUnsafeTarget(_target) == false,CrossDomainMessenger: cannot send message to blocked system address)", + "source_mapping": { + "start": 12760, + "length": 147, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 350, + 351, + 352, + 353 + ], + "starting_column": 9, + "ending_column": 10 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "relayMessage", + "source_mapping": { + "start": 10567, + "length": 3656, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.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, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "CrossDomainMessenger", + "source_mapping": { + "start": 3734, + "length": 14913, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "relayMessage(uint256,address,address,uint256,uint256,bytes)" + } + } + } + } + ], + "description": "CrossDomainMessenger.relayMessage(uint256,address,address,uint256,uint256,bytes) (contracts/universal/CrossDomainMessenger.sol#291-383) compares to a boolean constant:\n\t-require(bool,string)(_isUnsafeTarget(_target) == false,CrossDomainMessenger: cannot send message to blocked system address) (contracts/universal/CrossDomainMessenger.sol#350-353)\n", + "markdown": "[CrossDomainMessenger.relayMessage(uint256,address,address,uint256,uint256,bytes)](contracts/universal/CrossDomainMessenger.sol#L291-L383) compares to a boolean constant:\n\t-[require(bool,string)(_isUnsafeTarget(_target) == false,CrossDomainMessenger: cannot send message to blocked system address)](contracts/universal/CrossDomainMessenger.sol#L350-L353)\n", + "first_markdown_element": "contracts/universal/CrossDomainMessenger.sol#L291-L383", + "id": "cd9926dfcb079e670f9bedbfa7a6e27e9afc386036c1af8d940cc349c4286613", + "check": "boolean-equal", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "gas", + "source_mapping": { + "start": 439, + "length": 192, + "filename_relative": "contracts/libraries/Burn.sol", + "filename_short": "contracts/libraries/Burn.sol", + "is_dependency": false, + "lines": [ + 23, + 24, + 25, + 26, + 27, + 28, + 29 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Burn", + "source_mapping": { + "start": 120, + "length": 513, + "filename_relative": "contracts/libraries/Burn.sol", + "filename_short": "contracts/libraries/Burn.sol", + "is_dependency": false, + "lines": [ + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "gas(uint256)" + } + } + ], + "description": "Burn.gas(uint256) (contracts/libraries/Burn.sol#23-29) is never used and should be removed\n", + "markdown": "[Burn.gas(uint256)](contracts/libraries/Burn.sol#L23-L29) is never used and should be removed\n", + "first_markdown_element": "contracts/libraries/Burn.sol#L23-L29", + "id": "c73fc37199fd9891cf0b62d80351f29b24433facb796b5cb809f1827f66b85fb", + "check": "dead-code", + "impact": "Informational", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "get", + "source_mapping": { + "start": 1702, + "length": 243, + "filename_relative": "contracts/libraries/trie/SecureMerkleTrie.sol", + "filename_short": "contracts/libraries/trie/SecureMerkleTrie.sol", + "is_dependency": false, + "lines": [ + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SecureMerkleTrie", + "source_mapping": { + "start": 338, + "length": 1915, + "filename_relative": "contracts/libraries/trie/SecureMerkleTrie.sol", + "filename_short": "contracts/libraries/trie/SecureMerkleTrie.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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "get(bytes,bytes[],bytes32)" + } + } + ], + "description": "SecureMerkleTrie.get(bytes,bytes[],bytes32) (contracts/libraries/trie/SecureMerkleTrie.sol#45-52) is never used and should be removed\n", + "markdown": "[SecureMerkleTrie.get(bytes,bytes[],bytes32)](contracts/libraries/trie/SecureMerkleTrie.sol#L45-L52) is never used and should be removed\n", + "first_markdown_element": "contracts/libraries/trie/SecureMerkleTrie.sol#L45-L52", + "id": "1697726d338a74113daf7a11de9dd626b460f6e3422745a31752953c298f8cbb", + "check": "dead-code", + "impact": "Informational", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "fallback", + "source_mapping": { + "start": 1976, + "length": 668, + "filename_relative": "contracts/legacy/ResolvedDelegateProxy.sol", + "filename_short": "contracts/legacy/ResolvedDelegateProxy.sol", + "is_dependency": false, + "lines": [ + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 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": "ResolvedDelegateProxy", + "source_mapping": { + "start": 442, + "length": 2204, + "filename_relative": "contracts/legacy/ResolvedDelegateProxy.sol", + "filename_short": "contracts/legacy/ResolvedDelegateProxy.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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "fallback()" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.delegatecall(msg.data)", + "source_mapping": { + "start": 2303, + "length": 71, + "filename_relative": "contracts/legacy/ResolvedDelegateProxy.sol", + "filename_short": "contracts/legacy/ResolvedDelegateProxy.sol", + "is_dependency": false, + "lines": [ + 52 + ], + "starting_column": 9, + "ending_column": 80 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "fallback", + "source_mapping": { + "start": 1976, + "length": 668, + "filename_relative": "contracts/legacy/ResolvedDelegateProxy.sol", + "filename_short": "contracts/legacy/ResolvedDelegateProxy.sol", + "is_dependency": false, + "lines": [ + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 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": "ResolvedDelegateProxy", + "source_mapping": { + "start": 442, + "length": 2204, + "filename_relative": "contracts/legacy/ResolvedDelegateProxy.sol", + "filename_short": "contracts/legacy/ResolvedDelegateProxy.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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "fallback()" + } + } + } + } + ], + "description": "Low level call in ResolvedDelegateProxy.fallback() (contracts/legacy/ResolvedDelegateProxy.sol#44-63):\n\t- (success,returndata) = target.delegatecall(msg.data) (contracts/legacy/ResolvedDelegateProxy.sol#52)\n", + "markdown": "Low level call in [ResolvedDelegateProxy.fallback()](contracts/legacy/ResolvedDelegateProxy.sol#L44-L63):\n\t- [(success,returndata) = target.delegatecall(msg.data)](contracts/legacy/ResolvedDelegateProxy.sol#L52)\n", + "first_markdown_element": "contracts/legacy/ResolvedDelegateProxy.sol#L44-L63", + "id": "17e92647443fc3b57c437b718eaca56fd7346fa8a32ffacca8a348abcddc6a1e", + "check": "low-level-calls", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "upgradeToAndCall", + "source_mapping": { + "start": 3582, + "length": 422, + "filename_relative": "contracts/universal/Proxy.sol", + "filename_short": "contracts/universal/Proxy.sol", + "is_dependency": false, + "lines": [ + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Proxy", + "source_mapping": { + "start": 294, + "length": 6844, + "filename_relative": "contracts/universal/Proxy.sol", + "filename_short": "contracts/universal/Proxy.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, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "upgradeToAndCall(address,bytes)" + } + }, + { + "type": "node", + "name": "(success,returndata) = _implementation.delegatecall(_data)", + "source_mapping": { + "start": 3806, + "length": 77, + "filename_relative": "contracts/universal/Proxy.sol", + "filename_short": "contracts/universal/Proxy.sol", + "is_dependency": false, + "lines": [ + 105 + ], + "starting_column": 9, + "ending_column": 86 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "upgradeToAndCall", + "source_mapping": { + "start": 3582, + "length": 422, + "filename_relative": "contracts/universal/Proxy.sol", + "filename_short": "contracts/universal/Proxy.sol", + "is_dependency": false, + "lines": [ + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Proxy", + "source_mapping": { + "start": 294, + "length": 6844, + "filename_relative": "contracts/universal/Proxy.sol", + "filename_short": "contracts/universal/Proxy.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, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "upgradeToAndCall(address,bytes)" + } + } + } + } + ], + "description": "Low level call in Proxy.upgradeToAndCall(address,bytes) (contracts/universal/Proxy.sol#98-108):\n\t- (success,returndata) = _implementation.delegatecall(_data) (contracts/universal/Proxy.sol#105)\n", + "markdown": "Low level call in [Proxy.upgradeToAndCall(address,bytes)](contracts/universal/Proxy.sol#L98-L108):\n\t- [(success,returndata) = _implementation.delegatecall(_data)](contracts/universal/Proxy.sol#L105)\n", + "first_markdown_element": "contracts/universal/Proxy.sol#L98-L108", + "id": "934a89f166f69c7d36a7ab96ffc98b3e83c5bf3de20e0cb9ff9e9de75e8ccdaf", + "check": "low-level-calls", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "upgradeAndCall", + "source_mapping": { + "start": 9032, + "length": 604, + "filename_relative": "contracts/universal/ProxyAdmin.sol", + "filename_short": "contracts/universal/ProxyAdmin.sol", + "is_dependency": false, + "lines": [ + 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": "ProxyAdmin", + "source_mapping": { + "start": 1186, + "length": 8452, + "filename_relative": "contracts/universal/ProxyAdmin.sol", + "filename_short": "contracts/universal/ProxyAdmin.sol", + "is_dependency": false, + "lines": [ + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 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": 1, + "ending_column": 2 + } + }, + "signature": "upgradeAndCall(address,address,bytes)" + } + }, + { + "type": "node", + "name": "(success) = _proxy.call{value: msg.value}(_data)", + "source_mapping": { + "start": 9482, + "length": 57, + "filename_relative": "contracts/universal/ProxyAdmin.sol", + "filename_short": "contracts/universal/ProxyAdmin.sol", + "is_dependency": false, + "lines": [ + 250 + ], + "starting_column": 13, + "ending_column": 70 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "upgradeAndCall", + "source_mapping": { + "start": 9032, + "length": 604, + "filename_relative": "contracts/universal/ProxyAdmin.sol", + "filename_short": "contracts/universal/ProxyAdmin.sol", + "is_dependency": false, + "lines": [ + 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": "ProxyAdmin", + "source_mapping": { + "start": 1186, + "length": 8452, + "filename_relative": "contracts/universal/ProxyAdmin.sol", + "filename_short": "contracts/universal/ProxyAdmin.sol", + "is_dependency": false, + "lines": [ + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 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": 1, + "ending_column": 2 + } + }, + "signature": "upgradeAndCall(address,address,bytes)" + } + } + } + } + ], + "description": "Low level call in ProxyAdmin.upgradeAndCall(address,address,bytes) (contracts/universal/ProxyAdmin.sol#239-253):\n\t- (success) = _proxy.call{value: msg.value}(_data) (contracts/universal/ProxyAdmin.sol#250)\n", + "markdown": "Low level call in [ProxyAdmin.upgradeAndCall(address,address,bytes)](contracts/universal/ProxyAdmin.sol#L239-L253):\n\t- [(success) = _proxy.call{value: msg.value}(_data)](contracts/universal/ProxyAdmin.sol#L250)\n", + "first_markdown_element": "contracts/universal/ProxyAdmin.sol#L239-L253", + "id": "969d32e34c3ced69640ea6fba5ef3d51af7d8af27e16e39dc9592f8c9a9f65f0", + "check": "low-level-calls", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "contract", + "name": "L1ChugSplashProxy", + "source_mapping": { + "start": 975, + "length": 10004, + "filename_relative": "contracts/legacy/L1ChugSplashProxy.sol", + "filename_short": "contracts/legacy/L1ChugSplashProxy.sol", + "is_dependency": false, + "lines": [ + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + { + "type": "contract", + "name": "IStaticL1ChugSplashProxy", + "source_mapping": { + "start": 705, + "length": 162, + "filename_relative": "contracts/universal/ProxyAdmin.sol", + "filename_short": "contracts/universal/ProxyAdmin.sol", + "is_dependency": false, + "lines": [ + 23, + 24, + 25, + 26, + 27 + ], + "starting_column": 1, + "ending_column": 2 + } + } + ], + "description": "L1ChugSplashProxy (contracts/legacy/L1ChugSplashProxy.sol#24-289) should inherit from IStaticL1ChugSplashProxy (contracts/universal/ProxyAdmin.sol#23-27)\n", + "markdown": "[L1ChugSplashProxy](contracts/legacy/L1ChugSplashProxy.sol#L24-L289) should inherit from [IStaticL1ChugSplashProxy](contracts/universal/ProxyAdmin.sol#L23-L27)\n", + "first_markdown_element": "contracts/legacy/L1ChugSplashProxy.sol#L24-L289", + "id": "1c75a1f9ff4c37e06dce8c897eecb4b83e6aeb13daadc91aa1a9d81edd1ce1a7", + "check": "missing-inheritance", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "contract", + "name": "Proxy", + "source_mapping": { + "start": 294, + "length": 6844, + "filename_relative": "contracts/universal/Proxy.sol", + "filename_short": "contracts/universal/Proxy.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, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + { + "type": "contract", + "name": "IStaticERC1967Proxy", + "source_mapping": { + "start": 418, + "length": 151, + "filename_relative": "contracts/universal/ProxyAdmin.sol", + "filename_short": "contracts/universal/ProxyAdmin.sol", + "is_dependency": false, + "lines": [ + 13, + 14, + 15, + 16, + 17 + ], + "starting_column": 1, + "ending_column": 2 + } + } + ], + "description": "Proxy (contracts/universal/Proxy.sol#10-216) should inherit from IStaticERC1967Proxy (contracts/universal/ProxyAdmin.sol#13-17)\n", + "markdown": "[Proxy](contracts/universal/Proxy.sol#L10-L216) should inherit from [IStaticERC1967Proxy](contracts/universal/ProxyAdmin.sol#L13-L17)\n", + "first_markdown_element": "contracts/universal/Proxy.sol#L10-L216", + "id": "86a6d3dd80b6517964461ac8855470a6c762c7ca829d40f962d7fa35211369e3", + "check": "missing-inheritance", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "contract", + "name": "ProxyAdmin", + "source_mapping": { + "start": 1186, + "length": 8452, + "filename_relative": "contracts/universal/ProxyAdmin.sol", + "filename_short": "contracts/universal/ProxyAdmin.sol", + "is_dependency": false, + "lines": [ + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 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": 1, + "ending_column": 2 + } + }, + { + "type": "contract", + "name": "IL1ChugSplashDeployer", + "source_mapping": { + "start": 97, + "length": 92, + "filename_relative": "contracts/legacy/L1ChugSplashProxy.sol", + "filename_short": "contracts/legacy/L1ChugSplashProxy.sol", + "is_dependency": false, + "lines": [ + 7, + 8, + 9 + ], + "starting_column": 1, + "ending_column": 2 + } + } + ], + "description": "ProxyAdmin (contracts/universal/ProxyAdmin.sol#35-254) should inherit from IL1ChugSplashDeployer (contracts/legacy/L1ChugSplashProxy.sol#7-9)\n", + "markdown": "[ProxyAdmin](contracts/universal/ProxyAdmin.sol#L35-L254) should inherit from [IL1ChugSplashDeployer](contracts/legacy/L1ChugSplashProxy.sol#L7-L9)\n", + "first_markdown_element": "contracts/universal/ProxyAdmin.sol#L35-L254", + "id": "a93eec327cda1221794ac4cebb0c3e4a4262416fbf401a5cc2c347b23672075d", + "check": "missing-inheritance", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "OTHER_MESSENGER", + "source_mapping": { + "start": 4751, + "length": 40, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 147 + ], + "starting_column": 5, + "ending_column": 45 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "CrossDomainMessenger", + "source_mapping": { + "start": 3734, + "length": 14913, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "variable", + "name": "_otherMessenger", + "source_mapping": { + "start": 8112, + "length": 23, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 233 + ], + "starting_column": 17, + "ending_column": 40 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "constructor", + "source_mapping": { + "start": 8100, + "length": 87, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 233, + 234, + 235 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "CrossDomainMessenger", + "source_mapping": { + "start": 3734, + "length": 14913, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "constructor(address)" + } + } + } + } + ], + "description": "Variable CrossDomainMessenger.OTHER_MESSENGER (contracts/universal/CrossDomainMessenger.sol#147) is too similar to CrossDomainMessenger.constructor(address)._otherMessenger (contracts/universal/CrossDomainMessenger.sol#233)\n", + "markdown": "Variable [CrossDomainMessenger.OTHER_MESSENGER](contracts/universal/CrossDomainMessenger.sol#L147) is too similar to [CrossDomainMessenger.constructor(address)._otherMessenger](contracts/universal/CrossDomainMessenger.sol#L233)\n", + "first_markdown_element": "contracts/universal/CrossDomainMessenger.sol#L147", + "id": "74f87c8c21b6fd92d5c752a98b66ec86a964dfcb2c706c50c8f013f48f58083e", + "check": "similar-names", + "impact": "Informational", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "OTHER_BRIDGE", + "source_mapping": { + "start": 534, + "length": 37, + "filename_relative": "contracts/universal/ERC721Bridge.sol", + "filename_short": "contracts/universal/ERC721Bridge.sol", + "is_dependency": false, + "lines": [ + 20 + ], + "starting_column": 5, + "ending_column": 42 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ERC721Bridge", + "source_mapping": { + "start": 302, + "length": 8424, + "filename_relative": "contracts/universal/ERC721Bridge.sol", + "filename_short": "contracts/universal/ERC721Bridge.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, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "variable", + "name": "_otherBridge", + "source_mapping": { + "start": 2683, + "length": 20, + "filename_relative": "contracts/universal/ERC721Bridge.sol", + "filename_short": "contracts/universal/ERC721Bridge.sol", + "is_dependency": false, + "lines": [ + 80 + ], + "starting_column": 37, + "ending_column": 57 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "constructor", + "source_mapping": { + "start": 2651, + "length": 340, + "filename_relative": "contracts/universal/ERC721Bridge.sol", + "filename_short": "contracts/universal/ERC721Bridge.sol", + "is_dependency": false, + "lines": [ + 80, + 81, + 82, + 83, + 84, + 85, + 86 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ERC721Bridge", + "source_mapping": { + "start": 302, + "length": 8424, + "filename_relative": "contracts/universal/ERC721Bridge.sol", + "filename_short": "contracts/universal/ERC721Bridge.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, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "constructor(address,address)" + } + } + } + } + ], + "description": "Variable ERC721Bridge.OTHER_BRIDGE (contracts/universal/ERC721Bridge.sol#20) is too similar to ERC721Bridge.constructor(address,address)._otherBridge (contracts/universal/ERC721Bridge.sol#80)\n", + "markdown": "Variable [ERC721Bridge.OTHER_BRIDGE](contracts/universal/ERC721Bridge.sol#L20) is too similar to [ERC721Bridge.constructor(address,address)._otherBridge](contracts/universal/ERC721Bridge.sol#L80)\n", + "first_markdown_element": "contracts/universal/ERC721Bridge.sol#L20", + "id": "70ccc873f08b8064b950588ef8b16c149cdb6d3ba7ec91b6910e6fbea964701d", + "check": "similar-names", + "impact": "Informational", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "OTHER_BRIDGE", + "source_mapping": { + "start": 534, + "length": 37, + "filename_relative": "contracts/universal/ERC721Bridge.sol", + "filename_short": "contracts/universal/ERC721Bridge.sol", + "is_dependency": false, + "lines": [ + 20 + ], + "starting_column": 5, + "ending_column": 42 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ERC721Bridge", + "source_mapping": { + "start": 302, + "length": 8424, + "filename_relative": "contracts/universal/ERC721Bridge.sol", + "filename_short": "contracts/universal/ERC721Bridge.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, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "variable", + "name": "_otherBridge", + "source_mapping": { + "start": 1148, + "length": 20, + "filename_relative": "contracts/L1/L1ERC721Bridge.sol", + "filename_short": "contracts/L1/L1ERC721Bridge.sol", + "is_dependency": false, + "lines": [ + 28 + ], + "starting_column": 37, + "ending_column": 57 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "constructor", + "source_mapping": { + "start": 1116, + "length": 131, + "filename_relative": "contracts/L1/L1ERC721Bridge.sol", + "filename_short": "contracts/L1/L1ERC721Bridge.sol", + "is_dependency": false, + "lines": [ + 28, + 29, + 30, + 31 + ], + "starting_column": 5, + "ending_column": 7 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "L1ERC721Bridge", + "source_mapping": { + "start": 595, + "length": 3650, + "filename_relative": "contracts/L1/L1ERC721Bridge.sol", + "filename_short": "contracts/L1/L1ERC721Bridge.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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "constructor(address,address)" + } + } + } + } + ], + "description": "Variable ERC721Bridge.OTHER_BRIDGE (contracts/universal/ERC721Bridge.sol#20) is too similar to L1ERC721Bridge.constructor(address,address)._otherBridge (contracts/L1/L1ERC721Bridge.sol#28)\n", + "markdown": "Variable [ERC721Bridge.OTHER_BRIDGE](contracts/universal/ERC721Bridge.sol#L20) is too similar to [L1ERC721Bridge.constructor(address,address)._otherBridge](contracts/L1/L1ERC721Bridge.sol#L28)\n", + "first_markdown_element": "contracts/universal/ERC721Bridge.sol#L20", + "id": "b98b8c2ae28410cdbeff4726a8482fff7df824a6b72f314419cb9f82d4d46f41", + "check": "similar-names", + "impact": "Informational", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "OTHER_BRIDGE", + "source_mapping": { + "start": 1427, + "length": 44, + "filename_relative": "contracts/universal/StandardBridge.sol", + "filename_short": "contracts/universal/StandardBridge.sol", + "is_dependency": false, + "lines": [ + 36 + ], + "starting_column": 5, + "ending_column": 49 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "StandardBridge", + "source_mapping": { + "start": 990, + "length": 21120, + "filename_relative": "contracts/universal/StandardBridge.sol", + "filename_short": "contracts/universal/StandardBridge.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, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "variable", + "name": "_otherBridge", + "source_mapping": { + "start": 5533, + "length": 28, + "filename_relative": "contracts/universal/StandardBridge.sol", + "filename_short": "contracts/universal/StandardBridge.sol", + "is_dependency": false, + "lines": [ + 161 + ], + "starting_column": 45, + "ending_column": 73 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "constructor", + "source_mapping": { + "start": 5493, + "length": 184, + "filename_relative": "contracts/universal/StandardBridge.sol", + "filename_short": "contracts/universal/StandardBridge.sol", + "is_dependency": false, + "lines": [ + 161, + 162, + 163, + 164 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "StandardBridge", + "source_mapping": { + "start": 990, + "length": 21120, + "filename_relative": "contracts/universal/StandardBridge.sol", + "filename_short": "contracts/universal/StandardBridge.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, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "constructor(address,address)" + } + } + } + } + ], + "description": "Variable StandardBridge.OTHER_BRIDGE (contracts/universal/StandardBridge.sol#36) is too similar to StandardBridge.constructor(address,address)._otherBridge (contracts/universal/StandardBridge.sol#161)\n", + "markdown": "Variable [StandardBridge.OTHER_BRIDGE](contracts/universal/StandardBridge.sol#L36) is too similar to [StandardBridge.constructor(address,address)._otherBridge](contracts/universal/StandardBridge.sol#L161)\n", + "first_markdown_element": "contracts/universal/StandardBridge.sol#L36", + "id": "b8efb33d0ac56691c21d842a6866ba4c4aff21c43aa73c6f9c4d063fd9208739", + "check": "similar-names", + "impact": "Informational", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "SUBMISSION_INTERVAL", + "source_mapping": { + "start": 816, + "length": 44, + "filename_relative": "contracts/L1/L2OutputOracle.sol", + "filename_short": "contracts/L1/L2OutputOracle.sol", + "is_dependency": false, + "lines": [ + 20 + ], + "starting_column": 5, + "ending_column": 49 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "L2OutputOracle", + "source_mapping": { + "start": 553, + "length": 12197, + "filename_relative": "contracts/L1/L2OutputOracle.sol", + "filename_short": "contracts/L1/L2OutputOracle.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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "variable", + "name": "_submissionInterval", + "source_mapping": { + "start": 3159, + "length": 27, + "filename_relative": "contracts/L1/L2OutputOracle.sol", + "filename_short": "contracts/L1/L2OutputOracle.sol", + "is_dependency": false, + "lines": [ + 91 + ], + "starting_column": 9, + "ending_column": 36 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "constructor", + "source_mapping": { + "start": 3138, + "length": 817, + "filename_relative": "contracts/L1/L2OutputOracle.sol", + "filename_short": "contracts/L1/L2OutputOracle.sol", + "is_dependency": false, + "lines": [ + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "L2OutputOracle", + "source_mapping": { + "start": 553, + "length": 12197, + "filename_relative": "contracts/L1/L2OutputOracle.sol", + "filename_short": "contracts/L1/L2OutputOracle.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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "constructor(uint256,uint256,uint256,uint256,address,address,uint256)" + } + } + } + } + ], + "description": "Variable L2OutputOracle.SUBMISSION_INTERVAL (contracts/L1/L2OutputOracle.sol#20) is too similar to L2OutputOracle.constructor(uint256,uint256,uint256,uint256,address,address,uint256)._submissionInterval (contracts/L1/L2OutputOracle.sol#91)\n", + "markdown": "Variable [L2OutputOracle.SUBMISSION_INTERVAL](contracts/L1/L2OutputOracle.sol#L20) is too similar to [L2OutputOracle.constructor(uint256,uint256,uint256,uint256,address,address,uint256)._submissionInterval](contracts/L1/L2OutputOracle.sol#L91)\n", + "first_markdown_element": "contracts/L1/L2OutputOracle.sol#L20", + "id": "75d0b7a35d4f13ad85bd98ccedabd54cf2f877aeef5e4f31bdb1e8151a17ce09", + "check": "similar-names", + "impact": "Informational", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "_l1BlockNumber", + "source_mapping": { + "start": 6723, + "length": 22, + "filename_relative": "contracts/L1/L2OutputOracle.sol", + "filename_short": "contracts/L1/L2OutputOracle.sol", + "is_dependency": false, + "lines": [ + 183 + ], + "starting_column": 9, + "ending_column": 31 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "proposeL2Output", + "source_mapping": { + "start": 6598, + "length": 2029, + "filename_relative": "contracts/L1/L2OutputOracle.sol", + "filename_short": "contracts/L1/L2OutputOracle.sol", + "is_dependency": false, + "lines": [ + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 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": "L2OutputOracle", + "source_mapping": { + "start": 553, + "length": 12197, + "filename_relative": "contracts/L1/L2OutputOracle.sol", + "filename_short": "contracts/L1/L2OutputOracle.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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "proposeL2Output(bytes32,uint256,bytes32,uint256)" + } + } + } + }, + { + "type": "variable", + "name": "_l2BlockNumber", + "source_mapping": { + "start": 6661, + "length": 22, + "filename_relative": "contracts/L1/L2OutputOracle.sol", + "filename_short": "contracts/L1/L2OutputOracle.sol", + "is_dependency": false, + "lines": [ + 181 + ], + "starting_column": 9, + "ending_column": 31 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "proposeL2Output", + "source_mapping": { + "start": 6598, + "length": 2029, + "filename_relative": "contracts/L1/L2OutputOracle.sol", + "filename_short": "contracts/L1/L2OutputOracle.sol", + "is_dependency": false, + "lines": [ + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 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": "L2OutputOracle", + "source_mapping": { + "start": 553, + "length": 12197, + "filename_relative": "contracts/L1/L2OutputOracle.sol", + "filename_short": "contracts/L1/L2OutputOracle.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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "proposeL2Output(bytes32,uint256,bytes32,uint256)" + } + } + } + } + ], + "description": "Variable L2OutputOracle.proposeL2Output(bytes32,uint256,bytes32,uint256)._l1BlockNumber (contracts/L1/L2OutputOracle.sol#183) is too similar to L2OutputOracle.proposeL2Output(bytes32,uint256,bytes32,uint256)._l2BlockNumber (contracts/L1/L2OutputOracle.sol#181)\n", + "markdown": "Variable [L2OutputOracle.proposeL2Output(bytes32,uint256,bytes32,uint256)._l1BlockNumber](contracts/L1/L2OutputOracle.sol#L183) is too similar to [L2OutputOracle.proposeL2Output(bytes32,uint256,bytes32,uint256)._l2BlockNumber](contracts/L1/L2OutputOracle.sol#L181)\n", + "first_markdown_element": "contracts/L1/L2OutputOracle.sol#L183", + "id": "fbb7d79e636b15a9c3d0fffdb676ee10c1e7cfa9d94ddfbec587213b66c60ae7", + "check": "similar-names", + "impact": "Informational", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "_l1BlockNumber", + "source_mapping": { + "start": 6723, + "length": 22, + "filename_relative": "contracts/L1/L2OutputOracle.sol", + "filename_short": "contracts/L1/L2OutputOracle.sol", + "is_dependency": false, + "lines": [ + 183 + ], + "starting_column": 9, + "ending_column": 31 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "proposeL2Output", + "source_mapping": { + "start": 6598, + "length": 2029, + "filename_relative": "contracts/L1/L2OutputOracle.sol", + "filename_short": "contracts/L1/L2OutputOracle.sol", + "is_dependency": false, + "lines": [ + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 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": "L2OutputOracle", + "source_mapping": { + "start": 553, + "length": 12197, + "filename_relative": "contracts/L1/L2OutputOracle.sol", + "filename_short": "contracts/L1/L2OutputOracle.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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "proposeL2Output(bytes32,uint256,bytes32,uint256)" + } + } + } + }, + { + "type": "variable", + "name": "_l2BlockNumber", + "source_mapping": { + "start": 9502, + "length": 22, + "filename_relative": "contracts/L1/L2OutputOracle.sol", + "filename_short": "contracts/L1/L2OutputOracle.sol", + "is_dependency": false, + "lines": [ + 255 + ], + "starting_column": 36, + "ending_column": 58 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getL2OutputIndexAfter", + "source_mapping": { + "start": 9471, + "length": 930, + "filename_relative": "contracts/L1/L2OutputOracle.sol", + "filename_short": "contracts/L1/L2OutputOracle.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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "L2OutputOracle", + "source_mapping": { + "start": 553, + "length": 12197, + "filename_relative": "contracts/L1/L2OutputOracle.sol", + "filename_short": "contracts/L1/L2OutputOracle.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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getL2OutputIndexAfter(uint256)" + } + } + } + } + ], + "description": "Variable L2OutputOracle.proposeL2Output(bytes32,uint256,bytes32,uint256)._l1BlockNumber (contracts/L1/L2OutputOracle.sol#183) is too similar to L2OutputOracle.getL2OutputIndexAfter(uint256)._l2BlockNumber (contracts/L1/L2OutputOracle.sol#255)\n", + "markdown": "Variable [L2OutputOracle.proposeL2Output(bytes32,uint256,bytes32,uint256)._l1BlockNumber](contracts/L1/L2OutputOracle.sol#L183) is too similar to [L2OutputOracle.getL2OutputIndexAfter(uint256)._l2BlockNumber](contracts/L1/L2OutputOracle.sol#L255)\n", + "first_markdown_element": "contracts/L1/L2OutputOracle.sol#L183", + "id": "f2e28308af929e98c99fa91bbc2ade9cef6d018a7e916c16a791e83027a7e2bd", + "check": "similar-names", + "impact": "Informational", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "_l1BlockNumber", + "source_mapping": { + "start": 6723, + "length": 22, + "filename_relative": "contracts/L1/L2OutputOracle.sol", + "filename_short": "contracts/L1/L2OutputOracle.sol", + "is_dependency": false, + "lines": [ + 183 + ], + "starting_column": 9, + "ending_column": 31 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "proposeL2Output", + "source_mapping": { + "start": 6598, + "length": 2029, + "filename_relative": "contracts/L1/L2OutputOracle.sol", + "filename_short": "contracts/L1/L2OutputOracle.sol", + "is_dependency": false, + "lines": [ + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 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": "L2OutputOracle", + "source_mapping": { + "start": 553, + "length": 12197, + "filename_relative": "contracts/L1/L2OutputOracle.sol", + "filename_short": "contracts/L1/L2OutputOracle.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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "proposeL2Output(bytes32,uint256,bytes32,uint256)" + } + } + } + }, + { + "type": "variable", + "name": "_l2BlockNumber", + "source_mapping": { + "start": 12594, + "length": 22, + "filename_relative": "contracts/L1/L2OutputOracle.sol", + "filename_short": "contracts/L1/L2OutputOracle.sol", + "is_dependency": false, + "lines": [ + 347 + ], + "starting_column": 33, + "ending_column": 55 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "computeL2Timestamp", + "source_mapping": { + "start": 12566, + "length": 182, + "filename_relative": "contracts/L1/L2OutputOracle.sol", + "filename_short": "contracts/L1/L2OutputOracle.sol", + "is_dependency": false, + "lines": [ + 347, + 348, + 349 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "L2OutputOracle", + "source_mapping": { + "start": 553, + "length": 12197, + "filename_relative": "contracts/L1/L2OutputOracle.sol", + "filename_short": "contracts/L1/L2OutputOracle.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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "computeL2Timestamp(uint256)" + } + } + } + } + ], + "description": "Variable L2OutputOracle.proposeL2Output(bytes32,uint256,bytes32,uint256)._l1BlockNumber (contracts/L1/L2OutputOracle.sol#183) is too similar to L2OutputOracle.computeL2Timestamp(uint256)._l2BlockNumber (contracts/L1/L2OutputOracle.sol#347)\n", + "markdown": "Variable [L2OutputOracle.proposeL2Output(bytes32,uint256,bytes32,uint256)._l1BlockNumber](contracts/L1/L2OutputOracle.sol#L183) is too similar to [L2OutputOracle.computeL2Timestamp(uint256)._l2BlockNumber](contracts/L1/L2OutputOracle.sol#L347)\n", + "first_markdown_element": "contracts/L1/L2OutputOracle.sol#L183", + "id": "6c6f343227512f7983b683e960a5723988b0aa1b12a1d9e84299957245301e65", + "check": "similar-names", + "impact": "Informational", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "_l1BlockNumber", + "source_mapping": { + "start": 6723, + "length": 22, + "filename_relative": "contracts/L1/L2OutputOracle.sol", + "filename_short": "contracts/L1/L2OutputOracle.sol", + "is_dependency": false, + "lines": [ + 183 + ], + "starting_column": 9, + "ending_column": 31 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "proposeL2Output", + "source_mapping": { + "start": 6598, + "length": 2029, + "filename_relative": "contracts/L1/L2OutputOracle.sol", + "filename_short": "contracts/L1/L2OutputOracle.sol", + "is_dependency": false, + "lines": [ + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 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": "L2OutputOracle", + "source_mapping": { + "start": 553, + "length": 12197, + "filename_relative": "contracts/L1/L2OutputOracle.sol", + "filename_short": "contracts/L1/L2OutputOracle.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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "proposeL2Output(bytes32,uint256,bytes32,uint256)" + } + } + } + }, + { + "type": "variable", + "name": "_l2BlockNumber", + "source_mapping": { + "start": 10800, + "length": 22, + "filename_relative": "contracts/L1/L2OutputOracle.sol", + "filename_short": "contracts/L1/L2OutputOracle.sol", + "is_dependency": false, + "lines": [ + 291 + ], + "starting_column": 31, + "ending_column": 53 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getL2OutputAfter", + "source_mapping": { + "start": 10774, + "length": 202, + "filename_relative": "contracts/L1/L2OutputOracle.sol", + "filename_short": "contracts/L1/L2OutputOracle.sol", + "is_dependency": false, + "lines": [ + 291, + 292, + 293, + 294, + 295, + 296, + 297 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "L2OutputOracle", + "source_mapping": { + "start": 553, + "length": 12197, + "filename_relative": "contracts/L1/L2OutputOracle.sol", + "filename_short": "contracts/L1/L2OutputOracle.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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getL2OutputAfter(uint256)" + } + } + } + } + ], + "description": "Variable L2OutputOracle.proposeL2Output(bytes32,uint256,bytes32,uint256)._l1BlockNumber (contracts/L1/L2OutputOracle.sol#183) is too similar to L2OutputOracle.getL2OutputAfter(uint256)._l2BlockNumber (contracts/L1/L2OutputOracle.sol#291)\n", + "markdown": "Variable [L2OutputOracle.proposeL2Output(bytes32,uint256,bytes32,uint256)._l1BlockNumber](contracts/L1/L2OutputOracle.sol#L183) is too similar to [L2OutputOracle.getL2OutputAfter(uint256)._l2BlockNumber](contracts/L1/L2OutputOracle.sol#L291)\n", + "first_markdown_element": "contracts/L1/L2OutputOracle.sol#L183", + "id": "d42361fd1a39e0c4d9a4d855fae04f7b50ca7cc4ab40a94ed09c390dc0b00eb8", + "check": "similar-names", + "impact": "Informational", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "OTHER_BRIDGE", + "source_mapping": { + "start": 534, + "length": 37, + "filename_relative": "contracts/universal/ERC721Bridge.sol", + "filename_short": "contracts/universal/ERC721Bridge.sol", + "is_dependency": false, + "lines": [ + 20 + ], + "starting_column": 5, + "ending_column": 42 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ERC721Bridge", + "source_mapping": { + "start": 302, + "length": 8424, + "filename_relative": "contracts/universal/ERC721Bridge.sol", + "filename_short": "contracts/universal/ERC721Bridge.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, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "variable", + "name": "_otherBridge", + "source_mapping": { + "start": 1415, + "length": 20, + "filename_relative": "contracts/L2/L2ERC721Bridge.sol", + "filename_short": "contracts/L2/L2ERC721Bridge.sol", + "is_dependency": false, + "lines": [ + 28 + ], + "starting_column": 37, + "ending_column": 57 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "constructor", + "source_mapping": { + "start": 1383, + "length": 131, + "filename_relative": "contracts/L2/L2ERC721Bridge.sol", + "filename_short": "contracts/L2/L2ERC721Bridge.sol", + "is_dependency": false, + "lines": [ + 28, + 29, + 30, + 31 + ], + "starting_column": 5, + "ending_column": 7 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "L2ERC721Bridge", + "source_mapping": { + "start": 1120, + "length": 4263, + "filename_relative": "contracts/L2/L2ERC721Bridge.sol", + "filename_short": "contracts/L2/L2ERC721Bridge.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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "constructor(address,address)" + } + } + } + } + ], + "description": "Variable ERC721Bridge.OTHER_BRIDGE (contracts/universal/ERC721Bridge.sol#20) is too similar to L2ERC721Bridge.constructor(address,address)._otherBridge (contracts/L2/L2ERC721Bridge.sol#28)\n", + "markdown": "Variable [ERC721Bridge.OTHER_BRIDGE](contracts/universal/ERC721Bridge.sol#L20) is too similar to [L2ERC721Bridge.constructor(address,address)._otherBridge](contracts/L2/L2ERC721Bridge.sol#L28)\n", + "first_markdown_element": "contracts/universal/ERC721Bridge.sol#L20", + "id": "38b3f8d139d313e1b6712fcc2c2590086002760537ecf59c2d8f457d183d1201", + "check": "similar-names", + "impact": "Informational", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "OTHER_BRIDGE", + "source_mapping": { + "start": 1427, + "length": 44, + "filename_relative": "contracts/universal/StandardBridge.sol", + "filename_short": "contracts/universal/StandardBridge.sol", + "is_dependency": false, + "lines": [ + 36 + ], + "starting_column": 5, + "ending_column": 49 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "StandardBridge", + "source_mapping": { + "start": 990, + "length": 21120, + "filename_relative": "contracts/universal/StandardBridge.sol", + "filename_short": "contracts/universal/StandardBridge.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, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "variable", + "name": "_otherBridge", + "source_mapping": { + "start": 2490, + "length": 28, + "filename_relative": "contracts/L2/L2StandardBridge.sol", + "filename_short": "contracts/L2/L2StandardBridge.sol", + "is_dependency": false, + "lines": [ + 66 + ], + "starting_column": 17, + "ending_column": 45 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "constructor", + "source_mapping": { + "start": 2478, + "length": 156, + "filename_relative": "contracts/L2/L2StandardBridge.sol", + "filename_short": "contracts/L2/L2StandardBridge.sol", + "is_dependency": false, + "lines": [ + 66, + 67, + 68, + 69 + ], + "starting_column": 5, + "ending_column": 7 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "L2StandardBridge", + "source_mapping": { + "start": 998, + "length": 9194, + "filename_relative": "contracts/L2/L2StandardBridge.sol", + "filename_short": "contracts/L2/L2StandardBridge.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, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "constructor(address)" + } + } + } + } + ], + "description": "Variable StandardBridge.OTHER_BRIDGE (contracts/universal/StandardBridge.sol#36) is too similar to L2StandardBridge.constructor(address)._otherBridge (contracts/L2/L2StandardBridge.sol#66)\n", + "markdown": "Variable [StandardBridge.OTHER_BRIDGE](contracts/universal/StandardBridge.sol#L36) is too similar to [L2StandardBridge.constructor(address)._otherBridge](contracts/L2/L2StandardBridge.sol#L66)\n", + "first_markdown_element": "contracts/universal/StandardBridge.sol#L36", + "id": "7a8d1e8ed4fd1c07dc317b16c02bf02f6cf6fd37063fad543710cae1c25566d7", + "check": "similar-names", + "impact": "Informational", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "REMOTE_TOKEN", + "source_mapping": { + "start": 1023, + "length": 37, + "filename_relative": "contracts/universal/OptimismMintableERC20.sol", + "filename_short": "contracts/universal/OptimismMintableERC20.sol", + "is_dependency": false, + "lines": [ + 21 + ], + "starting_column": 5, + "ending_column": 42 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "OptimismMintableERC20", + "source_mapping": { + "start": 820, + "length": 3962, + "filename_relative": "contracts/universal/OptimismMintableERC20.sol", + "filename_short": "contracts/universal/OptimismMintableERC20.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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "variable", + "name": "_remoteToken", + "source_mapping": { + "start": 2245, + "length": 20, + "filename_relative": "contracts/universal/OptimismMintableERC20.sol", + "filename_short": "contracts/universal/OptimismMintableERC20.sol", + "is_dependency": false, + "lines": [ + 62 + ], + "starting_column": 9, + "ending_column": 29 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "constructor", + "source_mapping": { + "start": 2199, + "length": 241, + "filename_relative": "contracts/universal/OptimismMintableERC20.sol", + "filename_short": "contracts/universal/OptimismMintableERC20.sol", + "is_dependency": false, + "lines": [ + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "OptimismMintableERC20", + "source_mapping": { + "start": 820, + "length": 3962, + "filename_relative": "contracts/universal/OptimismMintableERC20.sol", + "filename_short": "contracts/universal/OptimismMintableERC20.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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "constructor(address,address,string,string)" + } + } + } + } + ], + "description": "Variable OptimismMintableERC20.REMOTE_TOKEN (contracts/universal/OptimismMintableERC20.sol#21) is too similar to OptimismMintableERC20.constructor(address,address,string,string)._remoteToken (contracts/universal/OptimismMintableERC20.sol#62)\n", + "markdown": "Variable [OptimismMintableERC20.REMOTE_TOKEN](contracts/universal/OptimismMintableERC20.sol#L21) is too similar to [OptimismMintableERC20.constructor(address,address,string,string)._remoteToken](contracts/universal/OptimismMintableERC20.sol#L62)\n", + "first_markdown_element": "contracts/universal/OptimismMintableERC20.sol#L21", + "id": "027a523418b09ff0e4042272aeb3c3c24ab05fd6cfebde37babd994ffa0b88ec", + "check": "similar-names", + "impact": "Informational", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "firstByteOfContent_scope_0", + "source_mapping": { + "start": 7566, + "length": 25, + "filename_relative": "contracts/libraries/rlp/RLPReader.sol", + "filename_short": "contracts/libraries/rlp/RLPReader.sol", + "is_dependency": false, + "lines": [ + 243 + ], + "starting_column": 13, + "ending_column": 38 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_decodeLength", + "source_mapping": { + "start": 5678, + "length": 4323, + "filename_relative": "contracts/libraries/rlp/RLPReader.sol", + "filename_short": "contracts/libraries/rlp/RLPReader.sol", + "is_dependency": false, + "lines": [ + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "RLPReader", + "source_mapping": { + "start": 394, + "length": 10822, + "filename_relative": "contracts/libraries/rlp/RLPReader.sol", + "filename_short": "contracts/libraries/rlp/RLPReader.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, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_decodeLength(RLPReader.RLPItem)" + } + } + } + }, + { + "type": "variable", + "name": "firstByteOfContent_scope_2", + "source_mapping": { + "start": 9111, + "length": 25, + "filename_relative": "contracts/libraries/rlp/RLPReader.sol", + "filename_short": "contracts/libraries/rlp/RLPReader.sol", + "is_dependency": false, + "lines": [ + 289 + ], + "starting_column": 13, + "ending_column": 38 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_decodeLength", + "source_mapping": { + "start": 5678, + "length": 4323, + "filename_relative": "contracts/libraries/rlp/RLPReader.sol", + "filename_short": "contracts/libraries/rlp/RLPReader.sol", + "is_dependency": false, + "lines": [ + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "RLPReader", + "source_mapping": { + "start": 394, + "length": 10822, + "filename_relative": "contracts/libraries/rlp/RLPReader.sol", + "filename_short": "contracts/libraries/rlp/RLPReader.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, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_decodeLength(RLPReader.RLPItem)" + } + } + } + } + ], + "description": "Variable RLPReader._decodeLength(RLPReader.RLPItem).firstByteOfContent_scope_0 (contracts/libraries/rlp/RLPReader.sol#243) is too similar to RLPReader._decodeLength(RLPReader.RLPItem).firstByteOfContent_scope_2 (contracts/libraries/rlp/RLPReader.sol#289)\n", + "markdown": "Variable [RLPReader._decodeLength(RLPReader.RLPItem).firstByteOfContent_scope_0](contracts/libraries/rlp/RLPReader.sol#L243) is too similar to [RLPReader._decodeLength(RLPReader.RLPItem).firstByteOfContent_scope_2](contracts/libraries/rlp/RLPReader.sol#L289)\n", + "first_markdown_element": "contracts/libraries/rlp/RLPReader.sol#L243", + "id": "29bfa25f6c94a43230808aee3b1da68adaac6b6c7977d964bccef9f8464c3124", + "check": "similar-names", + "impact": "Informational", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "REMOTE_TOKEN", + "source_mapping": { + "start": 1092, + "length": 37, + "filename_relative": "contracts/universal/OptimismMintableERC721.sol", + "filename_short": "contracts/universal/OptimismMintableERC721.sol", + "is_dependency": false, + "lines": [ + 28 + ], + "starting_column": 5, + "ending_column": 42 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "OptimismMintableERC721", + "source_mapping": { + "start": 836, + "length": 3924, + "filename_relative": "contracts/universal/OptimismMintableERC721.sol", + "filename_short": "contracts/universal/OptimismMintableERC721.sol", + "is_dependency": false, + "lines": [ + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "variable", + "name": "_remoteToken", + "source_mapping": { + "start": 2029, + "length": 20, + "filename_relative": "contracts/universal/OptimismMintableERC721.sol", + "filename_short": "contracts/universal/OptimismMintableERC721.sol", + "is_dependency": false, + "lines": [ + 60 + ], + "starting_column": 9, + "ending_column": 29 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "constructor", + "source_mapping": { + "start": 1951, + "length": 1052, + "filename_relative": "contracts/universal/OptimismMintableERC721.sol", + "filename_short": "contracts/universal/OptimismMintableERC721.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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "OptimismMintableERC721", + "source_mapping": { + "start": 836, + "length": 3924, + "filename_relative": "contracts/universal/OptimismMintableERC721.sol", + "filename_short": "contracts/universal/OptimismMintableERC721.sol", + "is_dependency": false, + "lines": [ + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "constructor(address,uint256,address,string,string)" + } + } + } + } + ], + "description": "Variable OptimismMintableERC721.REMOTE_TOKEN (contracts/universal/OptimismMintableERC721.sol#28) is too similar to OptimismMintableERC721.constructor(address,uint256,address,string,string)._remoteToken (contracts/universal/OptimismMintableERC721.sol#60)\n", + "markdown": "Variable [OptimismMintableERC721.REMOTE_TOKEN](contracts/universal/OptimismMintableERC721.sol#L28) is too similar to [OptimismMintableERC721.constructor(address,uint256,address,string,string)._remoteToken](contracts/universal/OptimismMintableERC721.sol#L60)\n", + "first_markdown_element": "contracts/universal/OptimismMintableERC721.sol#L28", + "id": "f89066b5c392cf7ab11752e4151ee36e96bbf72f56cf264b3cb79eff7688af0d", + "check": "similar-names", + "impact": "Informational", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "spacer_201_0_32", + "source_mapping": { + "start": 2877, + "length": 48, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 93 + ], + "starting_column": 5, + "ending_column": 53 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "CrossDomainMessengerLegacySpacer1", + "source_mapping": { + "start": 1210, + "length": 1900, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "variable", + "name": "spacer_202_0_32", + "source_mapping": { + "start": 3059, + "length": 48, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 100 + ], + "starting_column": 5, + "ending_column": 53 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "CrossDomainMessengerLegacySpacer1", + "source_mapping": { + "start": 1210, + "length": 1900, + "filename_relative": "contracts/universal/CrossDomainMessenger.sol", + "filename_short": "contracts/universal/CrossDomainMessenger.sol", + "is_dependency": false, + "lines": [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + } + ], + "description": "Variable CrossDomainMessengerLegacySpacer1.spacer_201_0_32 (contracts/universal/CrossDomainMessenger.sol#93) is too similar to CrossDomainMessengerLegacySpacer1.spacer_202_0_32 (contracts/universal/CrossDomainMessenger.sol#100)\n", + "markdown": "Variable [CrossDomainMessengerLegacySpacer1.spacer_201_0_32](contracts/universal/CrossDomainMessenger.sol#L93) is too similar to [CrossDomainMessengerLegacySpacer1.spacer_202_0_32](contracts/universal/CrossDomainMessenger.sol#L100)\n", + "first_markdown_element": "contracts/universal/CrossDomainMessenger.sol#L93", + "id": "4f75e946ee249ae8b4958c8824e1d24d09a78e4a7d8c63957c6c516397f0eb62", + "check": "similar-names", + "impact": "Informational", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "spacer_0_0_20", + "source_mapping": { + "start": 1599, + "length": 29, + "filename_relative": "contracts/universal/StandardBridge.sol", + "filename_short": "contracts/universal/StandardBridge.sol", + "is_dependency": false, + "lines": [ + 43 + ], + "starting_column": 5, + "ending_column": 34 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "StandardBridge", + "source_mapping": { + "start": 990, + "length": 21120, + "filename_relative": "contracts/universal/StandardBridge.sol", + "filename_short": "contracts/universal/StandardBridge.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, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "variable", + "name": "spacer_1_0_20", + "source_mapping": { + "start": 1760, + "length": 29, + "filename_relative": "contracts/universal/StandardBridge.sol", + "filename_short": "contracts/universal/StandardBridge.sol", + "is_dependency": false, + "lines": [ + 50 + ], + "starting_column": 5, + "ending_column": 34 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "StandardBridge", + "source_mapping": { + "start": 990, + "length": 21120, + "filename_relative": "contracts/universal/StandardBridge.sol", + "filename_short": "contracts/universal/StandardBridge.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, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + } + ], + "description": "Variable StandardBridge.spacer_0_0_20 (contracts/universal/StandardBridge.sol#43) is too similar to StandardBridge.spacer_1_0_20 (contracts/universal/StandardBridge.sol#50)\n", + "markdown": "Variable [StandardBridge.spacer_0_0_20](contracts/universal/StandardBridge.sol#L43) is too similar to [StandardBridge.spacer_1_0_20](contracts/universal/StandardBridge.sol#L50)\n", + "first_markdown_element": "contracts/universal/StandardBridge.sol#L43", + "id": "dc8d7c3f1036ff7805d517625c92399029c8b2798baa22e4418790afab00d0d8", + "check": "similar-names", + "impact": "Informational", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "ESTIMATION_ADDRESS", + "source_mapping": { + "start": 974, + "length": 57, + "filename_relative": "contracts/libraries/Constants.sol", + "filename_short": "contracts/libraries/Constants.sol", + "is_dependency": false, + "lines": [ + 21 + ], + "starting_column": 5, + "ending_column": 62 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Constants", + "source_mapping": { + "start": 400, + "length": 1674, + "filename_relative": "contracts/libraries/Constants.sol", + "filename_short": "contracts/libraries/Constants.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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "contract", + "name": "Constants", + "source_mapping": { + "start": 400, + "length": 1674, + "filename_relative": "contracts/libraries/Constants.sol", + "filename_short": "contracts/libraries/Constants.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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + ], + "description": "Constants.ESTIMATION_ADDRESS (contracts/libraries/Constants.sol#21) is never used in Constants (contracts/libraries/Constants.sol#12-49)\n", + "markdown": "[Constants.ESTIMATION_ADDRESS](contracts/libraries/Constants.sol#L21) is never used in [Constants](contracts/libraries/Constants.sol#L12-L49)\n", + "first_markdown_element": "contracts/libraries/Constants.sol#L21", + "id": "40e08a05ff414c4a488af771a3d2198dbfcaf33dc0d309390b7647d9b77fba2e", + "check": "unused-state", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "DEFAULT_L2_SENDER", + "source_mapping": { + "start": 1318, + "length": 88, + "filename_relative": "contracts/libraries/Constants.sol", + "filename_short": "contracts/libraries/Constants.sol", + "is_dependency": false, + "lines": [ + 28 + ], + "starting_column": 5, + "ending_column": 93 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Constants", + "source_mapping": { + "start": 400, + "length": 1674, + "filename_relative": "contracts/libraries/Constants.sol", + "filename_short": "contracts/libraries/Constants.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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + }, + { + "type": "contract", + "name": "Constants", + "source_mapping": { + "start": 400, + "length": 1674, + "filename_relative": "contracts/libraries/Constants.sol", + "filename_short": "contracts/libraries/Constants.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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + ], + "description": "Constants.DEFAULT_L2_SENDER (contracts/libraries/Constants.sol#28) is never used in Constants (contracts/libraries/Constants.sol#12-49)\n", + "markdown": "[Constants.DEFAULT_L2_SENDER](contracts/libraries/Constants.sol#L28) is never used in [Constants](contracts/libraries/Constants.sol#L12-L49)\n", + "first_markdown_element": "contracts/libraries/Constants.sol#L28", + "id": "9eb8016b2f9e1b94076c3c2bc40cc54b3d733319213ce0085c9328485c2400fd", + "check": "unused-state", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "l1Token", + "source_mapping": { + "start": 787, + "length": 22, + "filename_relative": "contracts/legacy/LegacyMintableERC20.sol", + "filename_short": "contracts/legacy/LegacyMintableERC20.sol", + "is_dependency": false, + "lines": [ + 26 + ], + "starting_column": 5, + "ending_column": 27 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "LegacyMintableERC20", + "source_mapping": { + "start": 382, + "length": 2324, + "filename_relative": "contracts/legacy/LegacyMintableERC20.sol", + "filename_short": "contracts/legacy/LegacyMintableERC20.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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + } + ], + "description": "LegacyMintableERC20.l1Token (contracts/legacy/LegacyMintableERC20.sol#26) should be immutable \n", + "markdown": "[LegacyMintableERC20.l1Token](contracts/legacy/LegacyMintableERC20.sol#L26) should be immutable \n", + "first_markdown_element": "contracts/legacy/LegacyMintableERC20.sol#L26", + "id": "c00b462aa58a470e73d1e8609e70c086f2a79c4e6d03132ec4e5e80dc09a41c4", + "check": "immutable-states", + "impact": "Optimization", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "l2Bridge", + "source_mapping": { + "start": 865, + "length": 23, + "filename_relative": "contracts/legacy/LegacyMintableERC20.sol", + "filename_short": "contracts/legacy/LegacyMintableERC20.sol", + "is_dependency": false, + "lines": [ + 31 + ], + "starting_column": 5, + "ending_column": 28 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "LegacyMintableERC20", + "source_mapping": { + "start": 382, + "length": 2324, + "filename_relative": "contracts/legacy/LegacyMintableERC20.sol", + "filename_short": "contracts/legacy/LegacyMintableERC20.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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + } + ], + "description": "LegacyMintableERC20.l2Bridge (contracts/legacy/LegacyMintableERC20.sol#31) should be immutable \n", + "markdown": "[LegacyMintableERC20.l2Bridge](contracts/legacy/LegacyMintableERC20.sol#L31) should be immutable \n", + "first_markdown_element": "contracts/legacy/LegacyMintableERC20.sol#L31", + "id": "f3498a6e0b5c2a2dd495341d95bd652b61c7c75f9ff5f18b1dac260b4659f393", + "check": "immutable-states", + "impact": "Optimization", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "baseTokenURI", + "source_mapping": { + "start": 1295, + "length": 26, + "filename_relative": "contracts/universal/OptimismMintableERC721.sol", + "filename_short": "contracts/universal/OptimismMintableERC721.sol", + "is_dependency": false, + "lines": [ + 38 + ], + "starting_column": 5, + "ending_column": 31 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "OptimismMintableERC721", + "source_mapping": { + "start": 836, + "length": 3924, + "filename_relative": "contracts/universal/OptimismMintableERC721.sol", + "filename_short": "contracts/universal/OptimismMintableERC721.sol", + "is_dependency": false, + "lines": [ + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + } + ], + "description": "OptimismMintableERC721.baseTokenURI (contracts/universal/OptimismMintableERC721.sol#38) should be immutable \n", + "markdown": "[OptimismMintableERC721.baseTokenURI](contracts/universal/OptimismMintableERC721.sol#L38) should be immutable \n", + "first_markdown_element": "contracts/universal/OptimismMintableERC721.sol#L38", + "id": "e2c6c805f680dde97003496127e8638a45cd23c38b6b40d7591d6b0069b9555f", + "check": "immutable-states", + "impact": "Optimization", + "confidence": "High" } ]