erc7730.model.context module

pydantic model erc7730.model.context.BindingContext[source]View on GitHub

Bases: Model

Fields:
field deployments: list[Deployment] [Required]

An array of deployments describing where the contract is deployed. The target contract (Tx to orfactory) MUST match one of those deployments.

pydantic model erc7730.model.context.Deployment[source]View on GitHub

Bases: Model

A deployment describing where the contract is deployed.

The target contract (Tx to or factory) MUST match one of those deployments.

Fields:
field address: Annotated[str, FieldInfo(annotation=NoneType, required=True, title='Contract Address', description='An Ethereum contract address.', metadata=[MinLen(min_length=0), MaxLen(max_length=64), _PydanticGeneralMetadata(pattern='^[a-zA-Z0-9_\\-]+$')])] [Required]

The deployment contract address.

Constraints:
  • min_length = 0

  • max_length = 64

  • pattern = ^[a-zA-Z0-9_-]+$

field chainId: int [Required]

The deployment EIP-155 chain id.

pydantic model erc7730.model.context.Domain[source]View on GitHub

Bases: Model

EIP 712 Domain Binding constraint.

Each value of the domain constraint MUST match the corresponding eip 712 message domain value.

Fields:
field chainId: int | None = None

The EIP-155 chain id.

field name: str | None = None

The EIP-712 domain name.

field verifyingContract: Annotated[str, FieldInfo(annotation=NoneType, required=True, title='Contract Address', description='An Ethereum contract address.', metadata=[MinLen(min_length=0), MaxLen(max_length=64), _PydanticGeneralMetadata(pattern='^[a-zA-Z0-9_\\-]+$')])] | None = None

The EIP-712 verifying contract address.

field version: str | None = None

The EIP-712 version.

pydantic model erc7730.model.context.EIP712Field[source]View on GitHub

Bases: Model

EIP-712 field, which is a tuple of a name and a type.

Fields:
field name: str [Required]

The EIP-712 field name.

field type: Annotated[str, FieldInfo(annotation=NoneType, required=True, title='EIP12 Type Identifier', description='An EIP-712 scalar or structured type identifier.')] [Required]

The EIP-712 field type identifier.

pydantic model erc7730.model.context.EIP712JsonSchema[source]View on GitHub

Bases: Model

EIP-712 message schema.

Fields:
field primaryType: Annotated[str, FieldInfo(annotation=NoneType, required=True, title='EIP12 Type Identifier', description='An EIP-712 scalar or structured type identifier.')] [Required]

The identifier of the schema primary type.

field types: dict[Annotated[str, FieldInfo(annotation=NoneType, required=True, title='EIP12 Type Identifier', description='An EIP-712 scalar or structured type identifier.')], list[EIP712Field]] [Required]

The schema types reachable from primary type.

pydantic model erc7730.model.context.EIP712Schema[source]View on GitHub

Bases: Model

EIP-712 message schema.

Fields:
field eip712Schema: Url | EIP712JsonSchema [Required]

The EIP-712 message schema.

pydantic model erc7730.model.context.Factory[source]View on GitHub

Bases: Model

A factory constraint is used to check whether the target contract is deployed by a specified factory.

Fields:
field deployEvent: str [Required]

The event signature that the factory emits when deploying a new contract.

field deployments: list[Deployment] [Required]

An array of deployments describing where the contract is deployed. The target contract (Tx to orfactory) MUST match one of those deployments.