keeper

package
v0.4.0-release-RC Latest Latest
Warning

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

Go to latest
Published: Sep 3, 2024 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const RESERVED_BLOCK = 0

Variables

This section is empty.

Functions

func AllInvariants added in v0.2.12

func AllInvariants(k Keeper) sdk.Invariant

AllInvariants is a convience function to run all invariants in the emissions module.

func GetLowScoreFromAllForecasts added in v0.3.0

func GetLowScoreFromAllForecasts(
	ctx context.Context,
	k *Keeper,
	topicId TopicId,
	forecasts types.Forecasts,
) (lowScore types.Score, lowScoreIndex int, err error)

Return low score and index among all forecasts

func GetLowScoreFromAllInferences added in v0.3.0

func GetLowScoreFromAllInferences(
	ctx context.Context,
	k *Keeper,
	topicId TopicId,
	inferences types.Inferences,
) (lowScore types.Score, lowScoreIndex int, err error)

Return low score and index among all inferences

func GetLowScoreFromAllLossBundles added in v0.3.0

func GetLowScoreFromAllLossBundles(
	ctx context.Context,
	k *Keeper,
	topicId TopicId,
	lossBundles types.ReputerValueBundles,
) (lowScore types.Score, lowScoreIndex int, err error)

Return low score and index among all inferences

func NewDoublePrefixedQuadrupleRange added in v0.2.8

func NewDoublePrefixedQuadrupleRange[K1, K2, K3, K4 any](k1 K1, k2 K2) collections.Ranger[Quadruple[K1, K2, K3, K4]]

NewDoublePrefixedQuadrupleRange provides a Range for all keys prefixed with the given first and second parts of the Quadruple key.

func NewSinglePrefixUntilQuadrupleRange added in v0.2.8

func NewSinglePrefixUntilQuadrupleRange[K1, K2, K3, K4 any](k1 K1) collections.Ranger[Quadruple[K1, K2, K3, K4]]

NewSinglePrefixUntilQuadrupleRange defines a collection query which ranges until the provided Pair prefix. Unstable: this API might change in the future.

func NewSinglePrefixedQuadrupleRange added in v0.2.8

func NewSinglePrefixedQuadrupleRange[K1, K2, K3, K4 any](k1 K1) collections.Ranger[Quadruple[K1, K2, K3, K4]]

NewSinglePrefixedQuadrupleRange provides a Range for all keys prefixed with the given first part of the Quadruple key.

func NewTriplePrefixedQuadrupleRange added in v0.2.8

func NewTriplePrefixedQuadrupleRange[K1, K2, K3, K4 any](k1 K1, k2 K2, k3 K3) collections.Ranger[Quadruple[K1, K2, K3, K4]]

NewTriplePrefixedQuadrupleRange provides a Range for all keys prefixed with the given first, second, and third parts of the Quadruple key.

func QuadrupleKeyCodec added in v0.2.8

func QuadrupleKeyCodec[K1, K2, K3, K4 any](
	keyCodec1 codec.KeyCodec[K1],
	keyCodec2 codec.KeyCodec[K2],
	keyCodec3 codec.KeyCodec[K3],
	keyCodec4 codec.KeyCodec[K4],
) codec.KeyCodec[Quadruple[K1, K2, K3, K4]]

QuadrupleKeyCodec instantiates a new KeyCodec instance that can encode the Quadruple, given the KeyCodecs of the three parts of the key, in order.

func RegisterInvariants added in v0.2.12

func RegisterInvariants(ir sdk.InvariantRegistry, k *Keeper)

RegisterInvariants registers the emissions module invariants.

func StakingInvariantDelegatedStakes added in v0.2.12

func StakingInvariantDelegatedStakes(k Keeper) sdk.Invariant

stakeSumFromDelegator = Sum(delegatedStakes[topicid, delegator, all reputers]) stakeFromDelegatorsUponReputer = Sum(delegatedStakes[topicid, all delegators, reputer])

func StakingInvariantLenStakeRemovalsSame added in v0.2.12

func StakingInvariantLenStakeRemovalsSame(k Keeper) sdk.Invariant

the number of values in the stakeRemovalsByBlock map should always equal the number of values in the stakeRemovalsByActor map

func StakingInvariantPendingRewardForDelegatorsEqualRewardPerShareMinusRewardDebt added in v0.2.12

func StakingInvariantPendingRewardForDelegatorsEqualRewardPerShareMinusRewardDebt(k Keeper) sdk.Invariant

func StakingInvariantSumStakeFromStakeReputerAuthorityEqualTotalStakeAndTopicStake added in v0.2.12

func StakingInvariantSumStakeFromStakeReputerAuthorityEqualTotalStakeAndTopicStake(k Keeper) sdk.Invariant

func StakingInvariantTotalStakeEqualAlloraStakingBankBalance added in v0.2.12

func StakingInvariantTotalStakeEqualAlloraStakingBankBalance(k Keeper) sdk.Invariant

StakingInvariantTotalStakeEqualAlloraStakingBankBalance checks that the total stake in the emissions module is equal to the balance of the Allora staking bank account.

Types

type AccountKeeper

type AccountKeeper interface {
	AddressCodec() address.Codec
	GetAccount(ctx context.Context, addr sdk.AccAddress) sdk.AccountI
	GetModuleAddress(name string) sdk.AccAddress
	GetModuleAccount(ctx context.Context, name string) sdk.ModuleAccountI
	SetModuleAccount(context.Context, sdk.ModuleAccountI)
}

AccountKeeper defines the expected account keeper used for simulations (noalias)

type ActorId added in v0.2.6

type ActorId = string

type BankKeeper

type BankKeeper interface {
	MintCoins(ctx context.Context, moduleName string, amt sdk.Coins) error
	GetAllBalances(ctx context.Context, addr sdk.AccAddress) sdk.Coins
	GetBalance(ctx context.Context, addr sdk.AccAddress, denom string) sdk.Coin

	SpendableCoins(ctx context.Context, addr sdk.AccAddress) sdk.Coins

	SendCoinsFromModuleToModule(ctx context.Context, senderModule, recipientModule string, amt sdk.Coins) error
	SendCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error
	SendCoinsFromAccountToModule(ctx context.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error

	BlockedAddr(addr sdk.AccAddress) bool
}

BankKeeper defines the expected interface needed to retrieve account balances.

type BlockHeight added in v0.2.6

type BlockHeight = int64

type Delegator added in v0.2.8

type Delegator = string

type Keeper

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

func NewKeeper

func NewKeeper(
	cdc codec.BinaryCodec,
	addressCodec address.Codec,
	storeService coreStore.KVStoreService,
	ak AccountKeeper,
	bk BankKeeper,
	feeCollectorName string,
) Keeper

func (*Keeper) ActivateTopic added in v0.2.6

func (k *Keeper) ActivateTopic(ctx context.Context, topicId TopicId) error

Set a topic to active if the topic exists, else does nothing

func (*Keeper) AddDelegateStake added in v0.2.6

func (k *Keeper) AddDelegateStake(
	ctx context.Context,
	topicId TopicId,
	delegator ActorId,
	reputer ActorId,
	stakeToAdd cosmosMath.Int,
) error

adds stake to the system from a delegator adds to: totalStake, topicStake, stakeReputerAuthority,

stakeSumFromDelegator, delegatedStakes, stakeFromDelegatorsUponReputer

func (*Keeper) AddReputerNonce added in v0.2.6

func (k *Keeper) AddReputerNonce(ctx context.Context, topicId TopicId, nonce *types.Nonce) error

Adds a nonce to the unfulfilled nonces for the topic if it is not yet added (idempotent). If the max number of nonces is reached, then the function removes the oldest nonce and adds the new nonce.

func (*Keeper) AddReputerStake added in v0.2.8

func (k *Keeper) AddReputerStake(
	ctx context.Context,
	topicId TopicId,
	reputer ActorId,
	stakeToAdd cosmosMath.Int,
) error

Adds stake to the system for a given topic and reputer Adds to: totalStake, topicStake, stakeReputerAuthority,

func (*Keeper) AddRewardableTopic added in v0.2.6

func (k *Keeper) AddRewardableTopic(ctx context.Context, topicId TopicId) error

Add a topic as rewardable

func (*Keeper) AddTopicFeeRevenue added in v0.2.6

func (k *Keeper) AddTopicFeeRevenue(ctx context.Context, topicId TopicId, amount cosmosMath.Int) error

Add to the fee revenue collected by a topic

func (*Keeper) AddWhitelistAdmin added in v0.0.1

func (k *Keeper) AddWhitelistAdmin(ctx context.Context, admin ActorId) error

func (*Keeper) AddWorkerNonce added in v0.2.6

func (k *Keeper) AddWorkerNonce(ctx context.Context, topicId TopicId, nonce *types.Nonce) error

Adds a nonce to the unfulfilled nonces for the topic if it is not yet added (idempotent). If the max number of nonces is reached, then the function removes the oldest nonce and adds the new nonce.

func (*Keeper) AddWorkerWindowTopicId added in v0.3.0

func (k *Keeper) AddWorkerWindowTopicId(ctx sdk.Context, height BlockHeight, topicId TopicId) error

SetTopicId appends a new TopicId to the list of TopicIds for a given BlockHeight. If no entry exists for the BlockHeight, it creates a new entry with the TopicId.

func (*Keeper) AppendForecast added in v0.3.0

func (k *Keeper) AppendForecast(
	ctx context.Context,
	topic types.Topic,
	blockHeight BlockHeight,
	nonceBlockHeight BlockHeight,
	forecast *types.Forecast,
) error

Append individual forecast for a topic/block

func (*Keeper) AppendInference added in v0.3.0

func (k *Keeper) AppendInference(
	ctx context.Context,
	topic types.Topic,
	blockHeight BlockHeight,
	nonceBlockHeight BlockHeight,
	inference *types.Inference,
) error

Append individual inference for a topic/block

func (*Keeper) AppendReputerLoss added in v0.3.0

func (k *Keeper) AppendReputerLoss(
	ctx context.Context,
	topic types.Topic,
	blockHeight BlockHeight,
	nonceBlockHeight BlockHeight,
	reputerLoss *types.ReputerValueBundle,
) error

Append loss bundle for a topic and blockHeight

func (*Keeper) AttemptTopicReactivation added in v0.4.0

func (k *Keeper) AttemptTopicReactivation(ctx context.Context, topicId TopicId) error

If the topic weight is not less than lowest weight keep it as activated

func (*Keeper) BlockWithinReputerSubmissionWindowOfNonce added in v0.4.0

func (k *Keeper) BlockWithinReputerSubmissionWindowOfNonce(topic types.Topic, nonce types.ReputerRequestNonce, blockHeight int64) bool

Return true if the nonce is within the worker submission window for the topic

func (*Keeper) BlockWithinWorkerSubmissionWindowOfNonce added in v0.4.0

func (k *Keeper) BlockWithinWorkerSubmissionWindowOfNonce(topic types.Topic, nonce types.Nonce, blockHeight int64) bool

Return true if the nonce is within the worker submission window for the topic

func (*Keeper) CalcAndSaveForecasterScoreEmaForActiveSet added in v0.4.0

func (k *Keeper) CalcAndSaveForecasterScoreEmaForActiveSet(
	ctx context.Context,
	topic types.Topic,
	block types.BlockHeight,
	worker ActorId,
	newScore types.Score,
) (types.Score, error)

Calculates and saves the EMA scores for a active set worker and topic. By assuming worker is in active set, we know to calculate the EMA with a new, passed-in score.

func (*Keeper) CalcAndSaveForecasterScoreEmaWithLastSavedTopicQuantile added in v0.4.0

func (k *Keeper) CalcAndSaveForecasterScoreEmaWithLastSavedTopicQuantile(
	ctx context.Context,
	topic types.Topic,
	block types.BlockHeight,
	worker ActorId,
) error

Calculates and saves the EMA scores for a given worker and topic. Uses the last saved topic quantile score to calculate the EMA. This is useful for updating EMAs of workers in the passive set.

func (*Keeper) CalcAndSaveInfererScoreEmaForActiveSet added in v0.4.0

func (k *Keeper) CalcAndSaveInfererScoreEmaForActiveSet(
	ctx context.Context,
	topic types.Topic,
	block types.BlockHeight,
	worker ActorId,
	newScore types.Score,
) (types.Score, error)

Calculates and saves the EMA scores for a active set worker and topic. By assuming worker is in active set, we know to calculate the EMA with a new, passed-in score.

func (*Keeper) CalcAndSaveInfererScoreEmaWithLastSavedTopicQuantile added in v0.4.0

func (k *Keeper) CalcAndSaveInfererScoreEmaWithLastSavedTopicQuantile(
	ctx context.Context,
	topic types.Topic,
	block types.BlockHeight,
	worker ActorId,
) error

Calculates and saves the EMA scores for a given worker and topic. Uses the last saved topic quantile score to calculate the EMA. This is useful for updating EMAs of workers in the passive set.

func (*Keeper) CalcAndSaveReputerScoreEmaForActiveSet added in v0.4.0

func (k *Keeper) CalcAndSaveReputerScoreEmaForActiveSet(
	ctx context.Context,
	topic types.Topic,
	block types.BlockHeight,
	reputer ActorId,
	newScore types.Score,
) (types.Score, error)

Calculates and saves the EMA scores for a given reputer and topic. By assuming reputer is in active set, we know to calculate the EMA with a new, passed-in score.

func (*Keeper) CalcAndSaveReputerScoreEmaWithLastSavedTopicQuantile added in v0.4.0

func (k *Keeper) CalcAndSaveReputerScoreEmaWithLastSavedTopicQuantile(
	ctx context.Context,
	topic types.Topic,
	block types.BlockHeight,
	reputer ActorId,
) error

Calculates and saves the EMA scores for a given reputer and topic. Uses the last saved topic quantile score to calculate the EMA. This is useful for updating EMAs of reputers in the passive set.

func (Keeper) CalcAppropriatePaginationForUint64Cursor added in v0.2.6

func (k Keeper) CalcAppropriatePaginationForUint64Cursor(ctx context.Context, pagination *types.SimpleCursorPaginationRequest) (uint64, uint64, error)

Convert pagination.key from []bytes to uint64, if pagination is nil or [], len = 0 Get the limit from the pagination request, within acceptable bounds and defaulting as necessary

func (*Keeper) DeleteDelegateStakeRemoval added in v0.2.6

func (k *Keeper) DeleteDelegateStakeRemoval(
	ctx context.Context,
	blockHeight BlockHeight,
	topicId TopicId,
	reputer ActorId,
	delegator ActorId,
) error

remove a stake removal from the queue

func (*Keeper) DeleteStakeRemoval added in v0.2.6

func (k *Keeper) DeleteStakeRemoval(
	ctx context.Context,
	blockHeight BlockHeight,
	topicId TopicId,
	address ActorId,
) error

remove a stake removal from the queue

func (*Keeper) DeleteTopicRewardNonce added in v0.2.6

func (k *Keeper) DeleteTopicRewardNonce(ctx context.Context, topicId TopicId) error

DeleteTopicRewardNonce removes the reward nonce entry for a given topic ID.

func (*Keeper) DeleteUnfulfilledReputerNonces added in v0.2.6

func (k *Keeper) DeleteUnfulfilledReputerNonces(ctx context.Context, topicId TopicId) error

func (*Keeper) DeleteUnfulfilledWorkerNonces added in v0.2.6

func (k *Keeper) DeleteUnfulfilledWorkerNonces(ctx context.Context, topicId TopicId) error

func (*Keeper) DeleteWorkerWindowBlockheight added in v0.3.0

func (k *Keeper) DeleteWorkerWindowBlockheight(ctx sdk.Context, height BlockHeight) error

func (*Keeper) DripTopicFeeRevenue added in v0.2.6

func (k *Keeper) DripTopicFeeRevenue(ctx sdk.Context, topicId TopicId, block BlockHeight) error

Drop the fee revenue by the global Ecosystem bucket drip amount in the paper we say that ∆ C_{t,i} = N_{epochs,w} * C_{t,i} where C_{t,i} is the topic fee revenue and N_{epochs,w} is the number of epochs per week and this decay or drip happens each epoch

func (*Keeper) ExportGenesis

func (k *Keeper) ExportGenesis(ctx context.Context) (*types.GenesisState, error)

ExportGenesis exports the module state to a genesis state.

func (*Keeper) FulfillReputerNonce added in v0.2.6

func (k *Keeper) FulfillReputerNonce(ctx context.Context, topicId TopicId, nonce *types.Nonce) (bool, error)

Attempts to fulfill an unfulfilled nonce. If the nonce is present, then it is removed from the unfulfilled nonces and this function returns true. If the nonce is not present, then the function returns false.

func (*Keeper) FulfillWorkerNonce added in v0.2.6

func (k *Keeper) FulfillWorkerNonce(ctx context.Context, topicId TopicId, nonce *types.Nonce) (bool, error)

Attempts to fulfill an unfulfilled nonce. If the nonce is present, then it is removed from the unfulfilled nonces and this function returns true. If the nonce is not present, then the function returns false.

func (*Keeper) GetActiveTopicIdsAtBlock added in v0.4.0

func (k *Keeper) GetActiveTopicIdsAtBlock(ctx context.Context, block BlockHeight) (types.TopicIds, error)

It is assumed the size of the outputted array has been bounded as it was constructed => can be safely handled in memory.

func (*Keeper) GetBankBalance added in v0.2.8

func (k *Keeper) GetBankBalance(ctx context.Context, addr sdk.AccAddress, denom string) sdk.Coin

wrapper around bank keeper GetBalance

func (*Keeper) GetBinaryCodec added in v0.3.0

func (k *Keeper) GetBinaryCodec() codec.BinaryCodec

func (*Keeper) GetCurrentTopicWeight added in v0.2.6

func (k *Keeper) GetCurrentTopicWeight(
	ctx context.Context,
	topicId TopicId,
	topicEpochLength BlockHeight,
	topicRewardAlpha alloraMath.Dec,
	stakeImportance alloraMath.Dec,
	feeImportance alloraMath.Dec,
) (weight alloraMath.Dec, topicRevenue cosmosMath.Int, err error)

func (*Keeper) GetDelegateRewardPerShare added in v0.2.6

func (k *Keeper) GetDelegateRewardPerShare(ctx context.Context, topicId TopicId, reputer ActorId) (alloraMath.Dec, error)

Returns the share of reward by a specific topic and reputer

func (*Keeper) GetDelegateStakePlacement added in v0.2.6

func (k *Keeper) GetDelegateStakePlacement(ctx context.Context, topicId TopicId, delegator ActorId, target ActorId) (types.DelegatorInfo, error)

Returns the amount of stake placed by a specific delegator on a specific target.

func (Keeper) GetDelegateStakeRemoval added in v0.2.8

func (k Keeper) GetDelegateStakeRemoval(
	ctx context.Context,
	blockHeight BlockHeight,
	topicId TopicId,
	delegator ActorId,
	reputer ActorId,
) (types.DelegateStakeRemovalInfo, error)

get info about a removal

func (*Keeper) GetDelegateStakeRemovalForDelegatorReputerAndTopicId added in v0.2.8

func (k *Keeper) GetDelegateStakeRemovalForDelegatorReputerAndTopicId(
	ctx sdk.Context,
	delegator string,
	reputer string,
	topicId uint64,
) (removal types.DelegateStakeRemovalInfo, found bool, err error)

return the first found stake removal object for a delegator, reputer, and topicId

func (*Keeper) GetDelegateStakeRemovalsUpUntilBlock added in v0.3.0

func (k *Keeper) GetDelegateStakeRemovalsUpUntilBlock(
	ctx context.Context,
	blockHeight BlockHeight,
	limit uint64,
) ([]types.DelegateStakeRemovalInfo, bool, error)

get a list of stake removals that are valid for removal before and including this block.

func (*Keeper) GetDelegateStakeUponReputer added in v0.2.6

func (k *Keeper) GetDelegateStakeUponReputer(ctx context.Context, topicId TopicId, target ActorId) (cosmosMath.Int, error)

Returns the amount of stake placed upon a reputer by delegators within that topic

func (*Keeper) GetForecastScoresUntilBlock added in v0.2.6

func (k *Keeper) GetForecastScoresUntilBlock(ctx context.Context, topicId TopicId, blockHeight BlockHeight) ([]*types.Score, error)

func (*Keeper) GetForecasterNetworkRegret added in v0.2.6

func (k *Keeper) GetForecasterNetworkRegret(ctx context.Context, topicId TopicId, worker ActorId) (types.TimestampedValue, bool, error)

Returns the regret of a forecaster from comparing loss of forecaster relative to loss of other forecasters Returns (0, true) if no regret is found

func (*Keeper) GetForecasterScoreEma added in v0.4.0

func (k *Keeper) GetForecasterScoreEma(ctx context.Context, topicId TopicId, worker ActorId) (types.Score, error)

func (*Keeper) GetForecastsAtBlock added in v0.2.6

func (k *Keeper) GetForecastsAtBlock(ctx context.Context, topicId TopicId, block BlockHeight) (*types.Forecasts, error)

func (*Keeper) GetInferenceScoresUntilBlock added in v0.2.6

func (k *Keeper) GetInferenceScoresUntilBlock(ctx context.Context, topicId TopicId, blockHeight BlockHeight) ([]*types.Score, error)

func (*Keeper) GetInferencesAtBlock added in v0.2.6

func (k *Keeper) GetInferencesAtBlock(ctx context.Context, topicId TopicId, block BlockHeight) (*types.Inferences, error)

func (*Keeper) GetInfererNetworkRegret added in v0.2.6

func (k *Keeper) GetInfererNetworkRegret(ctx context.Context, topicId TopicId, worker ActorId) (types.TimestampedValue, bool, error)

Returns the regret of a inferer from comparing loss of inferer relative to loss of other inferers Returns (0, true) if no regret is found

func (*Keeper) GetInfererScoreEma added in v0.4.0

func (k *Keeper) GetInfererScoreEma(ctx context.Context, topicId TopicId, worker ActorId) (types.Score, error)

func (*Keeper) GetLastDripBlock added in v0.4.0

func (k *Keeper) GetLastDripBlock(ctx context.Context, topicId TopicId) (BlockHeight, error)

return the last time we dripped the fee revenue for a topic

func (*Keeper) GetLatestNetworkLossBundle added in v0.4.0

func (k *Keeper) GetLatestNetworkLossBundle(ctx context.Context, topicId TopicId) (*types.ValueBundle, error)

Returns the latest network loss bundle for a given topic id.

func (*Keeper) GetLatestTopicInferences added in v0.2.8

func (k *Keeper) GetLatestTopicInferences(ctx context.Context, topicId TopicId) (*types.Inferences, BlockHeight, error)

GetLatestTopicInferences retrieves the latest topic inferences and its block height.

func (*Keeper) GetListeningCoefficient added in v0.2.6

func (k *Keeper) GetListeningCoefficient(ctx context.Context, topicId TopicId, reputer ActorId) (types.ListeningCoefficient, error)

func (*Keeper) GetLowestActiveTopicWeightAtBlock added in v0.4.0

func (k *Keeper) GetLowestActiveTopicWeightAtBlock(ctx context.Context, block BlockHeight) (types.TopicIdWeightPair, bool, error)

Boolean is true if the block is not found (true if no prior value), else false

func (*Keeper) GetNaiveInfererNetworkRegret added in v0.3.0

func (k *Keeper) GetNaiveInfererNetworkRegret(ctx context.Context, topicId TopicId, inferer ActorId) (types.TimestampedValue, bool, error)

func (*Keeper) GetNetworkLossBundleAtBlock added in v0.2.6

func (k *Keeper) GetNetworkLossBundleAtBlock(ctx context.Context, topicId TopicId, block BlockHeight) (*types.ValueBundle, error)

A function that accepts a topicId and returns the network LossBundle at the block or error

func (*Keeper) GetNextPossibleChurningBlockByTopicId added in v0.4.0

func (k *Keeper) GetNextPossibleChurningBlockByTopicId(ctx context.Context, topicId TopicId) (BlockHeight, bool, error)

Boolean true if topic is active, else false

func (*Keeper) GetNextTopicId added in v0.2.6

func (k *Keeper) GetNextTopicId(ctx context.Context) (TopicId, error)

Returns the number of topics that are active in the network

func (*Keeper) GetOneInForecasterNetworkRegret added in v0.2.6

func (k *Keeper) GetOneInForecasterNetworkRegret(ctx context.Context, topicId TopicId, oneInForecaster ActorId, inferer ActorId) (types.TimestampedValue, bool, error)

Returns the regret of a forecaster from comparing loss of forecaster relative to loss of other forecasters Returns (0, true) if no regret is found

func (*Keeper) GetOneOutForecasterForecasterNetworkRegret added in v0.3.0

func (k *Keeper) GetOneOutForecasterForecasterNetworkRegret(ctx context.Context, topicId TopicId, oneOutForecaster ActorId, forecaster ActorId) (types.TimestampedValue, bool, error)

func (*Keeper) GetOneOutForecasterInfererNetworkRegret added in v0.3.0

func (k *Keeper) GetOneOutForecasterInfererNetworkRegret(ctx context.Context, topicId TopicId, oneOutForecaster ActorId, inferer ActorId) (types.TimestampedValue, bool, error)

func (*Keeper) GetOneOutInfererForecasterNetworkRegret added in v0.3.0

func (k *Keeper) GetOneOutInfererForecasterNetworkRegret(ctx context.Context, topicId TopicId, oneOutInferer ActorId, forecaster ActorId) (types.TimestampedValue, bool, error)

func (*Keeper) GetOneOutInfererInfererNetworkRegret added in v0.3.0

func (k *Keeper) GetOneOutInfererInfererNetworkRegret(ctx context.Context, topicId TopicId, oneOutInferer ActorId, inferer ActorId) (types.TimestampedValue, bool, error)

func (Keeper) GetParams added in v0.0.1

func (k Keeper) GetParams(ctx context.Context) (types.Params, error)

func (*Keeper) GetPreviousForecastRewardFraction added in v0.2.6

func (k *Keeper) GetPreviousForecastRewardFraction(ctx context.Context, topicId TopicId, worker ActorId) (alloraMath.Dec, bool, error)

Gets the previous V_{i-1,m} Returns previous reward fraction, and true if it has yet to be set for the first time (else false)

func (*Keeper) GetPreviousForecasterScoreRatio added in v0.3.0

func (k *Keeper) GetPreviousForecasterScoreRatio(ctx context.Context, topicId TopicId) (alloraMath.Dec, error)

func (*Keeper) GetPreviousInferenceRewardFraction added in v0.2.6

func (k *Keeper) GetPreviousInferenceRewardFraction(ctx context.Context, topicId TopicId, worker ActorId) (alloraMath.Dec, bool, error)

Gets the previous U_{i-1,m} Returns previous reward fraction, and true if it has yet to be set for the first time (else false)

func (Keeper) GetPreviousPercentageRewardToStakedReputers added in v0.2.6

func (k Keeper) GetPreviousPercentageRewardToStakedReputers(ctx context.Context) (alloraMath.Dec, error)

func (*Keeper) GetPreviousReputerRewardFraction added in v0.2.6

func (k *Keeper) GetPreviousReputerRewardFraction(ctx context.Context, topicId TopicId, reputer ActorId) (alloraMath.Dec, bool, error)

Gets the previous W_{i-1,m} Returns previous reward fraction, and true if it has yet to be set for the first time (else false)

func (*Keeper) GetPreviousTopicQuantileForecasterScoreEma added in v0.4.0

func (k *Keeper) GetPreviousTopicQuantileForecasterScoreEma(ctx context.Context, topicId TopicId) (alloraMath.Dec, error)

Gets the previous Forecaster Score Ema at Topic quantile Returns previous forecaster score ema at topic quantile, or 0 if not yet seen

func (*Keeper) GetPreviousTopicQuantileInfererScoreEma added in v0.4.0

func (k *Keeper) GetPreviousTopicQuantileInfererScoreEma(ctx context.Context, topicId TopicId) (alloraMath.Dec, error)

Gets the previous Inferer Score Ema at Topic quantile Returns previous inferer score ema at topic quantile, or 0 if not yet seen

func (*Keeper) GetPreviousTopicQuantileReputerScoreEma added in v0.4.0

func (k *Keeper) GetPreviousTopicQuantileReputerScoreEma(ctx context.Context, topicId TopicId) (alloraMath.Dec, error)

Gets the previous Reputer Score Ema at Topic quantile Returns previous reputer score ema at topic quantile, or 0 if not yet seen

func (*Keeper) GetPreviousTopicWeight added in v0.2.6

func (k *Keeper) GetPreviousTopicWeight(ctx context.Context, topicId TopicId) (alloraMath.Dec, bool, error)

Get the previous weight during rewards calculation for a topic Returns ((0,0), true) if there was no prior topic weight set, else ((x,y), false) where x,y!=0

func (*Keeper) GetReputerInfo added in v0.3.0

func (k *Keeper) GetReputerInfo(ctx sdk.Context, reputerKey ActorId) (types.OffchainNode, error)

func (*Keeper) GetReputerLossBundlesAtBlock added in v0.2.6

func (k *Keeper) GetReputerLossBundlesAtBlock(ctx context.Context, topicId TopicId, block BlockHeight) (*types.ReputerValueBundles, error)

Get loss bundles for a topic/timestamp

func (*Keeper) GetReputerScoreEma added in v0.4.0

func (k *Keeper) GetReputerScoreEma(ctx context.Context, topicId TopicId, reputer ActorId) (types.Score, error)

func (*Keeper) GetReputerTopicLastCommit added in v0.3.0

func (k *Keeper) GetReputerTopicLastCommit(ctx context.Context, topic TopicId) (types.TimestampedActorNonce, error)

func (*Keeper) GetReputersScoresAtBlock added in v0.2.6

func (k *Keeper) GetReputersScoresAtBlock(ctx context.Context, topicId TopicId, block BlockHeight) (types.Scores, error)

func (*Keeper) GetRewardableTopics added in v0.2.6

func (k *Keeper) GetRewardableTopics(ctx context.Context) ([]TopicId, error)

Get the rewardable topics

func (*Keeper) GetStakeFromDelegatorInTopic added in v0.2.6

func (k *Keeper) GetStakeFromDelegatorInTopic(ctx context.Context, topicId TopicId, delegator ActorId) (cosmosMath.Int, error)

Returns the amount of stake placed by a specific delegator.

func (Keeper) GetStakeRemoval added in v0.2.8

func (k Keeper) GetStakeRemoval(
	ctx context.Context,
	BlockHeight int64,
	topicId TopicId,
	reputer ActorId,
) (types.StakeRemovalInfo, error)

get info about a removal

func (*Keeper) GetStakeRemovalForReputerAndTopicId added in v0.2.8

func (k *Keeper) GetStakeRemovalForReputerAndTopicId(
	ctx sdk.Context,
	reputer string,
	topicId uint64,
) (removal types.StakeRemovalInfo, found bool, err error)

get the first found stake removal for a reputer and topicId or err not found if not found

func (*Keeper) GetStakeRemovalsUpUntilBlock added in v0.3.0

func (k *Keeper) GetStakeRemovalsUpUntilBlock(
	ctx context.Context,
	blockHeight BlockHeight,
	limit uint64,
) (ret []types.StakeRemovalInfo, anyLeft bool, err error)

get a list of stake removals that are valid for removal before and including this block.

func (*Keeper) GetStakeReputerAuthority added in v0.2.8

func (k *Keeper) GetStakeReputerAuthority(ctx context.Context, topicId TopicId, reputer ActorId) (cosmosMath.Int, error)

Returns the amount of stake placed by a specific reputer on a specific topic. Includes the stake placed by delegators on the reputer in that topic.

func (*Keeper) GetStorageService added in v0.3.0

func (k *Keeper) GetStorageService() coreStore.KVStoreService

func (*Keeper) GetTargetWeight added in v0.2.6

func (k *Keeper) GetTargetWeight(
	topicStake alloraMath.Dec,
	topicEpochLength int64,
	topicFeeRevenue alloraMath.Dec,
	stakeImportance alloraMath.Dec,
	feeImportance alloraMath.Dec,
) (alloraMath.Dec, error)

Return the target weight of a topic ^w_{t,i} = S^{μ}_{t,i} * (P/C)^{ν}_{t,i} where S_{t,i} is the stake of of topic t in the last reward epoch i and (P/C)_{t,i} is the fee revenue collected for performing inference per topic epoch requests for topic t in the last reward epoch i μ, ν are global constants with fiduciary values of 0.5 and 0.5

func (*Keeper) GetTopic added in v0.0.1

func (k *Keeper) GetTopic(ctx context.Context, topicId TopicId) (types.Topic, error)

Gets topic by topicId

func (*Keeper) GetTopicFeeRevenue added in v0.2.6

func (k *Keeper) GetTopicFeeRevenue(ctx context.Context, topicId TopicId) (cosmosMath.Int, error)

Get the amount of fee revenue collected by a topic

func (*Keeper) GetTopicRewardNonce added in v0.2.6

func (k *Keeper) GetTopicRewardNonce(ctx context.Context, topicId TopicId) (BlockHeight, error)

GetTopicRewardNonce retrieves the reward nonce for a given topic ID.

func (*Keeper) GetTopicStake

func (k *Keeper) GetTopicStake(ctx context.Context, topicId TopicId) (cosmosMath.Int, error)

Gets the stake in the network for a given topic

func (*Keeper) GetTopicWeightFromTopicId added in v0.4.0

func (k *Keeper) GetTopicWeightFromTopicId(ctx context.Context, topicId types.TopicId) (alloraMath.Dec, error)

func (*Keeper) GetTotalRewardToDistribute added in v0.2.6

func (k *Keeper) GetTotalRewardToDistribute(ctx context.Context) (alloraMath.Dec, error)

GetTotalRewardToDistribute

func (Keeper) GetTotalStake

func (k Keeper) GetTotalStake(ctx context.Context) (cosmosMath.Int, error)

Gets the total sum of all stake in the network across all topics

func (*Keeper) GetUnfulfilledReputerNonces added in v0.2.6

func (k *Keeper) GetUnfulfilledReputerNonces(ctx context.Context, topicId TopicId) (types.ReputerRequestNonces, error)

func (*Keeper) GetUnfulfilledWorkerNonces added in v0.2.6

func (k *Keeper) GetUnfulfilledWorkerNonces(ctx context.Context, topicId TopicId) (types.Nonces, error)

func (*Keeper) GetWorkerForecastScoresAtBlock added in v0.2.6

func (k *Keeper) GetWorkerForecastScoresAtBlock(ctx context.Context, topicId TopicId, block BlockHeight) (types.Scores, error)

func (*Keeper) GetWorkerInferenceScoresAtBlock added in v0.2.6

func (k *Keeper) GetWorkerInferenceScoresAtBlock(ctx context.Context, topicId TopicId, block BlockHeight) (types.Scores, error)

func (*Keeper) GetWorkerInfo added in v0.3.0

func (k *Keeper) GetWorkerInfo(ctx sdk.Context, workerKey ActorId) (types.OffchainNode, error)

func (*Keeper) GetWorkerLatestInferenceByTopicId added in v0.0.4

func (k *Keeper) GetWorkerLatestInferenceByTopicId(
	ctx context.Context,
	topicId TopicId,
	worker ActorId,
) (types.Inference, error)

func (*Keeper) GetWorkerTopicLastCommit added in v0.3.0

func (k *Keeper) GetWorkerTopicLastCommit(ctx context.Context, topic TopicId) (types.TimestampedActorNonce, error)

func (*Keeper) GetWorkerWindowTopicIds added in v0.3.0

func (k *Keeper) GetWorkerWindowTopicIds(ctx sdk.Context, height BlockHeight) types.TopicIds

GetTopicIds returns the TopicIds for a given BlockHeight. If no TopicIds are found for the BlockHeight, it returns an empty slice.

func (*Keeper) InactivateTopic

func (k *Keeper) InactivateTopic(ctx context.Context, topicId TopicId) error

Inactivate the topic

func (*Keeper) IncrementTopicId

func (k *Keeper) IncrementTopicId(ctx context.Context) (TopicId, error)

Gets next topic id

func (*Keeper) InitGenesis

func (k *Keeper) InitGenesis(ctx context.Context, data *types.GenesisState) error

InitGenesis initializes the module state from a genesis state.

func (*Keeper) InsertForecasts added in v0.2.6

func (k *Keeper) InsertForecasts(ctx context.Context, topicId TopicId, nonceBlockHeight BlockHeight, forecasts types.Forecasts) error

Insert a complete set of inferences for a topic/block. Overwrites previous ones.

func (*Keeper) InsertInferences

func (k *Keeper) InsertInferences(
	ctx context.Context,
	topicId TopicId,
	nonceBlockHeight BlockHeight,
	inferences types.Inferences,
) error

Insert a complete set of inferences for a topic/block. Overwrites previous ones.

func (*Keeper) InsertNetworkLossBundleAtBlock added in v0.2.6

func (k *Keeper) InsertNetworkLossBundleAtBlock(ctx context.Context, topicId TopicId, block BlockHeight, lossBundle types.ValueBundle) error

Insert a network loss bundle for a topic and block.

func (*Keeper) InsertReputer

func (k *Keeper) InsertReputer(ctx context.Context, topicId TopicId, reputer ActorId, reputerInfo types.OffchainNode) error

Adds a new reputer to the reputer tracking data structures, reputers and topicReputers

func (*Keeper) InsertReputerLossBundlesAtBlock added in v0.2.6

func (k *Keeper) InsertReputerLossBundlesAtBlock(ctx context.Context, topicId TopicId, block BlockHeight, reputerLossBundles types.ReputerValueBundles) error

Insert a loss bundle for a topic and timestamp. Overwrites previous ones stored at that composite index.

func (*Keeper) InsertReputerScore added in v0.2.6

func (k *Keeper) InsertReputerScore(ctx context.Context, topicId TopicId, blockHeight BlockHeight, score types.Score) error

func (*Keeper) InsertWorker

func (k *Keeper) InsertWorker(ctx context.Context, topicId TopicId, worker ActorId, workerInfo types.OffchainNode) error

Adds a new worker to the worker tracking data structures, workers and topicWorkers

func (*Keeper) InsertWorkerForecastScore added in v0.2.6

func (k *Keeper) InsertWorkerForecastScore(ctx context.Context, topicId TopicId, blockHeight BlockHeight, score types.Score) error

func (*Keeper) InsertWorkerInferenceScore added in v0.2.6

func (k *Keeper) InsertWorkerInferenceScore(ctx context.Context, topicId TopicId, blockHeight BlockHeight, score types.Score) error

func (*Keeper) IsReputerNonceUnfulfilled added in v0.2.6

func (k *Keeper) IsReputerNonceUnfulfilled(ctx context.Context, topicId TopicId, nonce *types.Nonce) (bool, error)

True if nonce is unfulfilled, false otherwise.

func (*Keeper) IsReputerRegisteredInTopic added in v0.2.6

func (k *Keeper) IsReputerRegisteredInTopic(ctx context.Context, topicId TopicId, reputer ActorId) (bool, error)

True if reputer is registered in topic, else False

func (*Keeper) IsTopicActive added in v0.2.6

func (k *Keeper) IsTopicActive(ctx context.Context, topicId TopicId) (bool, error)

Check if the topic is activated or not

func (Keeper) IsWhitelistAdmin added in v0.0.1

func (k Keeper) IsWhitelistAdmin(ctx context.Context, admin ActorId) (bool, error)

func (*Keeper) IsWorkerNonceUnfulfilled added in v0.2.6

func (k *Keeper) IsWorkerNonceUnfulfilled(ctx context.Context, topicId TopicId, nonce *types.Nonce) (bool, error)

True if nonce is unfulfilled, false otherwise.

func (*Keeper) IsWorkerRegisteredInTopic added in v0.2.6

func (k *Keeper) IsWorkerRegisteredInTopic(ctx context.Context, topicId TopicId, worker ActorId) (bool, error)

True if worker is registered in topic, else False

func (*Keeper) PruneRecordsAfterRewards added in v0.2.6

func (k *Keeper) PruneRecordsAfterRewards(ctx context.Context, topicId TopicId, blockHeight int64) error

Iterate through topic state and prune records that are no longer needed

func (*Keeper) PruneReputerNonces added in v0.2.6

func (k *Keeper) PruneReputerNonces(ctx context.Context, topicId uint64, blockHeightThreshold int64) error

func (*Keeper) PruneTopicActivationDataAtBlock added in v0.4.0

func (k *Keeper) PruneTopicActivationDataAtBlock(ctx context.Context, block BlockHeight) error

Removes data for a block if it exists in the maps: - blockToActiveTopics - blockToLowestActiveTopicWeight No op if the block does not exist in the maps

func (*Keeper) PruneWorkerNonces added in v0.2.6

func (k *Keeper) PruneWorkerNonces(ctx context.Context, topicId uint64, blockHeightThreshold int64) error

func (*Keeper) RemoveDelegateStake added in v0.2.6

func (k *Keeper) RemoveDelegateStake(
	ctx context.Context,
	stakeRemovalBlockHeight BlockHeight,
	topicId TopicId,
	delegator ActorId,
	reputer ActorId,
	stakeToRemove cosmosMath.Int,
) error

Removes delegate stake from the system for a given topic, delegator, and reputer subtracts from: totalStake, topicStake, stakeReputerAuthority

stakeSumFromDelegator, delegatedStakes, stakeFromDelegatorsUponReputer

func (*Keeper) RemoveReputer

func (k *Keeper) RemoveReputer(ctx context.Context, topicId TopicId, reputer ActorId) error

Remove a reputer to the reputer tracking data structures and topicReputers

func (*Keeper) RemoveReputerStake added in v0.2.8

func (k *Keeper) RemoveReputerStake(
	ctx context.Context,
	blockHeight BlockHeight,
	topicId TopicId,
	reputer ActorId,
	stakeToRemove cosmosMath.Int) error

Removes stake from the system for a given topic and reputer subtracts from: totalStake, topicStake, stakeReputerAuthority

func (*Keeper) RemoveRewardableTopic added in v0.2.6

func (k *Keeper) RemoveRewardableTopic(ctx context.Context, topicId TopicId) error

func (*Keeper) RemoveWhitelistAdmin added in v0.0.1

func (k *Keeper) RemoveWhitelistAdmin(ctx context.Context, admin ActorId) error

func (*Keeper) RemoveWorker

func (k *Keeper) RemoveWorker(ctx context.Context, topicId TopicId, worker ActorId) error

Remove a worker to the worker tracking data structures and topicWorkers

func (*Keeper) ResetLowestActiveTopicWeightAtBlock added in v0.4.0

func (k *Keeper) ResetLowestActiveTopicWeightAtBlock(ctx context.Context, block BlockHeight) error

func (*Keeper) SendCoinsFromAccountToModule added in v0.2.6

func (k *Keeper) SendCoinsFromAccountToModule(ctx context.Context, sender ActorId, recipientModule string, amt sdk.Coins) error

wrapper around bank keeper SendCoinsFromAccountToModule

func (*Keeper) SendCoinsFromModuleToAccount added in v0.2.6

func (k *Keeper) SendCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipient ActorId, amt sdk.Coins) error

wrapper around bank keeper SendCoinsFromModuleToAccount

func (*Keeper) SendCoinsFromModuleToModule

func (k *Keeper) SendCoinsFromModuleToModule(ctx context.Context, senderModule, recipientModule string, amt sdk.Coins) error

wrapper around bank keeper SendCoinsFromModuleToModule

func (*Keeper) SetDelegateRewardPerShare added in v0.2.6

func (k *Keeper) SetDelegateRewardPerShare(ctx context.Context, topicId TopicId, reputer ActorId, share alloraMath.Dec) error

Set the share on specific reputer and topicId

func (*Keeper) SetDelegateStakePlacement added in v0.2.6

func (k *Keeper) SetDelegateStakePlacement(ctx context.Context, topicId TopicId, delegator ActorId, target ActorId, stake types.DelegatorInfo) error

Sets the amount of stake placed by a specific delegator on a specific target.

func (*Keeper) SetDelegateStakeRemoval added in v0.2.6

func (k *Keeper) SetDelegateStakeRemoval(ctx context.Context, removalInfo types.DelegateStakeRemovalInfo) error

For a given address, adds their stake removal information to the removal queue for delay waiting The topic used will be the topic set in the `removalInfo` This completely overrides the existing stake removal

func (*Keeper) SetDelegateStakeUponReputer added in v0.2.6

func (k *Keeper) SetDelegateStakeUponReputer(ctx context.Context, topicId TopicId, target ActorId, stake cosmosMath.Int) error

Sets the amount of stake placed on a specific target.

func (*Keeper) SetForecasterNetworkRegret added in v0.2.6

func (k *Keeper) SetForecasterNetworkRegret(ctx context.Context, topicId TopicId, worker ActorId, regret types.TimestampedValue) error

func (*Keeper) SetForecasterScoreEma added in v0.4.0

func (k *Keeper) SetForecasterScoreEma(ctx context.Context, topicId TopicId, worker ActorId, score types.Score) error

func (*Keeper) SetInfererNetworkRegret added in v0.2.6

func (k *Keeper) SetInfererNetworkRegret(ctx context.Context, topicId TopicId, worker ActorId, regret types.TimestampedValue) error

func (*Keeper) SetInfererScoreEma added in v0.4.0

func (k *Keeper) SetInfererScoreEma(ctx context.Context, topicId TopicId, worker ActorId, score types.Score) error

If the new score is older than the current score, don't update

func (*Keeper) SetLastDripBlock added in v0.4.0

func (k *Keeper) SetLastDripBlock(ctx context.Context, topicId TopicId, block BlockHeight) error

set the last time we dripped the fee revenue for a topic

func (*Keeper) SetListeningCoefficient added in v0.2.6

func (k *Keeper) SetListeningCoefficient(ctx context.Context, topicId TopicId, reputer ActorId, coefficient types.ListeningCoefficient) error

func (*Keeper) SetNaiveInfererNetworkRegret added in v0.3.0

func (k *Keeper) SetNaiveInfererNetworkRegret(ctx context.Context, topicId TopicId, inferer ActorId, regret types.TimestampedValue) error

func (*Keeper) SetOneInForecasterNetworkRegret added in v0.2.6

func (k *Keeper) SetOneInForecasterNetworkRegret(ctx context.Context, topicId TopicId, oneInForecaster ActorId, inferer ActorId, regret types.TimestampedValue) error

func (*Keeper) SetOneOutForecasterForecasterNetworkRegret added in v0.3.0

func (k *Keeper) SetOneOutForecasterForecasterNetworkRegret(ctx context.Context, topicId TopicId, oneOutForecaster ActorId, forecaster ActorId, regret types.TimestampedValue) error

func (*Keeper) SetOneOutForecasterInfererNetworkRegret added in v0.3.0

func (k *Keeper) SetOneOutForecasterInfererNetworkRegret(ctx context.Context, topicId TopicId, oneOutForecaster ActorId, inferer ActorId, regret types.TimestampedValue) error

func (*Keeper) SetOneOutInfererForecasterNetworkRegret added in v0.3.0

func (k *Keeper) SetOneOutInfererForecasterNetworkRegret(ctx context.Context, topicId TopicId, oneOutInferer ActorId, forecaster ActorId, regret types.TimestampedValue) error

func (*Keeper) SetOneOutInfererInfererNetworkRegret added in v0.3.0

func (k *Keeper) SetOneOutInfererInfererNetworkRegret(ctx context.Context, topicId TopicId, oneOutInferer ActorId, inferer ActorId, regret types.TimestampedValue) error

func (*Keeper) SetParams

func (k *Keeper) SetParams(ctx context.Context, params types.Params) error

func (*Keeper) SetPreviousForecastRewardFraction added in v0.2.6

func (k *Keeper) SetPreviousForecastRewardFraction(ctx context.Context, topicId TopicId, worker ActorId, reward alloraMath.Dec) error

Sets the previous V_{i-1,m}

func (*Keeper) SetPreviousForecasterScoreRatio added in v0.3.0

func (k *Keeper) SetPreviousForecasterScoreRatio(ctx context.Context, topicId TopicId, forecasterScoreRatio alloraMath.Dec) error

func (*Keeper) SetPreviousInferenceRewardFraction added in v0.2.6

func (k *Keeper) SetPreviousInferenceRewardFraction(ctx context.Context, topicId TopicId, worker ActorId, reward alloraMath.Dec) error

Sets the previous U_{i-1,m}

func (*Keeper) SetPreviousPercentageRewardToStakedReputers added in v0.2.6

func (k *Keeper) SetPreviousPercentageRewardToStakedReputers(ctx context.Context, percentageRewardToStakedReputers alloraMath.Dec) error

func (*Keeper) SetPreviousReputerRewardFraction added in v0.2.6

func (k *Keeper) SetPreviousReputerRewardFraction(ctx context.Context, topicId TopicId, reputer ActorId, reward alloraMath.Dec) error

Sets the previous W_{i-1,m}

func (*Keeper) SetPreviousTopicQuantileForecasterScoreEma added in v0.4.0

func (k *Keeper) SetPreviousTopicQuantileForecasterScoreEma(ctx context.Context, topicId TopicId, score alloraMath.Dec) error

func (*Keeper) SetPreviousTopicQuantileInfererScoreEma added in v0.4.0

func (k *Keeper) SetPreviousTopicQuantileInfererScoreEma(ctx context.Context, topicId TopicId, score alloraMath.Dec) error

func (*Keeper) SetPreviousTopicQuantileReputerScoreEma added in v0.4.0

func (k *Keeper) SetPreviousTopicQuantileReputerScoreEma(ctx context.Context, topicId TopicId, score alloraMath.Dec) error

func (*Keeper) SetPreviousTopicWeight added in v0.2.6

func (k *Keeper) SetPreviousTopicWeight(ctx context.Context, topicId TopicId, weight alloraMath.Dec) error

Set the previous weight during rewards calculation for a topic

func (*Keeper) SetReputerScoreEma added in v0.4.0

func (k *Keeper) SetReputerScoreEma(ctx context.Context, topicId TopicId, reputer ActorId, score types.Score) error

If the new score is older than the current score, don't update

func (*Keeper) SetReputerTopicLastCommit added in v0.3.0

func (k *Keeper) SetReputerTopicLastCommit(ctx context.Context, topic types.TopicId, blockHeight int64, nonce *types.Nonce) error

func (*Keeper) SetStakeFromDelegator added in v0.2.6

func (k *Keeper) SetStakeFromDelegator(ctx context.Context, topicId TopicId, delegator ActorId, stake cosmosMath.Int) error

Sets the amount of stake placed by a specific delegator.

func (*Keeper) SetStakeRemoval added in v0.2.6

func (k *Keeper) SetStakeRemoval(ctx context.Context, removalInfo types.StakeRemovalInfo) error

For a given address, adds their stake removal information to the removal queue for delay waiting The topic used will be the topic set in the `removalInfo` This completely overrides the existing stake removal

func (*Keeper) SetStakeReputerAuthority added in v0.2.8

func (k *Keeper) SetStakeReputerAuthority(ctx context.Context, topicId TopicId, reputer ActorId, amount cosmosMath.Int) error

Sets the amount of stake placed upon a reputer in addition to their personal stake on a specific topic Includes the stake placed by delegators on the reputer in that topic.

func (*Keeper) SetTopic

func (k *Keeper) SetTopic(ctx context.Context, topicId TopicId, topic types.Topic) error

Sets a topic config on a topicId

func (*Keeper) SetTopicRewardNonce added in v0.2.6

func (k *Keeper) SetTopicRewardNonce(ctx context.Context, topicId TopicId, nonce BlockHeight) error

SetTopicRewardNonce sets the reward nonce for a given topic ID.

func (*Keeper) SetTopicStake

func (k *Keeper) SetTopicStake(ctx context.Context, topicId TopicId, stake cosmosMath.Int) error

sets the cumulative amount of stake in a topic

func (*Keeper) SetTotalStake

func (k *Keeper) SetTotalStake(ctx context.Context, totalStake cosmosMath.Int) error

Sets the total sum of all stake in the network across all topics

func (*Keeper) SetWorkerTopicLastCommit added in v0.3.0

func (k *Keeper) SetWorkerTopicLastCommit(ctx context.Context, topic types.TopicId, blockHeight int64, nonce *types.Nonce) error

func (*Keeper) TopicExists

func (k *Keeper) TopicExists(ctx context.Context, topicId TopicId) (bool, error)

Checks if a topic exists

func (*Keeper) UpdateTopicEpochLastEnded added in v0.2.6

func (k *Keeper) UpdateTopicEpochLastEnded(ctx context.Context, topicId TopicId, epochLastEnded BlockHeight) error

UpdateTopicInferenceLastRan updates the InferenceLastRan timestamp for a given topic.

func (*Keeper) UpdateTopicInitialRegret added in v0.2.13

func (k *Keeper) UpdateTopicInitialRegret(ctx context.Context, topicId TopicId, initialRegret alloraMath.Dec) error

UpdateTopicInitialRegret updates the InitialRegret for a given topic.

func (*Keeper) ValidateStringIsBech32 added in v0.2.6

func (k *Keeper) ValidateStringIsBech32(actor ActorId) error

type LibP2pKey added in v0.2.6

type LibP2pKey = string

type Quadruple added in v0.2.8

type Quadruple[K1, K2, K3, K4 any] struct {
	// contains filtered or unexported fields
}

Quadruple defines a multipart key composed of four keys.

func Join4 added in v0.2.8

func Join4[K1, K2, K3, K4 any](k1 K1, k2 K2, k3 K3, k4 K4) Quadruple[K1, K2, K3, K4]

Join4 instantiates a new Quadruple instance composed of the three provided keys, in order.

func QuadrupleDoublePrefix added in v0.2.8

func QuadrupleDoublePrefix[K1, K2, K3, K4 any](k1 K1, k2 K2) Quadruple[K1, K2, K3, K4]

QuadrupleDoublePrefix creates a new Quadruple instance composed only of the first two parts of the key.

func QuadrupleSinglePrefix added in v0.2.8

func QuadrupleSinglePrefix[K1, K2, K3, K4 any](k1 K1) Quadruple[K1, K2, K3, K4]

QuadrupleSinglePrefix creates a new Quadruple instance composed only of the first part of the key.

func QuadrupleTriplePrefix added in v0.2.8

func QuadrupleTriplePrefix[K1, K2, K3, K4 any](k1 K1, k2 K2, k3 K3) Quadruple[K1, K2, K3, K4]

QuadrupleTriplePrefix creates a new Quadruple instance composed only of the first three parts of the key.

func (Quadruple[K1, K2, K3, K4]) K1 added in v0.2.8

func (t Quadruple[K1, K2, K3, K4]) K1() (x K1)

K1 returns the first part of the key. If nil, the zero value is returned.

func (Quadruple[K1, K2, K3, K4]) K2 added in v0.2.8

func (t Quadruple[K1, K2, K3, K4]) K2() (x K2)

K2 returns the second part of the key. If nil, the zero value is returned.

func (Quadruple[K1, K2, K3, K4]) K3 added in v0.2.8

func (t Quadruple[K1, K2, K3, K4]) K3() (x K3)

K3 returns the third part of the key. If nil, the zero value is returned.

func (Quadruple[K1, K2, K3, K4]) K4 added in v0.2.8

func (t Quadruple[K1, K2, K3, K4]) K4() (x K4)

K4 returns the fourth part of the key. If nil, the zero value is returned.

type Reputer added in v0.2.8

type Reputer = string

type TopicId added in v0.2.6

type TopicId = uint64

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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