erc7730.model.input.context module

class erc7730.model.input.context.InputBindingContext(*, deployments: Annotated[list[InputDeployment], MinLen(min_length=1)])[source]View on GitHub

Bases: Model

deployments: list[InputDeployment]
model_config = {'allow_inf_nan': False, 'arbitrary_types_allowed': False, 'extra': 'forbid', 'frozen': True, 'strict': True, 'validate_assignment': True, 'validate_default': True, 'validate_return': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class erc7730.model.input.context.InputContract(*, deployments: Annotated[list[InputDeployment], MinLen(min_length=1)], abi: list[Annotated[Constructor | Event | Function | Fallback | Error | Receive, FieldInfo(annotation=NoneType, required=True, discriminator='type')]] | HttpUrl, addressMatcher: HttpUrl | None = None, factory: InputFactory | None = None)[source]View on GitHub

Bases: InputBindingContext

The contract binding context is a set constraints that are used to bind the ERC7730 file to a specific smart contract.

abi: list[Annotated[Constructor | Event | Function | Fallback | Error | Receive, FieldInfo(annotation=NoneType, required=True, discriminator='type')]] | HttpUrl
addressMatcher: HttpUrl | None
factory: InputFactory | None
model_config = {'allow_inf_nan': False, 'arbitrary_types_allowed': False, 'extra': 'forbid', 'frozen': True, 'strict': True, 'validate_assignment': True, 'validate_default': True, 'validate_return': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class erc7730.model.input.context.InputContractContext(*, id: ~typing.Annotated[str, FieldInfo(annotation=NoneType, required=True, title='Id', description='An internal identifier that can be used either for clarity specifying what the element is or as a reference in device specific sections.', examples=['some_identifier'], metadata=[MinLen(min_length=1)]), ~erc7730.common.pydantic.ErrorTypeLabel(func=~erc7730.common.pydantic.ErrorTypeLabel._validator.<locals>.validate, json_schema_input_type=PydanticUndefined)] | None = None, contract: ~erc7730.model.input.context.InputContract)[source]View on GitHub

Bases: Model

Contract Binding Context.

The contract binding context is a set constraints that are used to bind the ERC7730 file to a specific smart contract.

contract: InputContract
id: validate, json_schema_input_type=PydanticUndefined)] | None
model_config = {'allow_inf_nan': False, 'arbitrary_types_allowed': False, 'extra': 'forbid', 'frozen': True, 'strict': True, 'validate_assignment': True, 'validate_default': True, 'validate_return': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class erc7730.model.input.context.InputDeployment(*, chainId: int, address: ~typing.Annotated[str, ~annotated_types.MinLen(min_length=42), ~annotated_types.MaxLen(max_length=42), _PydanticGeneralMetadata(pattern='^0x[a-fA-F0-9]+$'), ~erc7730.common.pydantic.ErrorTypeLabel(func=~erc7730.common.pydantic.ErrorTypeLabel._validator.<locals>.validate, json_schema_input_type=PydanticUndefined)])[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.

address: validate, json_schema_input_type=PydanticUndefined)]
chainId: int
model_config = {'allow_inf_nan': False, 'arbitrary_types_allowed': False, 'extra': 'forbid', 'frozen': True, 'strict': True, 'validate_assignment': True, 'validate_default': True, 'validate_return': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class erc7730.model.input.context.InputDomain(*, name: str | None = None, version: str | None = None, chainId: int | None = None, verifyingContract: Annotated[str, FieldInfo(annotation=NoneType, required=True, title='Contract Address', description='An Ethereum contract address, can be lowercase or EIP-55.', metadata=[MinLen(min_length=42), MaxLen(max_length=42), _PydanticGeneralMetadata(pattern='^0x[a-fA-F0-9]+$')]), ~erc7730.common.pydantic.ErrorTypeLabel(func=~erc7730.common.pydantic.ErrorTypeLabel._validator.<locals>.validate, json_schema_input_type=PydanticUndefined)] | None = None)[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.

chainId: int | None
model_config = {'allow_inf_nan': False, 'arbitrary_types_allowed': False, 'extra': 'forbid', 'frozen': True, 'strict': True, 'validate_assignment': True, 'validate_default': True, 'validate_return': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

name: str | None
verifyingContract: validate, json_schema_input_type=PydanticUndefined)] | None
version: str | None
class erc7730.model.input.context.InputEIP712(*, deployments: Annotated[list[InputDeployment], MinLen(min_length=1)], domain: InputDomain | None = None, domainSeparator: str | None = None, schemas: list[EIP712Schema | HttpUrl])[source]View on GitHub

Bases: InputBindingContext

EIP 712 Binding.

The EIP-712 binding context is a set of constraints that must be verified by the message being signed.

domain: InputDomain | None
domainSeparator: str | None
model_config = {'allow_inf_nan': False, 'arbitrary_types_allowed': False, 'extra': 'forbid', 'frozen': True, 'strict': True, 'validate_assignment': True, 'validate_default': True, 'validate_return': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

schemas: list[EIP712Schema | HttpUrl]
class erc7730.model.input.context.InputEIP712Context(*, id: ~typing.Annotated[str, FieldInfo(annotation=NoneType, required=True, title='Id', description='An internal identifier that can be used either for clarity specifying what the element is or as a reference in device specific sections.', examples=['some_identifier'], metadata=[MinLen(min_length=1)]), ~erc7730.common.pydantic.ErrorTypeLabel(func=~erc7730.common.pydantic.ErrorTypeLabel._validator.<locals>.validate, json_schema_input_type=PydanticUndefined)] | None = None, eip712: ~erc7730.model.input.context.InputEIP712)[source]View on GitHub

Bases: Model

EIP 712 Binding.

The EIP-712 binding context is a set of constraints that must be verified by the message being signed.

eip712: InputEIP712
id: validate, json_schema_input_type=PydanticUndefined)] | None
model_config = {'allow_inf_nan': False, 'arbitrary_types_allowed': False, 'extra': 'forbid', 'frozen': True, 'strict': True, 'validate_assignment': True, 'validate_default': True, 'validate_return': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class erc7730.model.input.context.InputFactory(*, deployments: list[InputDeployment], deployEvent: str)[source]View on GitHub

Bases: Model

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

deployEvent: str
deployments: list[InputDeployment]
model_config = {'allow_inf_nan': False, 'arbitrary_types_allowed': False, 'extra': 'forbid', 'frozen': True, 'strict': True, 'validate_assignment': True, 'validate_default': True, 'validate_return': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].