Skip to content


This module contains the data classes for the oracle deployment 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 safe_contract_address() -> str

Get the safe contract address.


def oracle_contract_address() -> str

Get the oracle contract address.

RandomnessOracleRound Objects

class RandomnessOracleRound(CollectSameUntilThresholdRound)

A round for generating randomness

SelectKeeperOracleRound Objects

class SelectKeeperOracleRound(CollectSameUntilThresholdRound)

A round in a which keeper is selected

DeployOracleRound Objects

class DeployOracleRound(OnlyKeeperSendsRound)

A round in a which the oracle is deployed

ValidateOracleRound Objects

class ValidateOracleRound(VotingRound)

A round in a which the oracle address is validated

FinishedOracleRound Objects

class FinishedOracleRound(DegenerateRound)

A round that represents that the oracle has been deployed

OracleDeploymentAbciApp Objects

class OracleDeploymentAbciApp(AbciApp[Event])


Initial round: RandomnessOracleRound

Initial states: {RandomnessOracleRound}

Transition states: 0. RandomnessOracleRound - done: 1. - round timeout: 0. - no majority: 0. 1. SelectKeeperOracleRound - done: 2. - round timeout: 0. - no majority: 0. 2. DeployOracleRound - done: 3. - deploy timeout: 1. - failed: 1. 3. ValidateOracleRound - done: 4. - negative: 0. - none: 0. - validate timeout: 0. - no majority: 0. 4. FinishedOracleRound

Final states: {FinishedOracleRound}

Timeouts: round timeout: 30.0 validate timeout: 30.0 deploy timeout: 30.0

Back to top