from dataclasses import dataclass

from Transaction import Transaction

@dataclass
class Message:
    sender: str
    receiver: str

@dataclass
class TransactionMessage(Message):
    transaction: Transaction
    id: str
    deliverable: bool = False

@dataclass
class ProposedPriorityMessage(Message):
    transaction_ID: str
    proposed_priority: int

@dataclass
class AgreedPriorityMessage(Message):
    transaction_ID: str
    agreed_priority: int