Skip to main content

Panoramix

This is an EVM decompiler.

It's is a fork of the Panoramix repo by Palkeo (https://github.com/palkeo/panoramix) which is a fork of the original repo that's not maintained actively by its author anymore: https://github.com/eveem-org/panoramix.git

The goal of this fork is to maintain Panoramix in a decent shape, fix some crashes, implement missing opcodes... I also got rid of the "tilde" syntax that was using a custom python encoding and use vanilla Python instead. And I made it a proper python package that can be imported. There is also a better support of timeouts, as instead of stopping entirely we will fallback and print whatever we decompiled even if it's not complete.

The code quality is still not great and the software is complex, it's mostly reserved for advanced users.

Installation

$ pip install panoramix-decompiler-abi

Running

You will need to specify a web3 provider using the environment variable WEB3_PROVIDER_URI. In this case a local provider was set.

$ WEB3_PROVIDER_URI=http://localhost:7545 panoramix 0x0d94D81FD712126E7f320b5B10537D01d6a01563

The following options are available (--profile only with a single address)

$ panoramix [address|shortcut|address,address|bytecode] [func_name] [--abi] [--verbose] [--silent] [--profile]

# address example:
$ python3 -m panoramix 0x0d94D81FD712126E7f320b5B10537D01d6a01563 --abi --silent

# bytecode example:
$ python3 -m panoramix 6004600d60003960046000f30011223344 --abi --silent

Examples

I have decompiled all of mainnet, and make sure to decompile again on the latest Panoramix version from time to time.

You can access decompilations using Oko: https://oko.palkeo.com/

Here is an example for cryptokitties: https://oko.palkeo.com/0x06012c8cf97BEaD5deAe237070F9587f8E7A266d/code/

Metadata

Release files for panoramix-decompiler-abi 0.5.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for panoramix-decompiler-abi 0.5.2
File Interpreter ABI Platform
panoramix_decompiler_abi-0.5.2-py3-none-any.whl Python 3 none any Details

Release files / panoramix_decompiler_abi-0.5.2-py3-none-any.whl

Download URL panoramix_decompiler_abi-0.5.2-py3-none-any.whl
Size 16.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
cabdf5d3676c9234f1c8922397fbb641964166e2a9e683aedad8ab76f8fdf99d
BLAKE2b-256 checksum
How to use checksums
021a46013ca507368dedb9e9d51745aa2f9129477000460a7725538de7df6185
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.10

Release history Release notifications | RSS feed

This release

0.5.2 This release

1 release file

0.5.1

1 release file

0.5

1 release file

0.4

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page