keeper

package
v0.2.11 Latest Latest
Warning

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

Go to latest
Published: Jun 28, 2024 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

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.

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) AddChurnableTopic added in v0.2.6

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

Add as topic as churnable

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, associatedWorkerNonce *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) 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) CheckCadence added in v0.2.6

func (k *Keeper) CheckCadence(blockHeight int64, topic types.Topic) bool

Return true if the topic has met its cadence or is the first run

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) DripTopicFeeRevenue added in v0.2.6

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

Drop the fee revenue by the global Ecosystem bucket drip amount

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) 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) GetChurnableTopics added in v0.2.6

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

Get the churnable topics

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,
	additionalRevenue cosmosMath.Int,
) (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) GetDelegateStakeRemovalsForBlock added in v0.2.8

func (k *Keeper) GetDelegateStakeRemovalsForBlock(
	ctx context.Context,
	blockHeight BlockHeight,
) ([]types.DelegateStakeRemovalInfo, error)

get a list of stake removals for 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 worker from comparing loss of worker relative to loss of other inferers Returns (0, true) if no regret is found

func (*Keeper) GetForecastsAtBlock added in v0.2.6

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

func (Keeper) GetIdsOfActiveTopics added in v0.2.6

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 worker from comparing loss of worker relative to loss of other inferers Returns (0, true) if no regret is found

func (*Keeper) GetLatestForecasterScore added in v0.2.6

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

func (*Keeper) GetLatestInfererScore added in v0.2.6

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

func (*Keeper) GetLatestReputerScore added in v0.2.6

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

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) 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) 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, forecaster ActorId, inferer ActorId) (types.TimestampedValue, bool, error)

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

func (*Keeper) GetOneInForecasterSelfNetworkRegret added in v0.2.6

func (k *Keeper) GetOneInForecasterSelfNetworkRegret(ctx context.Context, topicId TopicId, forecaster 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) 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) 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) GetReputerAddressByP2PKey added in v0.2.6

func (k *Keeper) GetReputerAddressByP2PKey(ctx context.Context, p2pKey string) (sdk.AccAddress, error)

func (*Keeper) GetReputerByLibp2pKey added in v0.2.6

func (k *Keeper) GetReputerByLibp2pKey(ctx sdk.Context, reputerKey string) (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) 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) GetStakeRemovalsForBlock added in v0.2.8

func (k *Keeper) GetStakeRemovalsForBlock(
	ctx context.Context,
	blockHeight BlockHeight,
) ([]types.StakeRemovalInfo, error)

get a list of stake removals for 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) 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) GetTopicEpochLastEnded added in v0.2.6

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

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) 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) GetWorkerAddressByP2PKey

func (k *Keeper) GetWorkerAddressByP2PKey(ctx context.Context, p2pKey string) (sdk.AccAddress, error)

func (*Keeper) GetWorkerByLibp2pKey added in v0.2.6

func (k *Keeper) GetWorkerByLibp2pKey(ctx sdk.Context, workerKey string) (types.OffchainNode, 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) GetWorkerLatestInferenceByTopicId added in v0.0.4

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

func (*Keeper) InactivateTopic

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

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

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, nonce types.Nonce, 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, nonce types.Nonce, 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)

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) 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,
	blockHeight 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) ResetChurnableTopics added in v0.2.6

func (k *Keeper) ResetChurnableTopics(ctx context.Context) error

ResetChurnReadyTopics clears all topics from the churn-ready set and resets related states.

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) SetInfererNetworkRegret added in v0.2.6

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

func (*Keeper) SetLatestForecasterScore added in v0.2.6

func (k *Keeper) SetLatestForecasterScore(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) SetLatestInfererScore added in v0.2.6

func (k *Keeper) SetLatestInfererScore(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) SetLatestReputerScore added in v0.2.6

func (k *Keeper) SetLatestReputerScore(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) SetListeningCoefficient added in v0.2.6

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

func (*Keeper) SetOneInForecasterNetworkRegret added in v0.2.6

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

func (*Keeper) SetOneInForecasterSelfNetworkRegret added in v0.2.6

func (k *Keeper) SetOneInForecasterSelfNetworkRegret(ctx context.Context, topicId TopicId, forecaster 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) 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) 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) 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) 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) ValidateStringIsBech32 added in v0.2.6

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

type LibP2pKey added in v0.2.6

type LibP2pKey = string

type Migrator added in v0.2.6

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

Migrator is a struct for handling in-place state migrations.

func NewMigrator added in v0.2.6

func NewMigrator(k Keeper) Migrator

NewMigrator returns Migrator instance for the state migration.

func (Migrator) Migrate1to2 added in v0.2.6

func (m Migrator) Migrate1to2(ctx sdk.Context) error

Migrate1to2 migrates the emissions module state from the consensus version 1 to version 2. For now this is a no-op since we don't actually have any state to upgrade, but in the future this function or a 2to3 would be used to handle state migrations between versions of the emissions module.

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