Skip to content

A Python script to scan EVM-based blockchains for smart contract upgrades

Notifications You must be signed in to change notification settings

webthethird/UpgradeScanner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UpgradeScanner

A Python script to scan EVM-based blockchains for smart contract upgrades

Uses a handcrafted dictionary of known upgradeable proxy addresses, with a name, implementation slot and list of implementation addresses for each. If a change is detected in the implementation slot, the new address value is added to the list and its source code is downloaded from Etherscan for diffing.

To use the scanner, you will need to:

  • Install Foundry
  • Get free API keys from Etherscan (and its sister sites for other chains) and Infura (or another RPC node provider)
  • Copy example.env, rename it to .env, and add your API keys where indicated
    • If you use a different node provider, you will also need to replace the Infura URL
    • Infura does not support BSC, so I used Quicknode for a BSC RPC node

If you find this script useful leave a star, and if you add more proxy addresses to the dictionary or make any improvements to the code, please open a PR.

About

A Python script to scan EVM-based blockchains for smart contract upgrades

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published