Skip to content


This module contains the data classes for the safe 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.

RandomnessSafeRound Objects

class RandomnessSafeRound(CollectSameUntilThresholdRound)

A round for generating randomness

SelectKeeperSafeRound Objects

class SelectKeeperSafeRound(CollectSameUntilThresholdRound)

A round in a which keeper is selected

DeploySafeRound Objects

class DeploySafeRound(OnlyKeeperSendsRound)

A round in a which the safe is deployed

ValidateSafeRound Objects

class ValidateSafeRound(VotingRound)

A round in a which the safe address is validated

FinishedSafeRound Objects

class FinishedSafeRound(DegenerateRound)

A round that represents that the safe has been deployed

SafeDeploymentAbciApp Objects

class SafeDeploymentAbciApp(AbciApp[Event])


Initial round: RandomnessSafeRound

Initial states: {RandomnessSafeRound}

Transition states: 0. RandomnessSafeRound - done: 1. - round timeout: 0. - no majority: 0. 1. SelectKeeperSafeRound - done: 2. - round timeout: 0. - no majority: 0. 2. DeploySafeRound - done: 3. - deploy timeout: 1. - failed: 1. 3. ValidateSafeRound - done: 4. - negative: 0. - none: 0. - validate timeout: 0. - no majority: 0. 4. FinishedSafeRound

Final states: {FinishedSafeRound}

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

Back to top