@d8x/perpetuals-sdk 2.6.22 → 2.6.23
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/dist/cjs/abi/AMMPerpLogic.json +580 -0
- package/dist/cjs/abi/BeaconProxy.json +71 -0
- package/dist/cjs/abi/IPerpetualManager copy.json +5599 -0
- package/dist/cjs/abi/IPerpetualMarginViewLogic.json +286 -0
- package/dist/cjs/abi/Maintainer.json +774 -0
- package/dist/cjs/abi/MockToken.json +347 -0
- package/dist/cjs/abi/MockUSD.json +413 -0
- package/dist/cjs/abi/UUPSUpgradeable.json +104 -0
- package/dist/cjs/abi/WeETH.json +310 -0
- package/dist/cjs/abi-zkevm/IPerpetualManager.json +5366 -0
- package/dist/cjs/abi-zkevm/LimitOrderBook.json +910 -0
- package/dist/cjs/abi-zkevm/LimitOrderBookFactory.json +236 -0
- package/dist/cjs/contracts/AMMPerpLogic.d.ts +303 -0
- package/dist/cjs/contracts/AMMPerpLogic.js +3 -0
- package/dist/cjs/contracts/AMMPerpLogic.js.map +1 -0
- package/dist/cjs/contracts/BeaconProxy.d.ts +63 -0
- package/dist/cjs/contracts/BeaconProxy.js +3 -0
- package/dist/cjs/contracts/BeaconProxy.js.map +1 -0
- package/dist/cjs/contracts/IPerpetualManagerCopy.d.ts +3223 -0
- package/dist/cjs/contracts/IPerpetualManagerCopy.js +3 -0
- package/dist/cjs/contracts/IPerpetualManagerCopy.js.map +1 -0
- package/dist/cjs/contracts/IPerpetualMarginViewLogic.d.ts +183 -0
- package/dist/cjs/contracts/IPerpetualMarginViewLogic.js +3 -0
- package/dist/cjs/contracts/IPerpetualMarginViewLogic.js.map +1 -0
- package/dist/cjs/contracts/Maintainer.d.ts +799 -0
- package/dist/cjs/contracts/Maintainer.js +3 -0
- package/dist/cjs/contracts/Maintainer.js.map +1 -0
- package/dist/cjs/contracts/MockToken.d.ts +263 -0
- package/dist/cjs/contracts/MockToken.js +3 -0
- package/dist/cjs/contracts/MockToken.js.map +1 -0
- package/dist/cjs/contracts/MockUSD.d.ts +186 -0
- package/dist/cjs/contracts/MockUSD.js +3 -0
- package/dist/cjs/contracts/MockUSD.js.map +1 -0
- package/dist/cjs/contracts/UUPSUpgradeable.d.ts +118 -0
- package/dist/cjs/contracts/UUPSUpgradeable.js +3 -0
- package/dist/cjs/contracts/UUPSUpgradeable.js.map +1 -0
- package/dist/cjs/contracts/WeETH.d.ts +503 -0
- package/dist/cjs/contracts/WeETH.js +3 -0
- package/dist/cjs/contracts/WeETH.js.map +1 -0
- package/dist/cjs/contracts/factories/AMMPerpLogic__factory.d.ts +452 -0
- package/dist/cjs/contracts/factories/AMMPerpLogic__factory.js +598 -0
- package/dist/cjs/contracts/factories/AMMPerpLogic__factory.js.map +1 -0
- package/dist/cjs/contracts/factories/BeaconProxy__factory.d.ts +61 -0
- package/dist/cjs/contracts/factories/BeaconProxy__factory.js +89 -0
- package/dist/cjs/contracts/factories/BeaconProxy__factory.js.map +1 -0
- package/dist/cjs/contracts/factories/IPerpetualManagerCopy__factory.d.ts +4358 -0
- package/dist/cjs/contracts/factories/IPerpetualManagerCopy__factory.js +5617 -0
- package/dist/cjs/contracts/factories/IPerpetualManagerCopy__factory.js.map +1 -0
- package/dist/cjs/contracts/factories/IPerpetualMarginViewLogic__factory.d.ts +221 -0
- package/dist/cjs/contracts/factories/IPerpetualMarginViewLogic__factory.js +304 -0
- package/dist/cjs/contracts/factories/IPerpetualMarginViewLogic__factory.js.map +1 -0
- package/dist/cjs/contracts/factories/Maintainer__factory.d.ts +609 -0
- package/dist/cjs/contracts/factories/Maintainer__factory.js +792 -0
- package/dist/cjs/contracts/factories/Maintainer__factory.js.map +1 -0
- package/dist/cjs/contracts/factories/MockToken__factory.d.ts +273 -0
- package/dist/cjs/contracts/factories/MockToken__factory.js +365 -0
- package/dist/cjs/contracts/factories/MockToken__factory.js.map +1 -0
- package/dist/cjs/contracts/factories/MockUSD__factory.d.ts +320 -0
- package/dist/cjs/contracts/factories/MockUSD__factory.js +431 -0
- package/dist/cjs/contracts/factories/MockUSD__factory.js.map +1 -0
- package/dist/cjs/contracts/factories/UUPSUpgradeable__factory.d.ts +87 -0
- package/dist/cjs/contracts/factories/UUPSUpgradeable__factory.js +122 -0
- package/dist/cjs/contracts/factories/UUPSUpgradeable__factory.js.map +1 -0
- package/dist/cjs/contracts/factories/WeETH__factory.d.ts +545 -0
- package/dist/cjs/contracts/factories/WeETH__factory.js +721 -0
- package/dist/cjs/contracts/factories/WeETH__factory.js.map +1 -0
- package/dist/cjs/contracts/factories/lean0/IPerpetualManager__factory.d.ts +4136 -0
- package/dist/cjs/contracts/factories/lean0/IPerpetualManager__factory.js +5324 -0
- package/dist/cjs/contracts/factories/lean0/IPerpetualManager__factory.js.map +1 -0
- package/dist/cjs/contracts/factories/lean0/LimitOrderBookFactory__factory.d.ts +189 -0
- package/dist/cjs/contracts/factories/lean0/LimitOrderBookFactory__factory.js +254 -0
- package/dist/cjs/contracts/factories/lean0/LimitOrderBookFactory__factory.js.map +1 -0
- package/dist/cjs/contracts/factories/lean0/LimitOrderBook__factory.d.ts +715 -0
- package/dist/cjs/contracts/factories/lean0/LimitOrderBook__factory.js +928 -0
- package/dist/cjs/contracts/factories/lean0/LimitOrderBook__factory.js.map +1 -0
- package/dist/cjs/contracts/factories/lean0/ShareToken__factory.d.ts +344 -0
- package/dist/cjs/contracts/factories/lean0/ShareToken__factory.js +456 -0
- package/dist/cjs/contracts/factories/lean0/ShareToken__factory.js.map +1 -0
- package/dist/cjs/contracts/factories/lean0/index.d.ts +4 -0
- package/dist/cjs/contracts/factories/lean0/index.js +15 -0
- package/dist/cjs/contracts/factories/lean0/index.js.map +1 -0
- package/dist/cjs/contracts/lean0/IPerpetualManager.d.ts +2821 -0
- package/dist/cjs/contracts/lean0/IPerpetualManager.js +3 -0
- package/dist/cjs/contracts/lean0/IPerpetualManager.js.map +1 -0
- package/dist/cjs/contracts/lean0/LimitOrderBook.d.ts +533 -0
- package/dist/cjs/contracts/lean0/LimitOrderBook.js +3 -0
- package/dist/cjs/contracts/lean0/LimitOrderBook.js.map +1 -0
- package/dist/cjs/contracts/lean0/LimitOrderBookFactory.d.ts +210 -0
- package/dist/cjs/contracts/lean0/LimitOrderBookFactory.js +3 -0
- package/dist/cjs/contracts/lean0/LimitOrderBookFactory.js.map +1 -0
- package/dist/cjs/contracts/lean0/ShareToken.d.ts +320 -0
- package/dist/cjs/contracts/lean0/ShareToken.js +3 -0
- package/dist/cjs/contracts/lean0/ShareToken.js.map +1 -0
- package/dist/cjs/contracts/lean0/index.d.ts +4 -0
- package/dist/cjs/contracts/lean0/index.js +3 -0
- package/dist/cjs/contracts/lean0/index.js.map +1 -0
- package/dist/cjs/marketData.d.ts +5 -5
- package/dist/cjs/marketData.js +7 -3
- package/dist/cjs/marketData.js.map +1 -1
- package/dist/cjs/perpetualDataHandler.d.ts +15 -15
- package/dist/cjs/perpetualDataHandler.js +9 -6
- package/dist/cjs/perpetualDataHandler.js.map +1 -1
- package/dist/cjs/priceFeeds.js +1 -1
- package/dist/cjs/utils.d.ts +3 -3
- package/dist/cjs/utils.js.map +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/abi/AMMPerpLogic.json +580 -0
- package/dist/esm/abi/BeaconProxy.json +71 -0
- package/dist/esm/abi/IPerpetualManager copy.json +5599 -0
- package/dist/esm/abi/IPerpetualMarginViewLogic.json +286 -0
- package/dist/esm/abi/Maintainer.json +774 -0
- package/dist/esm/abi/MockToken.json +347 -0
- package/dist/esm/abi/MockUSD.json +413 -0
- package/dist/esm/abi/UUPSUpgradeable.json +104 -0
- package/dist/esm/abi/WeETH.json +310 -0
- package/dist/esm/abi/lean0/IPerpetualManager.json +5306 -0
- package/dist/esm/abi/lean0/LimitOrderBook.json +910 -0
- package/dist/esm/abi/lean0/LimitOrderBookFactory.json +236 -0
- package/dist/esm/abi/lean0/ShareToken.json +438 -0
- package/dist/esm/abi-zkevm/IPerpetualManager.json +5366 -0
- package/dist/esm/abi-zkevm/LimitOrderBook.json +910 -0
- package/dist/esm/abi-zkevm/LimitOrderBookFactory.json +236 -0
- package/dist/esm/contracts/AMMPerpLogic.d.ts +303 -0
- package/dist/esm/contracts/AMMPerpLogic.js +2 -0
- package/dist/esm/contracts/AMMPerpLogic.js.map +1 -0
- package/dist/esm/contracts/BeaconProxy.d.ts +63 -0
- package/dist/esm/contracts/BeaconProxy.js +2 -0
- package/dist/esm/contracts/BeaconProxy.js.map +1 -0
- package/dist/esm/contracts/IPerpetualManagerCopy.d.ts +3223 -0
- package/dist/esm/contracts/IPerpetualManagerCopy.js +2 -0
- package/dist/esm/contracts/IPerpetualManagerCopy.js.map +1 -0
- package/dist/esm/contracts/IPerpetualMarginViewLogic.d.ts +183 -0
- package/dist/esm/contracts/IPerpetualMarginViewLogic.js +2 -0
- package/dist/esm/contracts/IPerpetualMarginViewLogic.js.map +1 -0
- package/dist/esm/contracts/Maintainer.d.ts +799 -0
- package/dist/esm/contracts/Maintainer.js +2 -0
- package/dist/esm/contracts/Maintainer.js.map +1 -0
- package/dist/esm/contracts/MockToken.d.ts +263 -0
- package/dist/esm/contracts/MockToken.js +2 -0
- package/dist/esm/contracts/MockToken.js.map +1 -0
- package/dist/esm/contracts/MockUSD.d.ts +186 -0
- package/dist/esm/contracts/MockUSD.js +2 -0
- package/dist/esm/contracts/MockUSD.js.map +1 -0
- package/dist/esm/contracts/UUPSUpgradeable.d.ts +118 -0
- package/dist/esm/contracts/UUPSUpgradeable.js +2 -0
- package/dist/esm/contracts/UUPSUpgradeable.js.map +1 -0
- package/dist/esm/contracts/WeETH.d.ts +503 -0
- package/dist/esm/contracts/WeETH.js +2 -0
- package/dist/esm/contracts/WeETH.js.map +1 -0
- package/dist/esm/contracts/factories/AMMPerpLogic__factory.d.ts +452 -0
- package/dist/esm/contracts/factories/AMMPerpLogic__factory.js +594 -0
- package/dist/esm/contracts/factories/AMMPerpLogic__factory.js.map +1 -0
- package/dist/esm/contracts/factories/BeaconProxy__factory.d.ts +61 -0
- package/dist/esm/contracts/factories/BeaconProxy__factory.js +85 -0
- package/dist/esm/contracts/factories/BeaconProxy__factory.js.map +1 -0
- package/dist/esm/contracts/factories/IPerpetualManagerCopy__factory.d.ts +4358 -0
- package/dist/esm/contracts/factories/IPerpetualManagerCopy__factory.js +5613 -0
- package/dist/esm/contracts/factories/IPerpetualManagerCopy__factory.js.map +1 -0
- package/dist/esm/contracts/factories/IPerpetualMarginViewLogic__factory.d.ts +221 -0
- package/dist/esm/contracts/factories/IPerpetualMarginViewLogic__factory.js +300 -0
- package/dist/esm/contracts/factories/IPerpetualMarginViewLogic__factory.js.map +1 -0
- package/dist/esm/contracts/factories/Maintainer__factory.d.ts +609 -0
- package/dist/esm/contracts/factories/Maintainer__factory.js +788 -0
- package/dist/esm/contracts/factories/Maintainer__factory.js.map +1 -0
- package/dist/esm/contracts/factories/MockToken__factory.d.ts +273 -0
- package/dist/esm/contracts/factories/MockToken__factory.js +361 -0
- package/dist/esm/contracts/factories/MockToken__factory.js.map +1 -0
- package/dist/esm/contracts/factories/MockUSD__factory.d.ts +320 -0
- package/dist/esm/contracts/factories/MockUSD__factory.js +427 -0
- package/dist/esm/contracts/factories/MockUSD__factory.js.map +1 -0
- package/dist/esm/contracts/factories/UUPSUpgradeable__factory.d.ts +87 -0
- package/dist/esm/contracts/factories/UUPSUpgradeable__factory.js +118 -0
- package/dist/esm/contracts/factories/UUPSUpgradeable__factory.js.map +1 -0
- package/dist/esm/contracts/factories/WeETH__factory.d.ts +545 -0
- package/dist/esm/contracts/factories/WeETH__factory.js +717 -0
- package/dist/esm/contracts/factories/WeETH__factory.js.map +1 -0
- package/dist/esm/contracts/factories/lean0/IPerpetualManager__factory.d.ts +4136 -0
- package/dist/esm/contracts/factories/lean0/IPerpetualManager__factory.js +5320 -0
- package/dist/esm/contracts/factories/lean0/IPerpetualManager__factory.js.map +1 -0
- package/dist/esm/contracts/factories/lean0/LimitOrderBookFactory__factory.d.ts +189 -0
- package/dist/esm/contracts/factories/lean0/LimitOrderBookFactory__factory.js +250 -0
- package/dist/esm/contracts/factories/lean0/LimitOrderBookFactory__factory.js.map +1 -0
- package/dist/esm/contracts/factories/lean0/LimitOrderBook__factory.d.ts +715 -0
- package/dist/esm/contracts/factories/lean0/LimitOrderBook__factory.js +924 -0
- package/dist/esm/contracts/factories/lean0/LimitOrderBook__factory.js.map +1 -0
- package/dist/esm/contracts/factories/lean0/ShareToken__factory.d.ts +344 -0
- package/dist/esm/contracts/factories/lean0/ShareToken__factory.js +452 -0
- package/dist/esm/contracts/factories/lean0/ShareToken__factory.js.map +1 -0
- package/dist/esm/contracts/factories/lean0/index.d.ts +4 -0
- package/dist/esm/contracts/factories/lean0/index.js +8 -0
- package/dist/esm/contracts/factories/lean0/index.js.map +1 -0
- package/dist/esm/contracts/lean0/IPerpetualManager.d.ts +2821 -0
- package/dist/esm/contracts/lean0/IPerpetualManager.js +2 -0
- package/dist/esm/contracts/lean0/IPerpetualManager.js.map +1 -0
- package/dist/esm/contracts/lean0/LimitOrderBook.d.ts +533 -0
- package/dist/esm/contracts/lean0/LimitOrderBook.js +2 -0
- package/dist/esm/contracts/lean0/LimitOrderBook.js.map +1 -0
- package/dist/esm/contracts/lean0/LimitOrderBookFactory.d.ts +210 -0
- package/dist/esm/contracts/lean0/LimitOrderBookFactory.js +2 -0
- package/dist/esm/contracts/lean0/LimitOrderBookFactory.js.map +1 -0
- package/dist/esm/contracts/lean0/ShareToken.d.ts +320 -0
- package/dist/esm/contracts/lean0/ShareToken.js +2 -0
- package/dist/esm/contracts/lean0/ShareToken.js.map +1 -0
- package/dist/esm/contracts/lean0/index.d.ts +4 -0
- package/dist/esm/contracts/lean0/index.js +2 -0
- package/dist/esm/contracts/lean0/index.js.map +1 -0
- package/dist/esm/marketData.d.ts +5 -5
- package/dist/esm/marketData.js +7 -3
- package/dist/esm/marketData.js.map +1 -1
- package/dist/esm/perpetualDataHandler.d.ts +15 -15
- package/dist/esm/perpetualDataHandler.js +9 -6
- package/dist/esm/perpetualDataHandler.js.map +1 -1
- package/dist/esm/priceFeeds.js +1 -1
- package/dist/esm/utils.d.ts +3 -3
- package/dist/esm/utils.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +1 -1
- package/src/contracts/IPerpetualMarginViewLogic.ts +347 -0
- package/src/contracts/MockUSD.ts +378 -0
- package/src/contracts/factories/IPerpetualMarginViewLogic__factory.ts +313 -0
- package/src/contracts/factories/MockUSD__factory.ts +430 -0
- package/src/marketData.ts +27 -22
- package/src/perpetualDataHandler.ts +34 -24
- package/src/priceFeeds.ts +1 -1
- package/src/utils.ts +3 -3
- package/src/version.ts +1 -1
|
@@ -369,25 +369,29 @@ export default class PerpetualDataHandler {
|
|
|
369
369
|
overrides
|
|
370
370
|
);
|
|
371
371
|
|
|
372
|
+
// fetch slots from api
|
|
372
373
|
const slotsInfo = await PerpetualDataHandler.fetchSlotsInfo(this.chainId);
|
|
373
374
|
|
|
374
375
|
// replace symbols, if any
|
|
375
376
|
for (const slot of slotsInfo) {
|
|
376
|
-
const slotSymbol = slot.slot + "-USD";
|
|
377
377
|
const perpIdx = perpStaticInfos.findIndex(
|
|
378
|
-
(p) => p.S2Symbol ==
|
|
378
|
+
(p) => p.S2Symbol.split("-").at(0) == slot.slot && Number(this.chainId) == slot.chain_id
|
|
379
379
|
);
|
|
380
380
|
if (perpIdx < 0) {
|
|
381
381
|
// not a known perp - ignore
|
|
382
382
|
continue;
|
|
383
383
|
}
|
|
384
384
|
// set symbol for this slot
|
|
385
|
-
|
|
386
|
-
|
|
385
|
+
const quote = perpStaticInfos[perpIdx].S2Symbol.split("-").at(1);
|
|
386
|
+
this.symbolList.set(slot.slot, slot.contract_id); // slot e.g. SP07 now maps to NHL_..etc (w/o -quote-base suffix)
|
|
387
|
+
perpStaticInfos[perpIdx].S2Symbol = slot.contract_id + "-" + quote; // SP07-X -> NHL_...-USD
|
|
388
|
+
|
|
387
389
|
// set expiry for this symbol
|
|
390
|
+
const slotExpiry = Number(new Date(slot.expiry));
|
|
388
391
|
this.indexSymbol.set(slot.slot, {
|
|
389
|
-
indexSymbol: slot.slot + "-
|
|
390
|
-
|
|
392
|
+
indexSymbol: slot.slot + "-" + quote + ":" + slot.chain_id,
|
|
393
|
+
// shouldn't be here, but jic force a refetch in a minute
|
|
394
|
+
expiry: isNaN(slotExpiry) ? Date.now() / 1_000 + 60 : slotExpiry,
|
|
391
395
|
});
|
|
392
396
|
}
|
|
393
397
|
|
|
@@ -745,8 +749,8 @@ export default class PerpetualDataHandler {
|
|
|
745
749
|
*/
|
|
746
750
|
public static async getPerpetualStaticInfo(
|
|
747
751
|
_proxyContract: IPerpetualManager,
|
|
748
|
-
nestedPerpetualIDs:
|
|
749
|
-
symbolList:
|
|
752
|
+
nestedPerpetualIDs: ReadonlyArray<ReadonlyArray<number>>,
|
|
753
|
+
symbolList: ReadonlyMap<string, string>,
|
|
750
754
|
overrides?: Overrides
|
|
751
755
|
): Promise<Array<PerpetualStaticInfo>> {
|
|
752
756
|
// flatten perpetual ids into chunks
|
|
@@ -796,7 +800,10 @@ export default class PerpetualDataHandler {
|
|
|
796
800
|
* @param {number[][]} nestedIDs The array of nested arrays to chunk.
|
|
797
801
|
* @returns {number[][]} An array of subarrays, each containing `chunkSize` or fewer elements from `nestedIDs`.
|
|
798
802
|
*/
|
|
799
|
-
public static nestedIDsToChunks(
|
|
803
|
+
public static nestedIDsToChunks(
|
|
804
|
+
chunkSize: number,
|
|
805
|
+
nestedIDs: ReadonlyArray<ReadonlyArray<number>>
|
|
806
|
+
): Array<Array<number>> {
|
|
800
807
|
const chunkIDs: number[][] = [];
|
|
801
808
|
let currentChunk: number[] = [];
|
|
802
809
|
for (let k = 0; k < nestedIDs.length; k++) {
|
|
@@ -827,7 +834,7 @@ export default class PerpetualDataHandler {
|
|
|
827
834
|
fromIdx: number,
|
|
828
835
|
toIdx: number,
|
|
829
836
|
_proxyContract: IPerpetualManager,
|
|
830
|
-
_symbolList:
|
|
837
|
+
_symbolList: ReadonlyMap<string, string>,
|
|
831
838
|
overrides?: Overrides
|
|
832
839
|
): Promise<LiquidityPoolData[]> {
|
|
833
840
|
if (fromIdx < 1) {
|
|
@@ -1479,9 +1486,9 @@ export default class PerpetualDataHandler {
|
|
|
1479
1486
|
*/
|
|
1480
1487
|
protected static _calculateLiquidationPrice(
|
|
1481
1488
|
symbol: string,
|
|
1482
|
-
traderState: bigint[],
|
|
1489
|
+
traderState: readonly bigint[],
|
|
1483
1490
|
S2: number,
|
|
1484
|
-
symbolToPerpStaticInfo:
|
|
1491
|
+
symbolToPerpStaticInfo: ReadonlyMap<string, PerpetualStaticInfo>,
|
|
1485
1492
|
isPredMarket: boolean
|
|
1486
1493
|
): [number, number, number, number, number] {
|
|
1487
1494
|
const idx_availableCashCC = 2;
|
|
@@ -1545,7 +1552,7 @@ export default class PerpetualDataHandler {
|
|
|
1545
1552
|
*/
|
|
1546
1553
|
protected static symbolToPerpetualId(
|
|
1547
1554
|
symbol: string,
|
|
1548
|
-
symbolToPerpStaticInfo:
|
|
1555
|
+
symbolToPerpStaticInfo: ReadonlyMap<string, PerpetualStaticInfo>
|
|
1549
1556
|
): number {
|
|
1550
1557
|
let id = symbolToPerpStaticInfo.get(symbol)?.id;
|
|
1551
1558
|
if (id == undefined) {
|
|
@@ -1570,7 +1577,7 @@ export default class PerpetualDataHandler {
|
|
|
1570
1577
|
return symbols[0] + "-" + symbols[1] + "-" + symbols[2];
|
|
1571
1578
|
}
|
|
1572
1579
|
|
|
1573
|
-
private static _getByValue(map:
|
|
1580
|
+
private static _getByValue<K>(map: ReadonlyMap<K, any>, searchValue: any, valueField: string | number) {
|
|
1574
1581
|
for (let [key, value] of map.entries()) {
|
|
1575
1582
|
if (value[valueField] === searchValue) {
|
|
1576
1583
|
return key;
|
|
@@ -1579,7 +1586,7 @@ export default class PerpetualDataHandler {
|
|
|
1579
1586
|
return undefined;
|
|
1580
1587
|
}
|
|
1581
1588
|
|
|
1582
|
-
protected static _getBySingleValue(map:
|
|
1589
|
+
protected static _getBySingleValue(map: ReadonlyMap<string, string>, searchValue: string) {
|
|
1583
1590
|
for (let [key, value] of map.entries()) {
|
|
1584
1591
|
if (searchValue.startsWith(value)) {
|
|
1585
1592
|
return key;
|
|
@@ -1595,7 +1602,7 @@ export default class PerpetualDataHandler {
|
|
|
1595
1602
|
| IPerpetualOrder.OrderStructOutput
|
|
1596
1603
|
| IClientOrder.ClientOrderStruct
|
|
1597
1604
|
| IClientOrder.ClientOrderStructOutput,
|
|
1598
|
-
symbolToPerpInfoMap:
|
|
1605
|
+
symbolToPerpInfoMap: ReadonlyMap<string, PerpetualStaticInfo>
|
|
1599
1606
|
): Order {
|
|
1600
1607
|
// find symbol of perpetual id
|
|
1601
1608
|
const symbol = PerpetualDataHandler._getByValue(symbolToPerpInfoMap, Number(order.iPerpetualId), "id");
|
|
@@ -1657,7 +1664,7 @@ export default class PerpetualDataHandler {
|
|
|
1657
1664
|
protected static toSmartContractOrder(
|
|
1658
1665
|
order: Order,
|
|
1659
1666
|
traderAddr: string,
|
|
1660
|
-
perpStaticInfo:
|
|
1667
|
+
perpStaticInfo: ReadonlyMap<string, PerpetualStaticInfo>
|
|
1661
1668
|
): SmartContractOrder {
|
|
1662
1669
|
// this revers if order is invalid
|
|
1663
1670
|
PerpetualDataHandler.checkOrder(order, perpStaticInfo);
|
|
@@ -1749,7 +1756,7 @@ export default class PerpetualDataHandler {
|
|
|
1749
1756
|
public static toClientOrder(
|
|
1750
1757
|
order: Order,
|
|
1751
1758
|
traderAddr: string,
|
|
1752
|
-
perpStaticInfo:
|
|
1759
|
+
perpStaticInfo: ReadonlyMap<string, PerpetualStaticInfo>,
|
|
1753
1760
|
parentChildIds?: [string, string]
|
|
1754
1761
|
): ClientOrder {
|
|
1755
1762
|
const scOrder = PerpetualDataHandler.toSmartContractOrder(order, traderAddr, perpStaticInfo);
|
|
@@ -1763,7 +1770,7 @@ export default class PerpetualDataHandler {
|
|
|
1763
1770
|
*/
|
|
1764
1771
|
public static fromClientOrder(
|
|
1765
1772
|
obOrder: IClientOrder.ClientOrderStruct | IClientOrder.ClientOrderStructOutput,
|
|
1766
|
-
perpStaticInfo:
|
|
1773
|
+
perpStaticInfo: ReadonlyMap<string, PerpetualStaticInfo>
|
|
1767
1774
|
): Order {
|
|
1768
1775
|
const scOrder = {
|
|
1769
1776
|
flags: obOrder.flags,
|
|
@@ -1849,7 +1856,10 @@ export default class PerpetualDataHandler {
|
|
|
1849
1856
|
return flag;
|
|
1850
1857
|
}
|
|
1851
1858
|
|
|
1852
|
-
protected static _getLotSize(
|
|
1859
|
+
protected static _getLotSize(
|
|
1860
|
+
symbol: string,
|
|
1861
|
+
symbolToPerpStaticInfo: ReadonlyMap<string, PerpetualStaticInfo>
|
|
1862
|
+
): number {
|
|
1853
1863
|
let perpInfo: PerpetualStaticInfo | undefined = symbolToPerpStaticInfo.get(symbol);
|
|
1854
1864
|
if (perpInfo == undefined) {
|
|
1855
1865
|
throw new Error(`no info for perpetual ${symbol}`);
|
|
@@ -1859,7 +1869,7 @@ export default class PerpetualDataHandler {
|
|
|
1859
1869
|
|
|
1860
1870
|
protected static _getMinimalPositionSize(
|
|
1861
1871
|
symbol: string,
|
|
1862
|
-
symbolToPerpStaticInfo:
|
|
1872
|
+
symbolToPerpStaticInfo: ReadonlyMap<string, PerpetualStaticInfo>
|
|
1863
1873
|
): number {
|
|
1864
1874
|
return 10 * PerpetualDataHandler._getLotSize(symbol, symbolToPerpStaticInfo);
|
|
1865
1875
|
}
|
|
@@ -2110,7 +2120,7 @@ export default class PerpetualDataHandler {
|
|
|
2110
2120
|
protected static checkOrder(
|
|
2111
2121
|
order: Order,
|
|
2112
2122
|
// traderAccount: MarginAccount,
|
|
2113
|
-
perpStaticInfo:
|
|
2123
|
+
perpStaticInfo: ReadonlyMap<string, PerpetualStaticInfo>
|
|
2114
2124
|
) {
|
|
2115
2125
|
if (!perpStaticInfo.has(order.symbol)) {
|
|
2116
2126
|
throw new Error(`Perpetual not found for symbol ${order.symbol}`);
|
|
@@ -2367,7 +2377,7 @@ export default class PerpetualDataHandler {
|
|
|
2367
2377
|
* @param info Perpetual static info
|
|
2368
2378
|
* @returns Index symbol
|
|
2369
2379
|
*/
|
|
2370
|
-
public static getIndexSymbol(_symbolList:
|
|
2380
|
+
public static getIndexSymbol(_symbolList: ReadonlyMap<string, string>, info: PerpetualStaticInfo) {
|
|
2371
2381
|
if (PerpetualDataHandler.isPredictionMarketStatic(info)) {
|
|
2372
2382
|
const slot = PerpetualDataHandler._getBySingleValue(_symbolList, info.S2Symbol);
|
|
2373
2383
|
if (slot !== undefined) {
|
|
@@ -2458,7 +2468,7 @@ export default class PerpetualDataHandler {
|
|
|
2458
2468
|
* @returns Array of [perpetual Id, perpetual state (string)]
|
|
2459
2469
|
*/
|
|
2460
2470
|
public static extractStatesFromStaticInfos(
|
|
2461
|
-
perpInfos:
|
|
2471
|
+
perpInfos: ReadonlyMap<string, PerpetualStaticInfo> | readonly PerpetualStaticInfo[] | undefined
|
|
2462
2472
|
) {
|
|
2463
2473
|
const states: [number, string][] = [];
|
|
2464
2474
|
perpInfos?.forEach(({ state, id }, _keyOrIndex) => states.push([id, state]));
|
package/src/priceFeeds.ts
CHANGED
|
@@ -232,7 +232,7 @@ export default class PriceFeeds {
|
|
|
232
232
|
continue;
|
|
233
233
|
}
|
|
234
234
|
// only report ema if corresponding symbol is requested
|
|
235
|
-
const keyNoEma = key.substring(0, key.length -
|
|
235
|
+
const keyNoEma = key.substring(0, key.length - 4);
|
|
236
236
|
if (!symbols.includes(keyNoEma)) {
|
|
237
237
|
continue;
|
|
238
238
|
}
|
package/src/utils.ts
CHANGED
|
@@ -83,7 +83,7 @@ export function fromBytes4HexString(s: string): string {
|
|
|
83
83
|
* @param {Object} mapping List of symbol and clean symbol pairs, e.g. [{symbol: "MATIC", cleanSymbol: "MATC"}, ...]
|
|
84
84
|
* @returns {string} User friendly currency symbol, e.g. "MATIC"
|
|
85
85
|
*/
|
|
86
|
-
export function contractSymbolToSymbol(s: string, mapping:
|
|
86
|
+
export function contractSymbolToSymbol(s: string, mapping: ReadonlyMap<string, string>): string {
|
|
87
87
|
let shortCCY = fromBytes4HexString(s);
|
|
88
88
|
// assume CCY is already short if not in the mapping file
|
|
89
89
|
let longCCY = mapping.get(shortCCY) ?? shortCCY;
|
|
@@ -96,7 +96,7 @@ export function contractSymbolToSymbol(s: string, mapping: Map<string, string>):
|
|
|
96
96
|
* @param {Object} mapping List of symbol and clean symbol pairs, e.g. [{symbol: "MATIC", cleanSymbol: "MATC"}, ...]
|
|
97
97
|
* @returns {Buffer} Buffer that can be used with smart contract to identify tokens
|
|
98
98
|
*/
|
|
99
|
-
export function symbolToContractSymbol(s: string, mapping:
|
|
99
|
+
export function symbolToContractSymbol(s: string, mapping: ReadonlyMap<string, string>): Buffer {
|
|
100
100
|
let shortCCY: string | undefined = undefined;
|
|
101
101
|
for (let [k, v] of mapping) {
|
|
102
102
|
if (v == s) {
|
|
@@ -114,7 +114,7 @@ export function symbolToContractSymbol(s: string, mapping: Map<string, string>):
|
|
|
114
114
|
* @param {Object} mapping list of symbol and clean symbol pairs, e.g. [{symbol: "MATIC", cleanSymbol: "MATC"}, ...]
|
|
115
115
|
* @returns {string} long format e.g. MATIC. if not found the element is ""
|
|
116
116
|
*/
|
|
117
|
-
export function symbol4BToLongSymbol(s: string, mapping:
|
|
117
|
+
export function symbol4BToLongSymbol(s: string, mapping: ReadonlyMap<string, string>): string {
|
|
118
118
|
let ccy = s.split("-");
|
|
119
119
|
let longCCY = "";
|
|
120
120
|
for (let k = 0; k < ccy.length; k++) {
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const D8X_SDK_VERSION = "2.6.
|
|
1
|
+
export const D8X_SDK_VERSION = "2.6.23";
|