Registry & Discovery
How pairs are discovered on-chain, official vs. custom tokens, and adding your own wrapper.
The Registry is the front door: a live view of every ERC-20 ↔ ERC-7984 pair, read straight from the on-chain WrappersRegistry for the selected network.
Official vs. custom pairs
ShadowLine keeps two kinds of pairs strictly separated so a token you added locally can never be mistaken for a verified one.
- Official Registry — pairs verified on-chain by the WrappersRegistry contract. On Sepolia these are Zama-deployed mock tokens (each carries a Mock badge and has a public
mint()you can use from the Faucet). - Custom / dev-only — pairs you add yourself, stored locally in your browser and scoped per chain. They never mix into the official list.
Network scoping
The Testnet/Mainnet switch in the header controls which registry is shown. Sepolia pairs and Mainnet pairs are never displayed together, and only addresses for the active network appear on each row — no cross-network placeholders.
Adding a custom token
You can register any ERC-7984 token by address. ShadowLine validates it is genuinely confidential: it tries ERC-165 first, and falls back to a behavioral probe of confidentialBalanceOf()for tokens that don't implement ERC-165. A wrapper (one with an underlying()) gets Shield/Unshield actions; a decrypt-only confidential token gets its own per-row decrypt.
useListPairs gives you the live list inside a React app.