Documentation
ΒΆ
Overview ΒΆ
Command nodrain is a terminal ERC-20 token-approval scanner. It finds a wallet's active approvals across EVM chains, flags unlimited allowances and known-risky spenders, and exports revoke.cash links plus unsigned approve(spender,0) calldata. It never holds a private key and never signs or broadcasts a transaction.
Directories
ΒΆ
| Path | Synopsis |
|---|---|
|
internal
|
|
|
approval
Package approval holds the core domain types that flow through nodrain: a single token approval, its risk classification, and the helpers that render an allowance for humans.
|
Package approval holds the core domain types that flow through nodrain: a single token approval, its risk classification, and the helpers that render an allowance for humans. |
|
chains
Package chains is the static registry of the EVM chains nodrain supports.
|
Package chains is the static registry of the EVM chains nodrain supports. |
|
cli
Package cli wires the cobra command tree and translates flags into a scan.
|
Package cli wires the cobra command tree and translates flags into a scan. |
|
etherscan
Package etherscan is a small client for the Etherscan V2 unified multichain API.
|
Package etherscan is a small client for the Etherscan V2 unified multichain API. |
|
evm
Package evm is the read-only on-chain layer.
|
Package evm is the read-only on-chain layer. |
|
export
Package export turns selected approvals into inert, safe-to-share artifacts: a revoke.cash deep link for the wallet and one unsigned approve(spender,0) transaction per approval.
|
Package export turns selected approvals into inert, safe-to-share artifacts: a revoke.cash deep link for the wallet and one unsigned approve(spender,0) transaction per approval. |
|
labels
Package labels resolves spender addresses to human names and flags spenders that appear on a known approval-exploit list.
|
Package labels resolves spender addresses to human names and flags spenders that appear on a known approval-exploit list. |
|
scanner
Package scanner orchestrates the whole pipeline: discover a wallet's Approval history from Etherscan, de-duplicate it to the latest grant per (token, spender), re-read the live allowance and token metadata on-chain via Multicall3, drop anything spent down to zero, then classify and label what remains.
|
Package scanner orchestrates the whole pipeline: discover a wallet's Approval history from Etherscan, de-duplicate it to the latest grant per (token, spender), re-read the live allowance and token metadata on-chain via Multicall3, drop anything spent down to zero, then classify and label what remains. |
|
text
Package text holds string helpers shared across nodrain.
|
Package text holds string helpers shared across nodrain. |
|
tui
Package tui is the interactive front end: a Bubble Tea v2 program that streams scan progress behind a spinner, then presents a multi-select table of approvals and an action screen that writes an unsigned revoke bundle to disk.
|
Package tui is the interactive front end: a Bubble Tea v2 program that streams scan progress behind a spinner, then presents a multi-select table of approvals and an action screen that writes an unsigned revoke bundle to disk. |
Click to show internal directories.
Click to hide internal directories.
