Skip to content

Commit

Permalink
rm unused function; fix lint; fix missing param update; add new param…
Browse files Browse the repository at this point in the history
… to migration
  • Loading branch information
kpeluso committed Dec 18, 2024
1 parent a0ecfa2 commit 707af31
Show file tree
Hide file tree
Showing 11 changed files with 539 additions and 511 deletions.
281 changes: 142 additions & 139 deletions test/integration/update_params_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,51 +46,52 @@ func UpdateParamsChecks(m testCommon.TestConfig) {
MaxTopReputersToReward: []uint64{24},
MinEpochLength: []int64{1},
// don't update the following fields
Version: nil,
MaxSerializedMsgLength: nil,
MinTopicWeight: nil,
RequiredMinimumStake: nil,
RemoveStakeDelayWindow: nil,
BetaEntropy: nil,
LearningRate: nil,
MaxGradientThreshold: nil,
MinStakeFraction: nil,
MaxUnfulfilledWorkerRequests: nil,
MaxUnfulfilledReputerRequests: nil,
TopicRewardStakeImportance: nil,
TopicRewardFeeRevenueImportance: nil,
TopicRewardAlpha: nil,
TaskRewardAlpha: nil,
ValidatorsVsAlloraPercentReward: nil,
MaxSamplesToScaleScores: nil,
MaxTopInferersToReward: nil,
MaxTopForecastersToReward: nil,
CreateTopicFee: nil,
GradientDescentMaxIters: nil,
RegistrationFee: nil,
DefaultPageLimit: nil,
MaxPageLimit: nil,
MinEpochLengthRecordLimit: nil,
BlocksPerMonth: nil,
PRewardInference: nil,
PRewardForecast: nil,
PRewardReputer: nil,
CRewardInference: nil,
CRewardForecast: nil,
CNorm: nil,
HalfMaxProcessStakeRemovalsEndBlock: nil,
DataSendingFee: nil,
EpsilonSafeDiv: nil,
MaxElementsPerForecast: nil,
MaxActiveTopicsPerBlock: nil,
MaxStringLength: nil,
InitialRegretQuantile: nil,
PNormSafeDiv: nil,
GlobalWhitelistEnabled: nil,
TopicCreatorWhitelistEnabled: nil,
MinExperiencedWorkerRegrets: nil,
InferenceOutlierDetectionThreshold: nil,
InferenceOutlierDetectionAlpha: nil,
Version: nil,
MaxSerializedMsgLength: nil,
MinTopicWeight: nil,
RequiredMinimumStake: nil,
RemoveStakeDelayWindow: nil,
BetaEntropy: nil,
LearningRate: nil,
MaxGradientThreshold: nil,
MinStakeFraction: nil,
MaxUnfulfilledWorkerRequests: nil,
MaxUnfulfilledReputerRequests: nil,
TopicRewardStakeImportance: nil,
TopicRewardFeeRevenueImportance: nil,
TopicRewardAlpha: nil,
TaskRewardAlpha: nil,
ValidatorsVsAlloraPercentReward: nil,
MaxSamplesToScaleScores: nil,
MaxTopInferersToReward: nil,
MaxTopForecastersToReward: nil,
CreateTopicFee: nil,
GradientDescentMaxIters: nil,
RegistrationFee: nil,
DefaultPageLimit: nil,
MaxPageLimit: nil,
MinEpochLengthRecordLimit: nil,
BlocksPerMonth: nil,
PRewardInference: nil,
PRewardForecast: nil,
PRewardReputer: nil,
CRewardInference: nil,
CRewardForecast: nil,
CNorm: nil,
HalfMaxProcessStakeRemovalsEndBlock: nil,
DataSendingFee: nil,
EpsilonSafeDiv: nil,
MaxElementsPerForecast: nil,
MaxActiveTopicsPerBlock: nil,
MaxStringLength: nil,
InitialRegretQuantile: nil,
PNormSafeDiv: nil,
GlobalWhitelistEnabled: nil,
TopicCreatorWhitelistEnabled: nil,
MinExperiencedWorkerRegrets: nil,
InferenceOutlierDetectionThreshold: nil,
InferenceOutlierDetectionAlpha: nil,
NewParticipantScoreInitializationKappa: nil,
},
}
txResp, err := m.Client.BroadcastTx(ctx, m.AliceAcc, updateParamRequest)
Expand All @@ -105,53 +106,54 @@ func UpdateParamsChecks(m testCommon.TestConfig) {
Params: &emissionstypes.OptionalParams{
EpsilonReputer: input,
// don't update the following fields
Version: nil,
MaxTopReputersToReward: nil,
MinEpochLength: nil,
MaxSerializedMsgLength: nil,
MinTopicWeight: nil,
RequiredMinimumStake: nil,
RemoveStakeDelayWindow: nil,
BetaEntropy: nil,
LearningRate: nil,
MaxGradientThreshold: nil,
MinStakeFraction: nil,
MaxUnfulfilledWorkerRequests: nil,
MaxUnfulfilledReputerRequests: nil,
TopicRewardStakeImportance: nil,
TopicRewardFeeRevenueImportance: nil,
TopicRewardAlpha: nil,
TaskRewardAlpha: nil,
ValidatorsVsAlloraPercentReward: nil,
MaxSamplesToScaleScores: nil,
MaxTopInferersToReward: nil,
MaxTopForecastersToReward: nil,
CreateTopicFee: nil,
GradientDescentMaxIters: nil,
RegistrationFee: nil,
DefaultPageLimit: nil,
MaxPageLimit: nil,
MinEpochLengthRecordLimit: nil,
BlocksPerMonth: nil,
PRewardInference: nil,
PRewardForecast: nil,
PRewardReputer: nil,
CRewardInference: nil,
CRewardForecast: nil,
CNorm: nil,
HalfMaxProcessStakeRemovalsEndBlock: nil,
DataSendingFee: nil,
EpsilonSafeDiv: nil,
MaxElementsPerForecast: nil,
MaxActiveTopicsPerBlock: nil,
MaxStringLength: nil,
InitialRegretQuantile: nil,
PNormSafeDiv: nil,
GlobalWhitelistEnabled: nil,
TopicCreatorWhitelistEnabled: nil,
MinExperiencedWorkerRegrets: nil,
InferenceOutlierDetectionThreshold: nil,
InferenceOutlierDetectionAlpha: nil,
Version: nil,
MaxTopReputersToReward: nil,
MinEpochLength: nil,
MaxSerializedMsgLength: nil,
MinTopicWeight: nil,
RequiredMinimumStake: nil,
RemoveStakeDelayWindow: nil,
BetaEntropy: nil,
LearningRate: nil,
MaxGradientThreshold: nil,
MinStakeFraction: nil,
MaxUnfulfilledWorkerRequests: nil,
MaxUnfulfilledReputerRequests: nil,
TopicRewardStakeImportance: nil,
TopicRewardFeeRevenueImportance: nil,
TopicRewardAlpha: nil,
TaskRewardAlpha: nil,
ValidatorsVsAlloraPercentReward: nil,
MaxSamplesToScaleScores: nil,
MaxTopInferersToReward: nil,
MaxTopForecastersToReward: nil,
CreateTopicFee: nil,
GradientDescentMaxIters: nil,
RegistrationFee: nil,
DefaultPageLimit: nil,
MaxPageLimit: nil,
MinEpochLengthRecordLimit: nil,
BlocksPerMonth: nil,
PRewardInference: nil,
PRewardForecast: nil,
PRewardReputer: nil,
CRewardInference: nil,
CRewardForecast: nil,
CNorm: nil,
HalfMaxProcessStakeRemovalsEndBlock: nil,
DataSendingFee: nil,
EpsilonSafeDiv: nil,
MaxElementsPerForecast: nil,
MaxActiveTopicsPerBlock: nil,
MaxStringLength: nil,
InitialRegretQuantile: nil,
PNormSafeDiv: nil,
GlobalWhitelistEnabled: nil,
TopicCreatorWhitelistEnabled: nil,
MinExperiencedWorkerRegrets: nil,
InferenceOutlierDetectionThreshold: nil,
InferenceOutlierDetectionAlpha: nil,
NewParticipantScoreInitializationKappa: nil,
},
}
_, err = m.Client.BroadcastTx(ctx, m.BobAcc, updateParamRequest)
Expand All @@ -170,53 +172,54 @@ func UpdateParamsChecks(m testCommon.TestConfig) {
Params: &emissionstypes.OptionalParams{
EpsilonReputer: input,
// don't update the following fields
Version: nil,
MaxTopReputersToReward: nil,
MinEpochLength: nil,
MaxSerializedMsgLength: nil,
MinTopicWeight: nil,
RequiredMinimumStake: nil,
RemoveStakeDelayWindow: nil,
BetaEntropy: nil,
LearningRate: nil,
MaxGradientThreshold: nil,
MinStakeFraction: nil,
MaxUnfulfilledWorkerRequests: nil,
MaxUnfulfilledReputerRequests: nil,
TopicRewardStakeImportance: nil,
TopicRewardFeeRevenueImportance: nil,
TopicRewardAlpha: nil,
TaskRewardAlpha: nil,
ValidatorsVsAlloraPercentReward: nil,
MaxSamplesToScaleScores: nil,
MaxTopInferersToReward: nil,
MaxTopForecastersToReward: nil,
CreateTopicFee: nil,
GradientDescentMaxIters: nil,
RegistrationFee: nil,
DefaultPageLimit: nil,
MaxPageLimit: nil,
MinEpochLengthRecordLimit: nil,
BlocksPerMonth: nil,
PRewardInference: nil,
PRewardForecast: nil,
PRewardReputer: nil,
CRewardInference: nil,
CRewardForecast: nil,
CNorm: nil,
HalfMaxProcessStakeRemovalsEndBlock: nil,
DataSendingFee: nil,
EpsilonSafeDiv: nil,
MaxElementsPerForecast: nil,
MaxActiveTopicsPerBlock: nil,
MaxStringLength: nil,
InitialRegretQuantile: nil,
PNormSafeDiv: nil,
GlobalWhitelistEnabled: nil,
TopicCreatorWhitelistEnabled: nil,
MinExperiencedWorkerRegrets: nil,
InferenceOutlierDetectionThreshold: nil,
InferenceOutlierDetectionAlpha: nil,
Version: nil,
MaxTopReputersToReward: nil,
MinEpochLength: nil,
MaxSerializedMsgLength: nil,
MinTopicWeight: nil,
RequiredMinimumStake: nil,
RemoveStakeDelayWindow: nil,
BetaEntropy: nil,
LearningRate: nil,
MaxGradientThreshold: nil,
MinStakeFraction: nil,
MaxUnfulfilledWorkerRequests: nil,
MaxUnfulfilledReputerRequests: nil,
TopicRewardStakeImportance: nil,
TopicRewardFeeRevenueImportance: nil,
TopicRewardAlpha: nil,
TaskRewardAlpha: nil,
ValidatorsVsAlloraPercentReward: nil,
MaxSamplesToScaleScores: nil,
MaxTopInferersToReward: nil,
MaxTopForecastersToReward: nil,
CreateTopicFee: nil,
GradientDescentMaxIters: nil,
RegistrationFee: nil,
DefaultPageLimit: nil,
MaxPageLimit: nil,
MinEpochLengthRecordLimit: nil,
BlocksPerMonth: nil,
PRewardInference: nil,
PRewardForecast: nil,
PRewardReputer: nil,
CRewardInference: nil,
CRewardForecast: nil,
CNorm: nil,
HalfMaxProcessStakeRemovalsEndBlock: nil,
DataSendingFee: nil,
EpsilonSafeDiv: nil,
MaxElementsPerForecast: nil,
MaxActiveTopicsPerBlock: nil,
MaxStringLength: nil,
InitialRegretQuantile: nil,
PNormSafeDiv: nil,
GlobalWhitelistEnabled: nil,
TopicCreatorWhitelistEnabled: nil,
MinExperiencedWorkerRegrets: nil,
InferenceOutlierDetectionThreshold: nil,
InferenceOutlierDetectionAlpha: nil,
NewParticipantScoreInitializationKappa: nil,
},
}
txResp, err = m.Client.BroadcastTx(ctx, m.AliceAcc, updateParamRequest)
Expand Down
41 changes: 0 additions & 41 deletions x/emissions/keeper/ema_scores.go
Original file line number Diff line number Diff line change
Expand Up @@ -236,44 +236,3 @@ func (k *Keeper) CalcAndSaveReputerScoreEmaWithLastSavedTopicQuantile(
types.EmitNewActorEMAScoresSetEvent(ctx, types.ActorType_ACTOR_TYPE_REPUTER, emaScores, activeArr)
return nil
}

// helper function to calculate initial score for new participants
func (k *Keeper) calculateInitialScore(
ctx context.Context,
topicId TopicId,
address ActorId,
lowestScore types.Score,
last25thPercentile alloraMath.Dec,
) (types.Score, error) {
// Get kappa parameter from module params
params, err := k.GetParams(ctx)
if err != nil {
return types.Score{}, errors.Wrapf(err, "error getting module params")
}
kappa := params.NewParticipantScoreInitializationKappa

// Calculate initial score using formula: (1+kappa)*lowestScore-kappa*last25thPercentile
onePlusKappa, err := alloraMath.NewDecFromInt64(1).Add(kappa)
if err != nil {
return types.Score{}, errors.Wrapf(err, "error creating 1+kappa")
}
lowestScoreMul, err := lowestScore.Score.Mul(onePlusKappa)
if err != nil {
return types.Score{}, errors.Wrapf(err, "error multiplying lowest score by 1+kappa")
}
last25thPercentileMul, err := last25thPercentile.Mul(kappa)
if err != nil {
return types.Score{}, errors.Wrapf(err, "error multiplying last 25th percentile by kappa")
}
initialScore, err := lowestScoreMul.Sub(last25thPercentileMul)
if err != nil {
return types.Score{}, errors.Wrapf(err, "error calculating initial score")
}

return types.Score{
TopicId: topicId,
Address: address,
Score: initialScore,
BlockHeight: 0,
}, nil
}
Loading

0 comments on commit 707af31

Please sign in to comment.