MCPcopy Index your code
hub / github.com/DarkFlorist/TheInterceptor

github.com/DarkFlorist/TheInterceptor @v1.0.23

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.0.23 ↗ · + Follow
2,421 symbols 6,497 edges 283 files 10 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

The cutest dino

The Interceptor

The Interceptor is a powerful tool for simulating transactions on EVM-based chains, including Ethereum Mainnet, Base, Optimism, Gnosis, and more. It offers clear, intuitive explanations for the transactions you initiate. The Interceptor can seamlessly complement your browser wallet, like MetaMask, or function as a standalone transaction simulation tool.

With MetaMask integration, you can forward transactions for signing and send them effortlessly. What truly sets The Interceptor apart, however, is its Simulation Mode. This feature lets you simulate multiple transactions sequentially, providing a detailed preview of their outcomes-even enabling you to interact with DApps at no cost!

Install for Firefox or Chrome

The cutest dino

Features

  • Simulation mode, send transactions for free and see what they do
  • Impersonation mode, be Vitalik or anyone else and see the dApps with the eyes of anyone
  • Rich mode, browse dapps with extra 200 000 ETH in your pocket!
  • Simulate your transactions before sending them to be sure on what they do
  • Avoid common token pitfalls such as sending tokens to tokens contract address
  • Rescue assets with The Interceptor and Bouquet
  • And more!

The cutest dino

Privacy

Your privacy is our priority. The Interceptor is purpose-built to minimize data leakage: no external queries are made without direct user input except for calls to the configured Ethereum RPC server. By default, it connects to Ethereum RPC nodes operated by Dark Florist (us) which doesn't log requests, though you can configure it to connect to other RPC nodes if desired. Please note, The Interceptor requires RPC nodes that support the eth_simulateV1 endpoint, currently available in Geth and Nethermind.

Using The Interceptor on various EVM chains

We are not currently operating nodes for Base, Optimism etc, in order to use these chains you will need to add your own RPC.

Good tools to use with The Interceptor

The Interceptor requires websites to be decentralized and only use users' own wallet to access the network. The following tools are tested to work on The Interceptor: - Lunaria - NFT sender - Horswap 2 - Bouquet - PetalLock

Development

Setup

Install: bun install --frozen-lockfile

Build: bun run setup-chrome for Chrome or bun run setup-firefox for firefox

Then depending on your browser: - Chrome: Browse to chrome://extensions/ and click Load unpacked and point to \app\manifest.json. - Firefox: Browse to about:debugging and click Load Temporary Add-on and point to \app\manifest.json. - Brave: Browse to brave://extensions/ and click Load unpacked and point to \app\manifest.json.

Contact Us!

You can reach us Dark Florist via Discord and twitter @DarkFlorist!

Extension points exported contracts — how you extend this code

SwapVisualizationParams (Interface)
(no doc)
app/ts/components/simulationExplaining/SwapTransactions.tsx
IJsonRpcSuccess (Interface)
(no doc)
app/inpage/ts/inpage.ts
State (Interface)
(no doc)
app/ts/components/simulationExplaining/SwapTransactions.tsx
IJsonRpcError (Interface)
(no doc)
app/inpage/ts/inpage.ts
SomeTimeAgoProps (Interface)
(no doc)
app/ts/components/subcomponents/SomeTimeAgo.tsx
ProviderConnectInfo (Interface)
(no doc)
app/inpage/ts/inpage.ts
ToolTipParams (Interface)
(no doc)
app/ts/components/subcomponents/CopyToClipboard.tsx
ProviderRpcError (Interface)
(no doc)
app/inpage/ts/inpage.ts

Core symbols most depended-on inside this repo

addressString
called by 140
app/ts/utils/bigint.ts
bigintToUint8Array
called by 107
app/ts/utils/bigint.ts
stripLeadingZeros
called by 83
app/ts/utils/typed-arrays.ts
set
called by 78
app/ts/utils/OptionalSignal.ts
modifyObject
called by 77
app/ts/utils/typescript.ts
sendPopupMessageToBackgroundPage
called by 74
app/ts/background/backgroundUtils.ts
sendPopupMessageToOpenWindows
called by 60
app/ts/background/backgroundUtils.ts
LiteralConverterParserFactory
called by 56
app/ts/types/wire-types.ts

Shape

Function 2,247
Method 86
Class 48
Interface 39
Enum 1

Languages

TypeScript100%

Modules by API surface

app/ts/simulation/services/SimulationModeEthereumClientService.ts91 symbols
app/ts/background/popupMessageHandlers.ts73 symbols
app/ts/background/storageVariables.ts58 symbols
test/benchmarks/chromeHarness.ts52 symbols
test/tests/domMock.ts44 symbols
app/ts/components/pages/WebsiteAccess.tsx42 symbols
app/ts/utils/abiRuntime.ts41 symbols
app/ts/components/pages/ConfirmTransaction.tsx38 symbols
app/inpage/ts/inpage.ts37 symbols
test/tests/popupClearReset.test.ts34 symbols
test/benchmarks/popupLifecycleChrome.ts31 symbols
app/ts/components/pages/AddNewAddress.tsx31 symbols

For agents

$ claude mcp add TheInterceptor \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page