Documentation ¶
Index ¶
- type Hooks
- type Keeper
- func (k Keeper) AfterEpochEnd(ctx sdk.Context, epochIdentifier string, _ int64)
- func (k Keeper) AllocationMeter(c context.Context, req *types.QueryAllocationMeterRequest) (*types.QueryAllocationMeterResponse, error)
- func (k Keeper) AllocationMeters(c context.Context, req *types.QueryAllocationMetersRequest) (*types.QueryAllocationMetersResponse, error)
- func (k Keeper) BeforeEpochStart(_ sdk.Context, _ string, _ int64)
- func (k Keeper) CancelIncentive(ctx sdk.Context, contract common.Address) error
- func (k Keeper) DeleteGasMeter(ctx sdk.Context, gm types.GasMeter)
- func (k Keeper) DeleteIncentiveAndUpdateAllocationMeters(ctx sdk.Context, incentive types.Incentive)
- func (k Keeper) DistributeRewards(ctx sdk.Context) error
- func (k Keeper) GasMeter(c context.Context, req *types.QueryGasMeterRequest) (*types.QueryGasMeterResponse, error)
- func (k Keeper) GasMeters(c context.Context, req *types.QueryGasMetersRequest) (*types.QueryGasMetersResponse, error)
- func (k Keeper) GetAllAllocationMeters(ctx sdk.Context) []sdk.DecCoin
- func (k Keeper) GetAllIncentives(ctx sdk.Context) []types.Incentive
- func (k Keeper) GetAllocationMeter(ctx sdk.Context, denom string) (sdk.DecCoin, bool)
- func (k Keeper) GetGasMeter(ctx sdk.Context, contract, participant common.Address) (uint64, bool)
- func (k Keeper) GetIncentive(ctx sdk.Context, contract common.Address) (types.Incentive, bool)
- func (k Keeper) GetIncentiveGasMeters(ctx sdk.Context, contract common.Address) []types.GasMeter
- func (k Keeper) GetIncentivesGasMeters(ctx sdk.Context) []types.GasMeter
- func (k Keeper) GetParams(ctx sdk.Context) (params types.Params)
- func (k Keeper) Hooks() Hooks
- func (k Keeper) Incentive(c context.Context, req *types.QueryIncentiveRequest) (*types.QueryIncentiveResponse, error)
- func (k Keeper) Incentives(c context.Context, req *types.QueryIncentivesRequest) (*types.QueryIncentivesResponse, error)
- func (k Keeper) IsIncentiveRegistered(ctx sdk.Context, contract common.Address) bool
- func (k Keeper) IterateIncentiveGasMeters(ctx sdk.Context, contract common.Address, ...)
- func (k Keeper) IterateIncentives(ctx sdk.Context, handlerFn func(incentive types.Incentive) (stop bool))
- func (k Keeper) Logger(ctx sdk.Context) log.Logger
- func (k Keeper) Params(c context.Context, _ *types.QueryParamsRequest) (*types.QueryParamsResponse, error)
- func (k Keeper) PostTxProcessing(ctx sdk.Context, msg core.Message, receipt *ethtypes.Receipt) error
- func (k Keeper) RegisterIncentive(ctx sdk.Context, contract common.Address, allocations sdk.DecCoins, ...) (*types.Incentive, error)
- func (k Keeper) SetAllocationMeter(ctx sdk.Context, am sdk.DecCoin)
- func (k Keeper) SetGasMeter(ctx sdk.Context, gm types.GasMeter)
- func (k Keeper) SetIncentive(ctx sdk.Context, incentive types.Incentive)
- func (k Keeper) SetIncentiveTotalGas(ctx sdk.Context, incentive types.Incentive, gas uint64)
- func (k Keeper) SetParams(ctx sdk.Context, params types.Params) error
- func (k *Keeper) UpdateParams(goCtx context.Context, req *types.MsgUpdateParams) (*types.MsgUpdateParamsResponse, error)
- type Migrator
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Hooks ¶
type Hooks struct {
// contains filtered or unexported fields
}
Hooks wrapper struct for incentives keeper
func (Hooks) AfterEpochEnd ¶
AfterEpochEnd implements EpochHooks
func (Hooks) BeforeEpochStart ¶
BeforeEpochStart implements EpochHooks
type Keeper ¶
type Keeper struct {
// contains filtered or unexported fields
}
Keeper of this module maintains collections of incentives.
func NewKeeper ¶
func NewKeeper( storeKey storetypes.StoreKey, cdc codec.BinaryCodec, authority sdk.AccAddress, ak types.AccountKeeper, bk types.BankKeeper, ik types.InflationKeeper, sk types.StakeKeeper, evmKeeper types.EVMKeeper, ) Keeper
NewKeeper creates new instances of the incentives Keeper
func (Keeper) AfterEpochEnd ¶
AfterEpochEnd distributes the contract incentives at the end of each epoch
func (Keeper) AllocationMeter ¶
func (k Keeper) AllocationMeter( c context.Context, req *types.QueryAllocationMeterRequest, ) (*types.QueryAllocationMeterResponse, error)
AllocationMeter returns a given registered allocation meter
func (Keeper) AllocationMeters ¶
func (k Keeper) AllocationMeters( c context.Context, req *types.QueryAllocationMetersRequest, ) (*types.QueryAllocationMetersResponse, error)
AllocationMeters return registered allocation meters
func (Keeper) BeforeEpochStart ¶
BeforeEpochStart performs a no-op
func (Keeper) CancelIncentive ¶
RegisterIncentive deletes the incentive for a contract
func (Keeper) DeleteGasMeter ¶
DeleteGasMeter removes a gasMeter.
func (Keeper) DeleteIncentiveAndUpdateAllocationMeters ¶
func (k Keeper) DeleteIncentiveAndUpdateAllocationMeters(ctx sdk.Context, incentive types.Incentive)
DeleteIncentiveAndUpdateAllocationMeters removes an incentive and updates the percentage of incentives allocated to each denomination.
func (Keeper) DistributeRewards ¶
DistributeRewards transfers the allocated rewards to the participants of a given incentive.
- allocates the amount to be distributed from the inflation pool
- distributes the rewards to all participants
- deletes all gas meters
- updates the remaining epochs of each incentive
- sets the cumulative totalGas to zero
func (Keeper) GasMeter ¶
func (k Keeper) GasMeter( c context.Context, req *types.QueryGasMeterRequest, ) (*types.QueryGasMeterResponse, error)
GasMeter returns a given registered gas meter
func (Keeper) GasMeters ¶
func (k Keeper) GasMeters( c context.Context, req *types.QueryGasMetersRequest, ) (*types.QueryGasMetersResponse, error)
GasMeters return active gas meters
func (Keeper) GetAllAllocationMeters ¶
GetAllAllocationMeters - get all registered AllocationMeters
func (Keeper) GetAllIncentives ¶
GetAllIncentives - get all registered Incentives
func (Keeper) GetAllocationMeter ¶
GetAllocationMeter - get registered allocationMeter from the identifier
func (Keeper) GetGasMeter ¶
func (k Keeper) GetGasMeter( ctx sdk.Context, contract, participant common.Address, ) (uint64, bool)
GetGasMeter - get cumulativeGas from gas meter
func (Keeper) GetIncentive ¶
GetIncentive - get registered incentive from the identifier
func (Keeper) GetIncentiveGasMeters ¶
GetIncentiveGasMeters - get all registered GasMeters per contract
func (Keeper) GetIncentivesGasMeters ¶
GetIncentivesGasMeters - get all registered GasMeters per Incentive
func (Keeper) Incentive ¶
func (k Keeper) Incentive( c context.Context, req *types.QueryIncentiveRequest, ) (*types.QueryIncentiveResponse, error)
Incentive returns a given registered incentive
func (Keeper) Incentives ¶
func (k Keeper) Incentives( c context.Context, req *types.QueryIncentivesRequest, ) (*types.QueryIncentivesResponse, error)
Incentives return registered incentives
func (Keeper) IsIncentiveRegistered ¶
IsIncentiveRegistered - check if registered Incentive is registered
func (Keeper) IterateIncentiveGasMeters ¶
func (k Keeper) IterateIncentiveGasMeters( ctx sdk.Context, contract common.Address, handlerFn func(gm types.GasMeter) (stop bool), )
IterateIncentiveGasMeters iterates over all the given registered incentivized contract's `GasMeter` and performs a callback.
func (Keeper) IterateIncentives ¶
func (k Keeper) IterateIncentives( ctx sdk.Context, handlerFn func(incentive types.Incentive) (stop bool), )
IterateIncentives iterates over all registered `Incentives` and performs a callback.
func (Keeper) Params ¶
func (k Keeper) Params( c context.Context, _ *types.QueryParamsRequest, ) (*types.QueryParamsResponse, error)
Params return hub contract param
func (Keeper) PostTxProcessing ¶
func (k Keeper) PostTxProcessing(ctx sdk.Context, msg core.Message, receipt *ethtypes.Receipt) error
PostTxProcessing implements EvmHooks.PostTxProcessing. After each successful interaction with an incentivized contract, the participants's GasUsed is added to its gasMeter.
func (Keeper) RegisterIncentive ¶
func (k Keeper) RegisterIncentive( ctx sdk.Context, contract common.Address, allocations sdk.DecCoins, epochs uint32, ) (*types.Incentive, error)
RegisterIncentive creates an incentive for a contract
func (Keeper) SetAllocationMeter ¶
SetAllocationMeter stores an allocationMeter
func (Keeper) SetGasMeter ¶
SetGasMeter stores a gasMeter
func (Keeper) SetIncentive ¶
SetIncentive stores an incentive
func (Keeper) SetIncentiveTotalGas ¶
Set total cummulative gas of a given incentive
func (*Keeper) UpdateParams ¶
func (k *Keeper) UpdateParams(goCtx context.Context, req *types.MsgUpdateParams) (*types.MsgUpdateParamsResponse, error)
UpdateParams implements the gRPC MsgServer interface. When an UpdateParams proposal passes, it updates the module parameters. The update can only be performed if the requested authority is the Cosmos SDK governance module account.