package
0.3.0
Repository: https://github.com/mars-protocol/hub.git
Documentation: pkg.go.dev

# README

Incentives

The incentives module manages incentivization for MARS stakers. Not to be confused with incentives for lending/borrowing activities, which are managed by a wasm contract deployed at each Outpost.

The release of incentives are defined by Schedules. Each incentives schedule consists three (3) parameters:

  • StartTime
  • EndTime
  • TotalAmount

Between the timespan defined by StartTime and EndTime, coins specified by TotalAmount will be released as staking rewards linearly, in the BeginBlocker of each block. Each validator who have signed the previous block gets a portion of the block reward pro-rata according to their voting power.

A new schedule can be created upon a successful CreateIncentivesScheduleProposal. The incentives module will withdraw the coins corresponding to TotalAmount from the community pool to its module account. Conversely, an active schedule can be cancelled upon a successful TerminateIncentivesScheduleProposal. All coins yet to be distributed will be returned to the community pool.

There can be multiple schedules active at the same time, each identified by a uint64. Each schedule can release multiple coins, not limited to the MARS token.

# Packages

No description provided by the author
No description provided by the author
Package types is a reverse proxy.

# Functions

BeginBlocker distributes block rewards to validators who have signed the previous block.
NewAppModule creates a new AppModule object.
NewMsgHandler creates a new handler for messages.
NewProposalHandler creates a new handler for governance proposals.

# Structs

AppModule implements an application module for the safety fund module.
AppModuleBasic defines the basic application module used by the safetyfund module.