package tezos-protocol-012-Psithaca

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type balance =
  1. | Contract of Contract_repr.t
  2. | Legacy_rewards of Tezos_crypto.Signature.public_key_hash * Cycle_repr.t
  3. | Block_fees
  4. | Legacy_deposits of Tezos_crypto.Signature.public_key_hash * Cycle_repr.t
  5. | Deposits of Tezos_crypto.Signature.public_key_hash
  6. | Nonce_revelation_rewards
  7. | Double_signing_evidence_rewards
  8. | Endorsing_rewards
  9. | Baking_rewards
  10. | Baking_bonuses
  11. | Legacy_fees of Tezos_crypto.Signature.public_key_hash * Cycle_repr.t
  12. | Storage_fees
  13. | Double_signing_punishments
  14. | Lost_endorsing_rewards of Tezos_crypto.Signature.public_key_hash * bool * bool
  15. | Liquidity_baking_subsidies
  16. | Burned
  17. | Commitments of Blinded_public_key_hash.t
  18. | Bootstrap
  19. | Invoice
  20. | Initial_commitments
  21. | Minted

Places where tez can be found in the ledger's state.

val compare_balance : balance -> balance -> int

Compares two balances.

type balance_update =
  1. | Debited of Tez_repr.t
  2. | Credited of Tez_repr.t

A credit or debit of tez to a balance.

type update_origin =
  1. | Block_application
    (*

    Update from a block application

    *)
  2. | Protocol_migration
    (*

    Update from a protocol migration

    *)
  3. | Subsidy
    (*

    Update from an inflationary subsidy

    *)
  4. | Simulation
    (*

    Simulation of an operation *

    *)

An origin of a balance update

val compare_update_origin : update_origin -> update_origin -> int

Compares two origins.

type balance_updates = (balance * balance_update * update_origin) list

A list of balance updates. Duplicates may happen. For example, an entry of the form (Rewards (b,c), Credited am, ...) indicates that the balance of frozen rewards has been increased by am for baker b and cycle c.

val balance_updates_encoding : balance_updates Data_encoding.t

The property Json.destruct (Json.construct balance_updates) = balance_updates does not always hold for balance_updates_encoding when balance_updates contains entries of the form (_, _ Tez_repr.zero, _). This is because the balance_update (_ Tez_repr.zero) always decodes into (Credited Tez_repr.zero).

val group_balance_updates : balance_updates -> (balance_updates, Tezos_protocol_environment_012_Psithaca__Environment.Error_monad.error Tezos_protocol_environment_012_Psithaca__Environment.Error_monad.trace) result

Group updates by (balance x origin), and remove zero-valued balances.

OCaml

Innovation. Community. Security.