@reyaxyz/common 0.301.1 → 0.302.1

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.
@@ -43,6 +43,8 @@ type Order = {
43
43
  block_timestamp: Decimal | null;
44
44
  block_number: Decimal;
45
45
  unique_id: bigint | null;
46
+ event_sequence_number: bigint | null;
47
+ exchange_id: Decimal | null;
46
48
  created_at: Date;
47
49
  };
48
50
 
@@ -160,6 +162,8 @@ type MarketData = {
160
162
  openInterest?: number;
161
163
  fundingRate?: number;
162
164
  fundingRateVelocity?: number;
165
+ longFundingValue?: number;
166
+ shortFundingValue?: number;
163
167
  last24hVolume: number;
164
168
  priceChange24H?: number;
165
169
  priceChange24HPercentage?: number;
package/src/types.ts CHANGED
@@ -830,6 +830,11 @@ export enum ConditionalOrderStatus {
830
830
  REJECTED = 'rejected',
831
831
  }
832
832
 
833
+ export enum TierType {
834
+ REGULAR = 'REGULAR',
835
+ VIP = 'VIP',
836
+ }
837
+
833
838
  export type ConditionalOrder = {
834
839
  orderId: string;
835
840
  accountId: number;
@@ -1098,12 +1103,18 @@ export type AssetPair =
1098
1103
  | 'PAXGUSDMARK'
1099
1104
  | 'YZYUSDMARK'
1100
1105
  | 'XPLUSDMARK'
1101
- | 'WLFIUSDMARK';
1102
-
1103
- export type DerivedAssetPair = 'SDEUSDUSD';
1106
+ | 'WLFIUSDMARK'
1107
+ | 'LINEAUSDMARK';
1104
1108
 
1105
1109
  export type ContractId = string;
1106
1110
 
1111
+ export type Price = {
1112
+ symbol: number;
1113
+ oraclePrice: string;
1114
+ poolPrice: string | null;
1115
+ updatedAt: number;
1116
+ };
1117
+
1107
1118
  export type MarketPrice = {
1108
1119
  marketId: number;
1109
1120
  price: string;
@@ -1131,3 +1142,20 @@ export type ConditionalOrderSensitive = Unpacked<
1131
1142
  >;
1132
1143
 
1133
1144
  export type Position = Unpacked<Replication['replication:position']['result']>;
1145
+
1146
+ // Stringified replication data types for WebSocket transformers
1147
+ export type PositionReplicationData = Stringified<
1148
+ Unpacked<Replication['replication:position']['result']>
1149
+ >;
1150
+
1151
+ export type OrderReplicationData = Stringified<
1152
+ Unpacked<Replication['replication:ConditionalOrdersSensitive']['result']>
1153
+ >;
1154
+
1155
+ export type TradeReplicationData = Stringified<
1156
+ Unpacked<Replication['replication:orders']['result']>
1157
+ >;
1158
+
1159
+ export type MarketDataReplicationData = Stringified<
1160
+ Unpacked<Replication['replication:marketData']['result']>
1161
+ >;
@@ -1,4 +1,5 @@
1
1
  import { mergeMap } from './struct';
2
+ import BigNumber from 'bignumber.js';
2
3
 
3
4
  export const POOL_IMR = 9.1;
4
5
 
@@ -311,6 +312,14 @@ export const calculateTotalMargin = ({
311
312
  );
312
313
  };
313
314
 
315
+ export const calculatePositionAdjustedQty = (
316
+ origQty: BigNumber,
317
+ marketBaseMultiplier: BigNumber,
318
+ positionBaseMultiplier: BigNumber,
319
+ ) => {
320
+ return origQty.times(marketBaseMultiplier).div(positionBaseMultiplier);
321
+ };
322
+
314
323
  export const calculateFundingPnl = (
315
324
  fundingValue: number,
316
325
  positionAvgEntryFundingValue: number,
@@ -3,6 +3,7 @@ import {
3
3
  ConditionalOrderTypeName,
4
4
  Rank,
5
5
  RankTrading,
6
+ TierType,
6
7
  } from '../types';
7
8
 
8
9
  export const MAX_UINT128 = 2 ** 128 - 1;
@@ -132,6 +133,18 @@ export const VOLUME_TIER_MAP: Record<number, number> = {
132
133
  6: 1_000_000_000, // Tier 6: $1,000,000,000 volume
133
134
  };
134
135
 
136
+ export const TIER_TYPE_MAP: Record<number, TierType> = {
137
+ 0: TierType.REGULAR,
138
+ 1: TierType.REGULAR,
139
+ 2: TierType.REGULAR,
140
+ 3: TierType.REGULAR,
141
+ 4: TierType.REGULAR,
142
+ 5: TierType.REGULAR,
143
+ 6: TierType.REGULAR,
144
+ 100: TierType.VIP,
145
+ 101: TierType.VIP,
146
+ };
147
+
135
148
  export const SPECIAL_TIER_THRESHOLD = 100;
136
149
 
137
150
  export const MA_HEALTH_DANGER_THRESHOLD = 95;