Skip to content

Commit

Permalink
Merge branch 'main' into ryan/clientless-param-cache
Browse files Browse the repository at this point in the history
  • Loading branch information
rbajollari authored Sep 10, 2024
2 parents 9a77229 + 8876d36 commit 2a442bd
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 7 deletions.
15 changes: 8 additions & 7 deletions config/supported_assets.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,13 +47,14 @@ var (
{Base: "INJ", Quote: "USD"}: {},
{Base: "TIA", Quote: "USD"}: {},

{Base: "OSMO", Quote: "USDT"}: {},
{Base: "JUNO", Quote: "USDT"}: {},
{Base: "WETH", Quote: "USDC"}: {},
{Base: "WBTC", Quote: "BTC"}: {},
{Base: "WBTC", Quote: "WETH"}: {},
{Base: "INJ", Quote: "USDT"}: {},
{Base: "TIA", Quote: "USDT"}: {},
{Base: "OSMO", Quote: "USDT"}: {},
{Base: "JUNO", Quote: "USDT"}: {},
{Base: "WETH", Quote: "USDC"}: {},
{Base: "WBTC", Quote: "BTC"}: {},
{Base: "WBTC", Quote: "WETH"}: {},
{Base: "INJ", Quote: "USDT"}: {},
{Base: "TIA", Quote: "USDT"}: {},
{Base: "WSTETH", Quote: "WETH"}: {},
}

SupportedUniswapCurrencies = map[string]struct{}{
Expand Down
22 changes: 22 additions & 0 deletions oracle/convert.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,32 @@ func ConvertRatesToUSD(rates types.CurrencyPairDec) types.CurrencyPairDec {
continue
}

var converted bool
for cpConvert, rateConvert := range rates {
if cpConvert.Quote == config.DenomUSD && cpConvert.Base == cp.Quote {
convertedPair := types.CurrencyPair{Base: cp.Base, Quote: config.DenomUSD}
convertedRates[convertedPair] = rate.Mul(rateConvert)
converted = true
}
}

// If the rate is not converted, try one conversion path deeper.
if !converted {
for cpConvert, rateConvert := range rates {
if cpConvert.Base == cp.Quote {
var quoteRate math.LegacyDec
var foundQuoteRate bool
for cpConvert2, rateConvert2 := range rates {
if cpConvert2.Quote == config.DenomUSD && cpConvert2.Base == cpConvert.Quote {
quoteRate = rateConvert2
foundQuoteRate = true
}
}
if foundQuoteRate {
convertedPair := types.CurrencyPair{Base: cp.Base, Quote: config.DenomUSD}
convertedRates[convertedPair] = rate.Mul(rateConvert).Mul(quoteRate)
}
}
}
}
}
Expand Down
4 changes: 4 additions & 0 deletions oracle/util.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import (

var (
minimumTimeWeight = math.LegacyMustNewDecFromStr("0.2000")
minimumTickerVolume = math.LegacyMustNewDecFromStr("0.000000000000001")
minimumCandleVolume = math.LegacyMustNewDecFromStr("0.0001")
)

Expand Down Expand Up @@ -58,6 +59,9 @@ func ComputeVWAP(prices types.AggregatedProviderPrices) types.CurrencyPairDec {
if _, ok := volumeSum[base]; !ok {
volumeSum[base] = math.LegacyZeroDec()
}
if tp.Volume.LT(minimumTickerVolume) {
tp.Volume = minimumTickerVolume
}

// weightedPrices[base] = Σ {P * V} for all TickerPrice
weightedPrices[base] = weightedPrices[base].Add(tp.Price.Mul(tp.Volume))
Expand Down

0 comments on commit 2a442bd

Please sign in to comment.