ImplicitCoin
- class cometa.transaction_builder.balancing.implicit_coin.ImplicitCoin(withdrawals, deposits, reclaim_deposits)[source]
Bases:
objectRepresents the implicit coin values in a transaction.
Implicit coins are ADA values that are not explicitly present as inputs or outputs but affect the transaction balance. These include: - Withdrawals from reward accounts - Deposits for registrations (stake keys, pools, governance actions) - Reclaimed deposits from deregistrations
Example
>>> from cometa.transaction_builder.balancing import compute_implicit_coin >>> implicit = compute_implicit_coin(tx, protocol_params) >>> print(f"Withdrawals: {implicit.withdrawals}") >>> print(f"Deposits: {implicit.deposits}") >>> print(f"Reclaimed: {implicit.reclaim_deposits}")
- Parameters:
withdrawals (int)
deposits (int)
reclaim_deposits (int)
- withdrawals: int
The total amount of reward withdrawals in lovelace.
- deposits: int
The total amount of deposits required in lovelace.
- __eq__(other)
Return self==value.
- __hash__ = None
- __init__(withdrawals, deposits, reclaim_deposits)
- Parameters:
withdrawals (int)
deposits (int)
reclaim_deposits (int)
- Return type:
None
- __repr__()
Return repr(self).
- reclaim_deposits: int
The total amount of deposits being reclaimed in lovelace.
- property net_value: int
Calculate the net implicit coin value.
- Returns:
withdrawals + reclaim_deposits - deposits. Positive means the transaction gains ADA implicitly. Negative means the transaction loses ADA implicitly.
- Return type:
The net value
- cometa.transaction_builder.balancing.implicit_coin.compute_implicit_coin(transaction, protocol_params)[source]
Compute the implicit coin balance for a transaction.
This function calculates the implicit coin values that affect the transaction balance but are not represented as explicit inputs or outputs. These include reward withdrawals, deposit requirements, and deposit reclaims.
- Parameters:
transaction (Transaction) – The transaction to analyze.
protocol_params (ProtocolParameters) – The protocol parameters needed for deposit calculations.
- Returns:
An ImplicitCoin dataclass containing the computed values.
- Raises:
CardanoError – If the computation fails.
- Return type:
Example
>>> from cometa.transaction_builder.balancing import compute_implicit_coin >>> from cometa.protocol_params import ProtocolParameters >>> >>> # Assume tx is a transaction with withdrawals >>> implicit = compute_implicit_coin(tx, protocol_params) >>> print(f"Net implicit value: {implicit.net_value} lovelace")