def METHOD_NAME(
    cls,
    obj: BasePendingMessage,
    reception_time: dt.datetime,
    tx_hash: Optional[str] = None,
    check_message: bool = True,
    fetched: bool = False,
) -> "PendingMessageDb":
    return cls(
        item_hash=obj.item_hash,
        type=obj.type,
        chain=obj.chain,
        sender=obj.sender,
        signature=obj.signature,
        item_type=obj.item_type,
        item_content=obj.item_content,
        time=obj.time,
        channel=Channel(obj.channel) if obj.channel is not None else None,
        check_message=check_message,
        next_attempt=_default_first_attempt_datetime(obj.time),
        retries=0,
        tx_hash=tx_hash,
        reception_time=reception_time,
        fetched=fetched,
    )