SigLens is a browser extension for EVM selector/signature workflows.
It helps you quickly move between raw calldata/selectors and human-readable signatures without leaving your explorer or dev flow.
- Lookup:
0xa9059cbb-> candidate function signatures (with provider fallback + cache) - Hash:
transfer(address,uint256)-> selector, event signature -> topic hash - Interface Parser: Solidity function declarations -> canonical signatures + selectors
- Decode (best effort): calldata + selected candidate signature -> decoded argument table
- Explorer Enhancement: hover raw selectors on explorer pages to resolve likely signatures
Content script enhancements are currently enabled for:
etherscan.io(+ common Etherscan-family explorers)blockscout.com
Use Settings to enable/disable explorer enhancement.
Selector lookup and calldata decode are best-effort based on public signature databases (Sourcify 4byte + 4byte.directory).
- Results are candidates, not guaranteed verified ABI truth.
- Selector collisions are possible and surfaced in UI.
- WXT
- React + TypeScript (strict)
- Zod validation
- Vitest tests
src/entrypoints/background.tsshared orchestration + messagingpopup/main UIoptions/settings UIexplorer-enhancer.content.tsexplorer page augmentation
src/features/domain use-casessrc/infrastructure/API/storage/cache/messagingsrc/test/unit tests
- Node.js 20+
- pnpm 10+
pnpm installpnpm devpnpm buildLoad unpacked from:
.output/chrome-mv3
pnpm dev
pnpm build
pnpm zip
pnpm lint
pnpm typecheck
pnpm test- Milestone 0: bootstrap/skeleton ✅
- Milestone 1: local hashing ✅
- Milestone 2: selector lookup + provider fallback + cache ✅
- Milestone 3: interface parser ✅
- Milestone 4: history + settings ✅
- Milestone 5: calldata decode (best effort) ✅
- Milestone 6: explorer enhancement (Etherscan + Blockscout) ✅
Issues and PRs are welcome.
When contributing:
- keep business logic out of React components
- keep APIs typed and validated
- run
pnpm lint && pnpm typecheck && pnpm testbefore submitting
- No account required
- No analytics included by default
- Lookup/history data stored locally in extension storage
See CHANGELOG.md.