erc7730.model.calldata.v1.descriptor module

Data model for Ledger specific calldata descriptor, version 1 (also referred to as “generic parser” descriptor).

class erc7730.model.calldata.v1.descriptor.CalldataDescriptorV1(*, type: ~typing.Literal['calldata'] = 'calldata', source: ~pydantic_string_url.HttpUrl | None = None, network: ~typing.Annotated[str, ~annotated_types.MinLen(min_length=1), ~erc7730.common.pydantic.ErrorTypeLabel(func=~erc7730.common.pydantic.ErrorTypeLabel._validator.<locals>.validate, json_schema_input_type=PydanticUndefined)], chain_id: ~typing.Annotated[int, ~annotated_types.Ge(ge=1)], address: ~typing.Annotated[str, ~annotated_types.MinLen(min_length=42), ~annotated_types.MaxLen(max_length=42), _PydanticGeneralMetadata(pattern='^0x[a-f0-9]+$'), ~pydantic.functional_validators.BeforeValidator(func=~erc7730.model.types.<lambda>, json_schema_input_type=PydanticUndefined), ~erc7730.common.pydantic.ErrorTypeLabel(func=~erc7730.common.pydantic.ErrorTypeLabel._validator.<locals>.validate, json_schema_input_type=PydanticUndefined)], selector: ~typing.Annotated[str, ~annotated_types.MinLen(min_length=10), ~annotated_types.MaxLen(max_length=10), _PydanticGeneralMetadata(pattern='^0x[a-z0-9]+$'), ~erc7730.common.pydantic.ErrorTypeLabel(func=~erc7730.common.pydantic.ErrorTypeLabel._validator.<locals>.validate, json_schema_input_type=PydanticUndefined)], version: ~typing.Literal['v1'] = 'v1', transaction_info: ~erc7730.model.calldata.v1.instruction.CalldataDescriptorInstructionTransactionInfoV1, enums: list[~erc7730.model.calldata.v1.instruction.CalldataDescriptorInstructionEnumValueV1], fields: list[~erc7730.model.calldata.v1.instruction.CalldataDescriptorInstructionFieldV1])[source]View on GitHub

Bases: CalldataDescriptorBase

A clear signing descriptor for a smart contract function calldata.

Also referred to as a “generic parser descriptor”.

enums: list[CalldataDescriptorInstructionEnumValueV1]
fields: list[CalldataDescriptorInstructionFieldV1]
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].

transaction_info: CalldataDescriptorInstructionTransactionInfoV1
version: Literal['v1']