BeginBlocker is called at the beginning of each block
(ctx context.Context)
| 16 | |
| 17 | // BeginBlocker is called at the beginning of each block |
| 18 | func (k *keeper) BeginBlocker(ctx context.Context) error { |
| 19 | startTm := telemetry.Now() |
| 20 | defer telemetry.ModuleMeasureSince(types.ModuleName, startTm, telemetry.MetricKeyBeginBlocker) |
| 21 | |
| 22 | sctx := sdk.UnwrapSDKContext(ctx) |
| 23 | // reset the ledger sequence on each new block |
| 24 | // sequence must start from 1 for ledger record id range to work correctly |
| 25 | err := k.ledgerSequence.Set(ctx, 0) |
| 26 | if err != nil { |
| 27 | sctx.Logger().Error("failed to reset ledger sequence", "err", err) |
| 28 | } |
| 29 | |
| 30 | return nil |
| 31 | } |
| 32 | |
| 33 | // EndBlocker is called at the end of each block to manage snapshots. |
| 34 | // It records periodic snapshots and prunes old ones. |