@drift-labs/sdk 2.110.0-beta.2 → 2.110.0-beta.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/VERSION +1 -1
- package/lib/browser/addresses/pda.d.ts +1 -2
- package/lib/browser/addresses/pda.js +4 -11
- package/lib/browser/config.d.ts +2 -0
- package/lib/browser/config.js +7 -0
- package/lib/browser/constants/perpMarkets.js +84 -54
- package/lib/browser/constants/spotMarkets.js +16 -16
- package/lib/browser/decode/user.js +7 -1
- package/lib/browser/dlob/DLOB.d.ts +4 -4
- package/lib/browser/dlob/DLOB.js +11 -11
- package/lib/browser/dlob/DLOBNode.d.ts +8 -8
- package/lib/browser/dlob/DLOBNode.js +10 -10
- package/lib/browser/driftClient.d.ts +29 -24
- package/lib/browser/driftClient.js +92 -150
- package/lib/browser/driftClientConfig.d.ts +2 -0
- package/lib/browser/events/types.d.ts +5 -3
- package/lib/browser/events/types.js +3 -1
- package/lib/browser/fastlane/fastlaneOrderSubscriber.d.ts +28 -0
- package/lib/{node/swift/swiftOrderSubscriber.js → browser/fastlane/fastlaneOrderSubscriber.js} +18 -16
- package/lib/browser/idl/drift.json +95 -311
- package/lib/browser/index.d.ts +2 -1
- package/lib/browser/index.js +2 -1
- package/lib/browser/tx/txHandler.d.ts +1 -1
- package/lib/browser/tx/txHandler.js +4 -4
- package/lib/browser/types.d.ts +47 -28
- package/lib/browser/util/digest.d.ts +1 -1
- package/lib/browser/util/digest.js +3 -3
- package/lib/browser/util/ed25519Utils.d.ts +10 -0
- package/lib/browser/util/ed25519Utils.js +80 -0
- package/lib/browser/util/pythOracleUtils.d.ts +0 -16
- package/lib/browser/util/pythOracleUtils.js +1 -103
- package/lib/node/addresses/pda.d.ts +1 -2
- package/lib/node/addresses/pda.js +4 -11
- package/lib/node/config.d.ts +2 -0
- package/lib/node/config.js +7 -0
- package/lib/node/constants/perpMarkets.js +84 -54
- package/lib/node/constants/spotMarkets.js +16 -16
- package/lib/node/decode/user.js +7 -1
- package/lib/node/dlob/DLOB.d.ts +4 -4
- package/lib/node/dlob/DLOB.js +11 -11
- package/lib/node/dlob/DLOBNode.d.ts +8 -8
- package/lib/node/dlob/DLOBNode.js +10 -10
- package/lib/node/driftClient.d.ts +29 -24
- package/lib/node/driftClient.js +92 -150
- package/lib/node/driftClientConfig.d.ts +2 -0
- package/lib/node/events/types.d.ts +5 -3
- package/lib/node/events/types.js +3 -1
- package/lib/node/fastlane/fastlaneOrderSubscriber.d.ts +28 -0
- package/lib/{browser/swift/swiftOrderSubscriber.js → node/fastlane/fastlaneOrderSubscriber.js} +18 -16
- package/lib/node/idl/drift.json +95 -311
- package/lib/node/index.d.ts +2 -1
- package/lib/node/index.js +2 -1
- package/lib/node/tx/txHandler.d.ts +1 -1
- package/lib/node/tx/txHandler.js +4 -4
- package/lib/node/types.d.ts +47 -28
- package/lib/node/util/digest.d.ts +1 -1
- package/lib/node/util/digest.js +3 -3
- package/lib/node/util/ed25519Utils.d.ts +10 -0
- package/lib/node/util/ed25519Utils.js +80 -0
- package/lib/node/util/pythOracleUtils.d.ts +0 -16
- package/lib/node/util/pythOracleUtils.js +1 -103
- package/package.json +1 -1
- package/src/addresses/pda.ts +2 -15
- package/src/config.ts +9 -0
- package/src/constants/perpMarkets.ts +86 -56
- package/src/constants/spotMarkets.ts +16 -16
- package/src/decode/user.ts +8 -1
- package/src/dlob/DLOB.ts +14 -14
- package/src/dlob/DLOBNode.ts +14 -14
- package/src/driftClient.ts +169 -252
- package/src/driftClientConfig.ts +2 -0
- package/src/events/types.ts +13 -5
- package/src/{swift/swiftOrderSubscriber.ts → fastlane/fastlaneOrderSubscriber.ts} +27 -21
- package/src/idl/drift.json +95 -311
- package/src/index.ts +2 -1
- package/src/tx/txHandler.ts +5 -5
- package/src/types.ts +53 -31
- package/src/util/digest.ts +1 -1
- package/src/util/ed25519Utils.ts +85 -0
- package/src/util/pythOracleUtils.ts +0 -131
- package/tests/ci/verifyConstants.ts +3 -3
- package/lib/browser/swift/swiftOrderSubscriber.d.ts +0 -28
- package/lib/browser/swift/types.d.ts +0 -17
- package/lib/browser/swift/types.js +0 -2
- package/lib/node/swift/swiftOrderSubscriber.d.ts +0 -28
- package/lib/node/swift/types.d.ts +0 -17
- package/lib/node/swift/types.js +0 -2
- package/src/swift/types.ts +0 -16
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.110.0-beta.
|
|
1
|
+
2.110.0-beta.21
|
|
@@ -9,8 +9,7 @@ export declare function getUserAccountPublicKey(programId: PublicKey, authority:
|
|
|
9
9
|
export declare function getUserAccountPublicKeySync(programId: PublicKey, authority: PublicKey, subAccountId?: number): PublicKey;
|
|
10
10
|
export declare function getUserStatsAccountPublicKey(programId: PublicKey, authority: PublicKey): PublicKey;
|
|
11
11
|
export declare function getFuelOverflowAccountPublicKey(programId: PublicKey, authority: PublicKey): PublicKey;
|
|
12
|
-
export declare function
|
|
13
|
-
export declare function getSwiftUserAccountPublicKey(programId: PublicKey, authority: PublicKey): PublicKey;
|
|
12
|
+
export declare function getSignedMsgUserAccountPublicKey(programId: PublicKey, authority: PublicKey): PublicKey;
|
|
14
13
|
export declare function getPerpMarketPublicKey(programId: PublicKey, marketIndex: number): Promise<PublicKey>;
|
|
15
14
|
export declare function getPerpMarketPublicKeySync(programId: PublicKey, marketIndex: number): PublicKey;
|
|
16
15
|
export declare function getSpotMarketPublicKey(programId: PublicKey, marketIndex: number): Promise<PublicKey>;
|
|
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.getProtectedMakerModeConfigPublicKey = exports.getHighLeverageModeConfigPublicKey = exports.getTokenProgramForSpotMarket = exports.getPythLazerOraclePublicKey = exports.getPythPullOraclePublicKey = exports.getPrelaunchOraclePublicKey = exports.getProtocolIfSharesTransferConfigPublicKey = exports.getReferrerNamePublicKeySync = exports.getOpenbookV2FulfillmentConfigPublicKey = exports.getPhoenixFulfillmentConfigPublicKey = exports.getSerumFulfillmentConfigPublicKey = exports.getSerumSignerPublicKey = exports.getSerumOpenOrdersPublicKey = exports.getDriftSignerPublicKey = exports.getInsuranceFundStakeAccountPublicKey = exports.getInsuranceFundVaultPublicKey = exports.getSpotMarketVaultPublicKey = exports.getSpotMarketPublicKeySync = exports.getSpotMarketPublicKey = exports.getPerpMarketPublicKeySync = exports.getPerpMarketPublicKey = exports.
|
|
26
|
+
exports.getProtectedMakerModeConfigPublicKey = exports.getHighLeverageModeConfigPublicKey = exports.getTokenProgramForSpotMarket = exports.getPythLazerOraclePublicKey = exports.getPythPullOraclePublicKey = exports.getPrelaunchOraclePublicKey = exports.getProtocolIfSharesTransferConfigPublicKey = exports.getReferrerNamePublicKeySync = exports.getOpenbookV2FulfillmentConfigPublicKey = exports.getPhoenixFulfillmentConfigPublicKey = exports.getSerumFulfillmentConfigPublicKey = exports.getSerumSignerPublicKey = exports.getSerumOpenOrdersPublicKey = exports.getDriftSignerPublicKey = exports.getInsuranceFundStakeAccountPublicKey = exports.getInsuranceFundVaultPublicKey = exports.getSpotMarketVaultPublicKey = exports.getSpotMarketPublicKeySync = exports.getSpotMarketPublicKey = exports.getPerpMarketPublicKeySync = exports.getPerpMarketPublicKey = exports.getSignedMsgUserAccountPublicKey = exports.getFuelOverflowAccountPublicKey = exports.getUserStatsAccountPublicKey = exports.getUserAccountPublicKeySync = exports.getUserAccountPublicKey = exports.getUserAccountPublicKeyAndNonce = exports.getDriftStateAccountPublicKey = exports.getDriftStateAccountPublicKeyAndNonce = void 0;
|
|
27
27
|
const web3_js_1 = require("@solana/web3.js");
|
|
28
28
|
const anchor = __importStar(require("@coral-xyz/anchor"));
|
|
29
29
|
const spl_token_1 = require("@solana/spl-token");
|
|
@@ -69,20 +69,13 @@ function getFuelOverflowAccountPublicKey(programId, authority) {
|
|
|
69
69
|
], programId)[0];
|
|
70
70
|
}
|
|
71
71
|
exports.getFuelOverflowAccountPublicKey = getFuelOverflowAccountPublicKey;
|
|
72
|
-
function
|
|
72
|
+
function getSignedMsgUserAccountPublicKey(programId, authority) {
|
|
73
73
|
return web3_js_1.PublicKey.findProgramAddressSync([
|
|
74
|
-
Buffer.from(anchor.utils.bytes.utf8.encode('
|
|
75
|
-
userAccountPublicKey.toBuffer(),
|
|
76
|
-
], programId)[0];
|
|
77
|
-
}
|
|
78
|
-
exports.getRFQUserAccountPublicKey = getRFQUserAccountPublicKey;
|
|
79
|
-
function getSwiftUserAccountPublicKey(programId, authority) {
|
|
80
|
-
return web3_js_1.PublicKey.findProgramAddressSync([
|
|
81
|
-
Buffer.from(anchor.utils.bytes.utf8.encode('SWIFT')),
|
|
74
|
+
Buffer.from(anchor.utils.bytes.utf8.encode('SIGNED_MSG')),
|
|
82
75
|
authority.toBuffer(),
|
|
83
76
|
], programId)[0];
|
|
84
77
|
}
|
|
85
|
-
exports.
|
|
78
|
+
exports.getSignedMsgUserAccountPublicKey = getSignedMsgUserAccountPublicKey;
|
|
86
79
|
async function getPerpMarketPublicKey(programId, marketIndex) {
|
|
87
80
|
return (await web3_js_1.PublicKey.findProgramAddress([
|
|
88
81
|
Buffer.from(anchor.utils.bytes.utf8.encode('perp_market')),
|
package/lib/browser/config.d.ts
CHANGED
|
@@ -17,7 +17,9 @@ type DriftConfig = {
|
|
|
17
17
|
V2_ALPHA_TICKET_MINT_ADDRESS: string;
|
|
18
18
|
PERP_MARKETS: PerpMarketConfig[];
|
|
19
19
|
SPOT_MARKETS: SpotMarketConfig[];
|
|
20
|
+
/** @deprecated use MARKET_LOOKUP_TABLES */
|
|
20
21
|
MARKET_LOOKUP_TABLE: string;
|
|
22
|
+
MARKET_LOOKUP_TABLES: string[];
|
|
21
23
|
SERUM_LOOKUP_TABLE?: string;
|
|
22
24
|
PYTH_PULL_ORACLE_LOOKUP_TABLE?: string;
|
|
23
25
|
SB_ON_DEMAND_PID: PublicKey;
|
package/lib/browser/config.js
CHANGED
|
@@ -27,7 +27,9 @@ exports.configs = {
|
|
|
27
27
|
V2_ALPHA_TICKET_MINT_ADDRESS: 'DeEiGWfCMP9psnLGkxGrBBMEAW5Jv8bBGMN8DCtFRCyB',
|
|
28
28
|
PERP_MARKETS: perpMarkets_1.DevnetPerpMarkets,
|
|
29
29
|
SPOT_MARKETS: spotMarkets_1.DevnetSpotMarkets,
|
|
30
|
+
/** @deprecated use MARKET_LOOKUP_TABLES */
|
|
30
31
|
MARKET_LOOKUP_TABLE: 'FaMS3U4uBojvGn5FSDEPimddcXsCfwkKsFgMVVnDdxGb',
|
|
32
|
+
MARKET_LOOKUP_TABLES: ['FaMS3U4uBojvGn5FSDEPimddcXsCfwkKsFgMVVnDdxGb'],
|
|
31
33
|
DRIFT_ORACLE_RECEIVER_ID: exports.DRIFT_ORACLE_RECEIVER_ID,
|
|
32
34
|
SB_ON_DEMAND_PID: on_demand_1.ON_DEMAND_DEVNET_PID,
|
|
33
35
|
},
|
|
@@ -43,7 +45,12 @@ exports.configs = {
|
|
|
43
45
|
V2_ALPHA_TICKET_MINT_ADDRESS: 'Cmvhycb6LQvvzaShGw4iDHRLzeSSryioAsU98DSSkMNa',
|
|
44
46
|
PERP_MARKETS: perpMarkets_1.MainnetPerpMarkets,
|
|
45
47
|
SPOT_MARKETS: spotMarkets_1.MainnetSpotMarkets,
|
|
48
|
+
/** @deprecated use MARKET_LOOKUP_TABLES */
|
|
46
49
|
MARKET_LOOKUP_TABLE: 'Fpys8GRa5RBWfyeN7AaDUwFGD1zkDCA4z3t4CJLV8dfL',
|
|
50
|
+
MARKET_LOOKUP_TABLES: [
|
|
51
|
+
'Fpys8GRa5RBWfyeN7AaDUwFGD1zkDCA4z3t4CJLV8dfL',
|
|
52
|
+
'EiWSskK5HXnBTptiS5DH6gpAJRVNQ3cAhTKBGaiaysAb',
|
|
53
|
+
],
|
|
47
54
|
SERUM_LOOKUP_TABLE: 'GPZkp76cJtNL2mphCvT6FXkJCVPpouidnacckR6rzKDN',
|
|
48
55
|
DRIFT_ORACLE_RECEIVER_ID: exports.DRIFT_ORACLE_RECEIVER_ID,
|
|
49
56
|
SB_ON_DEMAND_PID: on_demand_1.ON_DEMAND_MAINNET_PID,
|
|
@@ -386,9 +386,9 @@ exports.MainnetPerpMarkets = [
|
|
|
386
386
|
symbol: 'APT-PERP',
|
|
387
387
|
baseAssetSymbol: 'APT',
|
|
388
388
|
marketIndex: 3,
|
|
389
|
-
oracle: new web3_js_1.PublicKey('
|
|
389
|
+
oracle: new web3_js_1.PublicKey('CXZhzKePYajrZgZyrzgvHYFKK3c5tNgDrRobAgySo8Nb'),
|
|
390
390
|
launchTs: 1675802661000,
|
|
391
|
-
oracleSource: __1.OracleSource.
|
|
391
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
392
392
|
pythFeedId: '0x03ae4db29ed4ae33d323568895aa00337e658e348b37509f5372ae51f0af00d5',
|
|
393
393
|
pythLazerId: 28,
|
|
394
394
|
},
|
|
@@ -410,9 +410,9 @@ exports.MainnetPerpMarkets = [
|
|
|
410
410
|
symbol: 'POL-PERP',
|
|
411
411
|
baseAssetSymbol: 'POL',
|
|
412
412
|
marketIndex: 5,
|
|
413
|
-
oracle: new web3_js_1.PublicKey('
|
|
413
|
+
oracle: new web3_js_1.PublicKey('HDveCibToLf157NtUqShCEWX3GcF4Aq8Ngt2bst1s1cc'),
|
|
414
414
|
launchTs: 1677690149000,
|
|
415
|
-
oracleSource: __1.OracleSource.
|
|
415
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
416
416
|
pythFeedId: '0xffd11c5a1cfd42f80afb2df4d9f264c15f956d68153335374ec10722edd70472',
|
|
417
417
|
pythLazerId: 32,
|
|
418
418
|
},
|
|
@@ -422,9 +422,9 @@ exports.MainnetPerpMarkets = [
|
|
|
422
422
|
symbol: 'ARB-PERP',
|
|
423
423
|
baseAssetSymbol: 'ARB',
|
|
424
424
|
marketIndex: 6,
|
|
425
|
-
oracle: new web3_js_1.PublicKey('
|
|
425
|
+
oracle: new web3_js_1.PublicKey('5DYEjGpr28q3EsLKAnLXiDq6UeaFgDFZ5Gdwgp5RmPAp'),
|
|
426
426
|
launchTs: 1679501812000,
|
|
427
|
-
oracleSource: __1.OracleSource.
|
|
427
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
428
428
|
pythFeedId: '0x3fa4252848f9f0a1480be62745a4629d9eb1322aebab8a791e344b3b9c1adcf5',
|
|
429
429
|
pythLazerId: 37,
|
|
430
430
|
},
|
|
@@ -446,9 +446,9 @@ exports.MainnetPerpMarkets = [
|
|
|
446
446
|
symbol: 'BNB-PERP',
|
|
447
447
|
baseAssetSymbol: 'BNB',
|
|
448
448
|
marketIndex: 8,
|
|
449
|
-
oracle: new web3_js_1.PublicKey('
|
|
449
|
+
oracle: new web3_js_1.PublicKey('A9J2j1pRB2aPqAbjUTtKy94niSCTuPUrpimfzvpZHKG1'),
|
|
450
450
|
launchTs: 1680808053000,
|
|
451
|
-
oracleSource: __1.OracleSource.
|
|
451
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
452
452
|
pythFeedId: '0x2f95862b045670cd22bee3114c39763a4a08beeb663b145d283c31d7d1101c4f',
|
|
453
453
|
pythLazerId: 15,
|
|
454
454
|
},
|
|
@@ -458,9 +458,9 @@ exports.MainnetPerpMarkets = [
|
|
|
458
458
|
symbol: 'SUI-PERP',
|
|
459
459
|
baseAssetSymbol: 'SUI',
|
|
460
460
|
marketIndex: 9,
|
|
461
|
-
oracle: new web3_js_1.PublicKey('
|
|
461
|
+
oracle: new web3_js_1.PublicKey('HmeJeBKgceqvSBd5XBXZUYECLabnbS1SefLkeJKH8ERK'),
|
|
462
462
|
launchTs: 1683125906000,
|
|
463
|
-
oracleSource: __1.OracleSource.
|
|
463
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
464
464
|
pythFeedId: '0x23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744',
|
|
465
465
|
pythLazerId: 11,
|
|
466
466
|
},
|
|
@@ -470,9 +470,9 @@ exports.MainnetPerpMarkets = [
|
|
|
470
470
|
symbol: '1MPEPE-PERP',
|
|
471
471
|
baseAssetSymbol: '1MPEPE',
|
|
472
472
|
marketIndex: 10,
|
|
473
|
-
oracle: new web3_js_1.PublicKey('
|
|
473
|
+
oracle: new web3_js_1.PublicKey('Eo8x9Y1289GvsuYVwRS2R8HfiWRXxYofL1KYvHK2ZM2o'),
|
|
474
474
|
launchTs: 1683781239000,
|
|
475
|
-
oracleSource: __1.OracleSource.
|
|
475
|
+
oracleSource: __1.OracleSource.PYTH_LAZER_1M,
|
|
476
476
|
pythFeedId: '0xd69731a2e74ac1ce884fc3890f7ee324b6deb66147055249568869ed700882e4',
|
|
477
477
|
pythLazerId: 4,
|
|
478
478
|
},
|
|
@@ -482,9 +482,9 @@ exports.MainnetPerpMarkets = [
|
|
|
482
482
|
symbol: 'OP-PERP',
|
|
483
483
|
baseAssetSymbol: 'OP',
|
|
484
484
|
marketIndex: 11,
|
|
485
|
-
oracle: new web3_js_1.PublicKey('
|
|
485
|
+
oracle: new web3_js_1.PublicKey('7GPbmQee2T4jMsJg99GuzWyMuzr8c2Uk7rAR9qvvQkzf'),
|
|
486
486
|
launchTs: 1686091480000,
|
|
487
|
-
oracleSource: __1.OracleSource.
|
|
487
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
488
488
|
pythFeedId: '0x385f64d993f7b77d8182ed5003d97c60aa3361f3cecfe711544d2d59165e9bdf',
|
|
489
489
|
pythLazerId: 41,
|
|
490
490
|
},
|
|
@@ -494,9 +494,9 @@ exports.MainnetPerpMarkets = [
|
|
|
494
494
|
symbol: 'RENDER-PERP',
|
|
495
495
|
baseAssetSymbol: 'RENDER',
|
|
496
496
|
marketIndex: 12,
|
|
497
|
-
oracle: new web3_js_1.PublicKey('
|
|
497
|
+
oracle: new web3_js_1.PublicKey('97EqsAGbTnShB7oYWAFFCVVAx8PWXgDYDhcpm99izNQ4'),
|
|
498
498
|
launchTs: 1687201081000,
|
|
499
|
-
oracleSource: __1.OracleSource.
|
|
499
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
500
500
|
pythFeedId: '0x3d4a2bd9535be6ce8059d75eadeba507b043257321aa544717c56fa19b49e35d',
|
|
501
501
|
pythLazerId: 34,
|
|
502
502
|
},
|
|
@@ -506,9 +506,9 @@ exports.MainnetPerpMarkets = [
|
|
|
506
506
|
symbol: 'XRP-PERP',
|
|
507
507
|
baseAssetSymbol: 'XRP',
|
|
508
508
|
marketIndex: 13,
|
|
509
|
-
oracle: new web3_js_1.PublicKey('
|
|
509
|
+
oracle: new web3_js_1.PublicKey('92VexDMsSzYvVq7eiEoodEzZxCLqYnfGKpVTqpkX12FY'),
|
|
510
510
|
launchTs: 1689270550000,
|
|
511
|
-
oracleSource: __1.OracleSource.
|
|
511
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
512
512
|
pythFeedId: '0xec5d399846a9209f3fe5881d70aae9268c94339ff9817e8d18ff19fa05eea1c8',
|
|
513
513
|
pythLazerId: 14,
|
|
514
514
|
},
|
|
@@ -529,9 +529,9 @@ exports.MainnetPerpMarkets = [
|
|
|
529
529
|
symbol: 'INJ-PERP',
|
|
530
530
|
baseAssetSymbol: 'INJ',
|
|
531
531
|
marketIndex: 15,
|
|
532
|
-
oracle: new web3_js_1.PublicKey('
|
|
532
|
+
oracle: new web3_js_1.PublicKey('Ac442xcU276nb6gJFUCsNYAwAo6KWuw4xocxmG3nvDym'),
|
|
533
533
|
launchTs: 1698074659000,
|
|
534
|
-
oracleSource: __1.OracleSource.
|
|
534
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
535
535
|
pythFeedId: '0x7a5bc1d2b56ad029048cd63964b3ad2776eadf812edc1a43a31406cb54bff592',
|
|
536
536
|
pythLazerId: 46,
|
|
537
537
|
},
|
|
@@ -541,9 +541,9 @@ exports.MainnetPerpMarkets = [
|
|
|
541
541
|
symbol: 'LINK-PERP',
|
|
542
542
|
baseAssetSymbol: 'LINK',
|
|
543
543
|
marketIndex: 16,
|
|
544
|
-
oracle: new web3_js_1.PublicKey('
|
|
544
|
+
oracle: new web3_js_1.PublicKey('rwyPmfH5xsHdjPf6XsVxvyQEZogX2k4pmhaKEVvgseW'),
|
|
545
545
|
launchTs: 1698074659000,
|
|
546
|
-
oracleSource: __1.OracleSource.
|
|
546
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
547
547
|
pythFeedId: '0x8ac0c70fff57e9aefdf5edf44b51d62c2d433653cbb2cf5cc06bb115af04d221',
|
|
548
548
|
pythLazerId: 19,
|
|
549
549
|
},
|
|
@@ -564,9 +564,9 @@ exports.MainnetPerpMarkets = [
|
|
|
564
564
|
symbol: 'PYTH-PERP',
|
|
565
565
|
baseAssetSymbol: 'PYTH',
|
|
566
566
|
marketIndex: 18,
|
|
567
|
-
oracle: new web3_js_1.PublicKey('
|
|
567
|
+
oracle: new web3_js_1.PublicKey('6Sfx8ZAt6xaEgMXTahR6GrT7oYB6nFBMoVyCmMyHmeJV'),
|
|
568
568
|
launchTs: 1700542800000,
|
|
569
|
-
oracleSource: __1.OracleSource.
|
|
569
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
570
570
|
pythFeedId: '0x0bbf28e9a841a1cc788f6a361b17ca072d0ea3098a1e5df1c3922d06719579ff',
|
|
571
571
|
pythLazerId: 3,
|
|
572
572
|
},
|
|
@@ -576,9 +576,9 @@ exports.MainnetPerpMarkets = [
|
|
|
576
576
|
symbol: 'TIA-PERP',
|
|
577
577
|
baseAssetSymbol: 'TIA',
|
|
578
578
|
marketIndex: 19,
|
|
579
|
-
oracle: new web3_js_1.PublicKey('
|
|
579
|
+
oracle: new web3_js_1.PublicKey('2rDfWydvqvMQjDuf7vQsgfpa6dLMZehrWrpoXitn6gPx'),
|
|
580
580
|
launchTs: 1701880540000,
|
|
581
|
-
oracleSource: __1.OracleSource.
|
|
581
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
582
582
|
pythFeedId: '0x09f7c1d7dfbb7df2b8fe3d3d87ee94a2259d212da4f30c1f0540d066dfa44723',
|
|
583
583
|
pythLazerId: 48,
|
|
584
584
|
},
|
|
@@ -588,9 +588,9 @@ exports.MainnetPerpMarkets = [
|
|
|
588
588
|
symbol: 'JTO-PERP',
|
|
589
589
|
baseAssetSymbol: 'JTO',
|
|
590
590
|
marketIndex: 20,
|
|
591
|
-
oracle: new web3_js_1.PublicKey('
|
|
591
|
+
oracle: new web3_js_1.PublicKey('CGCz4mB8NsDddCq6BZToRUDUuktzsAfpKYh6ATgyyCGF'),
|
|
592
592
|
launchTs: 1701967240000,
|
|
593
|
-
oracleSource: __1.OracleSource.
|
|
593
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
594
594
|
pythFeedId: '0xb43660a5f790c69354b0729a5ef9d50d68f1df92107540210b9cccba1f947cc2',
|
|
595
595
|
pythLazerId: 91,
|
|
596
596
|
},
|
|
@@ -600,9 +600,9 @@ exports.MainnetPerpMarkets = [
|
|
|
600
600
|
symbol: 'SEI-PERP',
|
|
601
601
|
baseAssetSymbol: 'SEI',
|
|
602
602
|
marketIndex: 21,
|
|
603
|
-
oracle: new web3_js_1.PublicKey('
|
|
603
|
+
oracle: new web3_js_1.PublicKey('Edk1TWipQtsaD8nnBXYQV1CEAiQb1GFtEAKeFZCi2A4C'),
|
|
604
604
|
launchTs: 1703173331000,
|
|
605
|
-
oracleSource: __1.OracleSource.
|
|
605
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
606
606
|
pythFeedId: '0x53614f1cb0c031d4af66c04cb9c756234adad0e1cee85303795091499a4084eb',
|
|
607
607
|
pythLazerId: 51,
|
|
608
608
|
},
|
|
@@ -612,9 +612,9 @@ exports.MainnetPerpMarkets = [
|
|
|
612
612
|
symbol: 'AVAX-PERP',
|
|
613
613
|
baseAssetSymbol: 'AVAX',
|
|
614
614
|
marketIndex: 22,
|
|
615
|
-
oracle: new web3_js_1.PublicKey('
|
|
615
|
+
oracle: new web3_js_1.PublicKey('5ASZLwk3GFCwZiDQ3XpmduRqNPEUGHXjELMX85u8McK3'),
|
|
616
616
|
launchTs: 1704209558000,
|
|
617
|
-
oracleSource: __1.OracleSource.
|
|
617
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
618
618
|
pythFeedId: '0x93da3352f9f1d105fdfe4971cfa80e9dd777bfc5d0f683ebb6e1294b92137bb7',
|
|
619
619
|
pythLazerId: 18,
|
|
620
620
|
},
|
|
@@ -624,9 +624,9 @@ exports.MainnetPerpMarkets = [
|
|
|
624
624
|
symbol: 'WIF-PERP',
|
|
625
625
|
baseAssetSymbol: 'WIF',
|
|
626
626
|
marketIndex: 23,
|
|
627
|
-
oracle: new web3_js_1.PublicKey('
|
|
627
|
+
oracle: new web3_js_1.PublicKey('4QXWStoyEErTZFVsvKrvxuNa6QT8zpeA8jddZunSGvYE'),
|
|
628
628
|
launchTs: 1706219971000,
|
|
629
|
-
oracleSource: __1.OracleSource.
|
|
629
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
630
630
|
pythFeedId: '0x4ca4beeca86f0d164160323817a4e42b10010a724c2217c6ee41b54cd4cc61fc',
|
|
631
631
|
pythLazerId: 10,
|
|
632
632
|
},
|
|
@@ -648,9 +648,9 @@ exports.MainnetPerpMarkets = [
|
|
|
648
648
|
symbol: 'DYM-PERP',
|
|
649
649
|
baseAssetSymbol: 'DYM',
|
|
650
650
|
marketIndex: 25,
|
|
651
|
-
oracle: new web3_js_1.PublicKey('
|
|
651
|
+
oracle: new web3_js_1.PublicKey('HWDqaKbbNrEsgWPLMeKG39AguefMbHsWcvNSthToXG2t'),
|
|
652
652
|
launchTs: 1708448765000,
|
|
653
|
-
oracleSource: __1.OracleSource.
|
|
653
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
654
654
|
pythFeedId: '0xa9f3b2a89c6f85a6c20a9518abde39b944e839ca49a0c92307c65974d3f14a57',
|
|
655
655
|
pythLazerId: 83,
|
|
656
656
|
},
|
|
@@ -660,9 +660,9 @@ exports.MainnetPerpMarkets = [
|
|
|
660
660
|
symbol: 'TAO-PERP',
|
|
661
661
|
baseAssetSymbol: 'TAO',
|
|
662
662
|
marketIndex: 26,
|
|
663
|
-
oracle: new web3_js_1.PublicKey('
|
|
663
|
+
oracle: new web3_js_1.PublicKey('44fqbLqAkKK5kEj1FFvuEPYq56XoQQL3ABzCPrqsW3Cv'),
|
|
664
664
|
launchTs: 1709136669000,
|
|
665
|
-
oracleSource: __1.OracleSource.
|
|
665
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
666
666
|
pythFeedId: '0x410f41de235f2db824e562ea7ab2d3d3d4ff048316c61d629c0b93f58584e1af',
|
|
667
667
|
pythLazerId: 36,
|
|
668
668
|
},
|
|
@@ -672,9 +672,9 @@ exports.MainnetPerpMarkets = [
|
|
|
672
672
|
symbol: 'W-PERP',
|
|
673
673
|
baseAssetSymbol: 'W',
|
|
674
674
|
marketIndex: 27,
|
|
675
|
-
oracle: new web3_js_1.PublicKey('
|
|
675
|
+
oracle: new web3_js_1.PublicKey('CsFUXiA5dM4eCKjVBBy8tXhXzDkDRNoYjU5rjpHyfNEZ'),
|
|
676
676
|
launchTs: 1710418343000,
|
|
677
|
-
oracleSource: __1.OracleSource.
|
|
677
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
678
678
|
pythFeedId: '0xeff7446475e218517566ea99e72a4abec2e1bd8498b43b7d8331e29dcb059389',
|
|
679
679
|
pythLazerId: 102,
|
|
680
680
|
},
|
|
@@ -695,9 +695,9 @@ exports.MainnetPerpMarkets = [
|
|
|
695
695
|
symbol: 'TNSR-PERP',
|
|
696
696
|
baseAssetSymbol: 'TNSR',
|
|
697
697
|
marketIndex: 29,
|
|
698
|
-
oracle: new web3_js_1.PublicKey('
|
|
698
|
+
oracle: new web3_js_1.PublicKey('EX6r1GdfsgcUsY6cQ6YsToV4RGsb4HKpjrkokK2DrmsS'),
|
|
699
699
|
launchTs: 1712593532000,
|
|
700
|
-
oracleSource: __1.OracleSource.
|
|
700
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
701
701
|
pythFeedId: '0x05ecd4597cd48fe13d6cc3596c62af4f9675aee06e2e0b94c06d8bee2b659e05',
|
|
702
702
|
pythLazerId: 99,
|
|
703
703
|
},
|
|
@@ -728,9 +728,9 @@ exports.MainnetPerpMarkets = [
|
|
|
728
728
|
symbol: 'IO-PERP',
|
|
729
729
|
baseAssetSymbol: 'IO',
|
|
730
730
|
marketIndex: 32,
|
|
731
|
-
oracle: new web3_js_1.PublicKey('
|
|
731
|
+
oracle: new web3_js_1.PublicKey('8x84eFZVGD9C8vmQqnB9P8UDPMdDWduFaULspKUYGthP'),
|
|
732
732
|
launchTs: 1718021389000,
|
|
733
|
-
oracleSource: __1.OracleSource.
|
|
733
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
734
734
|
pythFeedId: '0x82595d1509b770fa52681e260af4dda9752b87316d7c048535d8ead3fa856eb1',
|
|
735
735
|
pythLazerId: 90,
|
|
736
736
|
},
|
|
@@ -833,9 +833,9 @@ exports.MainnetPerpMarkets = [
|
|
|
833
833
|
symbol: 'TON-PERP',
|
|
834
834
|
baseAssetSymbol: 'TON',
|
|
835
835
|
marketIndex: 42,
|
|
836
|
-
oracle: new web3_js_1.PublicKey('
|
|
836
|
+
oracle: new web3_js_1.PublicKey('Cbhiaky9kxDsviokcQaS9qc4HmpAzLaGjfmdSah1qakL'),
|
|
837
837
|
launchTs: 1725551484000,
|
|
838
|
-
oracleSource: __1.OracleSource.
|
|
838
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
839
839
|
pythFeedId: '0x8963217838ab4cf5cadc172203c1f0b763fbaa45f346d8ee50ba994bbcac3026',
|
|
840
840
|
pythLazerId: 12,
|
|
841
841
|
},
|
|
@@ -972,9 +972,9 @@ exports.MainnetPerpMarkets = [
|
|
|
972
972
|
symbol: 'PNUT-PERP',
|
|
973
973
|
baseAssetSymbol: 'PNUT',
|
|
974
974
|
marketIndex: 55,
|
|
975
|
-
oracle: new web3_js_1.PublicKey('
|
|
975
|
+
oracle: new web3_js_1.PublicKey('Fbd2hz8Uz26gLm2Jrj7WSrhxusrh9VuSEWVpLBPJgMYX'),
|
|
976
976
|
launchTs: 1731443152000,
|
|
977
|
-
oracleSource: __1.OracleSource.
|
|
977
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
978
978
|
pythFeedId: '0x116da895807f81f6b5c5f01b109376e7f6834dc8b51365ab7cdfa66634340e54',
|
|
979
979
|
pythLazerId: 77,
|
|
980
980
|
},
|
|
@@ -984,9 +984,9 @@ exports.MainnetPerpMarkets = [
|
|
|
984
984
|
symbol: 'RAY-PERP',
|
|
985
985
|
baseAssetSymbol: 'RAY',
|
|
986
986
|
marketIndex: 56,
|
|
987
|
-
oracle: new web3_js_1.PublicKey('
|
|
987
|
+
oracle: new web3_js_1.PublicKey('6VXU2P9BJkuPkfA7FJVonBtAo1c2pGnHoV9rxsdZKZyb'),
|
|
988
988
|
launchTs: 1732721897000,
|
|
989
|
-
oracleSource: __1.OracleSource.
|
|
989
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
990
990
|
pythFeedId: '0x91568baa8beb53db23eb3fb7f22c6e8bd303d103919e19733f2bb642d3e7987a',
|
|
991
991
|
pythLazerId: 54,
|
|
992
992
|
},
|
|
@@ -1038,9 +1038,9 @@ exports.MainnetPerpMarkets = [
|
|
|
1038
1038
|
symbol: 'ME-PERP',
|
|
1039
1039
|
baseAssetSymbol: 'ME',
|
|
1040
1040
|
marketIndex: 61,
|
|
1041
|
-
oracle: new web3_js_1.PublicKey('
|
|
1041
|
+
oracle: new web3_js_1.PublicKey('BboTg1yT114FQkqT6MM3P3G3CcCktuM2RePgU8Gr3K4A'),
|
|
1042
1042
|
launchTs: 1733839936000,
|
|
1043
|
-
oracleSource: __1.OracleSource.
|
|
1043
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
1044
1044
|
pythFeedId: '0x91519e3e48571e1232a85a938e714da19fe5ce05107f3eebb8a870b2e8020169',
|
|
1045
1045
|
pythLazerId: 93,
|
|
1046
1046
|
},
|
|
@@ -1050,9 +1050,9 @@ exports.MainnetPerpMarkets = [
|
|
|
1050
1050
|
symbol: 'PENGU-PERP',
|
|
1051
1051
|
baseAssetSymbol: 'PENGU',
|
|
1052
1052
|
marketIndex: 62,
|
|
1053
|
-
oracle: new web3_js_1.PublicKey('
|
|
1053
|
+
oracle: new web3_js_1.PublicKey('4A3KroGPjZxPAeBNF287V3NyRwV2q8iBi1vX7kHxTCh7'),
|
|
1054
1054
|
launchTs: 1734444000000,
|
|
1055
|
-
oracleSource: __1.OracleSource.
|
|
1055
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
1056
1056
|
pythFeedId: '0xbed3097008b9b5e3c93bec20be79cb43986b85a996475589351a21e67bae9b61',
|
|
1057
1057
|
pythLazerId: 97,
|
|
1058
1058
|
},
|
|
@@ -1100,6 +1100,36 @@ exports.MainnetPerpMarkets = [
|
|
|
1100
1100
|
oracleSource: __1.OracleSource.PYTH_PULL,
|
|
1101
1101
|
pythFeedId: '0x962088abcfdbdb6e30db2e340c8cf887d9efb311b1f2f17b155a63dbb6d40265',
|
|
1102
1102
|
},
|
|
1103
|
+
{
|
|
1104
|
+
fullName: 'NBAFINALS25-OKC',
|
|
1105
|
+
category: ['Prediction', 'Sport'],
|
|
1106
|
+
symbol: 'NBAFINALS25-OKC-BET',
|
|
1107
|
+
baseAssetSymbol: 'NBAFINALS25-OKC',
|
|
1108
|
+
marketIndex: 67,
|
|
1109
|
+
oracle: new web3_js_1.PublicKey('HieNNSAy9tjtU2mLEcGtgCMViCeZ1881fX7tfezL7wdV'),
|
|
1110
|
+
launchTs: 1739463226000,
|
|
1111
|
+
oracleSource: __1.OracleSource.Prelaunch,
|
|
1112
|
+
},
|
|
1113
|
+
{
|
|
1114
|
+
fullName: 'NBAFINALS25-BOS',
|
|
1115
|
+
category: ['Prediction', 'Sport'],
|
|
1116
|
+
symbol: 'NBAFINALS25-BOS-BET',
|
|
1117
|
+
baseAssetSymbol: 'NBAFINALS25-BOS',
|
|
1118
|
+
marketIndex: 68,
|
|
1119
|
+
oracle: new web3_js_1.PublicKey('HorrnsG8RBMv7dhzbgPX4wqcWbUTV5NwV8r59UwTu4CJ'),
|
|
1120
|
+
launchTs: 1739463226000,
|
|
1121
|
+
oracleSource: __1.OracleSource.Prelaunch,
|
|
1122
|
+
},
|
|
1123
|
+
{
|
|
1124
|
+
fullName: 'KAITO',
|
|
1125
|
+
category: ['AI'],
|
|
1126
|
+
symbol: 'KAITO-PERP',
|
|
1127
|
+
baseAssetSymbol: 'KAITO',
|
|
1128
|
+
marketIndex: 69,
|
|
1129
|
+
oracle: new web3_js_1.PublicKey('92178mkEc5EFbHPaRNrsv9KPBpgbbDQCPzbSpxmDVy6a'),
|
|
1130
|
+
launchTs: 1739545901000,
|
|
1131
|
+
oracleSource: __1.OracleSource.Prelaunch,
|
|
1132
|
+
},
|
|
1103
1133
|
];
|
|
1104
1134
|
exports.PerpMarkets = {
|
|
1105
1135
|
devnet: exports.DevnetPerpMarkets,
|
|
@@ -189,8 +189,8 @@ exports.MainnetSpotMarkets = [
|
|
|
189
189
|
symbol: 'PYTH',
|
|
190
190
|
marketIndex: 7,
|
|
191
191
|
poolId: 0,
|
|
192
|
-
oracle: new web3_js_1.PublicKey('
|
|
193
|
-
oracleSource: __1.OracleSource.
|
|
192
|
+
oracle: new web3_js_1.PublicKey('6Sfx8ZAt6xaEgMXTahR6GrT7oYB6nFBMoVyCmMyHmeJV'),
|
|
193
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
194
194
|
mint: new web3_js_1.PublicKey('HZ1JovNiVvGrGNiiYvEozEVgZ58xaU3RKwX8eACQBCt3'),
|
|
195
195
|
precision: new __1.BN(10).pow(numericConstants_1.SIX),
|
|
196
196
|
precisionExp: numericConstants_1.SIX,
|
|
@@ -215,8 +215,8 @@ exports.MainnetSpotMarkets = [
|
|
|
215
215
|
symbol: 'JTO',
|
|
216
216
|
marketIndex: 9,
|
|
217
217
|
poolId: 0,
|
|
218
|
-
oracle: new web3_js_1.PublicKey('
|
|
219
|
-
oracleSource: __1.OracleSource.
|
|
218
|
+
oracle: new web3_js_1.PublicKey('CGCz4mB8NsDddCq6BZToRUDUuktzsAfpKYh6ATgyyCGF'),
|
|
219
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
220
220
|
mint: new web3_js_1.PublicKey('jtojtomepa8beP8AuQc6eXt5FriJwfFMwQx2v2f9mCL'),
|
|
221
221
|
precision: new __1.BN(10).pow(numericConstants_1.NINE),
|
|
222
222
|
precisionExp: numericConstants_1.NINE,
|
|
@@ -229,8 +229,8 @@ exports.MainnetSpotMarkets = [
|
|
|
229
229
|
symbol: 'WIF',
|
|
230
230
|
marketIndex: 10,
|
|
231
231
|
poolId: 0,
|
|
232
|
-
oracle: new web3_js_1.PublicKey('
|
|
233
|
-
oracleSource: __1.OracleSource.
|
|
232
|
+
oracle: new web3_js_1.PublicKey('4QXWStoyEErTZFVsvKrvxuNa6QT8zpeA8jddZunSGvYE'),
|
|
233
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
234
234
|
mint: new web3_js_1.PublicKey('EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm'),
|
|
235
235
|
precision: new __1.BN(10).pow(numericConstants_1.SIX),
|
|
236
236
|
precisionExp: numericConstants_1.SIX,
|
|
@@ -258,8 +258,8 @@ exports.MainnetSpotMarkets = [
|
|
|
258
258
|
symbol: 'RENDER',
|
|
259
259
|
marketIndex: 12,
|
|
260
260
|
poolId: 0,
|
|
261
|
-
oracle: new web3_js_1.PublicKey('
|
|
262
|
-
oracleSource: __1.OracleSource.
|
|
261
|
+
oracle: new web3_js_1.PublicKey('97EqsAGbTnShB7oYWAFFCVVAx8PWXgDYDhcpm99izNQ4'),
|
|
262
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
263
263
|
mint: new web3_js_1.PublicKey('rndrizKT3MK1iimdxRdWabcF7Zg7AR5T4nud4EkHBof'),
|
|
264
264
|
precision: new __1.BN(10).pow(numericConstants_1.EIGHT),
|
|
265
265
|
precisionExp: numericConstants_1.EIGHT,
|
|
@@ -272,8 +272,8 @@ exports.MainnetSpotMarkets = [
|
|
|
272
272
|
symbol: 'W',
|
|
273
273
|
marketIndex: 13,
|
|
274
274
|
poolId: 0,
|
|
275
|
-
oracle: new web3_js_1.PublicKey('
|
|
276
|
-
oracleSource: __1.OracleSource.
|
|
275
|
+
oracle: new web3_js_1.PublicKey('CsFUXiA5dM4eCKjVBBy8tXhXzDkDRNoYjU5rjpHyfNEZ'),
|
|
276
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
277
277
|
mint: new web3_js_1.PublicKey('85VBFQZC9TZkfaptBWjvUw7YbZjy52A6mjtPGjstQAmQ'),
|
|
278
278
|
precision: new __1.BN(10).pow(numericConstants_1.SIX),
|
|
279
279
|
precisionExp: numericConstants_1.SIX,
|
|
@@ -286,8 +286,8 @@ exports.MainnetSpotMarkets = [
|
|
|
286
286
|
symbol: 'TNSR',
|
|
287
287
|
marketIndex: 14,
|
|
288
288
|
poolId: 0,
|
|
289
|
-
oracle: new web3_js_1.PublicKey('
|
|
290
|
-
oracleSource: __1.OracleSource.
|
|
289
|
+
oracle: new web3_js_1.PublicKey('EX6r1GdfsgcUsY6cQ6YsToV4RGsb4HKpjrkokK2DrmsS'),
|
|
290
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
291
291
|
mint: new web3_js_1.PublicKey('TNSRxcUxoT9xBG3de7PiJyTDYu7kskLqcpddxnEJAS6'),
|
|
292
292
|
precision: new __1.BN(10).pow(numericConstants_1.NINE),
|
|
293
293
|
precisionExp: numericConstants_1.NINE,
|
|
@@ -473,8 +473,8 @@ exports.MainnetSpotMarkets = [
|
|
|
473
473
|
symbol: 'ME',
|
|
474
474
|
marketIndex: 30,
|
|
475
475
|
poolId: 0,
|
|
476
|
-
oracle: new web3_js_1.PublicKey('
|
|
477
|
-
oracleSource: __1.OracleSource.
|
|
476
|
+
oracle: new web3_js_1.PublicKey('BboTg1yT114FQkqT6MM3P3G3CcCktuM2RePgU8Gr3K4A'),
|
|
477
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
478
478
|
mint: new web3_js_1.PublicKey('MEFNBXixkEbait3xn9bkm8WsJzXtVsaJEn4c8Sam21u'),
|
|
479
479
|
precision: new __1.BN(10).pow(numericConstants_1.SIX),
|
|
480
480
|
precisionExp: numericConstants_1.SIX,
|
|
@@ -485,8 +485,8 @@ exports.MainnetSpotMarkets = [
|
|
|
485
485
|
symbol: 'PENGU',
|
|
486
486
|
marketIndex: 31,
|
|
487
487
|
poolId: 0,
|
|
488
|
-
oracle: new web3_js_1.PublicKey('
|
|
489
|
-
oracleSource: __1.OracleSource.
|
|
488
|
+
oracle: new web3_js_1.PublicKey('4A3KroGPjZxPAeBNF287V3NyRwV2q8iBi1vX7kHxTCh7'),
|
|
489
|
+
oracleSource: __1.OracleSource.PYTH_LAZER,
|
|
490
490
|
mint: new web3_js_1.PublicKey('2zMMhcVQEXDtdE6vsFS7S7D5oUodfJHE8vd1gnBouauv'),
|
|
491
491
|
precision: new __1.BN(10).pow(numericConstants_1.SIX),
|
|
492
492
|
precisionExp: numericConstants_1.SIX,
|
|
@@ -308,7 +308,11 @@ function decodeUser(buffer) {
|
|
|
308
308
|
marginMode = __1.MarginMode.HIGH_LEVERAGE;
|
|
309
309
|
}
|
|
310
310
|
offset += 1;
|
|
311
|
-
|
|
311
|
+
const poolId = buffer.readUint8(offset);
|
|
312
|
+
offset += 1;
|
|
313
|
+
offset += 3; // padding
|
|
314
|
+
const lastFuelBonusUpdateTs = buffer.readUint32LE(offset);
|
|
315
|
+
offset += 4;
|
|
312
316
|
return {
|
|
313
317
|
authority,
|
|
314
318
|
delegate,
|
|
@@ -337,6 +341,8 @@ function decodeUser(buffer) {
|
|
|
337
341
|
openAuctions,
|
|
338
342
|
hasOpenAuction,
|
|
339
343
|
marginMode,
|
|
344
|
+
poolId,
|
|
345
|
+
lastFuelBonusUpdateTs,
|
|
340
346
|
};
|
|
341
347
|
}
|
|
342
348
|
exports.decodeUser = decodeUser;
|
|
@@ -33,9 +33,9 @@ export type MarketNodeLists = {
|
|
|
33
33
|
above: NodeList<'trigger'>;
|
|
34
34
|
below: NodeList<'trigger'>;
|
|
35
35
|
};
|
|
36
|
-
|
|
37
|
-
ask: NodeList<'
|
|
38
|
-
bid: NodeList<'
|
|
36
|
+
signedMsg: {
|
|
37
|
+
ask: NodeList<'signedMsg'>;
|
|
38
|
+
bid: NodeList<'signedMsg'>;
|
|
39
39
|
};
|
|
40
40
|
};
|
|
41
41
|
type OrderBookCallback = () => void;
|
|
@@ -69,7 +69,7 @@ export declare class DLOB {
|
|
|
69
69
|
*/
|
|
70
70
|
initFromUserMap(userMap: UserMap, slot: number): Promise<boolean>;
|
|
71
71
|
insertOrder(order: Order, userAccount: string, slot: number, isUserProtectedMaker: boolean, onInsert?: OrderBookCallback): void;
|
|
72
|
-
|
|
72
|
+
insertSignedMsgOrder(order: Order, userAccount: string, isUserProtectedMaker: boolean, onInsert?: OrderBookCallback): void;
|
|
73
73
|
addOrderList(marketType: MarketTypeStr, marketIndex: number): void;
|
|
74
74
|
delete(order: Order, userAccount: PublicKey, slot: number, isUserProtectedMaker: boolean, onDelete?: OrderBookCallback): void;
|
|
75
75
|
getListForOnChainOrder(order: Order, slot: number, isProtectedMaker: boolean): NodeList<any> | undefined;
|
package/lib/browser/dlob/DLOB.js
CHANGED
|
@@ -93,7 +93,7 @@ class DLOB {
|
|
|
93
93
|
onInsert();
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
|
-
|
|
96
|
+
insertSignedMsgOrder(order, userAccount, isUserProtectedMaker, onInsert) {
|
|
97
97
|
const marketType = (0, __1.getVariant)(order.marketType);
|
|
98
98
|
const marketIndex = order.marketIndex;
|
|
99
99
|
const bidOrAsk = (0, __1.isVariant)(order.direction, 'long') ? 'bid' : 'ask';
|
|
@@ -106,7 +106,7 @@ class DLOB {
|
|
|
106
106
|
this.orderLists
|
|
107
107
|
.get(marketType)
|
|
108
108
|
.get(marketIndex)
|
|
109
|
-
.
|
|
109
|
+
.signedMsg[bidOrAsk].insert(order, marketType, userAccount, isUserProtectedMaker, this.protectedMakerView);
|
|
110
110
|
if (onInsert) {
|
|
111
111
|
onInsert();
|
|
112
112
|
}
|
|
@@ -137,9 +137,9 @@ class DLOB {
|
|
|
137
137
|
above: new NodeList_1.NodeList('trigger', 'asc'),
|
|
138
138
|
below: new NodeList_1.NodeList('trigger', 'desc'),
|
|
139
139
|
},
|
|
140
|
-
|
|
141
|
-
ask: new NodeList_1.NodeList('
|
|
142
|
-
bid: new NodeList_1.NodeList('
|
|
140
|
+
signedMsg: {
|
|
141
|
+
ask: new NodeList_1.NodeList('signedMsg', 'asc'),
|
|
142
|
+
bid: new NodeList_1.NodeList('signedMsg', 'asc'),
|
|
143
143
|
},
|
|
144
144
|
});
|
|
145
145
|
}
|
|
@@ -450,23 +450,23 @@ class DLOB {
|
|
|
450
450
|
nodeLists.restingLimit.bid.getGenerator(),
|
|
451
451
|
nodeLists.floatingLimit.bid.getGenerator(),
|
|
452
452
|
nodeLists.market.bid.getGenerator(),
|
|
453
|
-
nodeLists.
|
|
453
|
+
nodeLists.signedMsg.bid.getGenerator(),
|
|
454
454
|
];
|
|
455
455
|
const askGenerators = [
|
|
456
456
|
nodeLists.takingLimit.ask.getGenerator(),
|
|
457
457
|
nodeLists.restingLimit.ask.getGenerator(),
|
|
458
458
|
nodeLists.floatingLimit.ask.getGenerator(),
|
|
459
459
|
nodeLists.market.ask.getGenerator(),
|
|
460
|
-
nodeLists.
|
|
460
|
+
nodeLists.signedMsg.ask.getGenerator(),
|
|
461
461
|
];
|
|
462
462
|
for (const bidGenerator of bidGenerators) {
|
|
463
463
|
for (const bid of bidGenerator) {
|
|
464
|
-
if (bid.
|
|
464
|
+
if (bid.isSignedMsg &&
|
|
465
465
|
slot.gt(bid.order.slot.addn(bid.order.auctionDuration))) {
|
|
466
466
|
this.orderLists
|
|
467
467
|
.get(marketTypeStr)
|
|
468
468
|
.get(marketIndex)
|
|
469
|
-
.
|
|
469
|
+
.signedMsg.bid.remove(bid.order, bid.userAccount);
|
|
470
470
|
}
|
|
471
471
|
else if ((0, __1.isOrderExpired)(bid.order, ts, true, 25)) {
|
|
472
472
|
nodesToFill.push({
|
|
@@ -498,7 +498,7 @@ class DLOB {
|
|
|
498
498
|
const generatorList = [
|
|
499
499
|
orderLists.market.bid.getGenerator(),
|
|
500
500
|
orderLists.takingLimit.bid.getGenerator(),
|
|
501
|
-
orderLists.
|
|
501
|
+
orderLists.signedMsg.bid.getGenerator(),
|
|
502
502
|
];
|
|
503
503
|
yield* this.getBestNode(generatorList, oraclePriceData, slot, (bestNode, currentNode) => {
|
|
504
504
|
return bestNode.order.slot.lt(currentNode.order.slot);
|
|
@@ -514,7 +514,7 @@ class DLOB {
|
|
|
514
514
|
const generatorList = [
|
|
515
515
|
orderLists.market.ask.getGenerator(),
|
|
516
516
|
orderLists.takingLimit.ask.getGenerator(),
|
|
517
|
-
orderLists.
|
|
517
|
+
orderLists.signedMsg.ask.getGenerator(),
|
|
518
518
|
];
|
|
519
519
|
yield* this.getBestNode(generatorList, oraclePriceData, slot, (bestNode, currentNode) => {
|
|
520
520
|
return bestNode.order.slot.lt(currentNode.order.slot);
|