35 lines
1.0 KiB
Python
Raw Normal View History

2025-10-20 15:42:12 +02:00
from typing import List, Self
from core.models import NbeSchema
2025-10-30 11:48:34 +01:00
from core.types import HexBytes
from models.aliases import Gas
from models.transactions.notes import Note
from models.transactions.operations.operation import Operation
from models.transactions.transaction import Transaction
2025-10-20 15:42:12 +02:00
class TransactionRead(NbeSchema):
id: int
block_id: int
2025-10-30 11:48:34 +01:00
hash: HexBytes
operations: List[Operation]
inputs: List[HexBytes]
outputs: List[Note]
proof: HexBytes
2025-10-20 15:42:12 +02:00
execution_gas_price: Gas
storage_gas_price: Gas
@classmethod
def from_transaction(cls, transaction: Transaction) -> Self:
return cls(
id=transaction.id,
2025-10-30 11:48:34 +01:00
block_id=transaction.block.id,
hash=transaction.hash,
2025-10-20 15:42:12 +02:00
operations=transaction.operations,
2025-10-30 11:48:34 +01:00
inputs=transaction.inputs,
outputs=transaction.outputs,
proof=transaction.proof,
2025-10-20 15:42:12 +02:00
execution_gas_price=transaction.execution_gas_price,
storage_gas_price=transaction.storage_gas_price,
)