Message classes for typed structured data hashing and signing in Ethereum. See EIP-712 for details.
- python3 version 3.7.2 or greater, python3-dev
You can install the latest release via pip
:
pip install eip712
You can clone the repository and use setuptools
for the most up-to-date version:
git clone https://github.com/ApeWorX/eip712.git
cd eip712
python3 setup.py install
Define EIP-712 models:
from eip712.messages import EIP712Message, EIP712Type
class Person(EIP712Type):
name: "string"
wallet: "address"
class Mail(EIP712Message):
_chainId_: "uint256" = 1
_name_: "string" = "Ether Mail"
_verifyingContract_: "address" = "0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC"
_version_: "string" = "1"
sender: Person
receiver: Person