keeper

package
v2.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 13, 2022 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewMsgServerImpl

func NewMsgServerImpl(keeper Keeper) types.MsgServer

NewMsgServerImpl returns an implementation of the oracle MsgServer interface for the provided Keeper.

func NewQuerier

func NewQuerier(keeper Keeper) types.QueryServer

NewQuerier returns an implementation of the oracle QueryServer interface for the provided Keeper.

Types

type Hooks

type Hooks struct {
	// contains filtered or unexported fields
}

Hooks defines a structure around the x/oracle Keeper that implements various Hooks interface defined by other modules such as x/leverage.

func (Hooks) AfterRegisteredTokenRemoved

func (h Hooks) AfterRegisteredTokenRemoved(ctx sdk.Context, token leveragetypes.Token)

AfterRegisteredTokenRemoved implements the x/leverage Hooks interface. Currently, it performs a no-op, however, we may want to remove tokens from the accept list in the future when they're removed from the x/leverage Token registry.

We don't remove the token from the accept list because it might prove to be useful to still have price data for assets outside of the scope of the x/leverage registry. If assets need to be removed, they can always be purged via param change proposals.

func (Hooks) AfterTokenRegistered

func (h Hooks) AfterTokenRegistered(ctx sdk.Context, token leveragetypes.Token)

AfterTokenRegistered implements the x/leverage Hooks interface. Specifically, it checks if the provided Token should be added to the existing accepted list of assets for the x/oracle module.

type IterateExchangeRateVote

type IterateExchangeRateVote = func(
	voterAddr sdk.ValAddress,
	aggregateVote types.AggregateExchangeRateVote,
) (stop bool)

type IterateFeederDelegationHandler

type IterateFeederDelegationHandler func(delegator sdk.ValAddress, delegate sdk.AccAddress) (stop bool)

type Keeper

type Keeper struct {
	StakingKeeper types.StakingKeeper
	// contains filtered or unexported fields
}

Keeper of the oracle store

func NewKeeper

func NewKeeper(
	cdc codec.BinaryCodec,
	storeKey sdk.StoreKey,
	paramspace paramstypes.Subspace,
	accountKeeper types.AccountKeeper,
	bankKeeper types.BankKeeper,
	distrKeeper types.DistributionKeeper,
	stakingKeeper types.StakingKeeper,
	distrName string,
) Keeper

NewKeeper constructs a new keeper for oracle

func (Keeper) AcceptList

func (k Keeper) AcceptList(ctx sdk.Context) (res types.DenomList)

AcceptList returns the denom list that can be activated

func (Keeper) ClearBallots

func (k Keeper) ClearBallots(ctx sdk.Context, votePeriod uint64)

ClearBallots clears all tallied prevotes and votes from the store.

func (Keeper) DeleteAggregateExchangeRatePrevote

func (k Keeper) DeleteAggregateExchangeRatePrevote(ctx sdk.Context, voter sdk.ValAddress)

DeleteAggregateExchangeRatePrevote deletes an oracle prevote from the store.

func (Keeper) DeleteAggregateExchangeRateVote

func (k Keeper) DeleteAggregateExchangeRateVote(ctx sdk.Context, voter sdk.ValAddress)

DeleteAggregateExchangeRateVote deletes an oracle prevote from the store.

func (Keeper) DeleteExchangeRate

func (k Keeper) DeleteExchangeRate(ctx sdk.Context, denom string)

DeleteExchangeRate deletes the consensus exchange rate of USD denominated in the denom asset from the store.

func (Keeper) DeleteMissCounter

func (k Keeper) DeleteMissCounter(ctx sdk.Context, operator sdk.ValAddress)

DeleteMissCounter removes miss counter for the validator.

func (Keeper) GetAggregateExchangeRatePrevote

func (k Keeper) GetAggregateExchangeRatePrevote(
	ctx sdk.Context,
	voter sdk.ValAddress,
) (types.AggregateExchangeRatePrevote, error)

GetAggregateExchangeRatePrevote retrieves an oracle prevote from the store.

func (Keeper) GetAggregateExchangeRateVote

func (k Keeper) GetAggregateExchangeRateVote(
	ctx sdk.Context,
	voter sdk.ValAddress,
) (types.AggregateExchangeRateVote, error)

GetAggregateExchangeRateVote retrieves an oracle prevote from the store.

func (Keeper) GetExchangeRate

func (k Keeper) GetExchangeRate(ctx sdk.Context, symbol string) (sdk.Dec, error)

GetExchangeRate gets the consensus exchange rate of USD denominated in the denom asset from the store.

func (Keeper) GetExchangeRateBase

func (k Keeper) GetExchangeRateBase(ctx sdk.Context, denom string) (sdk.Dec, error)

GetExchangeRateBase gets the consensus exchange rate of an asset in the base denom (e.g. ATOM -> uatom)

func (Keeper) GetFeederDelegation

func (k Keeper) GetFeederDelegation(ctx sdk.Context, operator sdk.ValAddress) (sdk.AccAddress, error)

GetFeederDelegation gets the account address to which the validator operator delegated oracle vote rights.

func (Keeper) GetMissCounter

func (k Keeper) GetMissCounter(ctx sdk.Context, operator sdk.ValAddress) uint64

GetMissCounter retrieves the # of vote periods missed in this oracle slash window.

func (Keeper) GetOracleAccount

func (k Keeper) GetOracleAccount(ctx sdk.Context) authtypes.ModuleAccountI

GetOracleAccount returns oracle ModuleAccount.

func (Keeper) GetParams

func (k Keeper) GetParams(ctx sdk.Context) (params types.Params)

GetParams returns the total set of oracle parameters.

func (Keeper) GetRewardPool

func (k Keeper) GetRewardPool(ctx sdk.Context, denom string) sdk.Coin

GetRewardPool retrieves the balance of the oracle module account.

func (Keeper) HasAggregateExchangeRatePrevote

func (k Keeper) HasAggregateExchangeRatePrevote(
	ctx sdk.Context,
	voter sdk.ValAddress,
) bool

HasAggregateExchangeRatePrevote checks if a validator has an existing prevote.

func (Keeper) Hooks

func (k Keeper) Hooks() Hooks

Hooks returns a new Hooks instance that wraps the x/oracle keeper.

func (Keeper) IterateAggregateExchangeRatePrevotes

func (k Keeper) IterateAggregateExchangeRatePrevotes(
	ctx sdk.Context,
	handler func(sdk.ValAddress, types.AggregateExchangeRatePrevote) bool,
)

IterateAggregateExchangeRatePrevotes iterates rate over prevotes in the store

func (Keeper) IterateAggregateExchangeRateVotes

func (k Keeper) IterateAggregateExchangeRateVotes(
	ctx sdk.Context,
	handler IterateExchangeRateVote,
)

IterateAggregateExchangeRateVotes iterates rate over prevotes in the store.

func (Keeper) IterateExchangeRates

func (k Keeper) IterateExchangeRates(ctx sdk.Context, handler func(string, sdk.Dec) bool)

IterateExchangeRates iterates over USD rates in the store.

func (Keeper) IterateFeederDelegations

func (k Keeper) IterateFeederDelegations(ctx sdk.Context, handler IterateFeederDelegationHandler)

IterateFeederDelegations iterates over the feed delegates and performs a callback function.

func (Keeper) IterateMissCounters

func (k Keeper) IterateMissCounters(ctx sdk.Context, handler func(sdk.ValAddress, uint64) bool)

IterateMissCounters iterates over the miss counters and performs a callback function.

func (Keeper) Logger

func (k Keeper) Logger(ctx sdk.Context) log.Logger

Logger returns a module-specific logger.

func (Keeper) MinValidPerWindow

func (k Keeper) MinValidPerWindow(ctx sdk.Context) (res sdk.Dec)

MinValidPerWindow returns oracle slashing threshold

func (Keeper) OrganizeBallotByDenom

func (k Keeper) OrganizeBallotByDenom(
	ctx sdk.Context,
	validatorClaimMap map[string]types.Claim,
) (votes map[string]types.ExchangeRateBallot)

OrganizeBallotByDenom collects all oracle votes for the current vote period, categorized by the votes' denom parameter.

func (Keeper) RewardBallotWinners

func (k Keeper) RewardBallotWinners(
	ctx sdk.Context,
	votePeriod int64,
	rewardDistributionWindow int64,
	voteTargets []string,
	ballotWinners map[string]types.Claim,
)

RewardBallotWinners is executed at the end of every voting period, where we give out a portion of seigniorage reward(reward-weight) to the oracle voters that voted correctly.

func (Keeper) RewardBand

func (k Keeper) RewardBand(ctx sdk.Context) (res sdk.Dec)

RewardBand returns the ratio of allowable exchange rate error that a validator can be rewarded.

func (Keeper) RewardDistributionWindow

func (k Keeper) RewardDistributionWindow(ctx sdk.Context) (res uint64)

RewardDistributionWindow returns the number of vote periods during which seigniorage reward comes in and then is distributed.

func (Keeper) SetAcceptList

func (k Keeper) SetAcceptList(ctx sdk.Context, acceptList types.DenomList)

SetAcceptList updates the accepted list of assets supported by the x/oracle module.

func (Keeper) SetAggregateExchangeRatePrevote

func (k Keeper) SetAggregateExchangeRatePrevote(
	ctx sdk.Context,
	voter sdk.ValAddress,
	prevote types.AggregateExchangeRatePrevote,
)

SetAggregateExchangeRatePrevote set an oracle aggregate prevote to the store.

func (Keeper) SetAggregateExchangeRateVote

func (k Keeper) SetAggregateExchangeRateVote(
	ctx sdk.Context,
	voter sdk.ValAddress,
	vote types.AggregateExchangeRateVote,
)

SetAggregateExchangeRateVote adds an oracle aggregate prevote to the store.

func (Keeper) SetExchangeRate

func (k Keeper) SetExchangeRate(ctx sdk.Context, denom string, exchangeRate sdk.Dec)

SetExchangeRate sets the consensus exchange rate of USD denominated in the denom asset to the store.

func (Keeper) SetExchangeRateWithEvent

func (k Keeper) SetExchangeRateWithEvent(ctx sdk.Context, denom string, exchangeRate sdk.Dec)

SetExchangeRateWithEvent sets an consensus exchange rate to the store with ABCI event

func (Keeper) SetFeederDelegation

func (k Keeper) SetFeederDelegation(ctx sdk.Context, operator sdk.ValAddress, delegatedFeeder sdk.AccAddress)

SetFeederDelegation sets the account address to which the validator operator delegated oracle vote rights.

func (Keeper) SetMissCounter

func (k Keeper) SetMissCounter(ctx sdk.Context, operator sdk.ValAddress, missCounter uint64)

SetMissCounter updates the # of vote periods missed in this oracle slash window.

func (Keeper) SetParams

func (k Keeper) SetParams(ctx sdk.Context, params types.Params)

SetParams sets the total set of oracle parameters.

func (Keeper) SlashAndResetMissCounters

func (k Keeper) SlashAndResetMissCounters(ctx sdk.Context)

SlashAndResetMissCounters iterates over all the current missed counters and calculates the "valid vote rate" as: (votePeriodsPerWindow - missCounter)/votePeriodsPerWindow.

If the valid vote rate is below the minValidPerWindow, the validator will be slashed and jailed.

func (Keeper) SlashFraction

func (k Keeper) SlashFraction(ctx sdk.Context) (res sdk.Dec)

SlashFraction returns oracle voting penalty rate

func (Keeper) SlashWindow

func (k Keeper) SlashWindow(ctx sdk.Context) (res uint64)

SlashWindow returns # of vote period for oracle slashing

func (Keeper) ValidateFeeder

func (k Keeper) ValidateFeeder(ctx sdk.Context, feederAddr sdk.AccAddress, valAddr sdk.ValAddress) error

ValidateFeeder returns the given feeder is allowed to feed the message or not.

func (Keeper) VotePeriod

func (k Keeper) VotePeriod(ctx sdk.Context) (res uint64)

VotePeriod returns the number of blocks during which voting takes place.

func (Keeper) VoteThreshold

func (k Keeper) VoteThreshold(ctx sdk.Context) (res sdk.Dec)

VoteThreshold returns the minimum percentage of votes that must be received for a ballot to pass.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL