UNPKG

@ox-fun/drift-sdk

Version:

SDK for Drift Protocol

516 lines (511 loc) 13.2 kB
import { OracleSource } from '../'; import { DriftEnv } from '../'; import { PublicKey } from '@solana/web3.js'; export type PerpMarketConfig = { fullName?: string; category?: string[]; symbol: string; baseAssetSymbol: string; marketIndex: number; launchTs: number; oracle: PublicKey; oracleSource: OracleSource; }; export const DevnetPerpMarkets: PerpMarketConfig[] = [ { fullName: 'Solana', category: ['L1', 'Infra'], symbol: 'SOL-PERP', baseAssetSymbol: 'SOL', marketIndex: 0, oracle: new PublicKey('J83w4HKfqxwcq3BEMMkPFSppX3gqekLyLJBexebFVkix'), launchTs: 1655751353000, oracleSource: OracleSource.PYTH, }, { fullName: 'Bitcoin', category: ['L1', 'Payment'], symbol: 'BTC-PERP', baseAssetSymbol: 'BTC', marketIndex: 1, oracle: new PublicKey('HovQMDrbAgAYPCmHVSrezcSmkMtXSSUsLDFANExrZh2J'), launchTs: 1655751353000, oracleSource: OracleSource.PYTH, }, { fullName: 'Ethereum', category: ['L1', 'Infra'], symbol: 'ETH-PERP', baseAssetSymbol: 'ETH', marketIndex: 2, oracle: new PublicKey('EdVCmQ9FSPcVe5YySXDPCRmc8aDQLKJ9xvYBMZPie1Vw'), launchTs: 1637691133472, oracleSource: OracleSource.PYTH, }, { fullName: 'Aptos', category: ['L1', 'Infra'], symbol: 'APT-PERP', baseAssetSymbol: 'APT', marketIndex: 3, oracle: new PublicKey('5d2QJ6u2NveZufmJ4noHja5EHs3Bv1DUMPLG5xfasSVs'), launchTs: 1675610186000, oracleSource: OracleSource.PYTH, }, { fullName: 'Bonk', category: ['Meme', 'Dog'], symbol: '1MBONK-PERP', baseAssetSymbol: '1MBONK', marketIndex: 4, oracle: new PublicKey('6bquU99ktV1VRiHDr8gMhDFt3kMfhCQo5nfNrg2Urvsn'), launchTs: 1677068931000, oracleSource: OracleSource.PYTH_1M, }, { fullName: 'Polygon', category: ['L2', 'Infra'], symbol: 'MATIC-PERP', baseAssetSymbol: 'MATIC', marketIndex: 5, oracle: new PublicKey('FBirwuDFuRAu4iSGc7RGxN5koHB7EJM1wbCmyPuQoGur'), launchTs: 1677690149000, //todo oracleSource: OracleSource.PYTH, }, { fullName: 'Arbitrum', category: ['L2', 'Infra'], symbol: 'ARB-PERP', baseAssetSymbol: 'ARB', marketIndex: 6, oracle: new PublicKey('4mRGHzjGerQNWKXyQAmr9kWqb9saPPHKqo1xziXGQ5Dh'), launchTs: 1679501812000, //todo oracleSource: OracleSource.PYTH, }, { fullName: 'Doge', category: ['Meme', 'Dog'], symbol: 'DOGE-PERP', baseAssetSymbol: 'DOGE', marketIndex: 7, oracle: new PublicKey('4L6YhY8VvUgmqG5MvJkUJATtzB2rFqdrJwQCmFLv4Jzy'), launchTs: 1680808053000, oracleSource: OracleSource.PYTH, }, { fullName: 'Binance Coin', category: ['Exchange'], symbol: 'BNB-PERP', baseAssetSymbol: 'BNB', marketIndex: 8, oracle: new PublicKey('GwzBgrXb4PG59zjce24SF2b9JXbLEjJJTBkmytuEZj1b'), launchTs: 1680808053000, oracleSource: OracleSource.PYTH, }, { fullName: 'Sui', category: ['L1'], symbol: 'SUI-PERP', baseAssetSymbol: 'SUI', marketIndex: 9, oracle: new PublicKey('6SK9vS8eMSSj3LUX2dPku93CrNv8xLCp9ng39F39h7A5'), launchTs: 1683125906000, oracleSource: OracleSource.PYTH, }, { fullName: 'Pepe', category: ['Meme'], symbol: '1MPEPE-PERP', baseAssetSymbol: '1MPEPE', marketIndex: 10, oracle: new PublicKey('Gz9RfgDeAFSsH7BHDGyNTgCik74rjNwsodJpsCizzmkj'), launchTs: 1683781239000, oracleSource: OracleSource.PYTH_1M, }, { fullName: 'OP', category: ['L2', 'Infra'], symbol: 'OP-PERP', baseAssetSymbol: 'OP', marketIndex: 11, oracle: new PublicKey('8ctSiDhA7eJoii4TkKV8Rx4KFdz3ycsA1FXy9wq56quG'), launchTs: 1686091480000, oracleSource: OracleSource.PYTH, }, { fullName: 'RNDR', category: ['Infra'], symbol: 'RNDR-PERP', baseAssetSymbol: 'RNDR', marketIndex: 12, oracle: new PublicKey('C2QvUPBiU3fViSyqA4nZgGyYqLgYf9PRpd8B8oLoo48w'), launchTs: 1687201081000, oracleSource: OracleSource.PYTH, }, { fullName: 'XRP', category: ['Payments'], symbol: 'XRP-PERP', baseAssetSymbol: 'XRP', marketIndex: 13, oracle: new PublicKey('DuG45Td6dgJBe64Ebymb1WjBys16L1VTQdoAURdsviqN'), launchTs: 1689270550000, oracleSource: OracleSource.PYTH, }, { fullName: 'HNT', category: ['IoT'], symbol: 'HNT-PERP', baseAssetSymbol: 'HNT', marketIndex: 14, oracle: new PublicKey('6Eg8YdfFJQF2HHonzPUBSCCmyUEhrStg9VBLK957sBe6'), launchTs: 1692294955000, oracleSource: OracleSource.PYTH, }, { fullName: 'INJ', category: ['L1', 'Exchange'], symbol: 'INJ-PERP', baseAssetSymbol: 'INJ', marketIndex: 15, oracle: new PublicKey('44uRsNnT35kjkscSu59MxRr9CfkLZWf6gny8bWqUbVxE'), launchTs: 1698074659000, oracleSource: OracleSource.PYTH, }, { fullName: 'LINK', category: ['Oracle'], symbol: 'LINK-PERP', baseAssetSymbol: 'LINK', marketIndex: 16, oracle: new PublicKey('9sGidS4qUXS2WvHZFhzw4df1jNd5TvUGZXZVsSjXo7UF'), launchTs: 1698074659000, oracleSource: OracleSource.PYTH, }, { fullName: 'Rollbit', category: ['Exchange'], symbol: 'RLB-PERP', baseAssetSymbol: 'RLB', marketIndex: 17, oracle: new PublicKey('6BmJozusMugAySsfNfMFsU1YRWcGwyP3oycNX9Pv9oCz'), launchTs: 1699265968000, oracleSource: OracleSource.PYTH, }, { fullName: 'Pyth', category: ['Oracle'], symbol: 'PYTH-PERP', baseAssetSymbol: 'PYTH', marketIndex: 18, oracle: new PublicKey('ELF78ZhSr8u4SCixA7YSpjdZHZoSNrAhcyysbavpC2kA'), launchTs: 1700542800000, oracleSource: OracleSource.PYTH, }, { fullName: 'Celestia', category: ['Data'], symbol: 'TIA-PERP', baseAssetSymbol: 'TIA', marketIndex: 19, oracle: new PublicKey('4GiL1Y6u6JkPb7ckakzJgc414h6P7qoYnEKFcd1YtSB9'), launchTs: 1701880540000, oracleSource: OracleSource.PYTH, }, { fullName: 'Jito', category: ['MEV'], symbol: 'JTO-PERP', baseAssetSymbol: 'JTO', marketIndex: 20, oracle: new PublicKey('29xQnTzyyuRtgJ7RtSKEgBWwRzZqtrrKmyQQ5m3x629f'), launchTs: 1701967240000, oracleSource: OracleSource.PYTH, }, { fullName: 'SEI', category: ['L1'], symbol: 'SEI-PERP', baseAssetSymbol: 'SEI', marketIndex: 21, oracle: new PublicKey('B6KVbgqTRY33yDgjAnc1mWw4ATS4W5544xghayQscdt7'), launchTs: 1703173331000, oracleSource: OracleSource.PYTH, }, { fullName: 'AVAX', category: ['Rollup', 'Infra'], symbol: 'AVAX-PERP', baseAssetSymbol: 'AVAX', marketIndex: 22, oracle: new PublicKey('FVb5h1VmHPfVb1RfqZckchq18GxRv4iKt8T4eVTQAqdz'), launchTs: 1704209558000, oracleSource: OracleSource.PYTH, }, // { // fullName: 'WIF', // category: ['Meme', 'Dog'], // symbol: 'WIF-PERP', // baseAssetSymbol: 'WIF', // marketIndex: 23, // oracle: new PublicKey('5i1sz2QQjCQt9PnhuPvqbiYUAYCgjdRnza1JbiH2qRCo'), // launchTs: 1706219971000, // oracleSource: OracleSource.PYTH, // }, ]; export const MainnetPerpMarkets: PerpMarketConfig[] = [ { fullName: 'Solana', category: ['L1', 'Infra'], symbol: 'SOL-PERP', baseAssetSymbol: 'SOL', marketIndex: 0, oracle: new PublicKey('H6ARHf6YXhGYeQfUzQNGk6rDNnLBQKrenN712K4AQJEG'), launchTs: 1667560505000, oracleSource: OracleSource.PYTH, }, { fullName: 'Bitcoin', category: ['L1', 'Payment'], symbol: 'BTC-PERP', baseAssetSymbol: 'BTC', marketIndex: 1, oracle: new PublicKey('GVXRSBjFk6e6J3NbVPXohDJetcTjaeeuykUpbQF8UoMU'), launchTs: 1670347281000, oracleSource: OracleSource.PYTH, }, { fullName: 'Ethereum', category: ['L1', 'Infra'], symbol: 'ETH-PERP', baseAssetSymbol: 'ETH', marketIndex: 2, oracle: new PublicKey('JBu1AL4obBcCMqKBBxhpWCNUt136ijcuMZLFvTP7iWdB'), launchTs: 1670347281000, oracleSource: OracleSource.PYTH, }, { fullName: 'Aptos', category: ['L1', 'Infra'], symbol: 'APT-PERP', baseAssetSymbol: 'APT', marketIndex: 3, oracle: new PublicKey('FNNvb1AFDnDVPkocEri8mWbJ1952HQZtFLuwPiUjSJQ'), launchTs: 1675802661000, oracleSource: OracleSource.PYTH, }, { fullName: 'Bonk', category: ['Meme'], symbol: '1MBONK-PERP', baseAssetSymbol: '1MBONK', marketIndex: 4, oracle: new PublicKey('8ihFLu5FimgTQ1Unh4dVyEHUGodJ5gJQCrQf4KUVB9bN'), launchTs: 1677690149000, oracleSource: OracleSource.PYTH_1M, }, { fullName: 'Polygon', category: ['L2', 'Infra'], symbol: 'MATIC-PERP', baseAssetSymbol: 'MATIC', marketIndex: 5, oracle: new PublicKey('7KVswB9vkCgeM3SHP7aGDijvdRAHK8P5wi9JXViCrtYh'), launchTs: 1677690149000, //todo oracleSource: OracleSource.PYTH, }, { fullName: 'Arbitrum', category: ['L2', 'Infra'], symbol: 'ARB-PERP', baseAssetSymbol: 'ARB', marketIndex: 6, oracle: new PublicKey('5HRrdmghsnU3i2u5StaKaydS7eq3vnKVKwXMzCNKsc4C'), launchTs: 1679501812000, //todo oracleSource: OracleSource.PYTH, }, { fullName: 'Doge', category: ['Meme', 'Dog'], symbol: 'DOGE-PERP', baseAssetSymbol: 'DOGE', marketIndex: 7, oracle: new PublicKey('FsSM3s38PX9K7Dn6eGzuE29S2Dsk1Sss1baytTQdCaQj'), launchTs: 1680808053000, oracleSource: OracleSource.PYTH, }, { fullName: 'Binance Coin', category: ['Exchange'], symbol: 'BNB-PERP', baseAssetSymbol: 'BNB', marketIndex: 8, oracle: new PublicKey('4CkQJBxhU8EZ2UjhigbtdaPbpTe6mqf811fipYBFbSYN'), launchTs: 1680808053000, oracleSource: OracleSource.PYTH, }, { fullName: 'Sui', category: ['L1'], symbol: 'SUI-PERP', baseAssetSymbol: 'SUI', marketIndex: 9, oracle: new PublicKey('3Qub3HaAJaa2xNY7SUqPKd3vVwTqDfDDkEUMPjXD2c1q'), launchTs: 1683125906000, oracleSource: OracleSource.PYTH, }, { fullName: 'Pepe', category: ['Meme'], symbol: '1MPEPE-PERP', baseAssetSymbol: '1MPEPE', marketIndex: 10, oracle: new PublicKey('FSfxunDmjjbDV2QxpyxFCAPKmYJHSLnLuvQXDLkMzLBm'), launchTs: 1683781239000, oracleSource: OracleSource.PYTH_1M, }, { fullName: 'OP', category: ['L2', 'Infra'], symbol: 'OP-PERP', baseAssetSymbol: 'OP', marketIndex: 11, oracle: new PublicKey('4o4CUwzFwLqCvmA5x1G4VzoZkAhAcbiuiYyjWX1CVbY2'), launchTs: 1686091480000, oracleSource: OracleSource.PYTH, }, { fullName: 'RNDR', category: ['Infra'], symbol: 'RNDR-PERP', baseAssetSymbol: 'RNDR', marketIndex: 12, oracle: new PublicKey('CYGfrBJB9HgLf9iZyN4aH5HvUAi2htQ4MjPxeXMf4Egn'), launchTs: 1687201081000, oracleSource: OracleSource.PYTH, }, { fullName: 'XRP', category: ['Payments'], symbol: 'XRP-PERP', baseAssetSymbol: 'XRP', marketIndex: 13, oracle: new PublicKey('Guffb8DAAxNH6kdoawYjPXTbwUhjmveh8R4LM6uEqRV1'), launchTs: 1689270550000, oracleSource: OracleSource.PYTH, }, { fullName: 'HNT', category: ['IoT'], symbol: 'HNT-PERP', baseAssetSymbol: 'HNT', marketIndex: 14, oracle: new PublicKey('7moA1i5vQUpfDwSpK6Pw9s56ahB7WFGidtbL2ujWrVvm'), launchTs: 1692294955000, oracleSource: OracleSource.PYTH, }, { fullName: 'INJ', category: ['L1', 'Exchange'], symbol: 'INJ-PERP', baseAssetSymbol: 'INJ', marketIndex: 15, oracle: new PublicKey('9EdtbaivHQYA4Nh3XzGR6DwRaoorqXYnmpfsnFhvwuVj'), launchTs: 1698074659000, oracleSource: OracleSource.PYTH, }, { fullName: 'LINK', category: ['Oracle'], symbol: 'LINK-PERP', baseAssetSymbol: 'LINK', marketIndex: 16, oracle: new PublicKey('ALdkqQDMfHNg77oCNskfX751kHys4KE7SFuZzuKaN536'), launchTs: 1698074659000, oracleSource: OracleSource.PYTH, }, { fullName: 'Rollbit', category: ['Exchange'], symbol: 'RLB-PERP', baseAssetSymbol: 'RLB', marketIndex: 17, oracle: new PublicKey('4BA3RcS4zE32WWgp49vvvre2t6nXY1W1kMyKZxeeuUey'), launchTs: 1699265968000, oracleSource: OracleSource.PYTH, }, { fullName: 'Pyth', category: ['Oracle'], symbol: 'PYTH-PERP', baseAssetSymbol: 'PYTH', marketIndex: 18, oracle: new PublicKey('nrYkQQQur7z8rYTST3G9GqATviK5SxTDkrqd21MW6Ue'), launchTs: 1700542800000, oracleSource: OracleSource.PYTH, }, { fullName: 'Celestia', category: ['Data'], symbol: 'TIA-PERP', baseAssetSymbol: 'TIA', marketIndex: 19, oracle: new PublicKey('funeUsHgi2QKkLdUPASRLuYkaK8JaazCEz3HikbkhVt'), launchTs: 1701880540000, oracleSource: OracleSource.PYTH, }, { fullName: 'Jito', category: ['MEV'], symbol: 'JTO-PERP', baseAssetSymbol: 'JTO', marketIndex: 20, oracle: new PublicKey('D8UUgr8a3aR3yUeHLu7v8FWK7E8Y5sSU7qrYBXUJXBQ5'), launchTs: 1701967240000, oracleSource: OracleSource.PYTH, }, { fullName: 'SEI', category: ['L1'], symbol: 'SEI-PERP', baseAssetSymbol: 'SEI', marketIndex: 21, oracle: new PublicKey('6cUuAyAX3eXoiWkjFF77RQBEUF15AAMQ7d1hm4EPd3tv'), launchTs: 1703173331000, oracleSource: OracleSource.PYTH, }, { fullName: 'AVAX', category: ['Rollup', 'Infra'], symbol: 'AVAX-PERP', baseAssetSymbol: 'AVAX', marketIndex: 22, oracle: new PublicKey('Ax9ujW5B9oqcv59N8m6f1BpTBq2rGeGaBcpKjC5UYsXU'), launchTs: 1704209558000, oracleSource: OracleSource.PYTH, }, { fullName: 'WIF', category: ['Meme', 'Dog'], symbol: 'WIF-PERP', baseAssetSymbol: 'WIF', marketIndex: 23, oracle: new PublicKey('6ABgrEZk8urs6kJ1JNdC1sspH5zKXRqxy8sg3ZG2cQps'), launchTs: 1706219971000, oracleSource: OracleSource.PYTH, }, { fullName: 'JUP', category: ['Exchange', 'Infra'], symbol: 'JUP-PERP', baseAssetSymbol: 'JUP', marketIndex: 24, oracle: new PublicKey('g6eRCbboSwK4tSWngn773RCMexr1APQr4uA9bGZBYfo'), launchTs: 1706713201000, oracleSource: OracleSource.PYTH, }, ]; export const PerpMarkets: { [key in DriftEnv]: PerpMarketConfig[] } = { devnet: DevnetPerpMarkets, 'mainnet-beta': MainnetPerpMarkets, };