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

Proxy & Workflow

linkage
Proxy status
non-proxy
Implementation address
Proxies pointing here
0
Workflow
failed
attempts 1
checked 1 week ago
error slither failed (exit 1): 'forge clean' running (wd: /tmp/slither-ugi9hgsv) 'forge config --json' running 'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-ugi9hgsv) 'forge' returned non-zero exit code 1 Compiling 42 files with Solc 0.8.21 stdout: Solc 0.8.21 finished in 55.76ms Error: Compiler run failed: stderr: Error (3415): No arguments passed to the base constructor. Specify the arguments or mark "PriceRouter" as abstract. stderr: --> src/modules/price-router/PriceRouter.sol:23:1: stderr: | stderr: 23 | contract PriceRouter is Ownable { stderr: | ^ (Relevant source part starts here and spans across multiple lines). stderr: Note: Base constructor parameters: stderr: --> lib/openzeppelin-contracts/contracts/access/Ownable.sol:38:16: stderr: | stderr: 38 | constructor(address initialOwner) { stderr: | ^^^^^^^^^^^^^^^^^^^^^^ stderr: stderr: Error (2973): Wrong argument count for modifier invocation: 0 arguments given but expected 1. stderr: --> src/Registry.sol:80:99: stderr: | stderr: 80 | constructor(address newOwner, address gravityBridge, address swapRouter, address priceRouter) Ownable() { 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-ugi9hgsv/out/build-info is not a directory.

Latest Findings

validated = confirmed for call sinks; sink observed for others
Severity Tool Title Validated Confirmed
critical detector Untrusted DELEGATECALL target reachable yes yes
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
medium detector CREATE/CREATE2 reachable no no
medium codex Debt > credit underflow can brick totalAssets and withdrawals no
medium cast DELEGATECALL present no
low codex Chainlink answeredInRound not checked in price fetch no
low cast Contract creation opcode present no
info cast Heavy CALL-family usage no

Codex

latest run
complete findings
Found 2 issues: a debt/credit underflow can DoS totalAssets-based flows, and Chainlink round completeness is not validated.
Top findings
  • medium Debt > credit underflow can brick totalAssets and withdrawals
  • low Chainlink answeredInRound not checked in price fetch

Code Metadata

fingerprint
Created block
18286628
Code size
24506
Codehash
0x4ab9b25515c6da9856058a4f8878862279d2e8b9803ce460658c493fda133339
Priority score
362528.081634

Recent Runs

last 20
Run ID Status Validated Total findings Created
b806a3f0-ce94-4e32-977e-bb6d911ba46b failed crit 1 high 0 9 3 months ago