From d34e9b13d066b6aefde219d0365803798857e3ce Mon Sep 17 00:00:00 2001 From: sina <20732540+SinaKhalili@users.noreply.github.com> Date: Thu, 19 Dec 2024 16:38:07 -0800 Subject: [PATCH 1/2] Update drift cached client --- src/driftpy/accounts/cache/drift_client.py | 56 ++++++++++++---------- 1 file changed, 32 insertions(+), 24 deletions(-) diff --git a/src/driftpy/accounts/cache/drift_client.py b/src/driftpy/accounts/cache/drift_client.py index f43b196c..f5312ea3 100644 --- a/src/driftpy/accounts/cache/drift_client.py +++ b/src/driftpy/accounts/cache/drift_client.py @@ -1,23 +1,28 @@ -from typing import Optional, TypedDict +from typing import Optional, TypedDict, TypeVar from anchorpy import Program -from driftpy.accounts import DataAndSlot -from driftpy.accounts import get_perp_market_account_and_slot -from driftpy.accounts import get_spot_market_account_and_slot -from driftpy.accounts import get_state_account_and_slot +from solana.rpc.commitment import Commitment, Confirmed + +from driftpy.accounts import ( + DataAndSlot, + get_perp_market_account_and_slot, + get_spot_market_account_and_slot, + get_state_account_and_slot, +) from driftpy.accounts.oracle import get_oracle_price_data_and_slot -from driftpy.accounts.types import DataAndSlot -from driftpy.accounts.types import DriftClientAccountSubscriber +from driftpy.accounts.types import DataAndSlot, DriftClientAccountSubscriber from driftpy.constants.numeric_constants import QUOTE_SPOT_MARKET_INDEX from driftpy.oracles.oracle_id import get_oracle_id -from driftpy.types import OracleInfo -from driftpy.types import OraclePriceData -from driftpy.types import PerpMarketAccount -from driftpy.types import SpotMarketAccount -from driftpy.types import stack_trace -from driftpy.types import StateAccount -from solana.rpc.commitment import Commitment -from solana.rpc.commitment import Confirmed +from driftpy.types import ( + OracleInfo, + OraclePriceData, + PerpMarketAccount, + SpotMarketAccount, + StateAccount, + stack_trace, +) + +T = TypeVar("T", PerpMarketAccount, SpotMarketAccount) class DriftClientCache(TypedDict): @@ -176,25 +181,28 @@ def resurrect( spot_oracles: dict[int, OraclePriceData], perp_oracles: dict[int, OraclePriceData], ): - sort_markets = lambda markets: sorted( - markets.values(), key=lambda market: market.data.market_index - ) - self.cache["spot_markets"] = sort_markets(spot_markets) - self.cache["perp_markets"] = sort_markets(perp_markets) + def sort_markets( + markets: dict[int, T], # where T is the specific market type + ) -> list[T]: + return sorted(markets.values(), key=lambda market: market.data.market_index) + + self.cache["spot_markets"] = sort_markets(spot_markets) # SpotMarketAccount + self.cache["perp_markets"] = sort_markets(perp_markets) # PerpMarketAccount for market_index, oracle_price_data in spot_oracles.items(): corresponding_market = self.cache["spot_markets"][market_index] oracle_pubkey = corresponding_market.data.oracle - oracle_id = get_oracle_id( - oracle_pubkey, oracle_price_data.data.oracle_source - ) + oracle_source = corresponding_market.data.oracle_source + oracle_id = get_oracle_id(oracle_pubkey, oracle_source) self.cache["oracle_price_data"][oracle_id] = oracle_price_data for market_index, oracle_price_data in perp_oracles.items(): corresponding_market = self.cache["perp_markets"][market_index] oracle_pubkey = corresponding_market.data.amm.oracle + oracle_source = corresponding_market.data.amm.oracle_source oracle_id = get_oracle_id( - oracle_pubkey, oracle_price_data.data.oracle_source + oracle_pubkey, + oracle_source, ) self.cache["oracle_price_data"][oracle_id] = oracle_price_data From a6e8d974872cc254b9ec30b1695dba493c337088 Mon Sep 17 00:00:00 2001 From: sina <20732540+SinaKhalili@users.noreply.github.com> Date: Thu, 19 Dec 2024 16:43:16 -0800 Subject: [PATCH 2/2] Update constants --- src/driftpy/constants/perp_markets.py | 189 +++++++++++++------------- src/driftpy/constants/spot_markets.py | 90 ++++++------ 2 files changed, 150 insertions(+), 129 deletions(-) diff --git a/src/driftpy/constants/perp_markets.py b/src/driftpy/constants/perp_markets.py index 96109c7d..2d6437ad 100644 --- a/src/driftpy/constants/perp_markets.py +++ b/src/driftpy/constants/perp_markets.py @@ -20,196 +20,196 @@ class PerpMarketConfig: base_asset_symbol="SOL", market_index=0, oracle=Pubkey.from_string("BAtFj4kQttZRVep3UZS2aZRDixkGYgWsbqTBVDbnSsPF"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="BTC-PERP", base_asset_symbol="BTC", market_index=1, oracle=Pubkey.from_string("486kr3pmFPfTsS4aZgcsQ7kS4i9rjMsYYZup6HQNSTT4"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="ETH-PERP", base_asset_symbol="ETH", market_index=2, oracle=Pubkey.from_string("6bEp2MiyoiiiDxcVqE8rUHQWwHirXUXtKfAEATTVqNzT"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="APT-PERP", base_asset_symbol="APT", market_index=3, oracle=Pubkey.from_string("79EWaCYU9jiQN8SbvVzGFAhAncUZYp3PjNg7KxmN5cLE"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="1MBONK-PERP", base_asset_symbol="1MBONK", market_index=4, oracle=Pubkey.from_string("GojbSnJuPdKDT1ZuHuAM5t9oz6bxTo1xhUKpTua2F72p"), - oracle_source=OracleSource.Pyth1MPull(), + oracle_source=OracleSource.Pyth1MPull(), # type: ignore ), PerpMarketConfig( symbol="MATIC-PERP", base_asset_symbol="MATIC", market_index=5, oracle=Pubkey.from_string("BrzyDgwELy4jjjsqLQpBeUxzrsueYyMhuWpYBaUYcXvi"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="ARB-PERP", base_asset_symbol="ARB", market_index=6, oracle=Pubkey.from_string("8ocfAdqVRnzvfdubQaTxar4Kz5HJhNbPNmkLxswqiHUD"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="DOGE-PERP", base_asset_symbol="DOGE", market_index=7, oracle=Pubkey.from_string("23y63pHVwKfYSCDFdiGRaGbTYWoyr8UzhUE7zukyf6gK"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="BNB-PERP", base_asset_symbol="BNB", market_index=8, oracle=Pubkey.from_string("Dk8eWjuQHMbxJAwB9Sg7pXQPH4kgbg8qZGcUrWcD9gTm"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="SUI-PERP", base_asset_symbol="SUI", market_index=9, oracle=Pubkey.from_string("HBordkz5YxjzNURmKUY4vfEYFG9fZyZNeNF1VDLMoemT"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="1MPEPE-PERP", base_asset_symbol="1MPEPE", market_index=10, oracle=Pubkey.from_string("CLxofhtzvLiErpn25wvUzpZXEqBhuZ6WMEckEraxyuGt"), - oracle_source=OracleSource.Pyth1MPull(), + oracle_source=OracleSource.Pyth1MPull(), # type: ignore ), PerpMarketConfig( symbol="OP-PERP", base_asset_symbol="OP", market_index=11, oracle=Pubkey.from_string("C9Zi2Y3Mt6Zt6pcFvobN3N29HcrzKujPAPBDDTDRcUa2"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="RNDR-PERP", base_asset_symbol="RNDR", market_index=12, oracle=Pubkey.from_string("8TQztfGcNjHGRusX4ejQQtPZs3Ypczt9jWF6pkgQMqUX"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="XRP-PERP", base_asset_symbol="XRP", market_index=13, oracle=Pubkey.from_string("9757epAjXWCWQH98kyK9vzgehd1XDVEf7joNHUaKk3iV"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="HNT-PERP", base_asset_symbol="HNT", market_index=14, oracle=Pubkey.from_string("9b1rcK9RUPK2vAqwNYCYEG34gUVpS2WGs2YCZZy2X5Tb"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="INJ-PERP", base_asset_symbol="INJ", market_index=15, oracle=Pubkey.from_string("BfXcyDWJmYADa5eZD7gySSDd6giqgjvm7xsAhQ239SUD"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="LINK-PERP", base_asset_symbol="LINK", market_index=16, oracle=Pubkey.from_string("Gwvob7yoLMgQRVWjScCRyQFMsgpRKrSAYisYEyjDJwEp"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="RLB-PERP", base_asset_symbol="RLB", market_index=17, oracle=Pubkey.from_string("4CyhPqyVK3UQHFWhEpk91Aw4WbBsN3JtyosXH6zjoRqG"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="PYTH-PERP", base_asset_symbol="PYTH", market_index=18, oracle=Pubkey.from_string("GqkCu7CbsPVz1H6W6AAHuReqbJckYG59TXz7Y5HDV7hr"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="TIA-PERP", base_asset_symbol="TIA", market_index=19, oracle=Pubkey.from_string("C6LHPUrgjrgo5eNUitC8raNEdEttfoRhmqdJ3BHVBJhi"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="JTO-PERP", base_asset_symbol="JTO", market_index=20, oracle=Pubkey.from_string("Ffq6ACJ17NAgaxC6ocfMzVXL3K61qxB2xHg6WUawWPfP"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="SEI-PERP", base_asset_symbol="SEI", market_index=21, oracle=Pubkey.from_string("EVyoxFo5jWpv1vV7p6KVjDWwVqtTqvrZ4JMFkieVkVsD"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="AVAX-PERP", base_asset_symbol="AVAX", market_index=22, oracle=Pubkey.from_string("FgBGHNex4urrBmNbSj8ntNQDGqeHcWewKtkvL6JE6dEX"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="W-PERP", base_asset_symbol="W", market_index=23, oracle=Pubkey.from_string("J9nrFWjDUeDVZ4BhhxsbQXWgLcLEgQyNBrCbwSADmJdr"), - oracle_source=OracleSource.SwitchboardOnDemand(), + oracle_source=OracleSource.SwitchboardOnDemand(), # type: ignore ), PerpMarketConfig( symbol="KMNO-PERP", base_asset_symbol="KMNO", market_index=24, oracle=Pubkey.from_string("7aqj2wH1BH8XT3QQ3MWtvt3My7RAGf5Stm3vx5fiysJz"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="1KWEN-PERP", base_asset_symbol="1KWEN", market_index=25, oracle=Pubkey.from_string("F47c7aJgYkfKXQ9gzrJaEpsNwUKHprysregTWXrtYLFp"), - oracle_source=OracleSource.Pyth1KPull(), + oracle_source=OracleSource.Pyth1KPull(), # type: ignore ), PerpMarketConfig( symbol="TRUMP-WIN-2024-PREDICT", base_asset_symbol="TRUMP-WIN-2024", market_index=26, oracle=Pubkey.from_string("3TVuLmEGBRfVgrmFRtYTheczXaaoRBwcHw1yibZHSeNA"), - oracle_source=OracleSource.Prelaunch(), + oracle_source=OracleSource.Prelaunch(), # type: ignore ), PerpMarketConfig( symbol="KAMALA-POPULAR-VOTE-2024-PREDICT", base_asset_symbol="KAMALA-POPULAR-VOTE", market_index=27, oracle=Pubkey.from_string("GU6CA7a2KCyhpfqZNb36UAfc9uzKBM8jHjGdt245QhYX"), - oracle_source=OracleSource.Prelaunch(), + oracle_source=OracleSource.Prelaunch(), # type: ignore ), # 28 sDAQaZQJQ4RXAxH3x526mbEXyQZT15ktkL84d7hmk7M RANDOM-2024-BET OracleSource.Prelaunch() PerpMarketConfig( @@ -217,7 +217,7 @@ class PerpMarketConfig: base_asset_symbol="RANDOM-2024", market_index=28, oracle=Pubkey.from_string("sDAQaZQJQ4RXAxH3x526mbEXyQZT15ktkL84d7hmk7M"), - oracle_source=OracleSource.Prelaunch(), + oracle_source=OracleSource.Prelaunch(), # type: ignore ), ] @@ -227,433 +227,440 @@ class PerpMarketConfig: base_asset_symbol="SOL", market_index=0, oracle=Pubkey.from_string("BAtFj4kQttZRVep3UZS2aZRDixkGYgWsbqTBVDbnSsPF"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="BTC-PERP", base_asset_symbol="BTC", market_index=1, oracle=Pubkey.from_string("486kr3pmFPfTsS4aZgcsQ7kS4i9rjMsYYZup6HQNSTT4"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="ETH-PERP", base_asset_symbol="ETH", market_index=2, oracle=Pubkey.from_string("6bEp2MiyoiiiDxcVqE8rUHQWwHirXUXtKfAEATTVqNzT"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="APT-PERP", base_asset_symbol="APT", market_index=3, oracle=Pubkey.from_string("79EWaCYU9jiQN8SbvVzGFAhAncUZYp3PjNg7KxmN5cLE"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="1MBONK-PERP", base_asset_symbol="1MBONK", market_index=4, oracle=Pubkey.from_string("GojbSnJuPdKDT1ZuHuAM5t9oz6bxTo1xhUKpTua2F72p"), - oracle_source=OracleSource.Pyth1MPull(), + oracle_source=OracleSource.Pyth1MPull(), # type: ignore ), PerpMarketConfig( symbol="MATIC-PERP", base_asset_symbol="MATIC", market_index=5, oracle=Pubkey.from_string("BrzyDgwELy4jjjsqLQpBeUxzrsueYyMhuWpYBaUYcXvi"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="ARB-PERP", base_asset_symbol="ARB", market_index=6, oracle=Pubkey.from_string("8ocfAdqVRnzvfdubQaTxar4Kz5HJhNbPNmkLxswqiHUD"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="DOGE-PERP", base_asset_symbol="DOGE", market_index=7, oracle=Pubkey.from_string("23y63pHVwKfYSCDFdiGRaGbTYWoyr8UzhUE7zukyf6gK"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="BNB-PERP", base_asset_symbol="BNB", market_index=8, oracle=Pubkey.from_string("Dk8eWjuQHMbxJAwB9Sg7pXQPH4kgbg8qZGcUrWcD9gTm"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="SUI-PERP", base_asset_symbol="SUI", market_index=9, oracle=Pubkey.from_string("HBordkz5YxjzNURmKUY4vfEYFG9fZyZNeNF1VDLMoemT"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="1MPEPE-PERP", base_asset_symbol="1MPEPE", market_index=10, oracle=Pubkey.from_string("CLxofhtzvLiErpn25wvUzpZXEqBhuZ6WMEckEraxyuGt"), - oracle_source=OracleSource.Pyth1MPull(), + oracle_source=OracleSource.Pyth1MPull(), # type: ignore ), PerpMarketConfig( symbol="OP-PERP", base_asset_symbol="OP", market_index=11, oracle=Pubkey.from_string("C9Zi2Y3Mt6Zt6pcFvobN3N29HcrzKujPAPBDDTDRcUa2"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="RNDR-PERP", base_asset_symbol="RNDR", market_index=12, oracle=Pubkey.from_string("8TQztfGcNjHGRusX4ejQQtPZs3Ypczt9jWF6pkgQMqUX"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="XRP-PERP", base_asset_symbol="XRP", market_index=13, oracle=Pubkey.from_string("9757epAjXWCWQH98kyK9vzgehd1XDVEf7joNHUaKk3iV"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="HNT-PERP", base_asset_symbol="HNT", market_index=14, oracle=Pubkey.from_string("9b1rcK9RUPK2vAqwNYCYEG34gUVpS2WGs2YCZZy2X5Tb"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="INJ-PERP", base_asset_symbol="INJ", market_index=15, oracle=Pubkey.from_string("BfXcyDWJmYADa5eZD7gySSDd6giqgjvm7xsAhQ239SUD"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="LINK-PERP", base_asset_symbol="LINK", market_index=16, oracle=Pubkey.from_string("Gwvob7yoLMgQRVWjScCRyQFMsgpRKrSAYisYEyjDJwEp"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="RLB-PERP", base_asset_symbol="RLB", market_index=17, oracle=Pubkey.from_string("4CyhPqyVK3UQHFWhEpk91Aw4WbBsN3JtyosXH6zjoRqG"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="PYTH-PERP", base_asset_symbol="PYTH", market_index=18, oracle=Pubkey.from_string("GqkCu7CbsPVz1H6W6AAHuReqbJckYG59TXz7Y5HDV7hr"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="TIA-PERP", base_asset_symbol="TIA", market_index=19, oracle=Pubkey.from_string("C6LHPUrgjrgo5eNUitC8raNEdEttfoRhmqdJ3BHVBJhi"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="JTO-PERP", base_asset_symbol="JTO", market_index=20, oracle=Pubkey.from_string("Ffq6ACJ17NAgaxC6ocfMzVXL3K61qxB2xHg6WUawWPfP"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="SEI-PERP", base_asset_symbol="SEI", market_index=21, oracle=Pubkey.from_string("EVyoxFo5jWpv1vV7p6KVjDWwVqtTqvrZ4JMFkieVkVsD"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="AVAX-PERP", base_asset_symbol="AVAX", market_index=22, oracle=Pubkey.from_string("FgBGHNex4urrBmNbSj8ntNQDGqeHcWewKtkvL6JE6dEX"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="WIF-PERP", base_asset_symbol="WIF", market_index=23, oracle=Pubkey.from_string("6x6KfE7nY2xoLCRSMPT1u83wQ5fpGXoKNBqFjrCwzsCQ"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="JUP-PERP", base_asset_symbol="JUP", market_index=24, oracle=Pubkey.from_string("AwqRpfJ36jnSZQykyL1jYY35mhMteeEAjh7o8LveRQin"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="DYM-PERP", base_asset_symbol="DYM", market_index=25, oracle=Pubkey.from_string("hnefGsC8hJi8MBajpRSkUY97wJmLoBQYXaHkz3nmw1z"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="TAO-PERP", base_asset_symbol="TAO", market_index=26, oracle=Pubkey.from_string("5ZPtwR9QpBLcZQVMnVURuYBmZMu1qQrBcA9Gutc5eKN3"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="W-PERP", base_asset_symbol="W", market_index=27, oracle=Pubkey.from_string("4HbitGsdcFbtFotmYscikQFAAKJ3nYx4t7sV7fTvsk8U"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="KMNO-PERP", base_asset_symbol="KMNO", market_index=28, oracle=Pubkey.from_string("7aqj2wH1BH8XT3QQ3MWtvt3My7RAGf5Stm3vx5fiysJz"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="TNSR-PERP", base_asset_symbol="TNSR", market_index=29, oracle=Pubkey.from_string("13jpjpVyU5hGpjsZ4HzCcmBo85wze4N8Au7U6cC3GMip"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="DRIFT-PERP", base_asset_symbol="DRIFT", market_index=30, oracle=Pubkey.from_string("23KmX7SNikmUr2axSCy6Zer7XPBnvmVcASALnDGqBVRR"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="CLOUD-PERP", base_asset_symbol="CLOUD", market_index=31, oracle=Pubkey.from_string("FNFejcXENaPgKaCTfstew9vSSvdQPnXjGTkJjUnnYvHU"), - oracle_source=OracleSource.SwitchboardOnDemand(), + oracle_source=OracleSource.SwitchboardOnDemand(), # type: ignore ), PerpMarketConfig( symbol="IO-PERP", base_asset_symbol="IO", market_index=32, oracle=Pubkey.from_string("HxM66CFwGwrvfTFFkvvA8N3CnKX6m2obzameYWDaSSdA"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="ZEX-PERP", base_asset_symbol="ZEX", market_index=33, oracle=Pubkey.from_string("HVwBCaR4GEB1fHrp7xCTzbYoZXL3V8b1aek2swPrmGx3"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="POPCAT-PERP", base_asset_symbol="POPCAT", market_index=34, oracle=Pubkey.from_string("H3pn43tkNvsG5z3qzmERguSvKoyHZvvY6VPmNrJqiW5X"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="1KWEN-PERP", base_asset_symbol="1KWEN", market_index=35, oracle=Pubkey.from_string("F47c7aJgYkfKXQ9gzrJaEpsNwUKHprysregTWXrtYLFp"), - oracle_source=OracleSource.Pyth1KPull(), + oracle_source=OracleSource.Pyth1KPull(), # type: ignore ), PerpMarketConfig( symbol="TRUMP-WIN-2024-BET", base_asset_symbol="TRUMP-WIN-2024", market_index=36, oracle=Pubkey.from_string("7YrQUxmxGdbk8pvns9KcL5ojbZSL2eHj62hxRqggtEUR"), - oracle_source=OracleSource.Prelaunch(), + oracle_source=OracleSource.Prelaunch(), # type: ignore ), PerpMarketConfig( symbol="KAMALA-POPULAR-VOTE-2024-BET", base_asset_symbol="KAMALA-POPULAR-VOTE-2024", market_index=37, oracle=Pubkey.from_string("AowFw1dCVjS8kngvTCoT3oshiUyL69k7P1uxqXwteWH4"), - oracle_source=OracleSource.Prelaunch(), + oracle_source=OracleSource.Prelaunch(), # type: ignore ), PerpMarketConfig( symbol="FED-CUT-50-SEPT-2024-BET", base_asset_symbol="FED-CUT-50-SEPT-2024", market_index=38, oracle=Pubkey.from_string("5QzgqAbEhJ1cPnLX4tSZEXezmW7sz7PPVVg2VanGi8QQ"), - oracle_source=OracleSource.Prelaunch(), + oracle_source=OracleSource.Prelaunch(), # type: ignore ), PerpMarketConfig( symbol="REPUBLICAN-POPULAR-AND-WIN-BET", base_asset_symbol="REPUBLICAN-POPULAR-AND-WIN", market_index=39, oracle=Pubkey.from_string("BtUUSUc9rZSzBmmKhQq4no65zHQTzMFeVYss7xcMRD53"), - oracle_source=OracleSource.Prelaunch(), + oracle_source=OracleSource.Prelaunch(), # type: ignore ), PerpMarketConfig( symbol="BREAKPOINT-IGGYERIC-BET", base_asset_symbol="BREAKPOINT-IGGYERIC", market_index=40, oracle=Pubkey.from_string("2ftYxoSupperd4ULxy9xyS2Az38wfAe7Lm8FCAPwjjVV"), - oracle_source=OracleSource.Prelaunch(), + oracle_source=OracleSource.Prelaunch(), # type: ignore ), PerpMarketConfig( symbol="DEMOCRATS-WIN-MICHIGAN-BET", base_asset_symbol="DEMOCRATS-WIN-MICHIGAN", market_index=41, oracle=Pubkey.from_string("8HTDLjhb2esGU5mu11v3pq3eWeFqmvKPkQNCnTTwKAyB"), - oracle_source=OracleSource.Prelaunch(), + oracle_source=OracleSource.Prelaunch(), # type: ignore ), PerpMarketConfig( symbol="TON-PERP", base_asset_symbol="TON", market_index=42, oracle=Pubkey.from_string("BNjCXrpEqjdBnuRy2SAUgm5Pq8B73wGFwsf6RYFJiLPY"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="LANDO-F1-SGP-WIN-BET", base_asset_symbol="LANDO-F1-SGP-WIN", market_index=43, oracle=Pubkey.from_string("DpJz7rjTJLxxnuqrqZTUjMWtnaMFAEfZUv5ATdb9HTh1"), - oracle_source=OracleSource.Prelaunch(), + oracle_source=OracleSource.Prelaunch(), # type: ignore ), PerpMarketConfig( symbol="MOTHER-PERP", base_asset_symbol="MOTHER", market_index=44, oracle=Pubkey.from_string("56ap2coZG7FPWUigVm9XrpQs3xuCwnwQaWtjWZcffEUG"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="MOODENG-PERP", base_asset_symbol="MOODENG", market_index=45, oracle=Pubkey.from_string("21gjgEcuDppthwV16J1QpFzje3vmgMp2uSzh7pJsG7ob"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="WARWICK-FIGHT-WIN-BET", base_asset_symbol="WARWICK-FIGHT-WIN", market_index=46, oracle=Pubkey.from_string("Dz5Nvxo1hv7Zfyu11hy8e97twLMRKk6heTWCDGXytj7N"), - oracle_source=OracleSource.Prelaunch(), + oracle_source=OracleSource.Prelaunch(), # type: ignore ), PerpMarketConfig( symbol="DBR-PERP", base_asset_symbol="DBR", market_index=47, oracle=Pubkey.from_string("53j4mz7cQV7mAZekKbV3n2L4bY7jY6eXdgaTkWDLYxq4"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="WLF-5B-1W-BET", base_asset_symbol="WLF-5B-1W", market_index=48, oracle=Pubkey.from_string("7LpRfPaWR7cQqN7CMkCmZjEQpWyqso5LGuKCvDXH5ZAr"), - oracle_source=OracleSource.Prelaunch(), + oracle_source=OracleSource.Prelaunch(), # type: ignore ), PerpMarketConfig( symbol="VRSTPN-WIN-F1-24-DRVRS-CHMP-BET", base_asset_symbol="VRSTPN-WIN-F1-24-DRVRS-CHMP", market_index=49, oracle=Pubkey.from_string("E36rvXEwysWeiToXCpWfHVADd8bzzyR4w83ZSSwxAxqG"), - oracle_source=OracleSource.Prelaunch(), + oracle_source=OracleSource.Prelaunch(), # type: ignore ), PerpMarketConfig( symbol="LNDO-WIN-F1-24-US-GP-BET", base_asset_symbol="LNDO-WIN-F1-24-US-GP", market_index=50, oracle=Pubkey.from_string("6AVy1y9SnJECnosQaiK2uY1kcT4ZEBf1F4DMvhxgvhUo"), - oracle_source=OracleSource.Prelaunch(), + oracle_source=OracleSource.Prelaunch(), # type: ignore ), PerpMarketConfig( symbol="1KMEW-PERP", base_asset_symbol="1KMEW", market_index=51, oracle=Pubkey.from_string("DKGwCUcwngwmgifGxnme7zVR695LCBGk2pnuksRnbhfD"), - oracle_source=OracleSource.Pyth1KPull(), + oracle_source=OracleSource.Pyth1KPull(), # type: ignore ), PerpMarketConfig( symbol="MICHI-PERP", base_asset_symbol="MICHI", market_index=52, oracle=Pubkey.from_string("GHzvsMDMSiuyZoWhEAuM27MKFdN2Y4fA4wSDuSd6dLMA"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="GOAT-PERP", base_asset_symbol="GOAT", market_index=53, oracle=Pubkey.from_string("5RgXW13Kq1RgCLEsJhhchWt3W4R2XLJnd6KqgZk6dSY7"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="FWOG-PERP", base_asset_symbol="FWOG", market_index=54, oracle=Pubkey.from_string("5Z7uvkAsHNN6qqkQkwcKcEPYZqiMbFE9E24p7SpvfSrv"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="PNUT-PERP", base_asset_symbol="PNUT", market_index=55, oracle=Pubkey.from_string("5AcetMtdRHxkse2ny44NcRdsysnXu9deW7Yy5Y63qAHE"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="RAY-PERP", base_asset_symbol="RAY", market_index=56, oracle=Pubkey.from_string("DPvPBacXhEyA1VXF4E3EYH3h83Bynh5uP3JLeN25TWzm"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="SUPERBOWL-LIX-LIONS-BET", base_asset_symbol="SUPERBOWL-LIX-LIONS", market_index=57, oracle=Pubkey.from_string("GfTeKKnBxeLSB1Hm24ArjduQM4yqaAgoGgiC99gq5E2P"), - oracle_source=OracleSource.Prelaunch(), + oracle_source=OracleSource.Prelaunch(), # type: ignore ), PerpMarketConfig( symbol="SUPERBOWL-LIX-CHIEFS-BET", base_asset_symbol="SUPERBOWL-LIX-CHIEFS", market_index=58, oracle=Pubkey.from_string("EdB17Nyu4bnEBiSEfFrwvp4VCUvtq9eDJHc6Ujys3Jwd"), - oracle_source=OracleSource.Prelaunch(), + oracle_source=OracleSource.Prelaunch(), # type: ignore ), PerpMarketConfig( symbol="HYPE-PERP", base_asset_symbol="HYPE", market_index=59, oracle=Pubkey.from_string("Hn9JHQHKSvtnZ2xTWCgRGVNmav2TPffH7T72T6WoJ1cw"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="LTC-PERP", base_asset_symbol="LTC", market_index=60, oracle=Pubkey.from_string("AmjHowvVkVJApCPUiwV9CdHVFn29LiBYZQqtZQ3xMqdg"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore ), PerpMarketConfig( symbol="ME-PERP", base_asset_symbol="ME", market_index=61, oracle=Pubkey.from_string("FLQjrmEPGwbCKRYZ1eYM5FPccHBrCv2cN4GBu3mWfmPH"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore + ), + PerpMarketConfig( + symbol="PENGU-PERP", + base_asset_symbol="PENGU", + market_index=62, + oracle=Pubkey.from_string("7vGHChuBJyFMYBqMLXRzBmRxWdSuwEmg8RvRm3RWQsxi"), + oracle_source=OracleSource.PythPull(), # type: ignore ), ] diff --git a/src/driftpy/constants/spot_markets.py b/src/driftpy/constants/spot_markets.py index 3831989c..f05420c4 100644 --- a/src/driftpy/constants/spot_markets.py +++ b/src/driftpy/constants/spot_markets.py @@ -28,49 +28,49 @@ class SpotMarketConfig: symbol="USDC", market_index=0, oracle=Pubkey.from_string("En8hkHLkRe9d9DraYmBTrus518BvmVH448YcvmrFM6Ce"), - oracle_source=OracleSource.PythStableCoinPull(), + oracle_source=OracleSource.PythStableCoinPull(), # type: ignore mint=Pubkey.from_string("8zGuJQqwhZafTah7Uc7Z4tXRnguqkn5KLFAP8oV6PHe2"), ), SpotMarketConfig( symbol="SOL", market_index=1, oracle=Pubkey.from_string("BAtFj4kQttZRVep3UZS2aZRDixkGYgWsbqTBVDbnSsPF"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore mint=WRAPPED_SOL_MINT, ), SpotMarketConfig( symbol="BTC", market_index=2, oracle=Pubkey.from_string("486kr3pmFPfTsS4aZgcsQ7kS4i9rjMsYYZup6HQNSTT4"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore mint=Pubkey.from_string("3BZPwbcqB5kKScF3TEXxwNfx5ipV13kbRVDvfVp5c6fv"), ), SpotMarketConfig( symbol="PYUSD", market_index=3, oracle=Pubkey.from_string("HpMoKp3TCd3QT4MWYUKk2zCBwmhr5Df45fB6wdxYqEeh"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore mint=Pubkey.from_string("GLfF72ZCUnS6N9iDJw8kedHzd6WFVf3VbpwdKKy76FRk"), ), SpotMarketConfig( symbol="BONK", market_index=4, oracle=Pubkey.from_string("GojbSnJuPdKDT1ZuHuAM5t9oz6bxTo1xhUKpTua2F72p"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore mint=Pubkey.from_string("7SekVZDmKCCDgTP8m6Hk4CfexFSru9RkwDCczmcwcsP6"), ), SpotMarketConfig( symbol="JLP", market_index=5, oracle=Pubkey.from_string("5Mb11e5rt1Sp6A286B145E4TmgMzsM2UX9nCF2vas5bs"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore mint=Pubkey.from_string("HGe9FejFyhWSx6zdvx2RjynX7rmoEXFiJiLU437NXemZ"), ), SpotMarketConfig( symbol="USDC", market_index=6, oracle=Pubkey.from_string("En8hkHLkRe9d9DraYmBTrus518BvmVH448YcvmrFM6Ce"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore mint=Pubkey.from_string("8zGuJQqwhZafTah7Uc7Z4tXRnguqkn5KLFAP8oV6PHe2"), ), ] @@ -80,217 +80,231 @@ class SpotMarketConfig: symbol="USDC", market_index=0, oracle=Pubkey.from_string("En8hkHLkRe9d9DraYmBTrus518BvmVH448YcvmrFM6Ce"), - oracle_source=OracleSource.PythStableCoinPull(), + oracle_source=OracleSource.PythStableCoinPull(), # type: ignore mint=Pubkey.from_string("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"), ), SpotMarketConfig( symbol="SOL", market_index=1, oracle=Pubkey.from_string("BAtFj4kQttZRVep3UZS2aZRDixkGYgWsbqTBVDbnSsPF"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore mint=WRAPPED_SOL_MINT, ), SpotMarketConfig( symbol="mSOL", market_index=2, oracle=Pubkey.from_string("FAq7hqjn7FWGXKDwJHzsXGgBcydGTcK4kziJpAGWXjDb"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore mint=Pubkey.from_string("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"), ), SpotMarketConfig( symbol="wBTC", market_index=3, oracle=Pubkey.from_string("9Tq8iN5WnMX2PcZGj4iSFEAgHCi8cM6x8LsDUbuzq8uw"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore mint=Pubkey.from_string("3NZ9JMVBmGAqocybic2c7LQCJScmgsAZ6vQqTDzcqmJh"), ), SpotMarketConfig( symbol="wETH", market_index=4, oracle=Pubkey.from_string("6bEp2MiyoiiiDxcVqE8rUHQWwHirXUXtKfAEATTVqNzT"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore mint=Pubkey.from_string("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"), ), SpotMarketConfig( symbol="USDT", market_index=5, oracle=Pubkey.from_string("BekJ3P5G3iFeC97sXHuKnUHofCFj9Sbo7uyF2fkKwvit"), - oracle_source=OracleSource.PythStableCoinPull(), + oracle_source=OracleSource.PythStableCoinPull(), # type: ignore mint=Pubkey.from_string("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"), ), SpotMarketConfig( symbol="jitoSOL", market_index=6, oracle=Pubkey.from_string("9QE1P5EfzthYDgoQ9oPeTByCEKaRJeZbVVqKJfgU9iau"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore mint=Pubkey.from_string("J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn"), ), SpotMarketConfig( symbol="PYTH", market_index=7, oracle=Pubkey.from_string("GqkCu7CbsPVz1H6W6AAHuReqbJckYG59TXz7Y5HDV7hr"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore mint=Pubkey.from_string("HZ1JovNiVvGrGNiiYvEozEVgZ58xaU3RKwX8eACQBCt3"), ), SpotMarketConfig( symbol="bSOL", market_index=8, oracle=Pubkey.from_string("BmDWPMsytWmYkh9n6o7m79eVshVYf2B5GVaqQ2EWKnGH"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore mint=Pubkey.from_string("bSo13r4TkiE4KumL71LsHTPpL2euBYLFx6h9HP3piy1"), ), SpotMarketConfig( symbol="JTO", market_index=9, oracle=Pubkey.from_string("Ffq6ACJ17NAgaxC6ocfMzVXL3K61qxB2xHg6WUawWPfP"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore mint=Pubkey.from_string("jtojtomepa8beP8AuQc6eXt5FriJwfFMwQx2v2f9mCL"), ), SpotMarketConfig( symbol="WIF", market_index=10, oracle=Pubkey.from_string("6x6KfE7nY2xoLCRSMPT1u83wQ5fpGXoKNBqFjrCwzsCQ"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore mint=Pubkey.from_string("EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm"), ), SpotMarketConfig( symbol="JUP", market_index=11, oracle=Pubkey.from_string("AwqRpfJ36jnSZQykyL1jYY35mhMteeEAjh7o8LveRQin"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore mint=Pubkey.from_string("JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN"), ), SpotMarketConfig( symbol="RNDR", market_index=12, oracle=Pubkey.from_string("8TQztfGcNjHGRusX4ejQQtPZs3Ypczt9jWF6pkgQMqUX"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore mint=Pubkey.from_string("rndrizKT3MK1iimdxRdWabcF7Zg7AR5T4nud4EkHBof"), ), SpotMarketConfig( symbol="W", market_index=13, oracle=Pubkey.from_string("4HbitGsdcFbtFotmYscikQFAAKJ3nYx4t7sV7fTvsk8U"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore mint=Pubkey.from_string("85VBFQZC9TZkfaptBWjvUw7YbZjy52A6mjtPGjstQAmQ"), ), SpotMarketConfig( symbol="TNSR", market_index=14, oracle=Pubkey.from_string("13jpjpVyU5hGpjsZ4HzCcmBo85wze4N8Au7U6cC3GMip"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore mint=Pubkey.from_string("TNSRxcUxoT9xBG3de7PiJyTDYu7kskLqcpddxnEJAS6"), ), SpotMarketConfig( symbol="DRIFT", market_index=15, oracle=Pubkey.from_string("23KmX7SNikmUr2axSCy6Zer7XPBnvmVcASALnDGqBVRR"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore mint=Pubkey.from_string("DriFtupJYLTosbwoN8koMbEYSx54aFAVLddWsbksjwg7"), ), SpotMarketConfig( symbol="INF", market_index=16, oracle=Pubkey.from_string("B7RUYg2zF6UdUSHv2RmpnriPVJccYWojgFydNS1NY5F8"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore mint=Pubkey.from_string("5oVNBeEEQvYi1cX3ir8Dx5n1P7pdxydbGF2X4TxVusJm"), ), SpotMarketConfig( symbol="dSOL", market_index=17, oracle=Pubkey.from_string("7QJ6e57t3yM8HYVg6bAnJiCiZ3wQQ5CSVsa6GA16nJuK"), - oracle_source=OracleSource.SwitchboardOnDemand(), + oracle_source=OracleSource.SwitchboardOnDemand(), # type: ignore mint=Pubkey.from_string("Dso1bDeDjCQxTrWHqUUi63oBvV7Mdm6WaobLbQ7gnPQ"), ), SpotMarketConfig( symbol="USDY", market_index=18, oracle=Pubkey.from_string("BPTQgHV4y2x4jvKPPkkd9aS8jY7L3DGZBwjEZC8Vm27o"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore mint=Pubkey.from_string("A1KLoBrKBde8Ty9qtNQUtq3C2ortoC3u7twggz7sEto6"), ), SpotMarketConfig( symbol="JLP", market_index=19, oracle=Pubkey.from_string("5Mb11e5rt1Sp6A286B145E4TmgMzsM2UX9nCF2vas5bs"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore mint=Pubkey.from_string("27G8MtK7VtTcCHkpASjSDdkWWYfoqT6ggEuKidVJidD4"), ), SpotMarketConfig( symbol="POPCAT", market_index=20, oracle=Pubkey.from_string("H3pn43tkNvsG5z3qzmERguSvKoyHZvvY6VPmNrJqiW5X"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore mint=Pubkey.from_string("7GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr"), ), SpotMarketConfig( symbol="CLOUD", market_index=21, oracle=Pubkey.from_string("FNFejcXENaPgKaCTfstew9vSSvdQPnXjGTkJjUnnYvHU"), - oracle_source=OracleSource.SwitchboardOnDemand(), + oracle_source=OracleSource.SwitchboardOnDemand(), # type: ignore mint=Pubkey.from_string("CLoUDKc4Ane7HeQcPpE3YHnznRxhMimJ4MyaUqyHFzAu"), ), SpotMarketConfig( symbol="PYUSD", market_index=22, oracle=Pubkey.from_string("HpMoKp3TCd3QT4MWYUKk2zCBwmhr5Df45fB6wdxYqEeh"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore mint=Pubkey.from_string("2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo"), ), SpotMarketConfig( symbol="USDe", market_index=23, oracle=Pubkey.from_string("BXej5boX2nWudwAfZQedo212B9XJxhjTeeF3GbCwXmYa"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore mint=Pubkey.from_string("DEkqHyPN7GMRJ5cArtQFAWefqbZb33Hyf6s5iCwjEonT"), ), SpotMarketConfig( symbol="sUSDe", market_index=24, oracle=Pubkey.from_string("BRuNuzLAPHHGSSVAJPKMcmJMdgDfrekvnSxkxPDGdeqp"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore mint=Pubkey.from_string("Eh6XEPhSwoLv5wFApukmnaVSHQ6sAnoD9BmgmwQoN2sN"), ), SpotMarketConfig( symbol="BNSOL", market_index=25, oracle=Pubkey.from_string("8DmXTfhhtb9kTcpTVfb6Ygx8WhZ8wexGqcpxfn23zooe"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore mint=Pubkey.from_string("BNso1VUJnh4zcfpZa6986Ea66P6TCp59hvtNJ8b1X85"), ), SpotMarketConfig( symbol="MOTHER", market_index=26, oracle=Pubkey.from_string("56ap2coZG7FPWUigVm9XrpQs3xuCwnwQaWtjWZcffEUG"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore mint=Pubkey.from_string("3S8qX1MsMqRbiwKg2cQyx7nis1oHMgaCuc9c4VfvVdPN"), ), SpotMarketConfig( symbol="cbBTC", market_index=27, oracle=Pubkey.from_string("486kr3pmFPfTsS4aZgcsQ7kS4i9rjMsYYZup6HQNSTT4"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore mint=Pubkey.from_string("cbbtcf3aa214zXHbiAZQwf4122FBYbraNdFqgw4iMij"), ), SpotMarketConfig( symbol="USDS", market_index=28, oracle=Pubkey.from_string("7pT9mxKXyvfaZKeKy1oe2oV2K1RFtF7tPEJHUY3h2vVV"), - oracle_source=OracleSource.PythStableCoinPull(), + oracle_source=OracleSource.PythStableCoinPull(), # type: ignore mint=Pubkey.from_string("USDSwr9ApdHk5bvJKMjzff41FfuX8bSxdKcR81vTwcA"), ), SpotMarketConfig( symbol="META", market_index=29, oracle=Pubkey.from_string("DwYF1yveo8XTF1oqfsqykj332rjSxAd7bR6Gu6i4iUET"), - oracle_source=OracleSource.SwitchboardOnDemand(), + oracle_source=OracleSource.SwitchboardOnDemand(), # type: ignore mint=Pubkey.from_string("METADDFL6wWMWEoKTFJwcThTbUmtarRJZjRpzUvkxhr"), ), SpotMarketConfig( symbol="ME", market_index=30, oracle=Pubkey.from_string("FLQjrmEPGwbCKRYZ1eYM5FPccHBrCv2cN4GBu3mWfmPH"), - oracle_source=OracleSource.PythPull(), + oracle_source=OracleSource.PythPull(), # type: ignore mint=Pubkey.from_string("MEFNBXixkEbait3xn9bkm8WsJzXtVsaJEn4c8Sam21u"), ), + SpotMarketConfig( + symbol="PENGU", + market_index=31, + oracle=Pubkey.from_string("7vGHChuBJyFMYBqMLXRzBmRxWdSuwEmg8RvRm3RWQsxi"), + oracle_source=OracleSource.PythPull(), # type: ignore + mint=Pubkey.from_string("2zMMhcVQEXDtdE6vsFS7S7D5oUodfJHE8vd1gnBouauv"), + ), + SpotMarketConfig( + symbol="BONK", + market_index=32, + oracle=Pubkey.from_string("GojbSnJuPdKDT1ZuHuAM5t9oz6bxTo1xhUKpTua2F72p"), + oracle_source=OracleSource.PythPull(), # type: ignore + mint=Pubkey.from_string("DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"), + ), ]