ticker in the begin block logic

This commit is contained in:
rigelrozanski 2017-10-03 03:47:26 -04:00
parent 612ca9dc8c
commit 007fc330a4
1 changed files with 19 additions and 0 deletions

View File

@ -163,9 +163,28 @@ func (app *Basecoin) InitChain(req abci.RequestInitChain) {
// }
}
// Ticker - has the ticker function
type Ticker interface {
Tick(ctx sdk.Context, store sm.SimpleDB) ([]*abci.Validator, error)
}
// BeginBlock - ABCI
func (app *Basecoin) BeginBlock(req abci.RequestBeginBlock) {
app.height++
ticker, ok := app.handler.(Ticker)
if ok {
ctx := stack.NewContext(
app.GetChainID(),
app.height,
app.logger.With("call", "delivertx"),
)
diff, err := ticker.Tick(ctx, app.state.Append())
if err != nil {
panic(err)
}
app.addValChange(diff)
}
// for _, plugin := range app.plugins.GetList() {
// plugin.BeginBlock(app.state, hash, header)
// }