0g-chain/x/hard/spec/06_begin_block.md
2020-12-21 18:18:55 +01: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())
}