"github.com/vapor/toolbar/federation/service"
)
-const filterAssetIDUpdateSencond = 1
+const filterAssetIDUpdateSecond = 1
type mainchainKeeper struct {
cfg *config.Chain
filterAssets: make(map[string]bool),
}
- if err := keeper.initFilterAssetID(); err != nil {
- log.WithField("err", err).Fatal("fail on init filterAssetID")
+ if err := keeper.fillFilterAssetID(); err != nil {
+ log.WithField("err", err).Fatal("fail on fill filterAssetID")
}
return keeper
}
go m.checkFilterAssetIDUpdate()
ticker := time.NewTicker(time.Duration(m.cfg.SyncSeconds) * time.Second)
+ defer ticker.Stop()
+
for ; true; <-ticker.C {
for {
isUpdate, err := m.syncBlock()
}
func (m *mainchainKeeper) checkFilterAssetIDUpdate() error {
- ticker := time.NewTicker(time.Duration(filterAssetIDUpdateSencond) * time.Second)
+ ticker := time.NewTicker(time.Duration(filterAssetIDUpdateSecond) * time.Second)
+ defer ticker.Stop()
+
for ; true; <-ticker.C {
- filterAssets := []*orm.FilterAsset{}
- if err := m.db.Find(filterAssets).Order("id asc").Error; err != nil {
+ if err := m.fillFilterAssetID(); err != nil {
return err
}
-
- for i := len(filterAssets); i < len(filterAssets); i++ {
- m.filterAssets[filterAssets[i].AssetID] = true
- }
}
return nil
}
-func (m *mainchainKeeper) initFilterAssetID() error {
+func (m *mainchainKeeper) fillFilterAssetID() error {
filterAssets := []*orm.FilterAsset{}
if err := m.db.Find(filterAssets).Order("id asc").Error; err != nil {
return err
}
- for i := 0; i < len(filterAssets); i++ {
+ for i := len(m.filterAssets); i < len(filterAssets); i++ {
m.filterAssets[filterAssets[i].AssetID] = true
}
return nil