diff --git a/cmd/slinky-config/main.go b/cmd/slinky-config/main.go index 58e106cdc..d3daf5325 100644 --- a/cmd/slinky-config/main.go +++ b/cmd/slinky-config/main.go @@ -18,6 +18,7 @@ import ( coinbaseapi "github.com/skip-mev/slinky/providers/apis/coinbase" "github.com/skip-mev/slinky/providers/apis/coingecko" raydium "github.com/skip-mev/slinky/providers/apis/defi/raydium" + "github.com/skip-mev/slinky/providers/apis/defi/uniswapv3" "github.com/skip-mev/slinky/providers/apis/dydx" "github.com/skip-mev/slinky/providers/apis/geckoterminal" krakenapi "github.com/skip-mev/slinky/providers/apis/kraken" @@ -115,6 +116,10 @@ var ( kucoin.Name: kucoin.DefaultMarketConfig, mexc.Name: mexc.DefaultMarketConfig, okx.Name: okx.DefaultMarketConfig, + // // ----------------------------------------------------------- // + // // ---------------------Start Defi Providers------------------- // + // // ----------------------------------------------------------- // + uniswapv3.Name: uniswapv3.DefaultETHMarketConfig, } // LocalConfig defines a readable config for local development. Any changes to this @@ -230,6 +235,14 @@ var ( WebSocket: okx.DefaultWebSocketConfig, Type: types.ConfigType, }, + // ----------------------------------------------------------- // + // ---------------------Start Defi Providers------------------- // + // ----------------------------------------------------------- // + { + Name: uniswapv3.Name, + API: uniswapv3.DefaultETHAPIConfig, + Type: types.ConfigType, + }, }, } ) @@ -302,7 +315,7 @@ func init() { &updateInterval, "update-interval", "", - 500*time.Millisecond, + 250*time.Millisecond, "Interval at which the oracle will update the prices. This should be set to the interval desired by the chain.", ) rootCmd.Flags().DurationVarP( diff --git a/config/local/market.json b/config/local/market.json index 2f54e166b..e6ce6feff 100644 --- a/config/local/market.json +++ b/config/local/market.json @@ -1,5 +1,22 @@ { "markets": { + "AAVE/ETH": { + "ticker": { + "currency_pair": { + "Base": "AAVE", + "Quote": "ETH" + }, + "decimals": 18, + "min_provider_count": 1 + }, + "provider_configs": [ + { + "name": "uniswapv3_api", + "off_chain_ticker": "AAVE/ETH", + "metadata_JSON": "{\"address\":\"0x5aB53EE1d50eeF2C1DD3d5402789cd27bB52c1bB\",\"base_decimals\":18,\"quote_decimals\":18,\"invert\":false}" + } + ] + }, "ADA/USD": { "ticker": { "currency_pair": { @@ -19,15 +36,15 @@ "off_chain_ticker": "ADAUSD" }, { - "name": "coinbase_api", + "name": "coinbase_ws", "off_chain_ticker": "ADA-USD" }, { - "name": "coinbase_ws", + "name": "okx_ws", "off_chain_ticker": "ADA-USD" }, { - "name": "okx_ws", + "name": "coinbase_api", "off_chain_ticker": "ADA-USD" } ] @@ -67,15 +84,15 @@ }, "provider_configs": [ { - "name": "huobi_ws", - "off_chain_ticker": "adausdt" + "name": "bybit_ws", + "off_chain_ticker": "ADAUSDT" }, { "name": "mexc_ws", "off_chain_ticker": "ADAUSDT" }, { - "name": "kraken_api", + "name": "binance_api", "off_chain_ticker": "ADAUSDT" }, { @@ -83,16 +100,16 @@ "off_chain_ticker": "ADA_USDT" }, { - "name": "kucoin_ws", - "off_chain_ticker": "ADA-USDT" + "name": "kraken_api", + "off_chain_ticker": "ADAUSDT" }, { - "name": "binance_api", - "off_chain_ticker": "ADAUSDT" + "name": "huobi_ws", + "off_chain_ticker": "adausdt" }, { - "name": "bybit_ws", - "off_chain_ticker": "ADAUSDT" + "name": "kucoin_ws", + "off_chain_ticker": "ADA-USDT" }, { "name": "okx_ws", @@ -115,11 +132,11 @@ "off_chain_ticker": "APE/USD" }, { - "name": "coinbase_api", + "name": "coinbase_ws", "off_chain_ticker": "APE-USD" }, { - "name": "coinbase_ws", + "name": "coinbase_api", "off_chain_ticker": "APE-USD" } ] @@ -135,15 +152,15 @@ }, "provider_configs": [ { - "name": "coinbase_api", + "name": "kucoin_ws", "off_chain_ticker": "APE-USDC" }, { - "name": "kucoin_ws", + "name": "okx_ws", "off_chain_ticker": "APE-USDC" }, { - "name": "okx_ws", + "name": "coinbase_api", "off_chain_ticker": "APE-USDC" } ] @@ -163,7 +180,7 @@ "off_chain_ticker": "APEUSDT" }, { - "name": "kraken_api", + "name": "binance_api", "off_chain_ticker": "APEUSDT" }, { @@ -171,23 +188,23 @@ "off_chain_ticker": "APE_USDT" }, { - "name": "coinbase_api", - "off_chain_ticker": "APE-USDT" + "name": "kraken_api", + "off_chain_ticker": "APEUSDT" }, { - "name": "kucoin_ws", + "name": "coinbase_ws", "off_chain_ticker": "APE-USDT" }, { - "name": "binance_api", - "off_chain_ticker": "APEUSDT" + "name": "kucoin_ws", + "off_chain_ticker": "APE-USDT" }, { - "name": "coinbase_ws", + "name": "okx_ws", "off_chain_ticker": "APE-USDT" }, { - "name": "okx_ws", + "name": "coinbase_api", "off_chain_ticker": "APE-USDT" } ] @@ -207,11 +224,11 @@ "off_chain_ticker": "APTUSD" }, { - "name": "coinbase_api", + "name": "coinbase_ws", "off_chain_ticker": "APT-USD" }, { - "name": "coinbase_ws", + "name": "coinbase_api", "off_chain_ticker": "APT-USD" } ] @@ -243,28 +260,28 @@ }, "provider_configs": [ { - "name": "huobi_ws", - "off_chain_ticker": "aptusdt" + "name": "bybit_ws", + "off_chain_ticker": "APTUSDT" }, { "name": "mexc_ws", "off_chain_ticker": "APTUSDT" }, { - "name": "gate_ws", - "off_chain_ticker": "APT_USDT" + "name": "binance_api", + "off_chain_ticker": "APTUSDT" }, { - "name": "kucoin_ws", - "off_chain_ticker": "APT-USDT" + "name": "gate_ws", + "off_chain_ticker": "APT_USDT" }, { - "name": "binance_api", - "off_chain_ticker": "APTUSDT" + "name": "huobi_ws", + "off_chain_ticker": "aptusdt" }, { - "name": "bybit_ws", - "off_chain_ticker": "APTUSDT" + "name": "kucoin_ws", + "off_chain_ticker": "APT-USDT" }, { "name": "okx_ws", @@ -287,11 +304,11 @@ "off_chain_ticker": "ARBUSD" }, { - "name": "coinbase_api", + "name": "coinbase_ws", "off_chain_ticker": "ARB-USD" }, { - "name": "coinbase_ws", + "name": "coinbase_api", "off_chain_ticker": "ARB-USD" } ] @@ -307,28 +324,28 @@ }, "provider_configs": [ { - "name": "huobi_ws", - "off_chain_ticker": "arbusdt" + "name": "bybit_ws", + "off_chain_ticker": "ARBUSDT" }, { "name": "mexc_ws", "off_chain_ticker": "ARBUSDT" }, { - "name": "gate_ws", - "off_chain_ticker": "ARB_USDT" + "name": "binance_api", + "off_chain_ticker": "ARBUSDT" }, { - "name": "kucoin_ws", - "off_chain_ticker": "ARB-USDT" + "name": "gate_ws", + "off_chain_ticker": "ARB_USDT" }, { - "name": "binance_api", - "off_chain_ticker": "ARBUSDT" + "name": "huobi_ws", + "off_chain_ticker": "arbusdt" }, { - "name": "bybit_ws", - "off_chain_ticker": "ARBUSDT" + "name": "kucoin_ws", + "off_chain_ticker": "ARB-USDT" }, { "name": "okx_ws", @@ -346,32 +363,32 @@ "min_provider_count": 1 }, "provider_configs": [ + { + "name": "kraken_ws", + "off_chain_ticker": "ATOM/USD" + }, { "name": "coingecko_api", "off_chain_ticker": "cosmos/usd" }, { - "name": "kraken_ws", - "off_chain_ticker": "ATOM/USD" + "name": "crypto_dot_com_ws", + "off_chain_ticker": "ATOMUSD-PERP" }, { "name": "kraken_api", "off_chain_ticker": "ATOMUSD" }, { - "name": "coinbase_api", + "name": "coinbase_ws", "off_chain_ticker": "ATOM-USD" }, { - "name": "crypto_dot_com_ws", - "off_chain_ticker": "ATOMUSD-PERP" - }, - { - "name": "coinbase_ws", + "name": "okx_ws", "off_chain_ticker": "ATOM-USD" }, { - "name": "okx_ws", + "name": "coinbase_api", "off_chain_ticker": "ATOM-USD" } ] @@ -391,15 +408,15 @@ "off_chain_ticker": "ATOMUSDC" }, { - "name": "coinbase_api", + "name": "kucoin_ws", "off_chain_ticker": "ATOM-USDC" }, { - "name": "kucoin_ws", + "name": "okx_ws", "off_chain_ticker": "ATOM-USDC" }, { - "name": "okx_ws", + "name": "coinbase_api", "off_chain_ticker": "ATOM-USDC" } ] @@ -415,48 +432,48 @@ }, "provider_configs": [ { - "name": "huobi_ws", - "off_chain_ticker": "atomusdt" + "name": "bybit_ws", + "off_chain_ticker": "ATOMUSDT" }, { "name": "mexc_ws", "off_chain_ticker": "ATOMUSDT" }, { - "name": "kraken_api", + "name": "binance_api", "off_chain_ticker": "ATOMUSDT" }, { "name": "gate_ws", "off_chain_ticker": "ATOM_USDT" }, - { - "name": "coinbase_api", - "off_chain_ticker": "ATOM-USDT" - }, { "name": "crypto_dot_com_ws", "off_chain_ticker": "ATOM_USDT" }, { - "name": "kucoin_ws", - "off_chain_ticker": "ATOM-USDT" + "name": "kraken_api", + "off_chain_ticker": "ATOMUSDT" }, { - "name": "binance_api", - "off_chain_ticker": "ATOMUSDT" + "name": "coinbase_ws", + "off_chain_ticker": "ATOM-USDT" }, { - "name": "bybit_ws", - "off_chain_ticker": "ATOMUSDT" + "name": "huobi_ws", + "off_chain_ticker": "atomusdt" }, { - "name": "coinbase_ws", + "name": "kucoin_ws", "off_chain_ticker": "ATOM-USDT" }, { "name": "okx_ws", "off_chain_ticker": "ATOM-USDT" + }, + { + "name": "coinbase_api", + "off_chain_ticker": "ATOM-USDT" } ] }, @@ -470,25 +487,21 @@ "min_provider_count": 1 }, "provider_configs": [ - { - "name": "bitstamp_ws", - "off_chain_ticker": "avaxusd" - }, { "name": "kraken_ws", "off_chain_ticker": "AVAX/USD" }, { - "name": "kraken_api", - "off_chain_ticker": "AVAXUSD" + "name": "crypto_dot_com_ws", + "off_chain_ticker": "AVAXUSD-PERP" }, { - "name": "coinbase_api", - "off_chain_ticker": "AVAX-USD" + "name": "kraken_api", + "off_chain_ticker": "AVAXUSD" }, { - "name": "crypto_dot_com_ws", - "off_chain_ticker": "AVAXUSD-PERP" + "name": "bitstamp_ws", + "off_chain_ticker": "avaxusd" }, { "name": "coinbase_ws", @@ -497,6 +510,10 @@ { "name": "okx_ws", "off_chain_ticker": "AVAX-USD" + }, + { + "name": "coinbase_api", + "off_chain_ticker": "AVAX-USD" } ] }, @@ -511,23 +528,23 @@ }, "provider_configs": [ { - "name": "mexc_ws", + "name": "bybit_ws", "off_chain_ticker": "AVAXUSDC" }, { - "name": "coinbase_api", - "off_chain_ticker": "AVAX-USDC" + "name": "mexc_ws", + "off_chain_ticker": "AVAXUSDC" }, { "name": "kucoin_ws", "off_chain_ticker": "AVAX-USDC" }, { - "name": "bybit_ws", - "off_chain_ticker": "AVAXUSDC" + "name": "okx_ws", + "off_chain_ticker": "AVAX-USDC" }, { - "name": "okx_ws", + "name": "coinbase_api", "off_chain_ticker": "AVAX-USDC" } ] @@ -543,8 +560,8 @@ }, "provider_configs": [ { - "name": "huobi_ws", - "off_chain_ticker": "avaxusdt" + "name": "bybit_ws", + "off_chain_ticker": "AVAXUSDT" }, { "name": "kraken_ws", @@ -555,40 +572,74 @@ "off_chain_ticker": "AVAXUSDT" }, { - "name": "kraken_api", + "name": "binance_api", "off_chain_ticker": "AVAXUSDT" }, { "name": "gate_ws", "off_chain_ticker": "AVAX_USDT" }, - { - "name": "coinbase_api", - "off_chain_ticker": "AVAX-USDT" - }, { "name": "crypto_dot_com_ws", "off_chain_ticker": "AVAX_USDT" }, { - "name": "kucoin_ws", - "off_chain_ticker": "AVAX-USDT" + "name": "kraken_api", + "off_chain_ticker": "AVAXUSDT" }, { - "name": "binance_api", - "off_chain_ticker": "AVAXUSDT" + "name": "coinbase_ws", + "off_chain_ticker": "AVAX-USDT" }, { - "name": "bybit_ws", - "off_chain_ticker": "AVAXUSDT" + "name": "huobi_ws", + "off_chain_ticker": "avaxusdt" }, { - "name": "coinbase_ws", + "name": "kucoin_ws", "off_chain_ticker": "AVAX-USDT" }, { "name": "okx_ws", "off_chain_ticker": "AVAX-USDT" + }, + { + "name": "coinbase_api", + "off_chain_ticker": "AVAX-USDT" + } + ] + }, + "AXL/ETH": { + "ticker": { + "currency_pair": { + "Base": "AXL", + "Quote": "ETH" + }, + "decimals": 18, + "min_provider_count": 1 + }, + "provider_configs": [ + { + "name": "uniswapv3_api", + "off_chain_ticker": "AXL/ETH", + "metadata_JSON": "{\"address\":\"0xE7F6720C1F546217081667A5ab7fEbB688036856\",\"base_decimals\":6,\"quote_decimals\":18,\"invert\":false}" + } + ] + }, + "AXL/USDC": { + "ticker": { + "currency_pair": { + "Base": "AXL", + "Quote": "USDC" + }, + "decimals": 18, + "min_provider_count": 1 + }, + "provider_configs": [ + { + "name": "uniswapv3_api", + "off_chain_ticker": "AXL/USDC", + "metadata_JSON": "{\"address\":\"0xAe2A25CBDb19d0dC0DDDD1D2f6b08A6E48c4a9a9\",\"base_decimals\":6,\"quote_decimals\":6,\"invert\":false}" } ] }, @@ -611,11 +662,11 @@ "off_chain_ticker": "BCHUSD" }, { - "name": "coinbase_api", + "name": "coinbase_ws", "off_chain_ticker": "BCH-USD" }, { - "name": "coinbase_ws", + "name": "coinbase_api", "off_chain_ticker": "BCH-USD" } ] @@ -631,15 +682,15 @@ }, "provider_configs": [ { - "name": "huobi_ws", - "off_chain_ticker": "bchusdt" + "name": "bybit_ws", + "off_chain_ticker": "BCHUSDT" }, { "name": "mexc_ws", "off_chain_ticker": "BCHUSDT" }, { - "name": "kraken_api", + "name": "binance_api", "off_chain_ticker": "BCHUSDT" }, { @@ -647,16 +698,16 @@ "off_chain_ticker": "BCH_USDT" }, { - "name": "kucoin_ws", - "off_chain_ticker": "BCH-USDT" + "name": "kraken_api", + "off_chain_ticker": "BCHUSDT" }, { - "name": "binance_api", - "off_chain_ticker": "BCHUSDT" + "name": "huobi_ws", + "off_chain_ticker": "bchusdt" }, { - "name": "bybit_ws", - "off_chain_ticker": "BCHUSDT" + "name": "kucoin_ws", + "off_chain_ticker": "BCH-USDT" }, { "name": "okx_ws", @@ -679,11 +730,11 @@ "off_chain_ticker": "BLUR/USD" }, { - "name": "coinbase_api", + "name": "coinbase_ws", "off_chain_ticker": "BLUR-USD" }, { - "name": "coinbase_ws", + "name": "coinbase_api", "off_chain_ticker": "BLUR-USD" } ] @@ -727,32 +778,28 @@ }, "provider_configs": [ { - "name": "coingecko_api", - "off_chain_ticker": "bitcoin/usd" - }, - { - "name": "bitstamp_ws", - "off_chain_ticker": "btcusd" + "name": "bitfinex_ws", + "off_chain_ticker": "BTCUSD" }, { "name": "kraken_ws", "off_chain_ticker": "XBT/USD" }, { - "name": "kraken_api", - "off_chain_ticker": "XXBTZUSD" - }, - { - "name": "coinbase_api", - "off_chain_ticker": "BTC-USD" + "name": "coingecko_api", + "off_chain_ticker": "bitcoin/usd" }, { "name": "crypto_dot_com_ws", "off_chain_ticker": "BTCUSD-PERP" }, { - "name": "bitfinex_ws", - "off_chain_ticker": "BTCUSD" + "name": "kraken_api", + "off_chain_ticker": "XXBTZUSD" + }, + { + "name": "bitstamp_ws", + "off_chain_ticker": "btcusd" }, { "name": "coinbase_ws", @@ -761,6 +808,10 @@ { "name": "okx_ws", "off_chain_ticker": "BTC-USD" + }, + { + "name": "coinbase_api", + "off_chain_ticker": "BTC-USD" } ] }, @@ -775,12 +826,8 @@ }, "provider_configs": [ { - "name": "bitstamp_ws", - "off_chain_ticker": "btcusdc" - }, - { - "name": "huobi_ws", - "off_chain_ticker": "btcusdc" + "name": "bybit_ws", + "off_chain_ticker": "BTCUSDC" }, { "name": "kraken_ws", @@ -790,28 +837,32 @@ "name": "mexc_ws", "off_chain_ticker": "BTCUSDC" }, + { + "name": "binance_api", + "off_chain_ticker": "BTCUSDC" + }, { "name": "kraken_api", "off_chain_ticker": "XBTUSDC" }, { - "name": "coinbase_api", - "off_chain_ticker": "BTC-USDC" + "name": "bitstamp_ws", + "off_chain_ticker": "btcusdc" }, { - "name": "kucoin_ws", - "off_chain_ticker": "BTC-USDC" + "name": "huobi_ws", + "off_chain_ticker": "btcusdc" }, { - "name": "binance_api", - "off_chain_ticker": "BTCUSDC" + "name": "kucoin_ws", + "off_chain_ticker": "BTC-USDC" }, { - "name": "bybit_ws", - "off_chain_ticker": "BTCUSDC" + "name": "okx_ws", + "off_chain_ticker": "BTC-USDC" }, { - "name": "okx_ws", + "name": "coinbase_api", "off_chain_ticker": "BTC-USDC" } ] @@ -827,12 +878,8 @@ }, "provider_configs": [ { - "name": "bitstamp_ws", - "off_chain_ticker": "btcusdt" - }, - { - "name": "huobi_ws", - "off_chain_ticker": "btcusdt" + "name": "bybit_ws", + "off_chain_ticker": "BTCUSDT" }, { "name": "kraken_ws", @@ -843,40 +890,44 @@ "off_chain_ticker": "BTCUSDT" }, { - "name": "kraken_api", - "off_chain_ticker": "XBTUSDT" + "name": "binance_api", + "off_chain_ticker": "BTCUSDT" }, { "name": "gate_ws", "off_chain_ticker": "BTC_USDT" }, - { - "name": "coinbase_api", - "off_chain_ticker": "BTC-USDT" - }, { "name": "crypto_dot_com_ws", "off_chain_ticker": "BTC_USDT" }, { - "name": "kucoin_ws", - "off_chain_ticker": "BTC-USDT" + "name": "kraken_api", + "off_chain_ticker": "XBTUSDT" }, { - "name": "binance_api", - "off_chain_ticker": "BTCUSDT" + "name": "bitstamp_ws", + "off_chain_ticker": "btcusdt" }, { - "name": "bybit_ws", - "off_chain_ticker": "BTCUSDT" + "name": "coinbase_ws", + "off_chain_ticker": "BTC-USDT" }, { - "name": "coinbase_ws", + "name": "huobi_ws", + "off_chain_ticker": "btcusdt" + }, + { + "name": "kucoin_ws", "off_chain_ticker": "BTC-USDT" }, { "name": "okx_ws", "off_chain_ticker": "BTC-USDT" + }, + { + "name": "coinbase_api", + "off_chain_ticker": "BTC-USDT" } ] }, @@ -899,11 +950,11 @@ "off_chain_ticker": "COMPUSD" }, { - "name": "coinbase_api", + "name": "coinbase_ws", "off_chain_ticker": "COMP-USD" }, { - "name": "coinbase_ws", + "name": "coinbase_api", "off_chain_ticker": "COMP-USD" } ] @@ -922,14 +973,14 @@ "name": "mexc_ws", "off_chain_ticker": "COMPUSDT" }, - { - "name": "gate_ws", - "off_chain_ticker": "COMP_USDT" - }, { "name": "binance_api", "off_chain_ticker": "COMPUSDT" }, + { + "name": "gate_ws", + "off_chain_ticker": "COMP_USDT" + }, { "name": "okx_ws", "off_chain_ticker": "COMP-USDT" @@ -955,11 +1006,11 @@ "off_chain_ticker": "CRVUSD" }, { - "name": "coinbase_api", + "name": "coinbase_ws", "off_chain_ticker": "CRV-USD" }, { - "name": "coinbase_ws", + "name": "coinbase_api", "off_chain_ticker": "CRV-USD" } ] @@ -978,6 +1029,10 @@ "name": "mexc_ws", "off_chain_ticker": "CRVUSDT" }, + { + "name": "binance_api", + "off_chain_ticker": "CRVUSDT" + }, { "name": "gate_ws", "off_chain_ticker": "CRV_USDT" @@ -986,16 +1041,46 @@ "name": "kucoin_ws", "off_chain_ticker": "CRV-USDT" }, - { - "name": "binance_api", - "off_chain_ticker": "CRVUSDT" - }, { "name": "okx_ws", "off_chain_ticker": "CRV-USDT" } ] }, + "DAI/ETH": { + "ticker": { + "currency_pair": { + "Base": "DAI", + "Quote": "ETH" + }, + "decimals": 18, + "min_provider_count": 1 + }, + "provider_configs": [ + { + "name": "uniswapv3_api", + "off_chain_ticker": "DAI/ETH", + "metadata_JSON": "{\"address\":\"0xC2e9F25Be6257c210d7Adf0D4Cd6E3E881ba25f8\",\"base_decimals\":18,\"quote_decimals\":18,\"invert\":true}" + } + ] + }, + "DAI/USDC": { + "ticker": { + "currency_pair": { + "Base": "DAI", + "Quote": "USDC" + }, + "decimals": 18, + "min_provider_count": 1 + }, + "provider_configs": [ + { + "name": "uniswapv3_api", + "off_chain_ticker": "DAI/USDC", + "metadata_JSON": "{\"address\":\"0x5777d92f208679DB4b9778590Fa3CAB3aC9e2168\",\"base_decimals\":18,\"quote_decimals\":6,\"invert\":false}" + } + ] + }, "DOGE/USD": { "ticker": { "currency_pair": { @@ -1015,11 +1100,11 @@ "off_chain_ticker": "XDGUSD" }, { - "name": "coinbase_api", + "name": "coinbase_ws", "off_chain_ticker": "DOGE-USD" }, { - "name": "coinbase_ws", + "name": "coinbase_api", "off_chain_ticker": "DOGE-USD" } ] @@ -1035,32 +1120,32 @@ }, "provider_configs": [ { - "name": "huobi_ws", - "off_chain_ticker": "dogeusdt" + "name": "bybit_ws", + "off_chain_ticker": "DOGEUSDT" }, { "name": "mexc_ws", "off_chain_ticker": "DOGEUSDT" }, { - "name": "kraken_api", - "off_chain_ticker": "XDGUSDT" + "name": "binance_api", + "off_chain_ticker": "DOGEUSDT" }, { "name": "gate_ws", "off_chain_ticker": "DOGE_USDT" }, { - "name": "kucoin_ws", - "off_chain_ticker": "DOGE-USDT" + "name": "kraken_api", + "off_chain_ticker": "XDGUSDT" }, { - "name": "binance_api", - "off_chain_ticker": "DOGEUSDT" + "name": "huobi_ws", + "off_chain_ticker": "dogeusdt" }, { - "name": "bybit_ws", - "off_chain_ticker": "DOGEUSDT" + "name": "kucoin_ws", + "off_chain_ticker": "DOGE-USDT" }, { "name": "okx_ws", @@ -1087,11 +1172,11 @@ "off_chain_ticker": "DOTUSD" }, { - "name": "coinbase_api", + "name": "coinbase_ws", "off_chain_ticker": "DOT-USD" }, { - "name": "coinbase_ws", + "name": "coinbase_api", "off_chain_ticker": "DOT-USD" } ] @@ -1106,12 +1191,16 @@ "min_provider_count": 1 }, "provider_configs": [ + { + "name": "bybit_ws", + "off_chain_ticker": "DOTUSDT" + }, { "name": "mexc_ws", "off_chain_ticker": "DOTUSDT" }, { - "name": "kraken_api", + "name": "binance_api", "off_chain_ticker": "DOTUSDT" }, { @@ -1119,16 +1208,12 @@ "off_chain_ticker": "DOT_USDT" }, { - "name": "kucoin_ws", - "off_chain_ticker": "DOT-USDT" - }, - { - "name": "binance_api", + "name": "kraken_api", "off_chain_ticker": "DOTUSDT" }, { - "name": "bybit_ws", - "off_chain_ticker": "DOTUSDT" + "name": "kucoin_ws", + "off_chain_ticker": "DOT-USDT" }, { "name": "okx_ws", @@ -1146,28 +1231,28 @@ "min_provider_count": 1 }, "provider_configs": [ + { + "name": "kraken_ws", + "off_chain_ticker": "DYDX/USD" + }, { "name": "coingecko_api", "off_chain_ticker": "dydx-chain/usd" }, { - "name": "kraken_ws", - "off_chain_ticker": "DYDX/USD" + "name": "crypto_dot_com_ws", + "off_chain_ticker": "DYDXUSD-PERP" }, { "name": "kraken_api", "off_chain_ticker": "DYDXUSD" }, { - "name": "coinbase_api", + "name": "okx_ws", "off_chain_ticker": "DYDX-USD" }, { - "name": "crypto_dot_com_ws", - "off_chain_ticker": "DYDXUSD-PERP" - }, - { - "name": "okx_ws", + "name": "coinbase_api", "off_chain_ticker": "DYDX-USD" } ] @@ -1199,64 +1284,115 @@ }, "provider_configs": [ { - "name": "huobi_ws", - "off_chain_ticker": "dydxusdt" + "name": "bybit_ws", + "off_chain_ticker": "DYDXUSDT" }, { "name": "mexc_ws", "off_chain_ticker": "DYDXUSDT" }, { - "name": "gate_ws", - "off_chain_ticker": "DYDX_USDT" + "name": "binance_api", + "off_chain_ticker": "DYDXUSDT" }, { - "name": "coinbase_api", - "off_chain_ticker": "DYDX-USDT" + "name": "gate_ws", + "off_chain_ticker": "DYDX_USDT" }, { "name": "crypto_dot_com_ws", "off_chain_ticker": "DYDX_USDT" }, { - "name": "kucoin_ws", - "off_chain_ticker": "DYDX-USDT" + "name": "huobi_ws", + "off_chain_ticker": "dydxusdt" }, { - "name": "binance_api", - "off_chain_ticker": "DYDXUSDT" + "name": "kucoin_ws", + "off_chain_ticker": "DYDX-USDT" }, { - "name": "bybit_ws", - "off_chain_ticker": "DYDXUSDT" + "name": "okx_ws", + "off_chain_ticker": "DYDX-USDT" }, { - "name": "okx_ws", + "name": "coinbase_api", "off_chain_ticker": "DYDX-USDT" } ] }, - "ETC/USD": { + "ENA/ETH": { "ticker": { "currency_pair": { - "Base": "ETC", - "Quote": "USD" + "Base": "ENA", + "Quote": "ETH" }, "decimals": 18, "min_provider_count": 1 }, "provider_configs": [ { - "name": "kraken_api", - "off_chain_ticker": "ETCUSD" - }, - { - "name": "coinbase_api", - "off_chain_ticker": "ETC-USD" - }, - { - "name": "coinbase_ws", - "off_chain_ticker": "ETC-USD" + "name": "uniswapv3_api", + "off_chain_ticker": "ENA/ETH", + "metadata_JSON": "{\"address\":\"0xc3Db44ADC1fCdFd5671f555236eae49f4A8EEa18\",\"base_decimals\":18,\"quote_decimals\":18,\"invert\":false}" + } + ] + }, + "ENA/USDC": { + "ticker": { + "currency_pair": { + "Base": "ENA", + "Quote": "USDC" + }, + "decimals": 18, + "min_provider_count": 1 + }, + "provider_configs": [ + { + "name": "uniswapv3_api", + "off_chain_ticker": "ENA/USDC", + "metadata_JSON": "{\"address\":\"0x408A625596f47314e1FD4a6cBCE84C4A8695bA3f\",\"base_decimals\":18,\"quote_decimals\":6,\"invert\":false}" + } + ] + }, + "ENA/USDT": { + "ticker": { + "currency_pair": { + "Base": "ENA", + "Quote": "USDT" + }, + "decimals": 18, + "min_provider_count": 1 + }, + "provider_configs": [ + { + "name": "uniswapv3_api", + "off_chain_ticker": "ENA/USDT", + "metadata_JSON": "{\"address\":\"0x4185D2952eb74A28EF550a410BA9b8e210Ee9391\",\"base_decimals\":18,\"quote_decimals\":6,\"invert\":false}" + } + ] + }, + "ETC/USD": { + "ticker": { + "currency_pair": { + "Base": "ETC", + "Quote": "USD" + }, + "decimals": 18, + "min_provider_count": 1 + }, + "provider_configs": [ + { + "name": "kraken_api", + "off_chain_ticker": "ETCUSD" + }, + { + "name": "coinbase_ws", + "off_chain_ticker": "ETC-USD" + }, + { + "name": "coinbase_api", + "off_chain_ticker": "ETC-USD" } ] }, @@ -1271,11 +1407,11 @@ }, "provider_configs": [ { - "name": "huobi_ws", - "off_chain_ticker": "etcusdt" + "name": "mexc_ws", + "off_chain_ticker": "ETCUSDT" }, { - "name": "mexc_ws", + "name": "binance_api", "off_chain_ticker": "ETCUSDT" }, { @@ -1283,12 +1419,12 @@ "off_chain_ticker": "ETC_USDT" }, { - "name": "kucoin_ws", - "off_chain_ticker": "ETC-USDT" + "name": "huobi_ws", + "off_chain_ticker": "etcusdt" }, { - "name": "binance_api", - "off_chain_ticker": "ETCUSDT" + "name": "kucoin_ws", + "off_chain_ticker": "ETC-USDT" }, { "name": "okx_ws", @@ -1307,16 +1443,8 @@ }, "provider_configs": [ { - "name": "coingecko_api", - "off_chain_ticker": "ethereum/btc" - }, - { - "name": "bitstamp_ws", - "off_chain_ticker": "ethbtc" - }, - { - "name": "huobi_ws", - "off_chain_ticker": "ethbtc" + "name": "bitfinex_ws", + "off_chain_ticker": "ETHBTC" }, { "name": "kraken_ws", @@ -1327,40 +1455,48 @@ "off_chain_ticker": "ETHBTC" }, { - "name": "kraken_api", - "off_chain_ticker": "XETHXXBT" + "name": "binance_api", + "off_chain_ticker": "ETHBTC" }, { - "name": "gate_ws", - "off_chain_ticker": "ETH_BTC" + "name": "coingecko_api", + "off_chain_ticker": "ethereum/btc" }, { - "name": "coinbase_api", - "off_chain_ticker": "ETH-BTC" + "name": "gate_ws", + "off_chain_ticker": "ETH_BTC" }, { "name": "crypto_dot_com_ws", "off_chain_ticker": "ETH_BTC" }, { - "name": "kucoin_ws", - "off_chain_ticker": "ETH-BTC" + "name": "kraken_api", + "off_chain_ticker": "XETHXXBT" }, { - "name": "binance_api", - "off_chain_ticker": "ETHBTC" + "name": "bitstamp_ws", + "off_chain_ticker": "ethbtc" }, { - "name": "bitfinex_ws", - "off_chain_ticker": "ETHBTC" + "name": "coinbase_ws", + "off_chain_ticker": "ETH-BTC" }, { - "name": "coinbase_ws", + "name": "huobi_ws", + "off_chain_ticker": "ethbtc" + }, + { + "name": "kucoin_ws", "off_chain_ticker": "ETH-BTC" }, { "name": "okx_ws", "off_chain_ticker": "ETH-BTC" + }, + { + "name": "coinbase_api", + "off_chain_ticker": "ETH-BTC" } ] }, @@ -1375,32 +1511,28 @@ }, "provider_configs": [ { - "name": "coingecko_api", - "off_chain_ticker": "ethereum/usd" - }, - { - "name": "bitstamp_ws", - "off_chain_ticker": "ethusd" + "name": "bitfinex_ws", + "off_chain_ticker": "ETHUSD" }, { "name": "kraken_ws", "off_chain_ticker": "ETH/USD" }, { - "name": "kraken_api", - "off_chain_ticker": "XETHZUSD" - }, - { - "name": "coinbase_api", - "off_chain_ticker": "ETH-USD" + "name": "coingecko_api", + "off_chain_ticker": "ethereum/usd" }, { "name": "crypto_dot_com_ws", "off_chain_ticker": "ETHUSD-PERP" }, { - "name": "bitfinex_ws", - "off_chain_ticker": "ETHUSD" + "name": "kraken_api", + "off_chain_ticker": "XETHZUSD" + }, + { + "name": "bitstamp_ws", + "off_chain_ticker": "ethusd" }, { "name": "coinbase_ws", @@ -1409,6 +1541,10 @@ { "name": "okx_ws", "off_chain_ticker": "ETH-USD" + }, + { + "name": "coinbase_api", + "off_chain_ticker": "ETH-USD" } ] }, @@ -1423,8 +1559,8 @@ }, "provider_configs": [ { - "name": "huobi_ws", - "off_chain_ticker": "ethusdc" + "name": "bybit_ws", + "off_chain_ticker": "ETHUSDC" }, { "name": "kraken_ws", @@ -1434,28 +1570,33 @@ "name": "mexc_ws", "off_chain_ticker": "ETHUSDC" }, + { + "name": "uniswapv3_api", + "off_chain_ticker": "ETH/USDC", + "metadata_JSON": "{\"address\":\"0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640\",\"base_decimals\":18,\"quote_decimals\":6,\"invert\":true}" + }, + { + "name": "binance_api", + "off_chain_ticker": "ETHUSDC" + }, { "name": "kraken_api", "off_chain_ticker": "ETHUSDC" }, { - "name": "coinbase_api", - "off_chain_ticker": "ETH-USDC" + "name": "huobi_ws", + "off_chain_ticker": "ethusdc" }, { "name": "kucoin_ws", "off_chain_ticker": "ETH-USDC" }, { - "name": "binance_api", - "off_chain_ticker": "ETHUSDC" - }, - { - "name": "bybit_ws", - "off_chain_ticker": "ETHUSDC" + "name": "okx_ws", + "off_chain_ticker": "ETH-USDC" }, { - "name": "okx_ws", + "name": "coinbase_api", "off_chain_ticker": "ETH-USDC" } ] @@ -1471,8 +1612,8 @@ }, "provider_configs": [ { - "name": "huobi_ws", - "off_chain_ticker": "ethusdt" + "name": "bybit_ws", + "off_chain_ticker": "ETHUSDT" }, { "name": "kraken_ws", @@ -1483,40 +1624,79 @@ "off_chain_ticker": "ETHUSDT" }, { - "name": "kraken_api", + "name": "uniswapv3_api", + "off_chain_ticker": "ETH/USDT", + "metadata_JSON": "{\"address\":\"0x4e68Ccd3E89f51C3074ca5072bbAC773960dFa36\",\"base_decimals\":18,\"quote_decimals\":6,\"invert\":false}" + }, + { + "name": "binance_api", "off_chain_ticker": "ETHUSDT" }, { "name": "gate_ws", "off_chain_ticker": "ETH_USDT" }, - { - "name": "coinbase_api", - "off_chain_ticker": "ETH-USDT" - }, { "name": "crypto_dot_com_ws", "off_chain_ticker": "ETH_USDT" }, { - "name": "kucoin_ws", - "off_chain_ticker": "ETH-USDT" + "name": "kraken_api", + "off_chain_ticker": "ETHUSDT" }, { - "name": "binance_api", - "off_chain_ticker": "ETHUSDT" + "name": "coinbase_ws", + "off_chain_ticker": "ETH-USDT" }, { - "name": "bybit_ws", - "off_chain_ticker": "ETHUSDT" + "name": "huobi_ws", + "off_chain_ticker": "ethusdt" }, { - "name": "coinbase_ws", + "name": "kucoin_ws", "off_chain_ticker": "ETH-USDT" }, { "name": "okx_ws", "off_chain_ticker": "ETH-USDT" + }, + { + "name": "coinbase_api", + "off_chain_ticker": "ETH-USDT" + } + ] + }, + "ETHFI/ETH": { + "ticker": { + "currency_pair": { + "Base": "ETHFI", + "Quote": "ETH" + }, + "decimals": 18, + "min_provider_count": 1 + }, + "provider_configs": [ + { + "name": "uniswapv3_api", + "off_chain_ticker": "ETHFI/ETH", + "metadata_JSON": "{\"address\":\"0xDeFDAC77A9A767a2c4eEd826E1AEaD2dAcE53e1C\",\"base_decimals\":18,\"quote_decimals\":18,\"invert\":true}" + } + ] + }, + "ETHFI/USDT": { + "ticker": { + "currency_pair": { + "Base": "ETHFI", + "Quote": "USDT" + }, + "decimals": 18, + "min_provider_count": 1 + }, + "provider_configs": [ + { + "name": "uniswapv3_api", + "off_chain_ticker": "ETHFI/USDT", + "metadata_JSON": "{\"address\":\"0x80fa4C1fd0fbB9A4f071999aF69531dee1016644\",\"base_decimals\":18,\"quote_decimals\":6,\"invert\":true}" } ] }, @@ -1539,11 +1719,11 @@ "off_chain_ticker": "FILUSD" }, { - "name": "coinbase_api", + "name": "coinbase_ws", "off_chain_ticker": "FIL-USD" }, { - "name": "coinbase_ws", + "name": "coinbase_api", "off_chain_ticker": "FIL-USD" } ] @@ -1559,11 +1739,11 @@ }, "provider_configs": [ { - "name": "huobi_ws", - "off_chain_ticker": "filusdt" + "name": "mexc_ws", + "off_chain_ticker": "FILUSDT" }, { - "name": "mexc_ws", + "name": "binance_api", "off_chain_ticker": "FILUSDT" }, { @@ -1571,8 +1751,8 @@ "off_chain_ticker": "FIL_USDT" }, { - "name": "binance_api", - "off_chain_ticker": "FILUSDT" + "name": "huobi_ws", + "off_chain_ticker": "filusdt" }, { "name": "okx_ws", @@ -1580,6 +1760,40 @@ } ] }, + "HARRY_POTTER_OBAMA_SONIC_10_INU/ETH": { + "ticker": { + "currency_pair": { + "Base": "HARRY_POTTER_OBAMA_SONIC_10_INU", + "Quote": "ETH" + }, + "decimals": 18, + "min_provider_count": 1 + }, + "provider_configs": [ + { + "name": "uniswapv3_api", + "off_chain_ticker": "HARRY_POTTER_OBAMA_SONIC_10_INU/ETH", + "metadata_JSON": "{\"address\":\"0x0c30062368eEfB96bF3AdE1218E685306b8E89Fa\",\"base_decimals\":8,\"quote_decimals\":18,\"invert\":false}" + } + ] + }, + "LDO/ETH": { + "ticker": { + "currency_pair": { + "Base": "LDO", + "Quote": "ETH" + }, + "decimals": 18, + "min_provider_count": 1 + }, + "provider_configs": [ + { + "name": "uniswapv3_api", + "off_chain_ticker": "LDO/ETH", + "metadata_JSON": "{\"address\":\"0xa3f558aebAecAf0e11cA4b2199cC5Ed341edfd74\",\"base_decimals\":18,\"quote_decimals\":18,\"invert\":false}" + } + ] + }, "LDO/USD": { "ticker": { "currency_pair": { @@ -1599,15 +1813,32 @@ "off_chain_ticker": "LDOUSD" }, { - "name": "coinbase_api", + "name": "coinbase_ws", "off_chain_ticker": "LDO-USD" }, { - "name": "coinbase_ws", + "name": "coinbase_api", "off_chain_ticker": "LDO-USD" } ] }, + "LDO/USDC": { + "ticker": { + "currency_pair": { + "Base": "LDO", + "Quote": "USDC" + }, + "decimals": 18, + "min_provider_count": 1 + }, + "provider_configs": [ + { + "name": "uniswapv3_api", + "off_chain_ticker": "LDO/USDC", + "metadata_JSON": "{\"address\":\"0x78235D08B2aE7a3E00184329212a4d7AcD2F9985\",\"base_decimals\":18,\"quote_decimals\":6,\"invert\":false}" + } + ] + }, "LDO/USDT": { "ticker": { "currency_pair": { @@ -1623,19 +1854,41 @@ "off_chain_ticker": "LDOUSDT" }, { - "name": "kucoin_ws", - "off_chain_ticker": "LDO-USDT" + "name": "uniswapv3_api", + "off_chain_ticker": "LDO/USDT", + "metadata_JSON": "{\"address\":\"0xd296B77f1CAD3F0eC64Ae00cdbFa749E24b1f9cb\",\"base_decimals\":18,\"quote_decimals\":6,\"invert\":false}" }, { "name": "binance_api", "off_chain_ticker": "LDOUSDT" }, + { + "name": "kucoin_ws", + "off_chain_ticker": "LDO-USDT" + }, { "name": "okx_ws", "off_chain_ticker": "LDO-USDT" } ] }, + "LINK/ETH": { + "ticker": { + "currency_pair": { + "Base": "LINK", + "Quote": "ETH" + }, + "decimals": 18, + "min_provider_count": 1 + }, + "provider_configs": [ + { + "name": "uniswapv3_api", + "off_chain_ticker": "LINK/ETH", + "metadata_JSON": "{\"address\":\"0xa6Cc3C2531FdaA6Ae1A3CA84c2855806728693e8\",\"base_decimals\":18,\"quote_decimals\":18,\"invert\":false}" + } + ] + }, "LINK/USD": { "ticker": { "currency_pair": { @@ -1655,15 +1908,32 @@ "off_chain_ticker": "LINKUSD" }, { - "name": "coinbase_api", + "name": "coinbase_ws", "off_chain_ticker": "LINK-USD" }, { - "name": "coinbase_ws", + "name": "coinbase_api", "off_chain_ticker": "LINK-USD" } ] }, + "LINK/USDC": { + "ticker": { + "currency_pair": { + "Base": "LINK", + "Quote": "USDC" + }, + "decimals": 18, + "min_provider_count": 1 + }, + "provider_configs": [ + { + "name": "uniswapv3_api", + "off_chain_ticker": "LINK/USDC", + "metadata_JSON": "{\"address\":\"0xFAD57d2039C21811C8F2B5D5B65308aa99D31559\",\"base_decimals\":18,\"quote_decimals\":6,\"invert\":false}" + } + ] + }, "LINK/USDT": { "ticker": { "currency_pair": { @@ -1675,25 +1945,25 @@ }, "provider_configs": [ { - "name": "mexc_ws", + "name": "bybit_ws", "off_chain_ticker": "LINKUSDT" }, { - "name": "kraken_api", + "name": "mexc_ws", "off_chain_ticker": "LINKUSDT" }, - { - "name": "kucoin_ws", - "off_chain_ticker": "LINK-USDT" - }, { "name": "binance_api", "off_chain_ticker": "LINKUSDT" }, { - "name": "bybit_ws", + "name": "kraken_api", "off_chain_ticker": "LINKUSDT" }, + { + "name": "kucoin_ws", + "off_chain_ticker": "LINK-USDT" + }, { "name": "okx_ws", "off_chain_ticker": "LINK-USDT" @@ -1719,11 +1989,11 @@ "off_chain_ticker": "XLTCZUSD" }, { - "name": "coinbase_api", + "name": "coinbase_ws", "off_chain_ticker": "LTC-USD" }, { - "name": "coinbase_ws", + "name": "coinbase_api", "off_chain_ticker": "LTC-USD" } ] @@ -1739,28 +2009,28 @@ }, "provider_configs": [ { - "name": "huobi_ws", - "off_chain_ticker": "ltcusdt" + "name": "bybit_ws", + "off_chain_ticker": "LTCUSDT" }, { "name": "mexc_ws", "off_chain_ticker": "LTCUSDT" }, { - "name": "kraken_api", + "name": "binance_api", "off_chain_ticker": "LTCUSDT" }, { - "name": "kucoin_ws", - "off_chain_ticker": "LTC-USDT" + "name": "kraken_api", + "off_chain_ticker": "LTCUSDT" }, { - "name": "binance_api", - "off_chain_ticker": "LTCUSDT" + "name": "huobi_ws", + "off_chain_ticker": "ltcusdt" }, { - "name": "bybit_ws", - "off_chain_ticker": "LTCUSDT" + "name": "kucoin_ws", + "off_chain_ticker": "LTC-USDT" }, { "name": "okx_ws", @@ -1787,11 +2057,11 @@ "off_chain_ticker": "MATICUSD" }, { - "name": "coinbase_api", + "name": "coinbase_ws", "off_chain_ticker": "MATIC-USD" }, { - "name": "coinbase_ws", + "name": "coinbase_api", "off_chain_ticker": "MATIC-USD" } ] @@ -1807,15 +2077,15 @@ }, "provider_configs": [ { - "name": "huobi_ws", - "off_chain_ticker": "maticusdt" + "name": "bybit_ws", + "off_chain_ticker": "MATICUSDT" }, { "name": "mexc_ws", "off_chain_ticker": "MATICUSDT" }, { - "name": "kraken_api", + "name": "binance_api", "off_chain_ticker": "MATICUSDT" }, { @@ -1823,16 +2093,16 @@ "off_chain_ticker": "MATIC_USDT" }, { - "name": "kucoin_ws", - "off_chain_ticker": "MATIC-USDT" + "name": "kraken_api", + "off_chain_ticker": "MATICUSDT" }, { - "name": "binance_api", - "off_chain_ticker": "MATICUSDT" + "name": "huobi_ws", + "off_chain_ticker": "maticusdt" }, { - "name": "bybit_ws", - "off_chain_ticker": "MATICUSDT" + "name": "kucoin_ws", + "off_chain_ticker": "MATIC-USDT" }, { "name": "okx_ws", @@ -1840,6 +2110,23 @@ } ] }, + "MKR/ETH": { + "ticker": { + "currency_pair": { + "Base": "MKR", + "Quote": "ETH" + }, + "decimals": 18, + "min_provider_count": 1 + }, + "provider_configs": [ + { + "name": "uniswapv3_api", + "off_chain_ticker": "MKR/ETH", + "metadata_JSON": "{\"address\":\"0xe8c6c9227491C0a8156A0106A0204d881BB7E531\",\"base_decimals\":18,\"quote_decimals\":18,\"invert\":false}" + } + ] + }, "MKR/USD": { "ticker": { "currency_pair": { @@ -1859,15 +2146,32 @@ "off_chain_ticker": "MKRUSD" }, { - "name": "coinbase_api", + "name": "coinbase_ws", "off_chain_ticker": "MKR-USD" }, { - "name": "coinbase_ws", + "name": "coinbase_api", "off_chain_ticker": "MKR-USD" } ] }, + "MKR/USDC": { + "ticker": { + "currency_pair": { + "Base": "MKR", + "Quote": "USDC" + }, + "decimals": 18, + "min_provider_count": 1 + }, + "provider_configs": [ + { + "name": "uniswapv3_api", + "off_chain_ticker": "MKR/USDC", + "metadata_JSON": "{\"address\":\"0xC486Ad2764D55C7dc033487D634195d6e4A6917E\",\"base_decimals\":18,\"quote_decimals\":6,\"invert\":false}" + } + ] + }, "MKR/USDT": { "ticker": { "currency_pair": { @@ -1882,20 +2186,37 @@ "name": "mexc_ws", "off_chain_ticker": "MKRUSDT" }, - { - "name": "kucoin_ws", - "off_chain_ticker": "MKR-USDT" - }, { "name": "binance_api", "off_chain_ticker": "MKRUSDT" }, + { + "name": "kucoin_ws", + "off_chain_ticker": "MKR-USDT" + }, { "name": "okx_ws", "off_chain_ticker": "MKR-USDT" } ] }, + "MOG/ETH": { + "ticker": { + "currency_pair": { + "Base": "MOG", + "Quote": "ETH" + }, + "decimals": 18, + "min_provider_count": 1 + }, + "provider_configs": [ + { + "name": "uniswapv3_api", + "off_chain_ticker": "MOG/ETH", + "metadata_JSON": "{\"address\":\"0x7832310Cd0de39c4cE0A635F34d9a4B5b47fd434\",\"base_decimals\":18,\"quote_decimals\":18,\"invert\":false}" + } + ] + }, "MOG/USD": { "ticker": { "currency_pair": { @@ -1927,11 +2248,11 @@ "off_chain_ticker": "NEARUSD" }, { - "name": "coinbase_api", + "name": "coinbase_ws", "off_chain_ticker": "NEAR-USD" }, { - "name": "coinbase_ws", + "name": "coinbase_api", "off_chain_ticker": "NEAR-USD" } ] @@ -1947,11 +2268,11 @@ }, "provider_configs": [ { - "name": "huobi_ws", - "off_chain_ticker": "nearusdt" + "name": "mexc_ws", + "off_chain_ticker": "NEARUSDT" }, { - "name": "mexc_ws", + "name": "binance_api", "off_chain_ticker": "NEARUSDT" }, { @@ -1959,12 +2280,12 @@ "off_chain_ticker": "NEAR_USDT" }, { - "name": "kucoin_ws", - "off_chain_ticker": "NEAR-USDT" + "name": "huobi_ws", + "off_chain_ticker": "nearusdt" }, { - "name": "binance_api", - "off_chain_ticker": "NEARUSDT" + "name": "kucoin_ws", + "off_chain_ticker": "NEAR-USDT" }, { "name": "okx_ws", @@ -1987,11 +2308,11 @@ "off_chain_ticker": "OPUSD" }, { - "name": "coinbase_api", + "name": "coinbase_ws", "off_chain_ticker": "OP-USD" }, { - "name": "coinbase_ws", + "name": "coinbase_api", "off_chain_ticker": "OP-USD" } ] @@ -2010,6 +2331,10 @@ "name": "mexc_ws", "off_chain_ticker": "OPUSDT" }, + { + "name": "binance_api", + "off_chain_ticker": "OPUSDT" + }, { "name": "gate_ws", "off_chain_ticker": "OP_USDT" @@ -2018,10 +2343,6 @@ "name": "kucoin_ws", "off_chain_ticker": "OP-USDT" }, - { - "name": "binance_api", - "off_chain_ticker": "OPUSDT" - }, { "name": "okx_ws", "off_chain_ticker": "OP-USDT" @@ -2042,10 +2363,6 @@ "name": "coingecko_api", "off_chain_ticker": "osmosis/usd" }, - { - "name": "coinbase_api", - "off_chain_ticker": "OSMO-USD" - }, { "name": "crypto_dot_com_ws", "off_chain_ticker": "OSMO_USD" @@ -2053,6 +2370,10 @@ { "name": "coinbase_ws", "off_chain_ticker": "OSMO-USD" + }, + { + "name": "coinbase_api", + "off_chain_ticker": "OSMO-USD" } ] }, @@ -2067,11 +2388,11 @@ }, "provider_configs": [ { - "name": "coinbase_api", + "name": "coinbase_ws", "off_chain_ticker": "OSMO-USDC" }, { - "name": "coinbase_ws", + "name": "coinbase_api", "off_chain_ticker": "OSMO-USDC" } ] @@ -2087,7 +2408,7 @@ }, "provider_configs": [ { - "name": "coinbase_api", + "name": "coinbase_ws", "off_chain_ticker": "OSMO-USDT" }, { @@ -2095,25 +2416,38 @@ "off_chain_ticker": "OSMO-USDT" }, { - "name": "coinbase_ws", + "name": "coinbase_api", "off_chain_ticker": "OSMO-USDT" } ] }, - "PEPE/USD": { + "PEPE/ETH": { "ticker": { "currency_pair": { "Base": "PEPE", - "Quote": "USD" + "Quote": "ETH" }, "decimals": 18, "min_provider_count": 1 }, "provider_configs": [ { - "name": "gecko_terminal_api", - "off_chain_ticker": "0x6982508145454Ce325dDbE47a25d4ec3d2311933" + "name": "uniswapv3_api", + "off_chain_ticker": "PEPE/ETH", + "metadata_JSON": "{\"address\":\"0x11950d141EcB863F01007AdD7D1A342041227b58\",\"base_decimals\":18,\"quote_decimals\":18,\"invert\":false}" + } + ] + }, + "PEPE/USD": { + "ticker": { + "currency_pair": { + "Base": "PEPE", + "Quote": "USD" }, + "decimals": 18, + "min_provider_count": 1 + }, + "provider_configs": [ { "name": "kraken_ws", "off_chain_ticker": "PEPE/USD" @@ -2121,6 +2455,27 @@ { "name": "kraken_api", "off_chain_ticker": "PEPEUSD" + }, + { + "name": "gecko_terminal_api", + "off_chain_ticker": "0x6982508145454Ce325dDbE47a25d4ec3d2311933" + } + ] + }, + "PEPE/USDC": { + "ticker": { + "currency_pair": { + "Base": "PEPE", + "Quote": "USDC" + }, + "decimals": 18, + "min_provider_count": 1 + }, + "provider_configs": [ + { + "name": "uniswapv3_api", + "off_chain_ticker": "PEPE/USDC", + "metadata_JSON": "{\"address\":\"0xcEE31C846CbF003F4cEB5Bbd234cBA03C6e940C7\",\"base_decimals\":18,\"quote_decimals\":6,\"invert\":false}" } ] }, @@ -2134,10 +2489,18 @@ "min_provider_count": 1 }, "provider_configs": [ + { + "name": "bybit_ws", + "off_chain_ticker": "PEPEUSDT" + }, { "name": "mexc_ws", "off_chain_ticker": "PEPEUSDT" }, + { + "name": "binance_api", + "off_chain_ticker": "PEPEUSDT" + }, { "name": "gate_ws", "off_chain_ticker": "PEPE_USDT" @@ -2146,14 +2509,6 @@ "name": "kucoin_ws", "off_chain_ticker": "PEPE-USDT" }, - { - "name": "binance_api", - "off_chain_ticker": "PEPEUSDT" - }, - { - "name": "bybit_ws", - "off_chain_ticker": "PEPEUSDT" - }, { "name": "okx_ws", "off_chain_ticker": "PEPE-USDT" @@ -2175,11 +2530,11 @@ "off_chain_ticker": "SEIUSD" }, { - "name": "coinbase_api", + "name": "coinbase_ws", "off_chain_ticker": "SEI-USD" }, { - "name": "coinbase_ws", + "name": "coinbase_api", "off_chain_ticker": "SEI-USD" } ] @@ -2195,28 +2550,28 @@ }, "provider_configs": [ { - "name": "huobi_ws", - "off_chain_ticker": "seiusdt" + "name": "bybit_ws", + "off_chain_ticker": "SEIUSDT" }, { "name": "mexc_ws", "off_chain_ticker": "SEIUSDT" }, { - "name": "gate_ws", - "off_chain_ticker": "SEI_USDT" + "name": "binance_api", + "off_chain_ticker": "SEIUSDT" }, { - "name": "kucoin_ws", - "off_chain_ticker": "SEI-USDT" + "name": "gate_ws", + "off_chain_ticker": "SEI_USDT" }, { - "name": "binance_api", - "off_chain_ticker": "SEIUSDT" + "name": "huobi_ws", + "off_chain_ticker": "seiusdt" }, { - "name": "bybit_ws", - "off_chain_ticker": "SEIUSDT" + "name": "kucoin_ws", + "off_chain_ticker": "SEI-USDT" } ] }, @@ -2239,11 +2594,11 @@ "off_chain_ticker": "SHIBUSD" }, { - "name": "coinbase_api", + "name": "coinbase_ws", "off_chain_ticker": "SHIB-USD" }, { - "name": "coinbase_ws", + "name": "coinbase_api", "off_chain_ticker": "SHIB-USD" } ] @@ -2258,12 +2613,16 @@ "min_provider_count": 1 }, "provider_configs": [ + { + "name": "bybit_ws", + "off_chain_ticker": "SHIBUSDT" + }, { "name": "mexc_ws", "off_chain_ticker": "SHIBUSDT" }, { - "name": "kraken_api", + "name": "binance_api", "off_chain_ticker": "SHIBUSDT" }, { @@ -2271,16 +2630,12 @@ "off_chain_ticker": "SHIB_USDT" }, { - "name": "kucoin_ws", - "off_chain_ticker": "SHIB-USDT" - }, - { - "name": "binance_api", + "name": "kraken_api", "off_chain_ticker": "SHIBUSDT" }, { - "name": "bybit_ws", - "off_chain_ticker": "SHIBUSDT" + "name": "kucoin_ws", + "off_chain_ticker": "SHIB-USDT" }, { "name": "okx_ws", @@ -2299,33 +2654,29 @@ }, "provider_configs": [ { - "name": "coingecko_api", - "off_chain_ticker": "solana/usd" - }, - { - "name": "bitstamp_ws", - "off_chain_ticker": "solusd" + "name": "bitfinex_ws", + "off_chain_ticker": "SOLUSD" }, { "name": "kraken_ws", "off_chain_ticker": "SOL/USD" }, { - "name": "kraken_api", - "off_chain_ticker": "SOLUSD" - }, - { - "name": "coinbase_api", - "off_chain_ticker": "SOL-USD" + "name": "coingecko_api", + "off_chain_ticker": "solana/usd" }, { "name": "crypto_dot_com_ws", "off_chain_ticker": "SOLUSD-PERP" }, { - "name": "bitfinex_ws", + "name": "kraken_api", "off_chain_ticker": "SOLUSD" }, + { + "name": "bitstamp_ws", + "off_chain_ticker": "solusd" + }, { "name": "coinbase_ws", "off_chain_ticker": "SOL-USD" @@ -2333,6 +2684,10 @@ { "name": "okx_ws", "off_chain_ticker": "SOL-USD" + }, + { + "name": "coinbase_api", + "off_chain_ticker": "SOL-USD" } ] }, @@ -2346,16 +2701,24 @@ "min_provider_count": 1 }, "provider_configs": [ + { + "name": "bybit_ws", + "off_chain_ticker": "SOLUSDC" + }, { "name": "mexc_ws", "off_chain_ticker": "SOLUSDC" }, + { + "name": "binance_api", + "off_chain_ticker": "SOLUSDC" + }, { "name": "gate_ws", "off_chain_ticker": "SOL_USDC" }, { - "name": "coinbase_api", + "name": "coinbase_ws", "off_chain_ticker": "SOL-USDC" }, { @@ -2363,19 +2726,11 @@ "off_chain_ticker": "SOL-USDC" }, { - "name": "binance_api", - "off_chain_ticker": "SOLUSDC" - }, - { - "name": "bybit_ws", - "off_chain_ticker": "SOLUSDC" - }, - { - "name": "coinbase_ws", + "name": "okx_ws", "off_chain_ticker": "SOL-USDC" }, { - "name": "okx_ws", + "name": "coinbase_api", "off_chain_ticker": "SOL-USDC" } ] @@ -2391,8 +2746,8 @@ }, "provider_configs": [ { - "name": "huobi_ws", - "off_chain_ticker": "solusdt" + "name": "bybit_ws", + "off_chain_ticker": "SOLUSDT" }, { "name": "kraken_ws", @@ -2403,40 +2758,40 @@ "off_chain_ticker": "SOLUSDT" }, { - "name": "kraken_api", + "name": "binance_api", "off_chain_ticker": "SOLUSDT" }, { "name": "gate_ws", "off_chain_ticker": "SOL_USDT" }, - { - "name": "coinbase_api", - "off_chain_ticker": "SOL-USDT" - }, { "name": "crypto_dot_com_ws", "off_chain_ticker": "SOL_USDT" }, { - "name": "kucoin_ws", - "off_chain_ticker": "SOL-USDT" + "name": "kraken_api", + "off_chain_ticker": "SOLUSDT" }, { - "name": "binance_api", - "off_chain_ticker": "SOLUSDT" + "name": "coinbase_ws", + "off_chain_ticker": "SOL-USDT" }, { - "name": "bybit_ws", - "off_chain_ticker": "SOLUSDT" + "name": "huobi_ws", + "off_chain_ticker": "solusdt" }, { - "name": "coinbase_ws", + "name": "kucoin_ws", "off_chain_ticker": "SOL-USDT" }, { "name": "okx_ws", "off_chain_ticker": "SOL-USDT" + }, + { + "name": "coinbase_api", + "off_chain_ticker": "SOL-USDT" } ] }, @@ -2455,11 +2810,11 @@ "off_chain_ticker": "SUIUSD" }, { - "name": "coinbase_api", + "name": "coinbase_ws", "off_chain_ticker": "SUI-USD" }, { - "name": "coinbase_ws", + "name": "coinbase_api", "off_chain_ticker": "SUI-USD" } ] @@ -2475,28 +2830,28 @@ }, "provider_configs": [ { - "name": "huobi_ws", - "off_chain_ticker": "suiusdt" + "name": "bybit_ws", + "off_chain_ticker": "SUIUSDT" }, { "name": "mexc_ws", "off_chain_ticker": "SUIUSDT" }, { - "name": "gate_ws", - "off_chain_ticker": "SUI_USDT" + "name": "binance_api", + "off_chain_ticker": "SUIUSDT" }, { - "name": "kucoin_ws", - "off_chain_ticker": "SUI-USDT" + "name": "gate_ws", + "off_chain_ticker": "SUI_USDT" }, { - "name": "binance_api", - "off_chain_ticker": "SUIUSDT" + "name": "huobi_ws", + "off_chain_ticker": "suiusdt" }, { - "name": "bybit_ws", - "off_chain_ticker": "SUIUSDT" + "name": "kucoin_ws", + "off_chain_ticker": "SUI-USDT" }, { "name": "okx_ws", @@ -2515,25 +2870,21 @@ }, "provider_configs": [ { - "name": "coingecko_api", - "off_chain_ticker": "celestia/usd" + "name": "bitfinex_ws", + "off_chain_ticker": "TIAUSD" }, { "name": "kraken_ws", "off_chain_ticker": "TIA/USD" }, { - "name": "coinbase_api", - "off_chain_ticker": "TIA-USD" + "name": "coingecko_api", + "off_chain_ticker": "celestia/usd" }, { "name": "crypto_dot_com_ws", "off_chain_ticker": "TIAUSD-PERP" }, - { - "name": "bitfinex_ws", - "off_chain_ticker": "TIAUSD" - }, { "name": "coinbase_ws", "off_chain_ticker": "TIA-USD" @@ -2541,6 +2892,10 @@ { "name": "okx_ws", "off_chain_ticker": "TIA-USD" + }, + { + "name": "coinbase_api", + "off_chain_ticker": "TIA-USD" } ] }, @@ -2555,11 +2910,11 @@ }, "provider_configs": [ { - "name": "coinbase_api", + "name": "coinbase_ws", "off_chain_ticker": "TIA-USDC" }, { - "name": "coinbase_ws", + "name": "coinbase_api", "off_chain_ticker": "TIA-USDC" } ] @@ -2575,31 +2930,31 @@ }, "provider_configs": [ { - "name": "huobi_ws", - "off_chain_ticker": "tiausdt" + "name": "gate_ws", + "off_chain_ticker": "TIA_USDT" }, { - "name": "gate_ws", + "name": "crypto_dot_com_ws", "off_chain_ticker": "TIA_USDT" }, { - "name": "coinbase_api", + "name": "coinbase_ws", "off_chain_ticker": "TIA-USDT" }, { - "name": "crypto_dot_com_ws", - "off_chain_ticker": "TIA_USDT" + "name": "huobi_ws", + "off_chain_ticker": "tiausdt" }, { "name": "kucoin_ws", "off_chain_ticker": "TIA-USDT" }, { - "name": "coinbase_ws", + "name": "okx_ws", "off_chain_ticker": "TIA-USDT" }, { - "name": "okx_ws", + "name": "coinbase_api", "off_chain_ticker": "TIA-USDT" } ] @@ -2635,28 +2990,28 @@ }, "provider_configs": [ { - "name": "huobi_ws", - "off_chain_ticker": "trxusdt" + "name": "bybit_ws", + "off_chain_ticker": "TRXUSDT" }, { "name": "mexc_ws", "off_chain_ticker": "TRXUSDT" }, { - "name": "gate_ws", - "off_chain_ticker": "TRX_USDT" + "name": "binance_api", + "off_chain_ticker": "TRXUSDT" }, { - "name": "kucoin_ws", - "off_chain_ticker": "TRX-USDT" + "name": "gate_ws", + "off_chain_ticker": "TRX_USDT" }, { - "name": "binance_api", - "off_chain_ticker": "TRXUSDT" + "name": "huobi_ws", + "off_chain_ticker": "trxusdt" }, { - "name": "bybit_ws", - "off_chain_ticker": "TRXUSDT" + "name": "kucoin_ws", + "off_chain_ticker": "TRX-USDT" }, { "name": "okx_ws", @@ -2664,6 +3019,23 @@ } ] }, + "UNI/ETH": { + "ticker": { + "currency_pair": { + "Base": "UNI", + "Quote": "ETH" + }, + "decimals": 18, + "min_provider_count": 1 + }, + "provider_configs": [ + { + "name": "uniswapv3_api", + "off_chain_ticker": "UNI/ETH", + "metadata_JSON": "{\"address\":\"0x1d42064Fc4Beb5F8aAF85F4617AE8b3b5B8Bd801\",\"base_decimals\":18,\"quote_decimals\":18,\"invert\":false}" + } + ] + }, "UNI/USD": { "ticker": { "currency_pair": { @@ -2683,15 +3055,32 @@ "off_chain_ticker": "UNIUSD" }, { - "name": "coinbase_api", + "name": "coinbase_ws", "off_chain_ticker": "UNI-USD" }, { - "name": "coinbase_ws", + "name": "coinbase_api", "off_chain_ticker": "UNI-USD" } ] }, + "UNI/USDC": { + "ticker": { + "currency_pair": { + "Base": "UNI", + "Quote": "USDC" + }, + "decimals": 18, + "min_provider_count": 1 + }, + "provider_configs": [ + { + "name": "uniswapv3_api", + "off_chain_ticker": "UNI/USDC", + "metadata_JSON": "{\"address\":\"0xD0fC8bA7E267f2bc56044A7715A489d851dC6D78\",\"base_decimals\":18,\"quote_decimals\":6,\"invert\":false}" + } + ] + }, "UNI/USDT": { "ticker": { "currency_pair": { @@ -2703,20 +3092,25 @@ }, "provider_configs": [ { - "name": "gate_ws", - "off_chain_ticker": "UNI_USDT" + "name": "bybit_ws", + "off_chain_ticker": "UNIUSDT" }, { - "name": "kucoin_ws", - "off_chain_ticker": "UNI-USDT" + "name": "uniswapv3_api", + "off_chain_ticker": "UNI/USDT", + "metadata_JSON": "{\"address\":\"0x3470447f3CecfFAc709D3e783A307790b0208d60\",\"base_decimals\":18,\"quote_decimals\":6,\"invert\":false}" }, { "name": "binance_api", "off_chain_ticker": "UNIUSDT" }, { - "name": "bybit_ws", - "off_chain_ticker": "UNIUSDT" + "name": "gate_ws", + "off_chain_ticker": "UNI_USDT" + }, + { + "name": "kucoin_ws", + "off_chain_ticker": "UNI-USDT" }, { "name": "okx_ws", @@ -2739,11 +3133,11 @@ "off_chain_ticker": "USDC/USD" }, { - "name": "coinbase_api", + "name": "okx_ws", "off_chain_ticker": "USDC-USD" }, { - "name": "okx_ws", + "name": "coinbase_api", "off_chain_ticker": "USDC-USD" } ] @@ -2759,12 +3153,8 @@ }, "provider_configs": [ { - "name": "bitstamp_ws", - "off_chain_ticker": "usdcusdt" - }, - { - "name": "huobi_ws", - "off_chain_ticker": "usdcusdt" + "name": "bybit_ws", + "off_chain_ticker": "USDCUSDT" }, { "name": "kraken_ws", @@ -2775,7 +3165,7 @@ "off_chain_ticker": "USDCUSDT" }, { - "name": "kraken_api", + "name": "binance_api", "off_chain_ticker": "USDCUSDT" }, { @@ -2783,28 +3173,32 @@ "off_chain_ticker": "USDC_USDT" }, { - "name": "coinbase_api", - "off_chain_ticker": "USDC-USDT" + "name": "kraken_api", + "off_chain_ticker": "USDCUSDT" }, { - "name": "kucoin_ws", - "off_chain_ticker": "USDC-USDT" + "name": "bitstamp_ws", + "off_chain_ticker": "usdcusdt" }, { - "name": "binance_api", - "off_chain_ticker": "USDCUSDT" + "name": "coinbase_ws", + "off_chain_ticker": "USDC-USDT" }, { - "name": "bybit_ws", - "off_chain_ticker": "USDCUSDT" + "name": "huobi_ws", + "off_chain_ticker": "usdcusdt" }, { - "name": "coinbase_ws", + "name": "kucoin_ws", "off_chain_ticker": "USDC-USDT" }, { "name": "okx_ws", "off_chain_ticker": "USDC-USDT" + }, + { + "name": "coinbase_api", + "off_chain_ticker": "USDC-USDT" } ] }, @@ -2818,29 +3212,25 @@ "min_provider_count": 1 }, "provider_configs": [ - { - "name": "bitstamp_ws", - "off_chain_ticker": "usdtusd" - }, { "name": "kraken_ws", "off_chain_ticker": "USDT/USD" }, { - "name": "kraken_api", - "off_chain_ticker": "USDTZUSD" - }, - { - "name": "coinbase_api", - "off_chain_ticker": "USDT-USD" + "name": "binance_api", + "off_chain_ticker": "USDTUSD" }, { "name": "crypto_dot_com_ws", "off_chain_ticker": "USDT_USD" }, { - "name": "binance_api", - "off_chain_ticker": "USDTUSD" + "name": "kraken_api", + "off_chain_ticker": "USDTZUSD" + }, + { + "name": "bitstamp_ws", + "off_chain_ticker": "usdtusd" }, { "name": "coinbase_ws", @@ -2849,6 +3239,44 @@ { "name": "okx_ws", "off_chain_ticker": "USDT-USD" + }, + { + "name": "coinbase_api", + "off_chain_ticker": "USDT-USD" + } + ] + }, + "WBTC/ETH": { + "ticker": { + "currency_pair": { + "Base": "WBTC", + "Quote": "ETH" + }, + "decimals": 18, + "min_provider_count": 1 + }, + "provider_configs": [ + { + "name": "uniswapv3_api", + "off_chain_ticker": "WBTC/ETH", + "metadata_JSON": "{\"address\":\"0xCBCdF9626bC03E24f779434178A73a0B4bad62eD\",\"base_decimals\":8,\"quote_decimals\":18,\"invert\":false}" + } + ] + }, + "WBTC/USDC": { + "ticker": { + "currency_pair": { + "Base": "WBTC", + "Quote": "USDC" + }, + "decimals": 18, + "min_provider_count": 1 + }, + "provider_configs": [ + { + "name": "uniswapv3_api", + "off_chain_ticker": "WBTC/USDC", + "metadata_JSON": "{\"address\":\"0x99ac8cA7087fA4A2A1FB6357269965A2014ABc35\",\"base_decimals\":8,\"quote_decimals\":6,\"invert\":false}" } ] }, @@ -2863,32 +3291,117 @@ }, "provider_configs": [ { - "name": "huobi_ws", - "off_chain_ticker": "wldusdt" + "name": "bybit_ws", + "off_chain_ticker": "WLDUSDT" }, { "name": "mexc_ws", "off_chain_ticker": "WLDUSDT" }, + { + "name": "binance_api", + "off_chain_ticker": "WLDUSDT" + }, { "name": "gate_ws", "off_chain_ticker": "WLD_USDT" }, + { + "name": "huobi_ws", + "off_chain_ticker": "wldusdt" + }, { "name": "kucoin_ws", "off_chain_ticker": "WLD-USDT" }, { - "name": "binance_api", - "off_chain_ticker": "WLDUSDT" + "name": "okx_ws", + "off_chain_ticker": "WLD-USDT" + } + ] + }, + "WSTETH/ETH": { + "ticker": { + "currency_pair": { + "Base": "WSTETH", + "Quote": "ETH" }, + "decimals": 18, + "min_provider_count": 1 + }, + "provider_configs": [ { - "name": "bybit_ws", - "off_chain_ticker": "WLDUSDT" + "name": "uniswapv3_api", + "off_chain_ticker": "WSTETH/ETH", + "metadata_JSON": "{\"address\":\"0x109830a1AAaD605BbF02a9dFA7B0B92EC2FB7dAa\",\"base_decimals\":18,\"quote_decimals\":18,\"invert\":false}" + } + ] + }, + "WSTETH/USDC": { + "ticker": { + "currency_pair": { + "Base": "WSTETH", + "Quote": "USDC" }, + "decimals": 18, + "min_provider_count": 1 + }, + "provider_configs": [ { - "name": "okx_ws", - "off_chain_ticker": "WLD-USDT" + "name": "uniswapv3_api", + "off_chain_ticker": "WSTETH/USDC", + "metadata_JSON": "{\"address\":\"0x4622Df6fB2d9Bee0DCDaCF545aCDB6a2b2f4f863\",\"base_decimals\":18,\"quote_decimals\":6,\"invert\":false}" + } + ] + }, + "WTAO/ETH": { + "ticker": { + "currency_pair": { + "Base": "WTAO", + "Quote": "ETH" + }, + "decimals": 18, + "min_provider_count": 1 + }, + "provider_configs": [ + { + "name": "uniswapv3_api", + "off_chain_ticker": "WTAO/ETH", + "metadata_JSON": "{\"address\":\"0x433a00819C771b33FA7223a5B3499b24FBCd1bBC\",\"base_decimals\":9,\"quote_decimals\":18,\"invert\":false}" + } + ] + }, + "WTAO/USDC": { + "ticker": { + "currency_pair": { + "Base": "WTAO", + "Quote": "USDC" + }, + "decimals": 18, + "min_provider_count": 1 + }, + "provider_configs": [ + { + "name": "uniswapv3_api", + "off_chain_ticker": "WTAO/USDC", + "metadata_JSON": "{\"address\":\"0xf763Bb342eB3d23C02ccB86312422fe0c1c17E94\",\"base_decimals\":9,\"quote_decimals\":6,\"invert\":false}" + } + ] + }, + "WTAO/USDT": { + "ticker": { + "currency_pair": { + "Base": "WTAO", + "Quote": "USDT" + }, + "decimals": 18, + "min_provider_count": 1 + }, + "provider_configs": [ + { + "name": "uniswapv3_api", + "off_chain_ticker": "WTAO/USDT", + "metadata_JSON": "{\"address\":\"0xFEb6A9de89465dA662Ff16F85b5342B73bD0B455\",\"base_decimals\":9,\"quote_decimals\":6,\"invert\":false}" } ] }, @@ -2911,11 +3424,11 @@ "off_chain_ticker": "XXLMZUSD" }, { - "name": "coinbase_api", + "name": "coinbase_ws", "off_chain_ticker": "XLM-USD" }, { - "name": "coinbase_ws", + "name": "coinbase_api", "off_chain_ticker": "XLM-USD" } ] @@ -2931,20 +3444,20 @@ }, "provider_configs": [ { - "name": "mexc_ws", + "name": "bybit_ws", "off_chain_ticker": "XLMUSDT" }, { - "name": "kucoin_ws", - "off_chain_ticker": "XLM-USDT" + "name": "mexc_ws", + "off_chain_ticker": "XLMUSDT" }, { "name": "binance_api", "off_chain_ticker": "XLMUSDT" }, { - "name": "bybit_ws", - "off_chain_ticker": "XLMUSDT" + "name": "kucoin_ws", + "off_chain_ticker": "XLM-USDT" }, { "name": "okx_ws", @@ -2971,11 +3484,11 @@ "off_chain_ticker": "XXRPZUSD" }, { - "name": "coinbase_api", + "name": "coinbase_ws", "off_chain_ticker": "XRP-USD" }, { - "name": "coinbase_ws", + "name": "coinbase_api", "off_chain_ticker": "XRP-USD" } ] @@ -2991,15 +3504,15 @@ }, "provider_configs": [ { - "name": "huobi_ws", - "off_chain_ticker": "xrpusdt" + "name": "bybit_ws", + "off_chain_ticker": "XRPUSDT" }, { "name": "mexc_ws", "off_chain_ticker": "XRPUSDT" }, { - "name": "kraken_api", + "name": "binance_api", "off_chain_ticker": "XRPUSDT" }, { @@ -3007,16 +3520,16 @@ "off_chain_ticker": "XRP_USDT" }, { - "name": "kucoin_ws", - "off_chain_ticker": "XRP-USDT" + "name": "kraken_api", + "off_chain_ticker": "XRPUSDT" }, { - "name": "binance_api", - "off_chain_ticker": "XRPUSDT" + "name": "huobi_ws", + "off_chain_ticker": "xrpusdt" }, { - "name": "bybit_ws", - "off_chain_ticker": "XRPUSDT" + "name": "kucoin_ws", + "off_chain_ticker": "XRP-USDT" }, { "name": "okx_ws", diff --git a/config/local/oracle.json b/config/local/oracle.json index f4d49b154..1f132484a 100644 --- a/config/local/oracle.json +++ b/config/local/oracle.json @@ -1,5 +1,5 @@ { - "updateInterval": 250000000, + "updateInterval": 500000000, "maxPriceAge": 120000000000, "providers": [ { @@ -12,6 +12,8 @@ "maxQueries": 1, "atomic": true, "url": "https://api.binance.com/api/v3/ticker/price?symbols=%s%s%s", + "endpoints": null, + "batchSize": 0, "name": "binance_api" }, "webSocket": { @@ -42,6 +44,8 @@ "maxQueries": 5, "atomic": false, "url": "https://api.coinbase.com/v2/prices/%s/spot", + "endpoints": null, + "batchSize": 0, "name": "coinbase_api" }, "webSocket": { @@ -72,6 +76,8 @@ "maxQueries": 1, "atomic": true, "url": "https://api.coingecko.com/api/v3", + "endpoints": null, + "batchSize": 0, "name": "coingecko_api" }, "webSocket": { @@ -102,6 +108,8 @@ "maxQueries": 1, "atomic": false, "url": "https://api.geckoterminal.com/api/v2/simple/networks/eth/token_price/%s", + "endpoints": null, + "batchSize": 0, "name": "gecko_terminal_api" }, "webSocket": { @@ -132,6 +140,8 @@ "maxQueries": 1, "atomic": true, "url": "https://api.kraken.com/0/public/Ticker?pair=%s", + "endpoints": null, + "batchSize": 0, "name": "kraken_api" }, "webSocket": { @@ -162,6 +172,8 @@ "maxQueries": 1, "atomic": false, "url": "volatile-exchange-provider", + "endpoints": null, + "batchSize": 0, "name": "volatile-exchange-provider" }, "webSocket": { @@ -192,6 +204,8 @@ "maxQueries": 0, "atomic": false, "url": "", + "endpoints": null, + "batchSize": 0, "name": "" }, "webSocket": { @@ -222,6 +236,8 @@ "maxQueries": 0, "atomic": false, "url": "", + "endpoints": null, + "batchSize": 0, "name": "" }, "webSocket": { @@ -252,6 +268,8 @@ "maxQueries": 0, "atomic": false, "url": "", + "endpoints": null, + "batchSize": 0, "name": "" }, "webSocket": { @@ -282,6 +300,8 @@ "maxQueries": 0, "atomic": false, "url": "", + "endpoints": null, + "batchSize": 0, "name": "" }, "webSocket": { @@ -312,6 +332,8 @@ "maxQueries": 0, "atomic": false, "url": "", + "endpoints": null, + "batchSize": 0, "name": "" }, "webSocket": { @@ -342,6 +364,8 @@ "maxQueries": 0, "atomic": false, "url": "", + "endpoints": null, + "batchSize": 0, "name": "" }, "webSocket": { @@ -372,6 +396,8 @@ "maxQueries": 0, "atomic": false, "url": "", + "endpoints": null, + "batchSize": 0, "name": "" }, "webSocket": { @@ -402,6 +428,8 @@ "maxQueries": 0, "atomic": false, "url": "", + "endpoints": null, + "batchSize": 0, "name": "" }, "webSocket": { @@ -432,6 +460,8 @@ "maxQueries": 1, "atomic": false, "url": "https://api.kucoin.com", + "endpoints": null, + "batchSize": 0, "name": "kucoin_ws" }, "webSocket": { @@ -462,6 +492,8 @@ "maxQueries": 0, "atomic": false, "url": "", + "endpoints": null, + "batchSize": 0, "name": "" }, "webSocket": { @@ -492,6 +524,8 @@ "maxQueries": 0, "atomic": false, "url": "", + "endpoints": null, + "batchSize": 0, "name": "" }, "webSocket": { @@ -511,6 +545,38 @@ "maxSubscriptionsPerConnection": 0 }, "type": "price_provider" + }, + { + "name": "uniswapv3_api", + "api": { + "enabled": true, + "timeout": 1000000000, + "interval": 2000000000, + "reconnectTimeout": 2000000000, + "maxQueries": 1, + "atomic": true, + "url": "https://eth.public-rpc.com/", + "endpoints": null, + "batchSize": 0, + "name": "uniswapv3_api" + }, + "webSocket": { + "enabled": false, + "maxBufferSize": 0, + "reconnectionTimeout": 0, + "wss": "", + "name": "", + "readBufferSize": 0, + "writeBufferSize": 0, + "handshakeTimeout": 0, + "enableCompression": false, + "readTimeout": 0, + "writeTimeout": 0, + "pingInterval": 0, + "maxReadErrorCount": 0, + "maxSubscriptionsPerConnection": 0 + }, + "type": "price_provider" } ], "production": true, diff --git a/oracle/constants/currency_pairs.go b/oracle/constants/currency_pairs.go index d4abfe671..36d2b0479 100644 --- a/oracle/constants/currency_pairs.go +++ b/oracle/constants/currency_pairs.go @@ -54,6 +54,7 @@ var ( ARBITRUM_USDC = pkgtypes.NewCurrencyPair("ARB", "USDC") ATOM_USDC = pkgtypes.NewCurrencyPair("ATOM", "USDC") AVAX_USDC = pkgtypes.NewCurrencyPair("AVAX", "USDC") + AXELAR_USDC = pkgtypes.NewCurrencyPair("AXL", "USDC") BCH_USDC = pkgtypes.NewCurrencyPair("BCH", "USDC") BITCOIN_USDC = pkgtypes.NewCurrencyPair("BTC", "USDC") BLUR_USDC = pkgtypes.NewCurrencyPair("BLUR", "USDC") @@ -62,10 +63,12 @@ var ( CHAINLINK_USDC = pkgtypes.NewCurrencyPair("LINK", "USDC") COMPOUND_USDC = pkgtypes.NewCurrencyPair("COMP", "USDC") CURVE_USDC = pkgtypes.NewCurrencyPair("CRV", "USDC") + DAI_USDC = pkgtypes.NewCurrencyPair("DAI", "USDC") DOGE_USDC = pkgtypes.NewCurrencyPair("DOGE", "USDC") DYDX_USDC = pkgtypes.NewCurrencyPair("DYDX", "USDC") ETC_USDC = pkgtypes.NewCurrencyPair("ETC", "USDC") ETHEREUM_USDC = pkgtypes.NewCurrencyPair("ETH", "USDC") + ETHENA_USDC = pkgtypes.NewCurrencyPair("ENA", "USDC") FILECOIN_USDC = pkgtypes.NewCurrencyPair("FIL", "USDC") LIDO_USDC = pkgtypes.NewCurrencyPair("LDO", "USDC") LITECOIN_USDC = pkgtypes.NewCurrencyPair("LTC", "USDC") @@ -86,6 +89,9 @@ var ( TRON_USDC = pkgtypes.NewCurrencyPair("TRX", "USDC") UNISWAP_USDC = pkgtypes.NewCurrencyPair("UNI", "USDC") WORLD_USDC = pkgtypes.NewCurrencyPair("WLD", "USDC") + WBITCOIN_USDC = pkgtypes.NewCurrencyPair("WBTC", "USDC") + WSTETH_USDC = pkgtypes.NewCurrencyPair("WSTETH", "USDC") + WTAO_USDC = pkgtypes.NewCurrencyPair("WTAO", "USDC") // USDT denominated tickers. APE_USDT = pkgtypes.NewCurrencyPair("APE", "USDT") @@ -105,6 +111,8 @@ var ( DYDX_USDT = pkgtypes.NewCurrencyPair("DYDX", "USDT") ETC_USDT = pkgtypes.NewCurrencyPair("ETC", "USDT") ETHEREUM_USDT = pkgtypes.NewCurrencyPair("ETH", "USDT") + ETHENA_USDT = pkgtypes.NewCurrencyPair("ENA", "USDT") + ETHERFI_USDT = pkgtypes.NewCurrencyPair("ETHFI", "USDT") FILECOIN_USDT = pkgtypes.NewCurrencyPair("FIL", "USDT") LIDO_USDT = pkgtypes.NewCurrencyPair("LDO", "USDT") LITECOIN_USDT = pkgtypes.NewCurrencyPair("LTC", "USDT") @@ -126,7 +134,25 @@ var ( UNISWAP_USDT = pkgtypes.NewCurrencyPair("UNI", "USDT") USDC_USDT = pkgtypes.NewCurrencyPair("USDC", "USDT") WORLD_USDT = pkgtypes.NewCurrencyPair("WLD", "USDT") + WTAO_USDT = pkgtypes.NewCurrencyPair("WTAO", "USDT") // BTC denominated tickers. ETHEREUM_BITCOIN = pkgtypes.NewCurrencyPair("ETH", "BTC") + + // ETH denominated tickers. + AAVE_ETH = pkgtypes.NewCurrencyPair("AAVE", "ETH") + AXELAR_ETH = pkgtypes.NewCurrencyPair("AXL", "ETH") + CHAINLINK_ETH = pkgtypes.NewCurrencyPair("LINK", "ETH") + DAI_ETH = pkgtypes.NewCurrencyPair("DAI", "ETH") + ETHENA_ETH = pkgtypes.NewCurrencyPair("ENA", "ETH") + ETHERFI_ETH = pkgtypes.NewCurrencyPair("ETHFI", "ETH") + HARRY_POTTER_OBAMA_SONIC_10_INU_ETH = pkgtypes.NewCurrencyPair("HARRY_POTTER_OBAMA_SONIC_10_INU", "ETH") + LIDO_ETH = pkgtypes.NewCurrencyPair("LDO", "ETH") + MAKER_ETH = pkgtypes.NewCurrencyPair("MKR", "ETH") + MOG_ETH = pkgtypes.NewCurrencyPair("MOG", "ETH") + PEPE_ETH = pkgtypes.NewCurrencyPair("PEPE", "ETH") + UNISWAP_ETH = pkgtypes.NewCurrencyPair("UNI", "ETH") + WBITCOIN_ETH = pkgtypes.NewCurrencyPair("WBTC", "ETH") + WSTETH_ETH = pkgtypes.NewCurrencyPair("WSTETH", "ETH") + WTAO_ETH = pkgtypes.NewCurrencyPair("WTAO", "ETH") ) diff --git a/providers/apis/defi/uniswapv3/helper_test.go b/providers/apis/defi/uniswapv3/helper_test.go index 96d9e6c95..66da7ef7f 100644 --- a/providers/apis/defi/uniswapv3/helper_test.go +++ b/providers/apis/defi/uniswapv3/helper_test.go @@ -36,7 +36,7 @@ func createPriceFetcher( client := mocks.NewEVMClient(t) fetcher, err := uniswapv3.NewPriceFetcher( logger, - uniswapv3.DefaultAPIConfig, + uniswapv3.DefaultETHAPIConfig, client, ) require.NoError(t, err) @@ -52,7 +52,7 @@ func createPriceFetcherWithClient( fetcher, err := uniswapv3.NewPriceFetcher( logger, - uniswapv3.DefaultAPIConfig, + uniswapv3.DefaultETHAPIConfig, client, ) require.NoError(t, err) diff --git a/providers/apis/defi/uniswapv3/utils.go b/providers/apis/defi/uniswapv3/utils.go index 23feae77a..c95a36f59 100644 --- a/providers/apis/defi/uniswapv3/utils.go +++ b/providers/apis/defi/uniswapv3/utils.go @@ -8,6 +8,8 @@ import ( "github.com/ethereum/go-ethereum/common" "github.com/skip-mev/slinky/oracle/config" + "github.com/skip-mev/slinky/oracle/constants" + "github.com/skip-mev/slinky/oracle/types" ) const ( @@ -52,7 +54,7 @@ func (pc *PoolConfig) ValidateBasic() error { } // MustToJSON converts the pool configuration to JSON. -func (pc *PoolConfig) MustToJSON() string { +func (pc PoolConfig) MustToJSON() string { b, err := json.Marshal(pc) if err != nil { panic(err) @@ -60,14 +62,332 @@ func (pc *PoolConfig) MustToJSON() string { return string(b) } -// DefaultAPIConfig is the default configuration for the Uniswap API. -var DefaultAPIConfig = config.APIConfig{ - Name: Name, - Atomic: true, - Enabled: true, - Timeout: 1000 * time.Millisecond, - Interval: 2000 * time.Millisecond, - ReconnectTimeout: 2000 * time.Millisecond, - MaxQueries: 1, - URL: "https://eth.public-rpc.com/", -} +var ( + // DefaultETHAPIConfig is the default configuration for the Uniswap API. Specifically this is for + // Ethereum mainnet. + DefaultETHAPIConfig = config.APIConfig{ + Name: Name, + Atomic: true, + Enabled: true, + Timeout: 1000 * time.Millisecond, + Interval: 2000 * time.Millisecond, + ReconnectTimeout: 2000 * time.Millisecond, + MaxQueries: 1, + URL: "https://eth.public-rpc.com/", + } + + // DefaultETHMarketConfig is the default market configuration for Uniswap V3. Specifically + // this is for Ethereum mainnet. + DefaultETHMarketConfig = types.CurrencyPairsToProviderTickers{ + constants.AAVE_ETH: { + OffChainTicker: constants.AAVE_ETH.String(), + JSON: PoolConfig{ + // REF: https://app.uniswap.org/explore/pools/ethereum/0x5aB53EE1d50eeF2C1DD3d5402789cd27bB52c1bB + Address: "0x5aB53EE1d50eeF2C1DD3d5402789cd27bB52c1bB", + BaseDecimals: 18, + QuoteDecimals: 18, + Invert: false, + }.MustToJSON(), + }, + constants.AXELAR_ETH: { + OffChainTicker: constants.AXELAR_ETH.String(), + JSON: PoolConfig{ + // REF: https://app.uniswap.org/explore/pools/ethereum/0xE7F6720C1F546217081667A5ab7fEbB688036856 + Address: "0xE7F6720C1F546217081667A5ab7fEbB688036856", + BaseDecimals: 6, + QuoteDecimals: 18, + Invert: false, + }.MustToJSON(), + }, + constants.AXELAR_USDC: { + OffChainTicker: constants.AXELAR_USDC.String(), + JSON: PoolConfig{ + // REF: https://app.uniswap.org/explore/pools/ethereum/0xAe2A25CBDb19d0dC0DDDD1D2f6b08A6E48c4a9a9 + Address: "0xAe2A25CBDb19d0dC0DDDD1D2f6b08A6E48c4a9a9", + BaseDecimals: 6, + QuoteDecimals: 6, + Invert: false, + }.MustToJSON(), + }, + constants.CHAINLINK_ETH: { + OffChainTicker: constants.CHAINLINK_ETH.String(), + JSON: PoolConfig{ + // REF: https://app.uniswap.org/explore/pools/ethereum/0xa6Cc3C2531FdaA6Ae1A3CA84c2855806728693e8 + Address: "0xa6Cc3C2531FdaA6Ae1A3CA84c2855806728693e8", + BaseDecimals: 18, + QuoteDecimals: 18, + Invert: false, + }.MustToJSON(), + }, + constants.CHAINLINK_USDC: { + OffChainTicker: constants.CHAINLINK_USDC.String(), + JSON: PoolConfig{ + // REF: https://app.uniswap.org/explore/pools/ethereum/0xFAD57d2039C21811C8F2B5D5B65308aa99D31559 + Address: "0xFAD57d2039C21811C8F2B5D5B65308aa99D31559", + BaseDecimals: 18, + QuoteDecimals: 6, + Invert: false, + }.MustToJSON(), + }, + constants.DAI_ETH: { + OffChainTicker: constants.DAI_ETH.String(), + JSON: PoolConfig{ + // REF: https://app.uniswap.org/explore/pools/ethereum/0xC2e9F25Be6257c210d7Adf0D4Cd6E3E881ba25f8 + Address: "0xC2e9F25Be6257c210d7Adf0D4Cd6E3E881ba25f8", + BaseDecimals: 18, + QuoteDecimals: 18, + Invert: true, + }.MustToJSON(), + }, + constants.DAI_USDC: { + OffChainTicker: constants.DAI_USDC.String(), + JSON: PoolConfig{ + // REF: https://app.uniswap.org/explore/pools/ethereum/0x5777d92f208679DB4b9778590Fa3CAB3aC9e2168 + Address: "0x5777d92f208679DB4b9778590Fa3CAB3aC9e2168", + BaseDecimals: 18, + QuoteDecimals: 6, + Invert: false, + }.MustToJSON(), + }, + constants.ETHEREUM_USDC: { + OffChainTicker: constants.ETHEREUM_USDC.String(), + JSON: PoolConfig{ + // REF: https://app.uniswap.org/explore/pools/ethereum/0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640 + Address: "0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640", + BaseDecimals: 18, + QuoteDecimals: 6, + Invert: true, + }.MustToJSON(), + }, + constants.ETHEREUM_USDT: { + OffChainTicker: constants.ETHEREUM_USDT.String(), + JSON: PoolConfig{ + // REF: https://app.uniswap.org/explore/pools/ethereum/0x4e68Ccd3E89f51C3074ca5072bbAC773960dFa36 + Address: "0x4e68Ccd3E89f51C3074ca5072bbAC773960dFa36", + BaseDecimals: 18, + QuoteDecimals: 6, + Invert: false, + }.MustToJSON(), + }, + constants.ETHENA_ETH: { + OffChainTicker: constants.ETHENA_ETH.String(), + JSON: PoolConfig{ + // REF: https://app.uniswap.org/explore/pools/ethereum/0xc3Db44ADC1fCdFd5671f555236eae49f4A8EEa18 + Address: "0xc3Db44ADC1fCdFd5671f555236eae49f4A8EEa18", + BaseDecimals: 18, + QuoteDecimals: 18, + Invert: false, + }.MustToJSON(), + }, + constants.ETHENA_USDC: { + OffChainTicker: constants.ETHENA_USDC.String(), + JSON: PoolConfig{ + // REF: https://app.uniswap.org/explore/pools/ethereum/0x408A625596f47314e1FD4a6cBCE84C4A8695bA3f + Address: "0x408A625596f47314e1FD4a6cBCE84C4A8695bA3f", + BaseDecimals: 18, + QuoteDecimals: 6, + Invert: false, + }.MustToJSON(), + }, + constants.ETHENA_USDT: { + OffChainTicker: constants.ETHENA_USDT.String(), + JSON: PoolConfig{ + // REF: https://app.uniswap.org/explore/pools/ethereum/0x4185D2952eb74A28EF550a410BA9b8e210Ee9391 + Address: "0x4185D2952eb74A28EF550a410BA9b8e210Ee9391", + BaseDecimals: 18, + QuoteDecimals: 6, + Invert: false, + }.MustToJSON(), + }, + constants.ETHERFI_ETH: { + OffChainTicker: constants.ETHERFI_ETH.String(), + JSON: PoolConfig{ + // REF: https://app.uniswap.org/explore/pools/ethereum/0xDeFDAC77A9A767a2c4eEd826E1AEaD2dAcE53e1C + Address: "0xDeFDAC77A9A767a2c4eEd826E1AEaD2dAcE53e1C", + BaseDecimals: 18, + QuoteDecimals: 18, + Invert: true, + }.MustToJSON(), + }, + constants.ETHERFI_USDT: { + OffChainTicker: constants.ETHERFI_USDT.String(), + JSON: PoolConfig{ + // REF: https://app.uniswap.org/explore/pools/ethereum/0x80fa4C1fd0fbB9A4f071999aF69531dee1016644 + Address: "0x80fa4C1fd0fbB9A4f071999aF69531dee1016644", + BaseDecimals: 18, + QuoteDecimals: 6, + Invert: true, + }.MustToJSON(), + }, + constants.HARRY_POTTER_OBAMA_SONIC_10_INU_ETH: { + OffChainTicker: constants.HARRY_POTTER_OBAMA_SONIC_10_INU_ETH.String(), + JSON: PoolConfig{ + // REF: https://app.uniswap.org/explore/pools/ethereum/0x0c30062368eEfB96bF3AdE1218E685306b8E89Fa + Address: "0x0c30062368eEfB96bF3AdE1218E685306b8E89Fa", + BaseDecimals: 8, + QuoteDecimals: 18, + Invert: false, + }.MustToJSON(), + }, + constants.LIDO_ETH: { + OffChainTicker: constants.LIDO_ETH.String(), + JSON: PoolConfig{ + // REF: https://app.uniswap.org/explore/pools/ethereum/0xa3f558aebAecAf0e11cA4b2199cC5Ed341edfd74 + Address: "0xa3f558aebAecAf0e11cA4b2199cC5Ed341edfd74", + BaseDecimals: 18, + QuoteDecimals: 18, + Invert: false, + }.MustToJSON(), + }, + constants.LIDO_USDC: { + OffChainTicker: constants.LIDO_USDC.String(), + JSON: PoolConfig{ + // REF: https://app.uniswap.org/explore/pools/ethereum/0x78235D08B2aE7a3E00184329212a4d7AcD2F9985 + Address: "0x78235D08B2aE7a3E00184329212a4d7AcD2F9985", + BaseDecimals: 18, + QuoteDecimals: 6, + Invert: false, + }.MustToJSON(), + }, + constants.PEPE_ETH: { + OffChainTicker: constants.PEPE_ETH.String(), + JSON: PoolConfig{ + // REF: https://app.uniswap.org/explore/pools/ethereum/0x11950d141EcB863F01007AdD7D1A342041227b58 + Address: "0x11950d141EcB863F01007AdD7D1A342041227b58", + BaseDecimals: 18, + QuoteDecimals: 18, + Invert: false, + }.MustToJSON(), + }, + constants.PEPE_USDC: { + OffChainTicker: constants.PEPE_USDC.String(), + JSON: PoolConfig{ + // REF: https://app.uniswap.org/explore/pools/ethereum/0xcEE31C846CbF003F4cEB5Bbd234cBA03C6e940C7 + Address: "0xcEE31C846CbF003F4cEB5Bbd234cBA03C6e940C7", + BaseDecimals: 18, + QuoteDecimals: 6, + Invert: false, + }.MustToJSON(), + }, + constants.MAKER_ETH: { + OffChainTicker: constants.MAKER_ETH.String(), + JSON: PoolConfig{ + // REF: https://app.uniswap.org/explore/pools/ethereum/0xe8c6c9227491C0a8156A0106A0204d881BB7E531 + Address: "0xe8c6c9227491C0a8156A0106A0204d881BB7E531", + BaseDecimals: 18, + QuoteDecimals: 18, + Invert: false, + }.MustToJSON(), + }, + constants.MAKER_USDC: { + OffChainTicker: constants.MAKER_USDC.String(), + JSON: PoolConfig{ + // REF: https://app.uniswap.org/explore/pools/ethereum/0xC486Ad2764D55C7dc033487D634195d6e4A6917E + Address: "0xC486Ad2764D55C7dc033487D634195d6e4A6917E", + BaseDecimals: 18, + QuoteDecimals: 6, + Invert: false, + }.MustToJSON(), + }, + constants.MOG_ETH: { + OffChainTicker: constants.MOG_ETH.String(), + JSON: PoolConfig{ + // REF: https://app.uniswap.org/explore/pools/ethereum/0x7832310Cd0de39c4cE0A635F34d9a4B5b47fd434 + Address: "0x7832310Cd0de39c4cE0A635F34d9a4B5b47fd434", + BaseDecimals: 18, + QuoteDecimals: 18, + Invert: false, + }.MustToJSON(), + }, + constants.UNISWAP_ETH: { + OffChainTicker: constants.UNISWAP_ETH.String(), + JSON: PoolConfig{ + // REF: https://app.uniswap.org/explore/pools/ethereum/0x1d42064Fc4Beb5F8aAF85F4617AE8b3b5B8Bd801 + Address: "0x1d42064Fc4Beb5F8aAF85F4617AE8b3b5B8Bd801", + BaseDecimals: 18, + QuoteDecimals: 18, + Invert: false, + }.MustToJSON(), + }, + constants.UNISWAP_USDC: { + OffChainTicker: constants.UNISWAP_USDC.String(), + JSON: PoolConfig{ + // REF: https://app.uniswap.org/explore/pools/ethereum/0xD0fC8bA7E267f2bc56044A7715A489d851dC6D78 + Address: "0xD0fC8bA7E267f2bc56044A7715A489d851dC6D78", + BaseDecimals: 18, + QuoteDecimals: 6, + Invert: false, + }.MustToJSON(), + }, + constants.UNISWAP_USDT: { + OffChainTicker: constants.UNISWAP_USDT.String(), + JSON: PoolConfig{ + // REF: https://app.uniswap.org/explore/pools/ethereum/0x3470447f3CecfFAc709D3e783A307790b0208d60 + Address: "0x3470447f3CecfFAc709D3e783A307790b0208d60", + BaseDecimals: 18, + QuoteDecimals: 6, + Invert: false, + }.MustToJSON(), + }, + constants.WBITCOIN_ETH: { + OffChainTicker: constants.WBITCOIN_ETH.String(), + JSON: PoolConfig{ + // REF: https://app.uniswap.org/explore/pools/ethereum/0xCBCdF9626bC03E24f779434178A73a0B4bad62eD + Address: "0xCBCdF9626bC03E24f779434178A73a0B4bad62eD", + BaseDecimals: 8, + QuoteDecimals: 18, + Invert: false, + }.MustToJSON(), + }, + constants.WBITCOIN_USDC: { + OffChainTicker: constants.WBITCOIN_USDC.String(), + JSON: PoolConfig{ + // REF: https://app.uniswap.org/explore/pools/ethereum/0x99ac8cA7087fA4A2A1FB6357269965A2014ABc35 + Address: "0x99ac8cA7087fA4A2A1FB6357269965A2014ABc35", + BaseDecimals: 8, + QuoteDecimals: 6, + Invert: false, + }.MustToJSON(), + }, + constants.WSTETH_ETH: { + OffChainTicker: constants.WSTETH_ETH.String(), + JSON: PoolConfig{ + // REF: https://app.uniswap.org/explore/pools/ethereum/0x109830a1AAaD605BbF02a9dFA7B0B92EC2FB7dAa + Address: "0x109830a1AAaD605BbF02a9dFA7B0B92EC2FB7dAa", + BaseDecimals: 18, + QuoteDecimals: 18, + Invert: false, + }.MustToJSON(), + }, + constants.WSTETH_USDC: { + OffChainTicker: constants.WSTETH_USDC.String(), + JSON: PoolConfig{ + // REF: https://app.uniswap.org/explore/pools/ethereum/0x4622Df6fB2d9Bee0DCDaCF545aCDB6a2b2f4f863 + Address: "0x4622Df6fB2d9Bee0DCDaCF545aCDB6a2b2f4f863", + BaseDecimals: 18, + QuoteDecimals: 6, + Invert: false, + }.MustToJSON(), + }, + constants.WTAO_ETH: { + OffChainTicker: constants.WTAO_ETH.String(), + JSON: PoolConfig{ + // REF: https://app.uniswap.org/explore/pools/ethereum/0x433a00819C771b33FA7223a5B3499b24FBCd1bBC + Address: "0x433a00819C771b33FA7223a5B3499b24FBCd1bBC", + BaseDecimals: 9, + QuoteDecimals: 18, + Invert: false, + }.MustToJSON(), + }, + constants.WTAO_USDC: { + OffChainTicker: constants.WTAO_USDC.String(), + JSON: PoolConfig{ + // REF: https://app.uniswap.org/explore/pools/ethereum/0xf763Bb342eB3d23C02ccB86312422fe0c1c17E94 + Address: "0xf763Bb342eB3d23C02ccB86312422fe0c1c17E94", + BaseDecimals: 9, + QuoteDecimals: 6, + Invert: false, + }.MustToJSON(), + }, + } +)