From 25aeeeab566e861b4301815e85b1d8e04da9336a Mon Sep 17 00:00:00 2001 From: Starsquid <108214377+starsquidnodes@users.noreply.github.com> Date: Sun, 7 Apr 2024 18:22:44 +0200 Subject: [PATCH 1/2] Check if spread is too high --- oracle/provider/finv2.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/oracle/provider/finv2.go b/oracle/provider/finv2.go index 915aed1..10cd9fe 100644 --- a/oracle/provider/finv2.go +++ b/oracle/provider/finv2.go @@ -125,6 +125,21 @@ func (p *FinV2Provider) Poll() error { base := strToDec(bookResponse.Data.Base[0].Price) quote := strToDec(bookResponse.Data.Quote[0].Price) + var low, high sdk.Dec + + if base.LT(quote) { + low = base + high = quote + } else { + low = quote + high = base + } + + if high.GT(low.Mul(floatToDec(1.05))) { + p.logger.Warn().Msg("spread too large") + continue + } + delta, err := p.getDecimalDelta(contract) if err != nil { continue From 81f4d8c8e2ef377c9dee4576f5e9e34e1c706197 Mon Sep 17 00:00:00 2001 From: Starsquid <108214377+starsquidnodes@users.noreply.github.com> Date: Sun, 7 Apr 2024 21:10:56 +0200 Subject: [PATCH 2/2] Log error for wide spreads --- oracle/provider/finv2.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/oracle/provider/finv2.go b/oracle/provider/finv2.go index 10cd9fe..129b262 100644 --- a/oracle/provider/finv2.go +++ b/oracle/provider/finv2.go @@ -136,7 +136,7 @@ func (p *FinV2Provider) Poll() error { } if high.GT(low.Mul(floatToDec(1.05))) { - p.logger.Warn().Msg("spread too large") + p.logger.Error().Msg("spread too large") continue }