TW
Tripwire
Find contracts. Test them. Review real vulns.
Contract
0x677ecf96dbfee1defbde8d2e905a39f73aa27b89 failed chain 1
Dedaub
Queue = batch runner. Audit = immediate run. Audit + LLM forces codex.
Value & Balances
$0.00
last balance 3 months ago
ETH
0.0000
WETH
0.0000
USDC
0.00
USDT
0.00
Findings Signal
0
confirmed findings
crit 0 high 0 unconfirmed 2 total 2
validated = confirmed for call sinks; sink observed for others

Proxy & Workflow

linkage
Proxy status
non-proxy
Implementation address
Proxies pointing here
2
View top proxies
Workflow
failed
attempts 0
checked 3 months ago
error slither failed (exit 1): 'forge clean' running (wd: /tmp/slither-eonluff1) 'forge config --json' running 'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-eonluff1) 'forge' returned non-zero exit code 1 Compiling 11 files with Solc 0.8.4 stdout: Solc 0.8.4 finished in 29.56ms Error: Compiler run failed: stderr: Error (9456): Overriding function is missing "override" specifier. stderr: --> src/bridge/AbsBridge.sol:71:5: stderr: | stderr: 71 | function updateRollupAddress( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Overridden function is here: stderr: --> src/bridge/IBridge.sol:132:5: stderr: | stderr: 132 | function updateRollupAddress( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: stderr: Error (9456): Overriding function is missing "override" specifier. stderr: --> src/bridge/AbsBridge.sol:79:5: stderr: | stderr: 79 | function activeOutbox() public view returns (address) { stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Overridden function is here: stderr: --> src/bridge/IBridge.sol:78:5: stderr: | stderr: 78 | function activeOutbox() external view returns (address); stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ stderr: stderr: Error (9456): Overriding function is missing "override" specifier. stderr: --> src/bridge/AbsBridge.sol:89:5: stderr: | stderr: 89 | function allowedDelayedInboxes( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Overridden function is here: stderr: --> src/bridge/IBridge.sol:80:5: stderr: | stderr: 80 | function allowedDelayedInboxes( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: stderr: Error (9456): Overriding function is missing "override" specifier. stderr: --> src/bridge/AbsBridge.sol:95:5: stderr: | stderr: 95 | function allowedOutboxes( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Overridden function is here: stderr: --> src/bridge/IBridge.sol:84:5: stderr: | stderr: 84 | function allowedOutboxes( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: stderr: Error (9456): Overriding function is missing "override" specifier. stderr: --> src/bridge/AbsBridge.sol:106:5: stderr: | stderr: 106 | function enqueueSequencerMessage( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Overridden function is here: stderr: --> src/bridge/IBridge.sol:102:5: stderr: | stderr: 102 | function enqueueSequencerMessage( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: stderr: Error (9456): Overriding function is missing "override" specifier. stderr: --> src/bridge/AbsBridge.sol:135:5: stderr: | stderr: 135 | function submitBatchSpendingReport( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Overridden function is here: stderr: --> src/bridge/IBridge.sol:117:5: stderr: | stderr: 117 | function submitBatchSpendingReport( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: stderr: Error (9456): Overriding function is missing "override" specifier. stderr: --> src/bridge/AbsBridge.sol:195:5: stderr: | stderr: 195 | function executeCall( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Overridden function is here: stderr: --> src/bridge/IBridge.sol:90:5: stderr: | stderr: 90 | function executeCall( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: stderr: Error (9456): Overriding function is missing "override" specifier. stderr: --> src/bridge/AbsBridge.sol:214:5: stderr: | stderr: 214 | function setSequencerInbox( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Overridden function is here: stderr: --> src/bridge/IBridge.sol:124:5: stderr: | stderr: 124 | function setSequencerInbox( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: stderr: Error (9456): Overriding function is missing "override" specifier. stderr: --> src/bridge/AbsBridge.sol:221:5: stderr: | stderr: 221 | function setDelayedInbox(address inbox, bool enabled) external onlyRollupOrOwner { stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Overridden function is here: stderr: --> src/bridge/IBridge.sol:128:5: stderr: | stderr: 128 | function setDelayedInbox(address inbox, bool enabled) external; stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ stderr: stderr: Error (9456): Overriding function is missing "override" specifier. stderr: --> src/bridge/AbsBridge.sol:240:5: stderr: | stderr: 240 | function setOutbox(address outbox, bool enabled) external onlyRollupOrOwner { stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Overridden function is here: stderr: --> src/bridge/IBridge.sol:130:5: stderr: | stderr: 130 | function setOutbox(address inbox, bool enabled) external; stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ stderr: stderr: Error (9456): Overriding function is missing "override" specifier. stderr: --> src/bridge/AbsBridge.sol:270:5: stderr: | stderr: 270 | function sequencerMessageCount() external view returns (uint256) { stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Overridden function is here: stderr: --> src/bridge/IBridge.sol:98:5: stderr: | stderr: 98 | function sequencerMessageCount() external view returns (uint256); stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ stderr: stderr: Error (9456): Overriding public state variable is missing "override" specifier. stderr: --> src/bridge/AbsBridge.sol:42:5: stderr: | stderr: 42 | address[] public allowedDelayedInboxList; stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ stderr: Note: Overridden public state variable is here: stderr: --> src/bridge/IBridge.sol:56:5: stderr: | stderr: 56 | function allowedDelayedInboxList( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: stderr: Error (9456): Overriding public state variable is missing "override" specifier. stderr: --> src/bridge/AbsBridge.sol:43:5: stderr: | stderr: 43 | address[] public allowedOutboxList; stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ stderr: Note: Overridden public state variable is here: stderr: --> src/bridge/IBridge.sol:60:5: stderr: | stderr: 60 | function allowedOutboxList( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: stderr: Error (9456): Overriding public state variable is missing "override" specifier. stderr: --> src/bridge/AbsBridge.sol:48:5: stderr: | stderr: 48 | bytes32[] public delayedInboxAccs; stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ stderr: Note: Overridden public state variable is here: stderr: --> src/bridge/IBridge.sol:65:5: stderr: | stderr: 65 | function delayedInboxAccs( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: stderr: Error (9456): Overriding public state variable is missing "override" specifier. stderr: --> src/bridge/AbsBridge.sol:51:5: stderr: | stderr: 51 | bytes32[] public sequencerInboxAccs; stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ stderr: Note: Overridden public state variable is here: stderr: --> src/bridge/IBridge.sol:70:5: stderr: | stderr: 70 | function sequencerInboxAccs( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: stderr: Error (9456): Overriding public state variable is missing "override" specifier. stderr: --> src/bridge/AbsBridge.sol:53:5: stderr: | stderr: 53 | IOwnable public rollup; stderr: | ^^^^^^^^^^^^^^^^^^^^^^ stderr: Note: Overridden public state variable is here: stderr: --> src/bridge/IBridge.sol:74:5: stderr: | stderr: 74 | function rollup() external view returns (IOwnable); stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ stderr: stderr: Error (9456): Overriding public state variable is missing "override" specifier. stderr: --> src/bridge/AbsBridge.sol:54:5: stderr: | stderr: 54 | address public sequencerInbox; stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ stderr: Note: Overridden public state variable is here: stderr: --> src/bridge/IBridge.sol:76:5: stderr: | stderr: 76 | function sequencerInbox() external view returns (address); stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ stderr: stderr: Error (9456): Overriding function is missing "override" specifier. stderr: --> src/bridge/Bridge.sol:22:5: stderr: | stderr: 22 | function initialize( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Overridden function is here: stderr: --> src/bridge/IEthBridge.sol:25:5: stderr: | stderr: 25 | function initialize( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: stderr: Error (9456): Overriding function is missing "override" specifier. stderr: --> src/bridge/Bridge.sol:30:5: stderr: | stderr: 30 | function enqueueDelayedMessage( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Overridden function is here: stderr: --> src/bridge/IEthBridge.sol:17:5: stderr: | stderr: 17 | function enqueueDelayedMessage( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: stderr: Error (6480): Derived contract must override function "activeOutbox". Two or more base classes define function with same name and parameter types. stderr: --> src/bridge/Bridge.sol:18:1: stderr: | stderr: 18 | contract Bridge is AbsBridge, IEthBridge { stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Definition in "AbsBridge": stderr: --> src/bridge/AbsBridge.sol:79:5: stderr: | stderr: 79 | function activeOutbox() public view returns (address) { stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Definition in "IBridge": stderr: --> src/bridge/IBridge.sol:78:5: stderr: | stderr: 78 | function activeOutbox() external view returns (address); stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ stderr: stderr: Error (6480): Derived contract must override function "allowedDelayedInboxList". Two or more base classes define function with same name and parameter types. Since one of the bases defines a public state variable which cannot be overridden, you have to change the inheritance layout or the names of the functions. stderr: --> src/bridge/Bridge.sol:18:1: stderr: | stderr: 18 | contract Bridge is AbsBridge, IEthBridge { stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Definition in "AbsBridge": stderr: --> src/bridge/AbsBridge.sol:42:5: stderr: | stderr: 42 | address[] public allowedDelayedInboxList; stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ stderr: Note: Definition in "IBridge": stderr: --> src/bridge/IBridge.sol:56:5: stderr: | stderr: 56 | function allowedDelayedInboxList( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: stderr: Error (6480): Derived contract must override function "allowedDelayedInboxes". Two or more base classes define function with same name and parameter types. stderr: --> src/bridge/Bridge.sol:18:1: stderr: | stderr: 18 | contract Bridge is AbsBridge, IEthBridge { stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Definition in "AbsBridge": stderr: --> src/bridge/AbsBridge.sol:89:5: stderr: | stderr: 89 | function allowedDelayedInboxes( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Definition in "IBridge": stderr: --> src/bridge/IBridge.sol:80:5: stderr: | stderr: 80 | function allowedDelayedInboxes( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: stderr: Error (6480): Derived contract must override function "allowedOutboxList". Two or more base classes define function with same name and parameter types. Since one of the bases defines a public state variable which cannot be overridden, you have to change the inheritance layout or the names of the functions. stderr: --> src/bridge/Bridge.sol:18:1: stderr: | stderr: 18 | contract Bridge is AbsBridge, IEthBridge { stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Definition in "AbsBridge": stderr: --> src/bridge/AbsBridge.sol:43:5: stderr: | stderr: 43 | address[] public allowedOutboxList; stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ stderr: Note: Definition in "IBridge": stderr: --> src/bridge/IBridge.sol:60:5: stderr: | stderr: 60 | function allowedOutboxList( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: stderr: Error (6480): Derived contract must override function "allowedOutboxes". Two or more base classes define function with same name and parameter types. stderr: --> src/bridge/Bridge.sol:18:1: stderr: | stderr: 18 | contract Bridge is AbsBridge, IEthBridge { stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Definition in "AbsBridge": stderr: --> src/bridge/AbsBridge.sol:95:5: stderr: | stderr: 95 | function allowedOutboxes( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Definition in "IBridge": stderr: --> src/bridge/IBridge.sol:84:5: stderr: | stderr: 84 | function allowedOutboxes( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: stderr: Error (6480): Derived contract must override function "delayedInboxAccs". Two or more base classes define function with same name and parameter types. Since one of the bases defines a public state variable which cannot be overridden, you have to change the inheritance layout or the names of the functions. stderr: --> src/bridge/Bridge.sol:18:1: stderr: | stderr: 18 | contract Bridge is AbsBridge, IEthBridge { stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Definition in "AbsBridge": stderr: --> src/bridge/AbsBridge.sol:48:5: stderr: | stderr: 48 | bytes32[] public delayedInboxAccs; stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ stderr: Note: Definition in "IBridge": stderr: --> src/bridge/IBridge.sol:65:5: stderr: | stderr: 65 | function delayedInboxAccs( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: stderr: Error (6480): Derived contract must override function "enqueueSequencerMessage". Two or more base classes define function with same name and parameter types. stderr: --> src/bridge/Bridge.sol:18:1: stderr: | stderr: 18 | contract Bridge is AbsBridge, IEthBridge { stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Definition in "AbsBridge": stderr: --> src/bridge/AbsBridge.sol:106:5: stderr: | stderr: 106 | function enqueueSequencerMessage( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Definition in "IBridge": stderr: --> src/bridge/IBridge.sol:102:5: stderr: | stderr: 102 | function enqueueSequencerMessage( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: stderr: Error (6480): Derived contract must override function "executeCall". Two or more base classes define function with same name and parameter types. stderr: --> src/bridge/Bridge.sol:18:1: stderr: | stderr: 18 | contract Bridge is AbsBridge, IEthBridge { stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Definition in "AbsBridge": stderr: --> src/bridge/AbsBridge.sol:195:5: stderr: | stderr: 195 | function executeCall( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Definition in "IBridge": stderr: --> src/bridge/IBridge.sol:90:5: stderr: | stderr: 90 | function executeCall( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: stderr: Error (6480): Derived contract must override function "rollup". Two or more base classes define function with same name and parameter types. Since one of the bases defines a public state variable which cannot be overridden, you have to change the inheritance layout or the names of the functions. stderr: --> src/bridge/Bridge.sol:18:1: stderr: | stderr: 18 | contract Bridge is AbsBridge, IEthBridge { stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Definition in "AbsBridge": stderr: --> src/bridge/AbsBridge.sol:53:5: stderr: | stderr: 53 | IOwnable public rollup; stderr: | ^^^^^^^^^^^^^^^^^^^^^^ stderr: Note: Definition in "IBridge": stderr: --> src/bridge/IBridge.sol:74:5: stderr: | stderr: 74 | function rollup() external view returns (IOwnable); stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ stderr: stderr: Error (6480): Derived contract must override function "sequencerInbox". Two or more base classes define function with same name and parameter types. Since one of the bases defines a public state variable which cannot be overridden, you have to change the inheritance layout or the names of the functions. stderr: --> src/bridge/Bridge.sol:18:1: stderr: | stderr: 18 | contract Bridge is AbsBridge, IEthBridge { stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Definition in "AbsBridge": stderr: --> src/bridge/AbsBridge.sol:54:5: stderr: | stderr: 54 | address public sequencerInbox; stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ stderr: Note: Definition in "IBridge": stderr: --> src/bridge/IBridge.sol:76:5: stderr: | stderr: 76 | function sequencerInbox() external view returns (address); stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ stderr: stderr: Error (6480): Derived contract must override function "sequencerInboxAccs". Two or more base classes define function with same name and parameter types. Since one of the bases defines a public state variable which cannot be overridden, you have to change the inheritance layout or the names of the functions. stderr: --> src/bridge/Bridge.sol:18:1: stderr: | stderr: 18 | contract Bridge is AbsBridge, IEthBridge { stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Definition in "AbsBridge": stderr: --> src/bridge/AbsBridge.sol:51:5: stderr: | stderr: 51 | bytes32[] public sequencerInboxAccs; stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ stderr: Note: Definition in "IBridge": stderr: --> src/bridge/IBridge.sol:70:5: stderr: | stderr: 70 | function sequencerInboxAccs( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: stderr: Error (6480): Derived contract must override function "sequencerMessageCount". Two or more base classes define function with same name and parameter types. stderr: --> src/bridge/Bridge.sol:18:1: stderr: | stderr: 18 | contract Bridge is AbsBridge, IEthBridge { stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Definition in "AbsBridge": stderr: --> src/bridge/AbsBridge.sol:270:5: stderr: | stderr: 270 | function sequencerMessageCount() external view returns (uint256) { stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Definition in "IBridge": stderr: --> src/bridge/IBridge.sol:98:5: stderr: | stderr: 98 | function sequencerMessageCount() external view returns (uint256); stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ stderr: stderr: Error (6480): Derived contract must override function "setDelayedInbox". Two or more base classes define function with same name and parameter types. stderr: --> src/bridge/Bridge.sol:18:1: stderr: | stderr: 18 | contract Bridge is AbsBridge, IEthBridge { stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Definition in "AbsBridge": stderr: --> src/bridge/AbsBridge.sol:221:5: stderr: | stderr: 221 | function setDelayedInbox(address inbox, bool enabled) external onlyRollupOrOwner { stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Definition in "IBridge": stderr: --> src/bridge/IBridge.sol:128:5: stderr: | stderr: 128 | function setDelayedInbox(address inbox, bool enabled) external; stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ stderr: stderr: Error (6480): Derived contract must override function "setOutbox". Two or more base classes define function with same name and parameter types. stderr: --> src/bridge/Bridge.sol:18:1: stderr: | stderr: 18 | contract Bridge is AbsBridge, IEthBridge { stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Definition in "AbsBridge": stderr: --> src/bridge/AbsBridge.sol:240:5: stderr: | stderr: 240 | function setOutbox(address outbox, bool enabled) external onlyRollupOrOwner { stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Definition in "IBridge": stderr: --> src/bridge/IBridge.sol:130:5: stderr: | stderr: 130 | function setOutbox(address inbox, bool enabled) external; stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ stderr: stderr: Error (6480): Derived contract must override function "setSequencerInbox". Two or more base classes define function with same name and parameter types. stderr: --> src/bridge/Bridge.sol:18:1: stderr: | stderr: 18 | contract Bridge is AbsBridge, IEthBridge { stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Definition in "AbsBridge": stderr: --> src/bridge/AbsBridge.sol:214:5: stderr: | stderr: 214 | function setSequencerInbox( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Definition in "IBridge": stderr: --> src/bridge/IBridge.sol:124:5: stderr: | stderr: 124 | function setSequencerInbox( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: stderr: Error (6480): Derived contract must override function "submitBatchSpendingReport". Two or more base classes define function with same name and parameter types. stderr: --> src/bridge/Bridge.sol:18:1: stderr: | stderr: 18 | contract Bridge is AbsBridge, IEthBridge { stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Definition in "AbsBridge": stderr: --> src/bridge/AbsBridge.sol:135:5: stderr: | stderr: 135 | function submitBatchSpendingReport( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Definition in "IBridge": stderr: --> src/bridge/IBridge.sol:117:5: stderr: | stderr: 117 | function submitBatchSpendingReport( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: stderr: Error (6480): Derived contract must override function "updateRollupAddress". Two or more base classes define function with same name and parameter types. stderr: --> src/bridge/Bridge.sol:18:1: stderr: | stderr: 18 | contract Bridge is AbsBridge, IEthBridge { stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Definition in "AbsBridge": stderr: --> src/bridge/AbsBridge.sol:71:5: stderr: | stderr: 71 | function updateRollupAddress( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Definition in "IBridge": stderr: --> src/bridge/IBridge.sol:132:5: stderr: | stderr: 132 | function updateRollupAddress( stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: stderr: Error (9582): Member "basefee" not found or not visible after argument-dependent lookup in block. stderr: --> src/bridge/AbsBridge.sol:144:13: stderr: | stderr: 144 | block.basefee, stderr: | ^^^^^^^^^^^^^ Traceback (most recent call last): File "/var/www/tripwire/.venv/bin/slither", line 10, in <module> sys.exit(main()) ~~~~^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 776, in main main_impl(all_detector_classes=detectors, all_printer_classes=printers) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 882, in main_impl ) = process_all(filename, args, detector_classes, printer_classes) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 96, in process_all compilations = compile_all(target, **vars(args)) File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 722, in compile_all compilations.append(CryticCompile(target, **kwargs)) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 211, in __init__ self._compile(**kwargs) ~~~~~~~~~~~~~^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 633, in _compile self._platform.compile(self, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/foundry.py", line 102, in compile hardhat_like_parsing( ~~~~~~~~~~~~~~~~~~~~^ crytic_compile, str(self._target), build_directory, str(self._project_root) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/hardhat.py", line 52, in hardhat_like_parsing raise InvalidCompilation(txt) crytic_compile.platform.exceptions.InvalidCompilation: Compilation failed. Can you run build command? /tmp/slither-eonluff1/out/build-info is not a directory.

Latest Findings

validated = confirmed for call sinks; sink observed for others
No confirmed findings yet.
Show unconfirmed findings
Severity Tool Title Validated Confirmed
high detector Untrusted CALL target/value reachable no no
high detector ETH value transfer possible no no
From run 019bab3d-7dae-718a-bd33-ed21b428c9ba suppressed 1 initializer finding view all

Codex

latest run
complete source findings
Unprotected initializer lets anyone take ownership if the proxy is deployed without calling initialize in the same transaction.

Code Metadata

fingerprint
Created block
Code size
6766
Codehash
0xf0f933fe1e8b4a6adca4d5b4c318120e3829443ff3b72b6d3ae110fa826c6a2b
Priority score
0.000000
Latest run id

Recent Runs

last 20
Run ID Status Validated Total findings Created
019bab3d-7dae-718a-bd33-ed21b428c9ba failed crit 0 high 0 3 3 months ago