Skip to content

Feature Request: Pydantic support for smart contracts #1741

@James4Ever0

Description

@James4Ever0

Overview

I am trying to let Brownie have a type safe interface for smart contracts.

I want to generate a Pydantic compatible interface for interacting with smart contracts, into a portable Python script, so people can use that script to get type hints while using IDE.

Brownie currently only compiles Solidity into JSON ABIs, no Python APIs generated.

Specification

I want to generate APIs via the contract ABIs. If possible, just parse the Solidity code and generate compatible API Python code.

It will first generate all used data structures for each contract, for passing into the contract methods.

Contracts are transformed into Python classes.

FInally these Python API code will be stored into a folder like structure, installable and callable from external Python code.

Dependencies

Pydantic: the data validator
Solidity parser: for parsing Solidity code and generate Python API code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions