Skip to main content

abi2solc

Pypi Status Build Status Coverage Status

A library for generating Solidity interfaces from ABIs.

Installation

You can install the latest release via pip:

$ pip install abi2solc

Or clone the repo and use setuptools for the most up-to-date version:

$ python setup.py install

Usage

>>> import abi2solc

>>> abi = [{'constant': False, 'inputs': [{'name': 'spender', 'type': 'address'}, ...
>>> interface = abi2solc.generate_interface(abi, "TestInterface")

>>> print(interface)
'''pragma solidity ^0.5.0;

interface ExampleInterface {
     event Approval (address indexed tokenOwner, address indexed spender, uint256 tokens);
     event Transfer (address indexed from, address indexed to, uint256 tokens);

     function approve (address spender, uint256 tokens) external returns (bool success);
     function transfer (address to, uint256 tokens) external returns (bool success);
     function transferFrom (address from, address to, uint256 tokens) external returns (bool success);
     function allowance (address tokenOwner, address spender) external view returns (uint256 remaining);
     function balanceOf (address tokenOwner) external view returns (uint256 balance);
     function totalSupply () external view returns (uint256);
}'''

Supported Versions

  • By default, abi2solc generates interfaces with pragma ^0.5.0
  • With the solc4=True kwarg, interfaces are generated with pragma ^0.4.17
  • If solc4=True and the ABI also contains tuple types, an abstract base contract is generated with pragma ^0.4.22

Tests

To run the test suite:

$ tox

Tests make use of py-solc-x.

Development

This project is still under active development and should be considered a beta. Comments, questions, criticisms and pull requests are welcomed! Feel free to open an issue if you encounter a problem or would like to suggest a new feature.

License

This project is licensed under the MIT license.

Release files for abi2solc 0.1.0

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

Source distribution (sdist)

Source distribution for abi2solc 0.1.0
File Size Uploaded
abi2solc-0.1.0.tar.gz 4.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for abi2solc 0.1.0
File Interpreter ABI Platform
abi2solc-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 8.9 kB

Release files / abi2solc-0.1.0.tar.gz

Download URL abi2solc-0.1.0.tar.gz
Size 4.1 kB
Tags Source
SHA-256 checksum
How to use checksums
0a7a214b4ab645fb69e5a570feda9ccbb2d69793ed510c147b3846ee97014caf
BLAKE2b-256 checksum
How to use checksums
cd582e3e69384b776f6756a7efa313ebe7b15dc7633e480d12cea582fc63a7ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.8

Release files / abi2solc-0.1.0-py3-none-any.whl

Download URL abi2solc-0.1.0-py3-none-any.whl
Size 4.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
61ab3975e6b5247a8a069b04a645c2e43ab985f4cd062b7726654ea87a3eed68
BLAKE2b-256 checksum
How to use checksums
092cc941d6311ae79373ce911ed24c9d4efb49537494f0220db2a139ad5fd439
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.8

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

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