@drift-labs/sdk 2.120.0-beta.0 → 2.120.0-beta.2
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/constants/spotMarkets.js +43 -0
- package/lib/browser/math/oracles.d.ts +1 -1
- package/lib/node/constants/spotMarkets.d.ts.map +1 -1
- package/lib/node/constants/spotMarkets.js +43 -0
- package/lib/node/math/oracles.d.ts +1 -1
- package/lib/node/math/oracles.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/constants/spotMarkets.ts +46 -0
- package/src/math/oracles.ts +1 -1
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.120.0-beta.
|
|
1
|
+
2.120.0-beta.2
|
|
@@ -600,6 +600,49 @@ exports.MainnetSpotMarkets = [
|
|
|
600
600
|
pythLazerId: 182,
|
|
601
601
|
launchTs: 1743086746000,
|
|
602
602
|
},
|
|
603
|
+
{
|
|
604
|
+
symbol: 'JitoSOL-3',
|
|
605
|
+
marketIndex: 40,
|
|
606
|
+
poolId: 3,
|
|
607
|
+
oracle: new web3_js_1.PublicKey('Fqv8vT5fdjvBbHd5k4B4ZvnXLH6bbdKP8cMv93ybCP8W'),
|
|
608
|
+
oracleSource: __1.OracleSource.SWITCHBOARD_ON_DEMAND,
|
|
609
|
+
mint: new web3_js_1.PublicKey('J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn'),
|
|
610
|
+
precision: new __1.BN(10).pow(numericConstants_1.NINE),
|
|
611
|
+
precisionExp: numericConstants_1.NINE,
|
|
612
|
+
serumMarket: new web3_js_1.PublicKey('DkbVbMhFxswS32xnn1K2UY4aoBugXooBTxdzkWWDWRkH'),
|
|
613
|
+
phoenixMarket: new web3_js_1.PublicKey('5LQLfGtqcC5rm2WuGxJf4tjqYmDjsQAbKo2AMLQ8KB7p'),
|
|
614
|
+
pythFeedId: '0x67be9f519b95cf24338801051f9a808eff0a578ccb388db73b7f6fe1de019ffb',
|
|
615
|
+
},
|
|
616
|
+
{
|
|
617
|
+
symbol: 'PT-fragSOL-15JUN25-3',
|
|
618
|
+
marketIndex: 41,
|
|
619
|
+
poolId: 3,
|
|
620
|
+
oracle: new web3_js_1.PublicKey('CLjvwowzQ2L9PrmXA6zqbamxLVeDY9vE87aBxMZLJLoY'),
|
|
621
|
+
oracleSource: __1.OracleSource.SWITCHBOARD_ON_DEMAND,
|
|
622
|
+
mint: new web3_js_1.PublicKey('8adRViFUNTe3yexj2gbQtx929zBJtWJRM8TeTzYbQBgx'),
|
|
623
|
+
precision: new __1.BN(10).pow(numericConstants_1.NINE),
|
|
624
|
+
precisionExp: numericConstants_1.NINE,
|
|
625
|
+
},
|
|
626
|
+
{
|
|
627
|
+
symbol: 'PT-kySOL-10JUL25-3',
|
|
628
|
+
marketIndex: 42,
|
|
629
|
+
poolId: 3,
|
|
630
|
+
oracle: new web3_js_1.PublicKey('G4FdLzuezfaJxBd8eChuw1NU4Sq3n1rasGTwSh7dXegN'),
|
|
631
|
+
oracleSource: __1.OracleSource.SWITCHBOARD_ON_DEMAND,
|
|
632
|
+
mint: new web3_js_1.PublicKey('FxT7bPGvkS5jKF2vgnJ16MciHqtsNqxbcWTfFg7L136h'),
|
|
633
|
+
precision: new __1.BN(10).pow(numericConstants_1.NINE),
|
|
634
|
+
precisionExp: numericConstants_1.NINE,
|
|
635
|
+
},
|
|
636
|
+
{
|
|
637
|
+
symbol: 'PT-dSOL-30JUN25-3',
|
|
638
|
+
marketIndex: 43,
|
|
639
|
+
poolId: 3,
|
|
640
|
+
oracle: new web3_js_1.PublicKey('BR4NCRe2R8shvDAskUt6HE3n8Ej8HdMnVqshLz97BMm9'),
|
|
641
|
+
oracleSource: __1.OracleSource.SWITCHBOARD_ON_DEMAND,
|
|
642
|
+
mint: new web3_js_1.PublicKey('8H3tZ7WcgYPKEQ7fCCAFQuaNqKdMH1EtBp2ovUPpRK3k'),
|
|
643
|
+
precision: new __1.BN(10).pow(numericConstants_1.NINE),
|
|
644
|
+
precisionExp: numericConstants_1.NINE,
|
|
645
|
+
},
|
|
603
646
|
];
|
|
604
647
|
exports.SpotMarkets = {
|
|
605
648
|
devnet: exports.DevnetSpotMarkets,
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { AMM, OracleGuardRails } from '../types';
|
|
5
5
|
import { OraclePriceData } from '../oracles/types';
|
|
6
6
|
import { BN, HistoricalOracleData, OracleSource, PerpMarketAccount } from '../index';
|
|
7
|
-
export declare function oraclePriceBands(market: PerpMarketAccount, oraclePriceData: OraclePriceData): [BN, BN];
|
|
7
|
+
export declare function oraclePriceBands(market: PerpMarketAccount, oraclePriceData: Pick<OraclePriceData, 'price'>): [BN, BN];
|
|
8
8
|
export declare function getMaxConfidenceIntervalMultiplier(market: PerpMarketAccount): BN;
|
|
9
9
|
export declare function isOracleValid(market: PerpMarketAccount, oraclePriceData: OraclePriceData, oracleGuardRails: OracleGuardRails, slot: number): boolean;
|
|
10
10
|
export declare function isOracleTooDivergent(amm: AMM, oraclePriceData: OraclePriceData, oracleGuardRails: OracleGuardRails, now: BN): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spotMarkets.d.ts","sourceRoot":"","sources":["../../../src/constants/spotMarkets.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AAYjD,MAAM,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,EAAE,CAAC;IACd,YAAY,EAAE,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,gBAAgB,WAE5B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,gBAAgB,EA+F/C,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"spotMarkets.d.ts","sourceRoot":"","sources":["../../../src/constants/spotMarkets.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AAYjD,MAAM,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,EAAE,CAAC;IACd,YAAY,EAAE,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,gBAAgB,WAE5B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,gBAAgB,EA+F/C,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,gBAAgB,EA+mBhD,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE;KAAG,GAAG,IAAI,QAAQ,GAAG,gBAAgB,EAAE;CAGhE,CAAC"}
|
|
@@ -600,6 +600,49 @@ exports.MainnetSpotMarkets = [
|
|
|
600
600
|
pythLazerId: 182,
|
|
601
601
|
launchTs: 1743086746000,
|
|
602
602
|
},
|
|
603
|
+
{
|
|
604
|
+
symbol: 'JitoSOL-3',
|
|
605
|
+
marketIndex: 40,
|
|
606
|
+
poolId: 3,
|
|
607
|
+
oracle: new web3_js_1.PublicKey('Fqv8vT5fdjvBbHd5k4B4ZvnXLH6bbdKP8cMv93ybCP8W'),
|
|
608
|
+
oracleSource: __1.OracleSource.SWITCHBOARD_ON_DEMAND,
|
|
609
|
+
mint: new web3_js_1.PublicKey('J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn'),
|
|
610
|
+
precision: new __1.BN(10).pow(numericConstants_1.NINE),
|
|
611
|
+
precisionExp: numericConstants_1.NINE,
|
|
612
|
+
serumMarket: new web3_js_1.PublicKey('DkbVbMhFxswS32xnn1K2UY4aoBugXooBTxdzkWWDWRkH'),
|
|
613
|
+
phoenixMarket: new web3_js_1.PublicKey('5LQLfGtqcC5rm2WuGxJf4tjqYmDjsQAbKo2AMLQ8KB7p'),
|
|
614
|
+
pythFeedId: '0x67be9f519b95cf24338801051f9a808eff0a578ccb388db73b7f6fe1de019ffb',
|
|
615
|
+
},
|
|
616
|
+
{
|
|
617
|
+
symbol: 'PT-fragSOL-15JUN25-3',
|
|
618
|
+
marketIndex: 41,
|
|
619
|
+
poolId: 3,
|
|
620
|
+
oracle: new web3_js_1.PublicKey('CLjvwowzQ2L9PrmXA6zqbamxLVeDY9vE87aBxMZLJLoY'),
|
|
621
|
+
oracleSource: __1.OracleSource.SWITCHBOARD_ON_DEMAND,
|
|
622
|
+
mint: new web3_js_1.PublicKey('8adRViFUNTe3yexj2gbQtx929zBJtWJRM8TeTzYbQBgx'),
|
|
623
|
+
precision: new __1.BN(10).pow(numericConstants_1.NINE),
|
|
624
|
+
precisionExp: numericConstants_1.NINE,
|
|
625
|
+
},
|
|
626
|
+
{
|
|
627
|
+
symbol: 'PT-kySOL-10JUL25-3',
|
|
628
|
+
marketIndex: 42,
|
|
629
|
+
poolId: 3,
|
|
630
|
+
oracle: new web3_js_1.PublicKey('G4FdLzuezfaJxBd8eChuw1NU4Sq3n1rasGTwSh7dXegN'),
|
|
631
|
+
oracleSource: __1.OracleSource.SWITCHBOARD_ON_DEMAND,
|
|
632
|
+
mint: new web3_js_1.PublicKey('FxT7bPGvkS5jKF2vgnJ16MciHqtsNqxbcWTfFg7L136h'),
|
|
633
|
+
precision: new __1.BN(10).pow(numericConstants_1.NINE),
|
|
634
|
+
precisionExp: numericConstants_1.NINE,
|
|
635
|
+
},
|
|
636
|
+
{
|
|
637
|
+
symbol: 'PT-dSOL-30JUN25-3',
|
|
638
|
+
marketIndex: 43,
|
|
639
|
+
poolId: 3,
|
|
640
|
+
oracle: new web3_js_1.PublicKey('BR4NCRe2R8shvDAskUt6HE3n8Ej8HdMnVqshLz97BMm9'),
|
|
641
|
+
oracleSource: __1.OracleSource.SWITCHBOARD_ON_DEMAND,
|
|
642
|
+
mint: new web3_js_1.PublicKey('8H3tZ7WcgYPKEQ7fCCAFQuaNqKdMH1EtBp2ovUPpRK3k'),
|
|
643
|
+
precision: new __1.BN(10).pow(numericConstants_1.NINE),
|
|
644
|
+
precisionExp: numericConstants_1.NINE,
|
|
645
|
+
},
|
|
603
646
|
];
|
|
604
647
|
exports.SpotMarkets = {
|
|
605
648
|
devnet: exports.DevnetSpotMarkets,
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { AMM, OracleGuardRails } from '../types';
|
|
5
5
|
import { OraclePriceData } from '../oracles/types';
|
|
6
6
|
import { BN, HistoricalOracleData, OracleSource, PerpMarketAccount } from '../index';
|
|
7
|
-
export declare function oraclePriceBands(market: PerpMarketAccount, oraclePriceData: OraclePriceData): [BN, BN];
|
|
7
|
+
export declare function oraclePriceBands(market: PerpMarketAccount, oraclePriceData: Pick<OraclePriceData, 'price'>): [BN, BN];
|
|
8
8
|
export declare function getMaxConfidenceIntervalMultiplier(market: PerpMarketAccount): BN;
|
|
9
9
|
export declare function isOracleValid(market: PerpMarketAccount, oraclePriceData: OraclePriceData, oracleGuardRails: OracleGuardRails, slot: number): boolean;
|
|
10
10
|
export declare function isOracleTooDivergent(amm: AMM, oraclePriceData: OraclePriceData, oracleGuardRails: OracleGuardRails, now: BN): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oracles.d.ts","sourceRoot":"","sources":["../../../src/math/oracles.ts"],"names":[],"mappings":";;;AAAA,OAAO,EAAE,GAAG,EAAE,gBAAgB,EAAa,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAUnD,OAAO,EACN,EAAE,EACF,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EACjB,MAAM,UAAU,CAAC;AAGlB,wBAAgB,gBAAgB,CAC/B,MAAM,EAAE,iBAAiB,EACzB,eAAe,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"oracles.d.ts","sourceRoot":"","sources":["../../../src/math/oracles.ts"],"names":[],"mappings":";;;AAAA,OAAO,EAAE,GAAG,EAAE,gBAAgB,EAAa,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAUnD,OAAO,EACN,EAAE,EACF,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EACjB,MAAM,UAAU,CAAC;AAGlB,wBAAgB,gBAAgB,CAC/B,MAAM,EAAE,iBAAiB,EACzB,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,GAC7C,CAAC,EAAE,EAAE,EAAE,CAAC,CAUV;AAED,wBAAgB,kCAAkC,CACjD,MAAM,EAAE,iBAAiB,GACvB,EAAE,CAcJ;AAED,wBAAgB,aAAa,CAC5B,MAAM,EAAE,iBAAiB,EACzB,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,IAAI,EAAE,MAAM,GACV,OAAO,CAmCT;AAED,wBAAgB,oBAAoB,CACnC,GAAG,EAAE,GAAG,EACR,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,GAAG,EAAE,EAAE,GACL,OAAO,CAsBT;AAED,wBAAgB,uBAAuB,CACtC,cAAc,EAAE,oBAAoB,EACpC,eAAe,EAAE,eAAe,EAChC,GAAG,EAAE,EAAE,EACP,MAAM,EAAE,EAAE,GACR,EAAE,CA6BJ;AAED,wBAAgB,sBAAsB,CACrC,GAAG,EAAE,GAAG,EACR,eAAe,EAAE,eAAe,EAChC,GAAG,EAAE,EAAE,GACL,EAAE,CAqBJ;AAED,wBAAgB,mBAAmB,CAClC,GAAG,EAAE,GAAG,EACR,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,EAAE,EAChB,GAAG,EAAE,EAAE,GACL,EAAE,CAwBJ;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,SAAI,GAAG,MAAM,CAe5D;AAED,wBAAgB,+BAA+B,CAC9C,iBAAiB,EAAE,YAAY,EAC/B,kBAAkB,EAAE,YAAY,GAC9B;IAAE,SAAS,EAAE,EAAE,CAAC;IAAC,WAAW,EAAE,EAAE,CAAA;CAAE,CA0DpC"}
|
package/package.json
CHANGED
|
@@ -706,6 +706,52 @@ export const MainnetSpotMarkets: SpotMarketConfig[] = [
|
|
|
706
706
|
pythLazerId: 182,
|
|
707
707
|
launchTs: 1743086746000,
|
|
708
708
|
},
|
|
709
|
+
{
|
|
710
|
+
symbol: 'JitoSOL-3',
|
|
711
|
+
marketIndex: 40,
|
|
712
|
+
poolId: 3,
|
|
713
|
+
oracle: new PublicKey('Fqv8vT5fdjvBbHd5k4B4ZvnXLH6bbdKP8cMv93ybCP8W'),
|
|
714
|
+
oracleSource: OracleSource.SWITCHBOARD_ON_DEMAND,
|
|
715
|
+
mint: new PublicKey('J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn'),
|
|
716
|
+
precision: new BN(10).pow(NINE),
|
|
717
|
+
precisionExp: NINE,
|
|
718
|
+
serumMarket: new PublicKey('DkbVbMhFxswS32xnn1K2UY4aoBugXooBTxdzkWWDWRkH'),
|
|
719
|
+
phoenixMarket: new PublicKey(
|
|
720
|
+
'5LQLfGtqcC5rm2WuGxJf4tjqYmDjsQAbKo2AMLQ8KB7p'
|
|
721
|
+
),
|
|
722
|
+
pythFeedId:
|
|
723
|
+
'0x67be9f519b95cf24338801051f9a808eff0a578ccb388db73b7f6fe1de019ffb',
|
|
724
|
+
},
|
|
725
|
+
{
|
|
726
|
+
symbol: 'PT-fragSOL-15JUN25-3',
|
|
727
|
+
marketIndex: 41,
|
|
728
|
+
poolId: 3,
|
|
729
|
+
oracle: new PublicKey('CLjvwowzQ2L9PrmXA6zqbamxLVeDY9vE87aBxMZLJLoY'),
|
|
730
|
+
oracleSource: OracleSource.SWITCHBOARD_ON_DEMAND,
|
|
731
|
+
mint: new PublicKey('8adRViFUNTe3yexj2gbQtx929zBJtWJRM8TeTzYbQBgx'),
|
|
732
|
+
precision: new BN(10).pow(NINE),
|
|
733
|
+
precisionExp: NINE,
|
|
734
|
+
},
|
|
735
|
+
{
|
|
736
|
+
symbol: 'PT-kySOL-10JUL25-3',
|
|
737
|
+
marketIndex: 42,
|
|
738
|
+
poolId: 3,
|
|
739
|
+
oracle: new PublicKey('G4FdLzuezfaJxBd8eChuw1NU4Sq3n1rasGTwSh7dXegN'),
|
|
740
|
+
oracleSource: OracleSource.SWITCHBOARD_ON_DEMAND,
|
|
741
|
+
mint: new PublicKey('FxT7bPGvkS5jKF2vgnJ16MciHqtsNqxbcWTfFg7L136h'),
|
|
742
|
+
precision: new BN(10).pow(NINE),
|
|
743
|
+
precisionExp: NINE,
|
|
744
|
+
},
|
|
745
|
+
{
|
|
746
|
+
symbol: 'PT-dSOL-30JUN25-3',
|
|
747
|
+
marketIndex: 43,
|
|
748
|
+
poolId: 3,
|
|
749
|
+
oracle: new PublicKey('BR4NCRe2R8shvDAskUt6HE3n8Ej8HdMnVqshLz97BMm9'),
|
|
750
|
+
oracleSource: OracleSource.SWITCHBOARD_ON_DEMAND,
|
|
751
|
+
mint: new PublicKey('8H3tZ7WcgYPKEQ7fCCAFQuaNqKdMH1EtBp2ovUPpRK3k'),
|
|
752
|
+
precision: new BN(10).pow(NINE),
|
|
753
|
+
precisionExp: NINE,
|
|
754
|
+
},
|
|
709
755
|
];
|
|
710
756
|
|
|
711
757
|
export const SpotMarkets: { [key in DriftEnv]: SpotMarketConfig[] } = {
|
package/src/math/oracles.ts
CHANGED
|
@@ -19,7 +19,7 @@ import { assert } from '../assert/assert';
|
|
|
19
19
|
|
|
20
20
|
export function oraclePriceBands(
|
|
21
21
|
market: PerpMarketAccount,
|
|
22
|
-
oraclePriceData: OraclePriceData
|
|
22
|
+
oraclePriceData: Pick<OraclePriceData, 'price'>
|
|
23
23
|
): [BN, BN] {
|
|
24
24
|
const maxPercentDiff =
|
|
25
25
|
market.marginRatioInitial - market.marginRatioMaintenance;
|