Expand description
§Proxy Pattern Detection
Detects common Ethereum proxy patterns by analyzing bytecode, storage slots, and source code metadata.
§Supported Patterns
- EIP-1967 - Transparent Proxy (implementation slot:
0x360894...) - EIP-1822 - UUPS (Universal Upgradeable Proxy Standard)
- Transparent Proxy - OpenZeppelin TransparentUpgradeableProxy
- Beacon Proxy - EIP-1967 beacon slot
- Minimal Proxy (EIP-1167) - Clone factory pattern (bytecode detection)
- Diamond (EIP-2535) - Multi-facet proxy
§Detection Methods
- Etherscan metadata -
ProxyandImplementationfields from getsourcecode - Storage slot reads - Check well-known EIP-1967 slots
- Bytecode patterns - EIP-1167 minimal proxy prefix/suffix
Structs§
- Proxy
Info - Result of proxy pattern detection.
Constants§
- EIP1967_
ADMIN_ SLOT - Admin slot: bytes32(uint256(keccak256(‘eip1967.proxy.admin’)) - 1)
- EIP1967_
BEACON_ SLOT - Beacon slot: bytes32(uint256(keccak256(‘eip1967.proxy.beacon’)) - 1)
- EIP1967_
IMPL_ SLOT - Well-known EIP-1967 storage slots. Implementation slot: bytes32(uint256(keccak256(‘eip1967.proxy.implementation’)) - 1)
Functions§
- detect_
proxy - Detect proxy patterns using all available data sources.