diff --git a/feeder/priceprovider/sources/gateio.go b/feeder/priceprovider/sources/gateio.go index f15d76d..02fc99c 100644 --- a/feeder/priceprovider/sources/gateio.go +++ b/feeder/priceprovider/sources/gateio.go @@ -5,7 +5,6 @@ import ( "io" "net/http" "strconv" - "strings" "github.com/NibiruChain/nibiru/x/common/set" "github.com/NibiruChain/pricefeeder/types" @@ -40,17 +39,17 @@ func GateIoPriceUpdate(symbols set.Set[types.Symbol]) (rawPrices map[types.Symbo rawPrices = make(map[types.Symbol]float64) for _, ticker := range tickers { - pair := ticker["currency_pair"].(string) - symbol := types.Symbol(strings.Replace(pair, "_", "", -1)) + symbol := types.Symbol(ticker["currency_pair"].(string)) + if !symbols.Has(symbol) { + continue + } - lastPrice, err := strconv.ParseFloat(ticker["last"].(string), 64) + price, err := strconv.ParseFloat(ticker["last"].(string), 64) if err != nil { - return rawPrices, err - } - if _, ok := symbols[symbol]; ok { - rawPrices[symbol] = lastPrice + price = -1 } + rawPrices[symbol] = price } return rawPrices, nil diff --git a/feeder/priceprovider/sources/gateio_test.go b/feeder/priceprovider/sources/gateio_test.go index d74903d..0e85cf7 100644 --- a/feeder/priceprovider/sources/gateio_test.go +++ b/feeder/priceprovider/sources/gateio_test.go @@ -10,11 +10,10 @@ import ( func TestGateIoSource(t *testing.T) { t.Run("success", func(t *testing.T) { - rawPrices, err := GateIoPriceUpdate(set.New[types.Symbol]("BTCUSD", "ETHUSD")) + rawPrices, err := GateIoPriceUpdate(set.New[types.Symbol]("BTC_USDT", "ETH_USDT")) require.NoError(t, err) require.Equal(t, 2, len(rawPrices)) - require.NotZero(t, rawPrices["BTCUSD"]) - require.NotZero(t, rawPrices["ETHUSD"]) + require.NotZero(t, rawPrices["BTC_USDT"]) + require.NotZero(t, rawPrices["ETH_USDT"]) }) - }