Documentation ¶
Index ¶
- Constants
- Variables
- func NewMsgServerImpl(keeper Keeper) state.MsgServer
- func NewQueryServerImpl(k Keeper) state.QueryServer
- type ACC_ADDRESS
- type AccountKeeper
- type BLOCK_NUMBER
- type BankKeeper
- type DELEGATOR
- type DELEGATOR_STR
- type Int
- type Keeper
- func (k *Keeper) AddAddressTopics(ctx context.Context, address sdk.AccAddress, newTopics []uint64) error
- func (k *Keeper) AddStake(ctx context.Context, topicsIds []TOPIC_ID, delegator string, target string, ...) error
- func (k *Keeper) AddStakePlacedUponTarget(ctx context.Context, target sdk.AccAddress, amount Uint) error
- func (k *Keeper) AddStakePlacement(ctx context.Context, delegator sdk.AccAddress, target sdk.AccAddress, ...) error
- func (k *Keeper) AddStakeToTopics(ctx context.Context, topicsIds []TOPIC_ID, stake Uint) error
- func (k *Keeper) AddToMempool(ctx context.Context, request state.InferenceRequest) error
- func (k *Keeper) AddTopicAccumulateMetDemand(ctx context.Context, topicId TOPIC_ID, metDemand Uint) error
- func (k *Keeper) AddUnmetDemand(ctx context.Context, topicId TOPIC_ID, amt cosmosMath.Uint) error
- func (k *Keeper) CalculateAccumulatedEmissions(ctx context.Context) (cosmosMath.Int, error)
- func (k *Keeper) EpochLength() int64
- func (k *Keeper) ExportGenesis(ctx context.Context) (*state.GenesisState, error)
- func (k *Keeper) FindWorkerNodesByOwner(ctx sdk.Context, nodeId string) ([]*state.OffchainNode, error)
- func (k *Keeper) GetActiveTopics(ctx context.Context) ([]*state.Topic, error)
- func (k *Keeper) GetAllBondsForDelegator(ctx context.Context, delegator sdk.AccAddress) ([]sdk.AccAddress, []Uint, error)
- func (k *Keeper) GetAllInferences(ctx context.Context, topicId TOPIC_ID, timestamp uint64) (*state.Inferences, error)
- func (k *Keeper) GetBond(ctx context.Context, delegator sdk.AccAddress, target sdk.AccAddress) (Uint, error)
- func (k *Keeper) GetDelegatorStake(ctx context.Context, delegator sdk.AccAddress) (Uint, error)
- func (k *Keeper) GetLastRewardsUpdate(ctx context.Context) (int64, error)
- func (k *Keeper) GetLatestInferencesFromTopic(ctx context.Context, topicId TOPIC_ID) ([]*state.InferenceSetForScoring, error)
- func (k *Keeper) GetMempool(ctx context.Context) ([]state.InferenceRequest, error)
- func (k *Keeper) GetMempoolInferenceRequestById(ctx context.Context, topicId TOPIC_ID, requestId string) (state.InferenceRequest, error)
- func (k *Keeper) GetMempoolInferenceRequestsForTopic(ctx context.Context, topicId TOPIC_ID) ([]state.InferenceRequest, error)
- func (k *Keeper) GetNumTopics(ctx context.Context) (TOPIC_ID, error)
- func (k *Keeper) GetRegisteredTopicsIdsByAddress(ctx context.Context, address sdk.AccAddress) ([]uint64, error)
- func (k *Keeper) GetRegisteredTopicsIdsByReputerAddress(ctx context.Context, address sdk.AccAddress) ([]uint64, error)
- func (k *Keeper) GetRegisteredTopicsIdsByWorkerAddress(ctx context.Context, address sdk.AccAddress) ([]uint64, error)
- func (k *Keeper) GetReputerNormalizedStake(ctx sdk.Context, topicId TOPIC_ID, topicStake *big.Float) (reputerNormalizedStakeMap map[ACC_ADDRESS]*big.Float, retErr error)
- func (k *Keeper) GetRequestDemand(ctx context.Context, requestId string) (Uint, error)
- func (k *Keeper) GetStakePlacedUponTarget(ctx context.Context, target sdk.AccAddress) (Uint, error)
- func (k *Keeper) GetStakeRemovalQueueForDelegator(ctx context.Context, delegator sdk.AccAddress) (state.StakeRemoval, error)
- func (k *Keeper) GetStakesForAccount(ctx context.Context, delegator sdk.AccAddress) ([]*state.StakeInfo, error)
- func (k *Keeper) GetTopicAccumulatedMetDemand(ctx context.Context, topicId TOPIC_ID) (Uint, error)
- func (k *Keeper) GetTopicInferenceLastRan(ctx context.Context, topicId TOPIC_ID) (lastRanTime uint64, err error)
- func (k *Keeper) GetTopicStake(ctx context.Context, topicId TOPIC_ID) (Uint, error)
- func (k *Keeper) GetTopicUnmetDemand(ctx context.Context, topicId TOPIC_ID) (Uint, error)
- func (k *Keeper) GetTopicWeightLastRan(ctx context.Context, topicId TOPIC_ID) (uint64, error)
- func (k *Keeper) GetTopicsByCreator(ctx context.Context, creator string) ([]*state.Topic, error)
- func (k *Keeper) GetTotalStake(ctx context.Context) (Uint, error)
- func (k *Keeper) GetWeightsFromTopic(ctx context.Context, topicId TOPIC_ID) (map[REPUTERS]map[WORKERS]*Uint, error)
- func (k *Keeper) GetWorkerAddressByP2PKey(ctx context.Context, p2pKey string) (sdk.AccAddress, error)
- func (k *Keeper) InactivateTopic(ctx context.Context, topicId TOPIC_ID) error
- func (k *Keeper) IncrementTopicId(ctx context.Context) (TOPIC_ID, error)
- func (k *Keeper) InitGenesis(ctx context.Context, data *state.GenesisState) error
- func (k *Keeper) InsertInference(ctx context.Context, topicId TOPIC_ID, timestamp uint64, ...) error
- func (k *Keeper) InsertInferences(ctx context.Context, topicId TOPIC_ID, timestamp uint64, ...) error
- func (k *Keeper) InsertReputer(ctx context.Context, topicsIds []TOPIC_ID, reputer sdk.AccAddress, ...) error
- func (k *Keeper) InsertWorker(ctx context.Context, topicsIds []TOPIC_ID, worker sdk.AccAddress, ...) error
- func (k *Keeper) IsRequestInMempool(ctx context.Context, topicId TOPIC_ID, requestId string) (bool, error)
- func (k *Keeper) IterateAllTopicStake(ctx context.Context) (collections.Iterator[uint64, cosmosMath.Uint], error)
- func (k *Keeper) MintRewardsCoins(ctx context.Context, amount cosmosMath.Int) error
- func (k *Keeper) RemoveAddressTopic(ctx context.Context, address sdk.AccAddress, topicToRemove uint64) error
- func (k *Keeper) RemoveFromMempool(ctx context.Context, request state.InferenceRequest) error
- func (k *Keeper) RemoveReputer(ctx context.Context, topicId TOPIC_ID, reputerAddr sdk.AccAddress) error
- func (k *Keeper) RemoveStakeFromBond(ctx context.Context, topicsIds []TOPIC_ID, delegator sdk.AccAddress, ...) error
- func (k *Keeper) RemoveStakeFromBondMissingTotalOrTopicStake(ctx context.Context, delegator sdk.AccAddress, target sdk.AccAddress, ...) error
- func (k *Keeper) RemoveStakeFromTopics(ctx context.Context, topicsIds []TOPIC_ID, stake Uint) error
- func (k *Keeper) RemoveUnmetDemand(ctx context.Context, topicId TOPIC_ID, amt cosmosMath.Uint) error
- func (k *Keeper) RemoveWorker(ctx context.Context, topicId TOPIC_ID, workerAddr sdk.AccAddress) error
- func (k *Keeper) SendCoinsFromModuleToModule(ctx context.Context, senderModule, recipientModule string, amt sdk.Coins) error
- func (k *Keeper) SetInference(ctx context.Context, topicID TOPIC_ID, worker sdk.AccAddress, ...) error
- func (k *Keeper) SetLastRewardsUpdate(ctx context.Context, blockHeight int64) error
- func (k *Keeper) SetParams(ctx context.Context, params state.Params) error
- func (k *Keeper) SetRequestDemand(ctx context.Context, requestId string, amount Uint) error
- func (k *Keeper) SetStakePlacedUponTarget(ctx context.Context, target sdk.AccAddress, stake Uint) error
- func (k *Keeper) SetStakeRemovalQueueForDelegator(ctx context.Context, delegator sdk.AccAddress, removalInfo state.StakeRemoval) error
- func (k *Keeper) SetTopic(ctx context.Context, topicId TOPIC_ID, topic state.Topic) error
- func (k *Keeper) SetTopicAccumulatedMetDemand(ctx context.Context, topicId TOPIC_ID, metDemand Uint) error
- func (k *Keeper) SetTopicStake(ctx context.Context, topicId TOPIC_ID, stake Uint) error
- func (k *Keeper) SetTopicUnmetDemand(ctx context.Context, topicId TOPIC_ID, amt cosmosMath.Uint) error
- func (k *Keeper) SetTotalStake(ctx context.Context, totalStake Uint) error
- func (k *Keeper) SetWeight(ctx context.Context, topicId TOPIC_ID, reputer sdk.AccAddress, ...) error
- func (k *Keeper) SubStakePlacedUponTarget(ctx context.Context, target sdk.AccAddress, amount Uint) error
- func (k *Keeper) SubStakePlacement(ctx context.Context, delegator sdk.AccAddress, target sdk.AccAddress, ...) error
- func (k *Keeper) TopicExists(ctx context.Context, topicId TOPIC_ID) (bool, error)
- func (k *Keeper) UpdateTopicInferenceLastRan(ctx context.Context, topicId TOPIC_ID, lastRanTime uint64) error
- func (k *Keeper) UpdateTopicWeightLastRan(ctx context.Context, topicId TOPIC_ID, lastRanTime uint64) error
- func (k *Keeper) WalkAllTopicStake(ctx context.Context, ...) error
- type LIB_P2P_KEY
- type REPUTERS
- type REQUEST_ID
- type TARGET
- type TARGET_STR
- type TOPIC_ID
- type UNIX_TIMESTAMP
- type Uint
- type WORKERS
Constants ¶
const DELAY_WINDOW = 172800 // 48 hours in seconds
const EMISSIONS_PER_EPOCH = 1000
const EPOCH_LENGTH = 5
Emissions rate Constants TODO make these not constants and figure out how they should be changeable by governance or some algorithm or whatever. Likely should be params within the keeper.
const MAX_INFERENCE_REQUEST_VALIDITY = 60 * 60 * 24 * 7 * 24 // 24 weeks approximately 6 months in seconds
const MAX_SLOWEST_ALLOWED_CADENCE = MAX_INFERENCE_REQUEST_VALIDITY // 24 weeks approximately 6 months in seconds
const MAX_TOPICS_PER_BLOCK = 1000 // max number of topics to run cadence for per block
const MIN_FASTEST_ALLOWED_CADENCE = 60 // 1 minute in seconds
const MIN_PRICE_PER_EPOCH = 10 // protocol participants never paid less than this per epoch from consumer demand if enough demand exists
const MIN_TOPIC_DEMAND = 10 // total unmet demand for a topic < this => don't run inference solicatation or weight-adjustment
const MIN_UNMET_DEMAND = 1 // delete requests if they have below this demand remaining
const PRICE_ADJUSTMENT_PRECISION = 10000 // just used for price calculations
const PRICE_CHANGE_PERCENT = 0.1 // how much the price changes per block
const REQUIRED_MINIMUM_STAKE = 1
const TARGET_CAPACITY_PER_BLOCK = 500 // between 0 and this number the price goes down, above this number up to MAX_TOPICS_PER_BLOCK the price goes up
Variables ¶
var TopicIdListValue collcodec.ValueCodec[[]uint64] = topicIdListValueCodec{}
var UintValue collcodec.ValueCodec[math.Uint] = uintValueCodec{}
Functions ¶
func NewMsgServerImpl ¶
NewMsgServerImpl returns an implementation of the module MsgServer interface.
func NewQueryServerImpl ¶
func NewQueryServerImpl(k Keeper) state.QueryServer
NewQueryServerImpl returns an implementation of the module QueryServer.
Types ¶
type ACC_ADDRESS ¶
type ACC_ADDRESS = string
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 // TODO remove with genesis 2-phases refactor https://github.com/cosmos/cosmos-sdk/issues/2862 SetModuleAccount(context.Context, sdk.ModuleAccountI) }
AccountKeeper defines the expected account keeper used for simulations (noalias)
type BLOCK_NUMBER ¶
type BLOCK_NUMBER = int64
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 DELEGATOR ¶
type DELEGATOR = sdk.AccAddress
type DELEGATOR_STR ¶
type DELEGATOR_STR = string
type Int ¶
type Int = cosmosMath.Int
type Keeper ¶
type Keeper struct {
// contains filtered or unexported fields
}
func NewKeeper ¶
func NewKeeper( cdc codec.BinaryCodec, addressCodec address.Codec, storeService storetypes.KVStoreService, ak AccountKeeper, bk BankKeeper) Keeper
func (*Keeper) AddAddressTopics ¶
func (k *Keeper) AddAddressTopics(ctx context.Context, address sdk.AccAddress, newTopics []uint64) error
AddAddressTopics adds new topics to the address's list of topics, avoiding duplicates.
func (*Keeper) AddStake ¶
func (k *Keeper) AddStake(ctx context.Context, topicsIds []TOPIC_ID, delegator string, target string, stake Uint) error
Add stake adds stake to the system for a given delegator and target it adds to existing holdings. it places the stake upon target, from delegator, in amount. it also updates the total stake for the subnet in question and the total global stake. see comments in keeper.go data structures for examples of how the data structure tracking works
func (*Keeper) AddStakePlacedUponTarget ¶
func (k *Keeper) AddStakePlacedUponTarget(ctx context.Context, target sdk.AccAddress, amount Uint) error
Used by Modify functions to change stake placements. This function adds to the stakePlacedUponTarget mapping ONLY and does not modify any of the other stake mappings e.g. delegatorStake totalStake or topicStake in a system.
func (*Keeper) AddStakePlacement ¶
func (k *Keeper) AddStakePlacement(ctx context.Context, delegator sdk.AccAddress, target sdk.AccAddress, amount Uint) error
Used by Modify functions to change stake placements. This function adds to the stakePlacement mapping ONLY and does not modify any of the other stake mappings e.g. delegatorStake totalStake or topicStake in a system.
func (*Keeper) AddStakeToTopics ¶
Add stake into an array of topics
func (*Keeper) AddToMempool ¶
func (*Keeper) AddTopicAccumulateMetDemand ¶
func (*Keeper) AddUnmetDemand ¶
func (*Keeper) CalculateAccumulatedEmissions ¶
return how many new coins should be minted for the next emission
func (*Keeper) ExportGenesis ¶
ExportGenesis exports the module state to a genesis state.
func (*Keeper) FindWorkerNodesByOwner ¶
func (*Keeper) GetActiveTopics ¶
GetActiveTopics returns a slice of all active topics.
func (*Keeper) GetAllBondsForDelegator ¶
func (k *Keeper) GetAllBondsForDelegator(ctx context.Context, delegator sdk.AccAddress) ([]sdk.AccAddress, []Uint, error)
For a given delegator, return a map of every target they've placed stake upon, and how much stake they've placed upon them O(n) over the number of targets registered. since maps of byte array types aren't supported in golang, we instead return two equal length arrays where the first array is the targets, and the second array is the amount of stake placed upon them indexes in the two arrays correspond to each other invariant that len(targets) == len(stakes)
func (*Keeper) GetAllInferences ¶
func (*Keeper) GetBond ¶
func (k *Keeper) GetBond(ctx context.Context, delegator sdk.AccAddress, target sdk.AccAddress) (Uint, error)
For a given delegator and target, find out how much stake the delegator has placed upon the target
func (*Keeper) GetDelegatorStake ¶
for a given address, find out how much stake they've put into the system
func (*Keeper) GetLastRewardsUpdate ¶
Returns the last block height at which rewards emissions were updated
func (*Keeper) GetLatestInferencesFromTopic ¶
func (k *Keeper) GetLatestInferencesFromTopic(ctx context.Context, topicId TOPIC_ID) ([]*state.InferenceSetForScoring, error)
A function that accepts a topicId and returns list of Inferences or error
func (*Keeper) GetMempool ¶
func (*Keeper) GetMempoolInferenceRequestById ¶
func (*Keeper) GetMempoolInferenceRequestsForTopic ¶
func (*Keeper) GetNumTopics ¶
Returns the number of topics that are active in the network
func (*Keeper) GetRegisteredTopicsIdsByAddress ¶
func (k *Keeper) GetRegisteredTopicsIdsByAddress(ctx context.Context, address sdk.AccAddress) ([]uint64, error)
GetRegisteredTopicsByAddress returns a slice of all topics ids registered by a given address.
func (*Keeper) GetRegisteredTopicsIdsByReputerAddress ¶
func (k *Keeper) GetRegisteredTopicsIdsByReputerAddress(ctx context.Context, address sdk.AccAddress) ([]uint64, error)
GetRegisteredTopicsIdsByReputerAddress returns a slice of all topics ids registered by a given reputer address.
func (*Keeper) GetRegisteredTopicsIdsByWorkerAddress ¶
func (k *Keeper) GetRegisteredTopicsIdsByWorkerAddress(ctx context.Context, address sdk.AccAddress) ([]uint64, error)
GetRegisteredTopicsIdsByWorkerAddress returns a slice of all topics ids registered by a given worker address.
func (*Keeper) GetReputerNormalizedStake ¶
func (k *Keeper) GetReputerNormalizedStake( ctx sdk.Context, topicId TOPIC_ID, topicStake *big.Float) (reputerNormalizedStakeMap map[ACC_ADDRESS]*big.Float, retErr error)
for a given topic, returns every reputer node registered to it and their normalized stake
func (*Keeper) GetRequestDemand ¶
func (*Keeper) GetStakePlacedUponTarget ¶
func (*Keeper) GetStakeRemovalQueueForDelegator ¶
func (k *Keeper) GetStakeRemovalQueueForDelegator(ctx context.Context, delegator sdk.AccAddress) (state.StakeRemoval, error)
for a given delegator, get their stake removal information
func (*Keeper) GetStakesForAccount ¶
func (k *Keeper) GetStakesForAccount(ctx context.Context, delegator sdk.AccAddress) ([]*state.StakeInfo, error)
GetStakesForAccount returns the list of stakes for a given account address.
func (*Keeper) GetTopicAccumulatedMetDemand ¶
func (*Keeper) GetTopicInferenceLastRan ¶
func (k *Keeper) GetTopicInferenceLastRan(ctx context.Context, topicId TOPIC_ID) (lastRanTime uint64, err error)
Get the last time an inference was ran for a given topic
func (*Keeper) GetTopicStake ¶
Gets the stake in the network for a given topic
func (*Keeper) GetTopicUnmetDemand ¶
func (*Keeper) GetTopicWeightLastRan ¶
func (*Keeper) GetTopicsByCreator ¶
GetTopicsByCreator returns a slice of all topics created by a given creator.
func (*Keeper) GetTotalStake ¶
Gets the total sum of all stake in the network across all topics
func (*Keeper) GetWeightsFromTopic ¶
func (k *Keeper) GetWeightsFromTopic(ctx context.Context, topicId TOPIC_ID) (map[REPUTERS]map[WORKERS]*Uint, error)
For a given topic return the matrix (double map) of all (reputers, workers) -> weight of reputer upon worker
func (*Keeper) GetWorkerAddressByP2PKey ¶
func (*Keeper) InactivateTopic ¶
func (*Keeper) IncrementTopicId ¶
Gets next topic id
func (*Keeper) InitGenesis ¶
InitGenesis initializes the module state from a genesis state.
func (*Keeper) InsertInference ¶
func (*Keeper) InsertInferences ¶
func (k *Keeper) InsertInferences(ctx context.Context, topicId TOPIC_ID, timestamp uint64, inferences state.Inferences) error
Insert a complete set of inferences for a topic/timestamp. Overwrites previous ones.
func (*Keeper) InsertReputer ¶
func (k *Keeper) InsertReputer(ctx context.Context, topicsIds []TOPIC_ID, reputer sdk.AccAddress, reputerInfo state.OffchainNode) error
Adds a new reputer to the reputer tracking data structures, reputers and topicReputers
func (*Keeper) InsertWorker ¶
func (k *Keeper) InsertWorker(ctx context.Context, topicsIds []TOPIC_ID, worker sdk.AccAddress, workerInfo state.OffchainNode) error
Adds a new worker to the worker tracking data structures, workers and topicWorkers
func (*Keeper) IsRequestInMempool ¶
func (*Keeper) IterateAllTopicStake ¶
func (k *Keeper) IterateAllTopicStake(ctx context.Context) (collections.Iterator[uint64, cosmosMath.Uint], error)
func (*Keeper) MintRewardsCoins ¶
mint new rewards coins to this module account
func (*Keeper) RemoveAddressTopic ¶
func (k *Keeper) RemoveAddressTopic(ctx context.Context, address sdk.AccAddress, topicToRemove uint64) error
RemoveAddressTopic removes a specified topic from the address's list of topics.
func (*Keeper) RemoveFromMempool ¶
func (*Keeper) RemoveReputer ¶
func (k *Keeper) RemoveReputer(ctx context.Context, topicId TOPIC_ID, reputerAddr sdk.AccAddress) error
Remove a reputer to the reputer tracking data structures and topicReputers
func (*Keeper) RemoveStakeFromBond ¶
func (k *Keeper) RemoveStakeFromBond( ctx context.Context, topicsIds []TOPIC_ID, delegator sdk.AccAddress, target sdk.AccAddress, stake Uint) error
Remove stake from bond updates the various data structures associated with removing stake from the system for a given delegator and target it removes the stake upon target, from delegator, in amount. it also updates the total stake for the topic in question and the total global stake. see comments in keeper.go data structures for examples of how the data structure tracking works
func (*Keeper) RemoveStakeFromBondMissingTotalOrTopicStake ¶
func (k *Keeper) RemoveStakeFromBondMissingTotalOrTopicStake( ctx context.Context, delegator sdk.AccAddress, target sdk.AccAddress, stake Uint) error
Remove stake from bond updates the various data structures associated with removing stake from the system for a given delegator and target it removes the stake upon target, from delegator, in amount. it *DOES NOT* update the total stake for the subnet in question and the total global stake. this is used by RemoveAllStake to avoid double counting the topic/total stake removal
func (*Keeper) RemoveStakeFromTopics ¶
Remove stake from an array of topics
func (*Keeper) RemoveUnmetDemand ¶
func (*Keeper) RemoveWorker ¶
func (k *Keeper) RemoveWorker(ctx context.Context, topicId TOPIC_ID, workerAddr sdk.AccAddress) error
Remove a worker to the worker tracking data structures and topicWorkers
func (*Keeper) SendCoinsFromModuleToModule ¶
func (k *Keeper) SendCoinsFromModuleToModule(ctx context.Context, senderModule, recipientModule string, amt sdk.Coins) error
SendCoinsFromModuleToModule
func (*Keeper) SetInference ¶
func (*Keeper) SetLastRewardsUpdate ¶
Set the last block height at which rewards emissions were updated
func (*Keeper) SetRequestDemand ¶
func (*Keeper) SetStakePlacedUponTarget ¶
func (*Keeper) SetStakeRemovalQueueForDelegator ¶
func (k *Keeper) SetStakeRemovalQueueForDelegator(ctx context.Context, delegator sdk.AccAddress, removalInfo state.StakeRemoval) error
For a given delegator, adds their stake removal information to the removal queue for delay waiting
func (*Keeper) SetTopicAccumulatedMetDemand ¶
func (*Keeper) SetTopicStake ¶
Sets the stake in the network for a given topic
func (*Keeper) SetTopicUnmetDemand ¶
func (*Keeper) SetTotalStake ¶
Sets the total sum of all stake in the network across all topics
func (*Keeper) SetWeight ¶
func (k *Keeper) SetWeight( ctx context.Context, topicId TOPIC_ID, reputer sdk.AccAddress, worker sdk.AccAddress, weight Uint) error
func (*Keeper) SubStakePlacedUponTarget ¶
func (k *Keeper) SubStakePlacedUponTarget(ctx context.Context, target sdk.AccAddress, amount Uint) error
Used by Modify functions to change stake placements. This function subtracts from the stakePlacedUponTarget mapping ONLY and does not modify any of the other stake mappings e.g. delegatorStake totalStake or topicStake in a system.
func (*Keeper) SubStakePlacement ¶
func (k *Keeper) SubStakePlacement(ctx context.Context, delegator sdk.AccAddress, target sdk.AccAddress, amount Uint) error
Used by Modify functions to change stake placements. This function subtracts from the stakePlacement mapping ONLY and does not modify any of the other stake mappings e.g. delegatorStake totalStake or topicStake in a system.
func (*Keeper) TopicExists ¶
Checks if a topic exists
func (*Keeper) UpdateTopicInferenceLastRan ¶
func (k *Keeper) UpdateTopicInferenceLastRan(ctx context.Context, topicId TOPIC_ID, lastRanTime uint64) error
UpdateTopicInferenceLastRan updates the InferenceLastRan timestamp for a given topic.
type LIB_P2P_KEY ¶
type LIB_P2P_KEY = string
type REQUEST_ID ¶
type REQUEST_ID = string
type TARGET ¶
type TARGET = sdk.AccAddress
type TARGET_STR ¶
type TARGET_STR = string
type UNIX_TIMESTAMP ¶
type UNIX_TIMESTAMP = uint64
type Uint ¶
type Uint = cosmosMath.Uint