0g-chain/x/pricefeed/abci.go
mergify[bot] f898e3aff4
feat(metrics): add timing metrics to abci methods (backport #1669) (#1685)
* feat(metrics): add timing metrics to abci methods (#1669)

* feat(metrics): add timing metrics to abci methods

* update changelog

(cherry picked from commit 8b6bbd36f4)

# Conflicts:
#	CHANGELOG.md

* fix changlog conflicts

---------

Co-authored-by: Robert Pirtle <Astropirtle@gmail.com>
2023-08-25 16:11:45 -07:00

29 lines
683 B
Go

package pricefeed
import (
"errors"
"time"
"github.com/cosmos/cosmos-sdk/telemetry"
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/kava-labs/kava/x/pricefeed/keeper"
"github.com/kava-labs/kava/x/pricefeed/types"
)
// EndBlocker updates the current pricefeed
func EndBlocker(ctx sdk.Context, k keeper.Keeper) {
defer telemetry.ModuleMeasureSince(types.ModuleName, time.Now(), telemetry.MetricKeyEndBlocker)
// Update the current price of each asset.
for _, market := range k.GetMarkets(ctx) {
if !market.Active {
continue
}
err := k.SetCurrentPrices(ctx, market.MarketID)
if err != nil && !errors.Is(err, types.ErrNoValidPrice) {
panic(err)
}
}
}