2025-10-30 11:48:34 +01:00

35 lines
1.0 KiB
Python

from typing import List, Self
from core.models import NbeSchema
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
class TransactionRead(NbeSchema):
id: int
block_id: int
hash: HexBytes
operations: List[Operation]
inputs: List[HexBytes]
outputs: List[Note]
proof: HexBytes
execution_gas_price: Gas
storage_gas_price: Gas
@classmethod
def from_transaction(cls, transaction: Transaction) -> Self:
return cls(
id=transaction.id,
block_id=transaction.block.id,
hash=transaction.hash,
operations=transaction.operations,
inputs=transaction.inputs,
outputs=transaction.outputs,
proof=transaction.proof,
execution_gas_price=transaction.execution_gas_price,
storage_gas_price=transaction.storage_gas_price,
)