Skip to main content

A human-readable ABI parser for Ethereum smart contracts

Project description

Ethereum ABI Parser Utility

Summary

This package provides a way to parse Human Readable ABI introduced by ethers.js to the Python world. It's still pretty much a WIP. The goal is to be fully compatible with ethers.js and ethers-rs.

$ pip install human-abi
from eth_abi_parser import HumanReadableParser

parser = HumanReadableParser('event TestEvent(uint indexed id, (string, uint16, (uint8, uint8)) value)')
print(parser.take_event())
# {'type': 'event', 'name': 'TestEvent', 'anonymous': False, 'inputs': [{'type': 'uint', 'name': 'id', 'indexed': True}, {'type': 'tuple', 'name': 'value', 'indexed': False, 'components': [{'type': 'string'}, {'type': 'uint16'}, {'type': 'tuple', 'components': [{'type': 'uint8'}, {'type': 'uint8'}]}]}]}

WIP

This library is still a work-in-progress. Features are being implemented as needed. But if you find it lacks what you need, feel free to submit a pull request!

LICENSE

Apache License 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eth_abi_parser-0.1.2.tar.gz (2.6 kB view hashes)

Uploaded Source

Built Distribution

eth_abi_parser-0.1.2-py3-none-any.whl (3.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page