0g-chain/x/hvt/spec/06_begin_block.md
Kevin Davis fe38c4aa43
harvest v1 (#658)
* wip: and types and keeper methods

* add keeper tests

* add client

* add spec and events

* respond to review comments

* apply suggestions from review

* feat: add test for validator vesting case

* use int64 for multiplier type

* remove incentive changes
2020-09-21 17:08:43 -04:00

582 B

Begin Block

At the start of each block, hard tokens are distributed (as claims) to liquidity providers and delegators, respectively.

// BeginBlocker applies rewards to liquidity providers and delegators according to params
func BeginBlocker(ctx sdk.Context, k Keeper) {
  k.ApplyDepositRewards(ctx)
  if k.ShouldDistributeValidatorRewards(ctx, k.BondDenom(ctx)) {
    k.ApplyDelegationRewards(ctx, k.BondDenom(ctx))
    k.SetPreviousDelegationDistribution(ctx, ctx.BlockTime(), k.BondDenom(ctx))
  }
  k.SetPreviousBlockTime(ctx, ctx.BlockTime())
}