Skip to content

packages.valory.skills.oracle_deployment_abci.behaviours

This module contains the data classes for the oracle deployment ABCI application.

OracleDeploymentBaseBehaviour Objects

class OracleDeploymentBaseBehaviour(BaseBehaviour)

Base behaviour for the common apps' skill.

synchronized_data

@property
def synchronized_data() -> SynchronizedData

Return the synchronized data.

params

@property
def params() -> Params

Return the synchronized data.

RandomnessOracleBehaviour Objects

class RandomnessOracleBehaviour(RandomnessBehaviour)

Retrieve randomness for oracle deployment.

SelectKeeperOracleBehaviour Objects

class SelectKeeperOracleBehaviour(SelectKeeperBehaviour)

Select the keeper agent.

DeployOracleBehaviour Objects

class DeployOracleBehaviour(OracleDeploymentBaseBehaviour)

Deploy oracle.

async_act

def async_act() -> Generator

Do the action.

Steps: - If the agent is the designated deployer, then prepare the deployment transaction and send it. - Otherwise, wait until the next round. - If a timeout is hit, set exit A event, otherwise set done event.

ValidateOracleBehaviour Objects

class ValidateOracleBehaviour(OracleDeploymentBaseBehaviour)

Validate oracle.

async_act

def async_act() -> Generator

Do the action.

Steps: - Validate that the contract address provided by the keeper points to a valid contract. - Send the transaction with the validation result and wait for it to be mined. - Wait until ABCI application transitions to the next round. - Go to the next behaviour (set done event).

has_correct_contract_been_deployed

def has_correct_contract_been_deployed() -> Generator[None, None, bool]

Contract deployment verification.

OracleDeploymentRoundBehaviour Objects

class OracleDeploymentRoundBehaviour(AbstractRoundBehaviour)

This behaviour manages the consensus stages for the oracle deployment.

Back to top