"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import asset_pb2
import builtins
import google.protobuf.descriptor
import google.protobuf.message
import sys

if sys.version_info >= (3, 8):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing_extensions.final
class failed_recurrent_transfer(google.protobuf.message.Message):
    """Related to recurrent_transfer_operation.
    Generated during block processing instead of fill_recurrent_transfer_operation when there is not enought funds on from account.
    Note: failed transfers are not automatically repeated.
    Note: if too many consecutive transfers fail, whole recurrent transfer operation is discontinued.
    @see fill_recurrent_transfer
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FROM_ACCOUNT_FIELD_NUMBER: builtins.int
    TO_ACCOUNT_FIELD_NUMBER: builtins.int
    AMOUNT_FIELD_NUMBER: builtins.int
    MEMO_FIELD_NUMBER: builtins.int
    CONSECUTIVE_FAILURES_FIELD_NUMBER: builtins.int
    REMAINING_EXECUTIONS_FIELD_NUMBER: builtins.int
    DELETED_FIELD_NUMBER: builtins.int
    from_account: builtins.str
    """@param {string} from_account - user that initiated the transfer (source of amount that has not enough balance to cover it)"""
    to_account: builtins.str
    """@param {string} to_account - user that is target of transfer (would be receiver of amount, but no transfer actually happened)"""
    @property
    def amount(self) -> asset_pb2.asset:
        """@param {asset} amount - (HIVE of HBD) amount that was scheduled for transferred in current iteration but failed"""
    memo: builtins.str
    """@param {string} memo - memo attached to the transfer"""
    consecutive_failures: builtins.int
    """ @param {number} consecutive_failures - number of failed iterations"""
    remaining_executions: builtins.int
    """ @param {number} remaining_executions - number of remaining pending transfers"""
    deleted: builtins.bool
    """ @param {bool} deleted - true if whole recurrent transfer was discontinued due to too many consecutive failures"""
    def __init__(
        self,
        *,
        from_account: builtins.str | None = ...,
        to_account: builtins.str | None = ...,
        amount: asset_pb2.asset | None = ...,
        memo: builtins.str | None = ...,
        consecutive_failures: builtins.int | None = ...,
        remaining_executions: builtins.int | None = ...,
        deleted: builtins.bool | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["amount", b"amount", "consecutive_failures", b"consecutive_failures", "deleted", b"deleted", "from_account", b"from_account", "memo", b"memo", "remaining_executions", b"remaining_executions", "to_account", b"to_account"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["amount", b"amount", "consecutive_failures", b"consecutive_failures", "deleted", b"deleted", "from_account", b"from_account", "memo", b"memo", "remaining_executions", b"remaining_executions", "to_account", b"to_account"]) -> None: ...

global___failed_recurrent_transfer = failed_recurrent_transfer
