metadata: {"type": "project", "title": "WhatsABI", "logoImg": "bafkreibk4kbdg3mzmqfk33vh6zlhmacwmsxp32w2y4z77eca4tinxm5lya", "website": "https://github.com/shazow/whatsabi", "bannerImg": "bafkreiciuvwguws3kw3k3fbwqzeyaildd7ux2fek6hac2pmhhtdz34ympa", "createdAt": 1692203008568, "userGithub": "shazow", "credentials": {}, "description": "Guess an ABI from an Ethereum contract address, even if it's unverified.\n\n\ud83c\udd95 Detect and resolve proxies! WhatsABI aspires to be the most comprehensive contract proxy resolver out there. Please open an issue if you find a proxy that fails to resolve.\n\nWhatsABI does bounded-complexity static analysis to disassemble EVM bytecode and map out the possible call flows, which allows us to discover function selectors and other metadata about the contract.\n\nWhatsABI is different from other EVM analysis tools in some important ways:\n\n- Built in Typescript with minimal dependencies, so that it is runnable in the browser and embeddable in wallets.\n- Algorithms used are limited to O(instructions) with a small constant factor, so that complex contracts don't cause it to time out or use unbounded memory.\n- Does not rely on source code, so it works with unverified contracts.\n- Does not assume the source language, so it can work for source languages other than Solidity (Vyper, or even hand-written assembly).\n- Permissive open source (MIT-licensed), so that anyone can use it.\n- \u2728 Resolves proxies!", "logoImgData": {}, "bannerImgData": {}}
name: WhatsABI