Skip to content


This module contains the data classes for the price estimation ABCI application.

Event Objects

class Event(Enum)

Event enumeration for the price estimation demo.

SynchronizedData Objects

class SynchronizedData(BaseSynchronizedData)

Class to represent the synchronized data.

This data is replicated by the tendermint application.


def set_aggregator_method(aggregator_method: str) -> None

Set aggregator method.


def safe_contract_address() -> str

Get the safe contract address.


def oracle_contract_address() -> str

Get the oracle contract address.


def estimate() -> float

Get the estimate.


def most_voted_estimate() -> float

Get the most_voted_estimate.


def most_voted_tx_hash() -> float

Get the most_voted_tx_hash.


def participant_to_observations() -> Dict

Get the participant_to_observations.


def participant_to_estimate() -> Dict

Get the participant_to_estimate.

CollectObservationRound Objects

class CollectObservationRound(CollectDifferentUntilThresholdRound)

A round in which agents collect observations

EstimateConsensusRound Objects

class EstimateConsensusRound(CollectSameUntilThresholdRound)

A round in which agents reach consensus on an estimate

TxHashRound Objects

class TxHashRound(CollectSameUntilThresholdRound)

A round in which agents compute the transaction hash

FinishedPriceAggregationRound Objects

class FinishedPriceAggregationRound(DegenerateRound)

A round that represents price aggregation has finished

PriceAggregationAbciApp Objects

class PriceAggregationAbciApp(AbciApp[Event])


Initial round: CollectObservationRound

Initial states: {CollectObservationRound}

Transition states: 0. CollectObservationRound - done: 1. - round timeout: 0. - no majority: 0. 1. EstimateConsensusRound - done: 2. - none: 0. - round timeout: 0. - no majority: 0. 2. TxHashRound - done: 3. - none: 0. - round timeout: 0. - no majority: 0. 3. FinishedPriceAggregationRound

Final states: {FinishedPriceAggregationRound}

Timeouts: round timeout: 30.0

Back to top