@@ -20,6 +20,33 @@ library LibPyth {
2020 IPyth constant PRICE_FEED_CONTRACT_ARBITRUM = IPyth (0xff1a0f4744e8582DF1aE09D5611b887B6a12925C );
2121 IPyth constant PRICE_FEED_CONTRACT_BASE = IPyth (0x8250f4aF4B972684F7b336503E2D6dFeDeB1487a );
2222
23+ /// Crypto feeds.
24+ /// BTC/USD
25+ bytes32 constant PRICE_FEED_ID_CRYPTO_BTC_USD = 0xe62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43 ;
26+ // slither-disable-next-line too-many-digits
27+ uint256 constant PRICE_FEED_SYMBOL_INTORASTRING_CRYPTO_BTC_USD =
28+ uint256 (0x8e43727970746f2e4254432f5553440000000000000000000000000000000000 );
29+ /// WBTC/USD
30+ bytes32 constant PRICE_FEED_ID_CRYPTO_WBTC_USD = 0xc9d8b075a5c69303365ae23633d4e085199bf5c520a3b90fed1322a0342ffc33 ;
31+ // slither-disable-next-line too-many-digits
32+ uint256 constant PRICE_FEED_SYMBOL_INTORASTRING_CRYPTO_WBTC_USD =
33+ uint256 (0x8F43727970746F2E574254432F55534400000000000000000000000000000000 );
34+ /// ETH/USD
35+ bytes32 constant PRICE_FEED_ID_CRYPTO_ETH_USD = 0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace ;
36+ // slither-disable-next-line too-many-digits
37+ uint256 constant PRICE_FEED_SYMBOL_INTORASTRING_CRYPTO_ETH_USD =
38+ uint256 (0x8e43727970746f2e4554482f5553440000000000000000000000000000000000 );
39+ /// WETH/USD
40+ bytes32 constant PRICE_FEED_ID_CRYPTO_WETH_USD = 0x9d4294bbcd1174d6f2003ec365831e64cc31d9f6f15a2b85399db8d5000960f6 ;
41+ // slither-disable-next-line too-many-digits
42+ uint256 constant PRICE_FEED_SYMBOL_INTORASTRING_CRYPTO_WETH_USD =
43+ uint256 (0x8F43727970746F2E574554482F55534400000000000000000000000000000000 );
44+ /// XRP/USD
45+ bytes32 constant PRICE_FEED_ID_CRYPTO_XRP_USD = 0xec5d399846a9209f3fe5881d70aae9268c94339ff9817e8d18ff19fa05eea1c8 ;
46+ // slither-disable-next-line too-many-digits
47+ uint256 constant PRICE_FEED_SYMBOL_INTORASTRING_CRYPTO_XRP_USD =
48+ uint256 (0x8e43727970746f2e5852502f5553440000000000000000000000000000000000 );
49+
2350 /// Magnificent 7 share price feed IDs.
2451 /// Google.
2552 bytes32 constant PRICE_FEED_ID_EQUITY_US_GOOG_USD =
@@ -108,7 +135,17 @@ library LibPyth {
108135 /// TODO replace with O(1) lookup table.
109136 function getPriceFeedId (IntOrAString feedSymbolIntOrAString ) internal pure returns (bytes32 ) {
110137 uint256 feedSymbol = IntOrAString.unwrap (feedSymbolIntOrAString);
111- if (feedSymbol == PRICE_FEED_SYMBOL_INTORASTRING_EQUITY_US_GOOG_USD) {
138+ if (feedSymbol == PRICE_FEED_SYMBOL_INTORASTRING_CRYPTO_BTC_USD) {
139+ return PRICE_FEED_ID_CRYPTO_BTC_USD;
140+ } else if (feedSymbol == PRICE_FEED_SYMBOL_INTORASTRING_CRYPTO_WBTC_USD) {
141+ return PRICE_FEED_ID_CRYPTO_WBTC_USD;
142+ } else if (feedSymbol == PRICE_FEED_SYMBOL_INTORASTRING_CRYPTO_ETH_USD) {
143+ return PRICE_FEED_ID_CRYPTO_ETH_USD;
144+ } else if (feedSymbol == PRICE_FEED_SYMBOL_INTORASTRING_CRYPTO_WETH_USD) {
145+ return PRICE_FEED_ID_CRYPTO_WETH_USD;
146+ } else if (feedSymbol == PRICE_FEED_SYMBOL_INTORASTRING_CRYPTO_XRP_USD) {
147+ return PRICE_FEED_ID_CRYPTO_XRP_USD;
148+ } else if (feedSymbol == PRICE_FEED_SYMBOL_INTORASTRING_EQUITY_US_GOOG_USD) {
112149 return PRICE_FEED_ID_EQUITY_US_GOOG_USD;
113150 } else if (feedSymbol == PRICE_FEED_SYMBOL_INTORASTRING_EQUITY_US_AMZN_USD) {
114151 return PRICE_FEED_ID_EQUITY_US_AMZN_USD;
0 commit comments