@d8x/perpetuals-sdk 0.1.12 → 0.2.0

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.
Files changed (165) hide show
  1. package/dist/cjs/abi/testnet/IPerpetualManager.json +5215 -0
  2. package/dist/cjs/abi/testnet/LimitOrderBook.json +1075 -0
  3. package/dist/cjs/abi/zkevmTestnet/IPerpetualManager.json +5215 -0
  4. package/dist/cjs/abi/zkevmTestnet/LimitOrderBook.json +1075 -0
  5. package/dist/cjs/abi/zkevmTestnet/LimitOrderBookFactory.json +135 -0
  6. package/dist/cjs/accountTrade.js +441 -0
  7. package/dist/cjs/accountTrade.js.map +1 -0
  8. package/dist/{src → cjs}/brokerTool.js +31 -84
  9. package/dist/cjs/brokerTool.js.map +1 -0
  10. package/dist/cjs/config/defaultConfig.json +47 -0
  11. package/dist/cjs/config/mockSwap.json +4 -0
  12. package/dist/cjs/config/priceFeedConfig.json +104 -0
  13. package/dist/cjs/config/symbolList.json +13 -0
  14. package/dist/cjs/d8XMath.js.map +1 -0
  15. package/dist/cjs/index.js +29 -0
  16. package/dist/cjs/index.js.map +1 -0
  17. package/dist/cjs/liquidatorTool.js +287 -0
  18. package/dist/cjs/liquidatorTool.js.map +1 -0
  19. package/dist/{src → cjs}/liquidityProviderTool.js +12 -65
  20. package/dist/cjs/liquidityProviderTool.js.map +1 -0
  21. package/dist/{src → cjs}/marketData.js +52 -134
  22. package/dist/cjs/marketData.js.map +1 -0
  23. package/dist/{src → cjs}/nodeSDKTypes.d.ts +5 -5
  24. package/dist/cjs/nodeSDKTypes.js +64 -0
  25. package/dist/cjs/nodeSDKTypes.js.map +1 -0
  26. package/dist/{src → cjs}/orderReferrerTool.d.ts +12 -5
  27. package/dist/{src → cjs}/orderReferrerTool.js +114 -112
  28. package/dist/cjs/orderReferrerTool.js.map +1 -0
  29. package/dist/{src → cjs}/perpetualDataHandler.d.ts +1 -1
  30. package/dist/{src → cjs}/perpetualDataHandler.js +47 -109
  31. package/dist/cjs/perpetualDataHandler.js.map +1 -0
  32. package/dist/{src → cjs}/perpetualEventHandler.d.ts +3 -3
  33. package/dist/{src → cjs}/perpetualEventHandler.js +12 -74
  34. package/dist/cjs/perpetualEventHandler.js.map +1 -0
  35. package/dist/cjs/priceFeeds.js +466 -0
  36. package/dist/cjs/priceFeeds.js.map +1 -0
  37. package/dist/{src → cjs}/traderDigests.js +7 -43
  38. package/dist/cjs/traderDigests.js.map +1 -0
  39. package/dist/{src → cjs}/traderInterface.js +13 -66
  40. package/dist/cjs/traderInterface.js.map +1 -0
  41. package/dist/{src → cjs}/triangulator.js +2 -17
  42. package/dist/cjs/triangulator.js.map +1 -0
  43. package/dist/{src → cjs}/utils.js +3 -29
  44. package/dist/cjs/utils.js.map +1 -0
  45. package/dist/cjs/version.d.ts +1 -0
  46. package/dist/{src → cjs}/version.js +1 -1
  47. package/dist/cjs/version.js.map +1 -0
  48. package/dist/{src → cjs}/writeAccessHandler.js +12 -65
  49. package/dist/cjs/writeAccessHandler.js.map +1 -0
  50. package/dist/esm/abi/ERC20.json +288 -0
  51. package/dist/esm/abi/MockTokenSwap.json +186 -0
  52. package/dist/{abi/testnet → esm/abi/central-park}/IPerpetualManager.json +404 -214
  53. package/dist/{abi/testnet → esm/abi/central-park}/LimitOrderBook.json +197 -15
  54. package/dist/esm/abi/central-park/LimitOrderBookFactory.json +135 -0
  55. package/dist/esm/abi/testnet/IPerpetualManager.json +5215 -0
  56. package/dist/esm/abi/testnet/LimitOrderBook.json +1075 -0
  57. package/dist/esm/abi/testnet/LimitOrderBookFactory.json +135 -0
  58. package/dist/esm/abi/zkevmTestnet/IPerpetualManager.json +5215 -0
  59. package/dist/esm/abi/zkevmTestnet/LimitOrderBook.json +1075 -0
  60. package/dist/esm/abi/zkevmTestnet/LimitOrderBookFactory.json +135 -0
  61. package/dist/esm/accountTrade.d.ts +221 -0
  62. package/dist/{src → esm}/accountTrade.js +22 -93
  63. package/dist/esm/accountTrade.js.map +1 -0
  64. package/dist/esm/brokerTool.d.ts +318 -0
  65. package/dist/esm/brokerTool.js +572 -0
  66. package/dist/esm/brokerTool.js.map +1 -0
  67. package/dist/esm/config/defaultConfig.json +47 -0
  68. package/dist/esm/config/mockSwap.json +4 -0
  69. package/dist/esm/config/priceFeedConfig.json +104 -0
  70. package/dist/esm/config/symbolList.json +13 -0
  71. package/dist/esm/d8XMath.d.ts +122 -0
  72. package/dist/esm/d8XMath.js +247 -0
  73. package/dist/esm/d8XMath.js.map +1 -0
  74. package/{src/index.ts → dist/esm/index.d.ts} +1 -15
  75. package/dist/esm/index.js +16 -0
  76. package/dist/esm/index.js.map +1 -0
  77. package/dist/esm/liquidatorTool.d.ts +158 -0
  78. package/dist/{src → esm}/liquidatorTool.js +10 -65
  79. package/dist/esm/liquidatorTool.js.map +1 -0
  80. package/dist/esm/liquidityProviderTool.d.ts +126 -0
  81. package/dist/esm/liquidityProviderTool.js +218 -0
  82. package/dist/esm/liquidityProviderTool.js.map +1 -0
  83. package/dist/esm/marketData.d.ts +309 -0
  84. package/dist/esm/marketData.js +1007 -0
  85. package/dist/esm/marketData.js.map +1 -0
  86. package/dist/esm/nodeSDKTypes.d.ts +266 -0
  87. package/dist/esm/nodeSDKTypes.js +60 -0
  88. package/dist/esm/nodeSDKTypes.js.map +1 -0
  89. package/dist/esm/orderReferrerTool.d.ts +196 -0
  90. package/dist/esm/orderReferrerTool.js +491 -0
  91. package/dist/esm/orderReferrerTool.js.map +1 -0
  92. package/dist/esm/perpetualDataHandler.d.ts +220 -0
  93. package/dist/esm/perpetualDataHandler.js +1060 -0
  94. package/dist/esm/perpetualDataHandler.js.map +1 -0
  95. package/dist/esm/perpetualEventHandler.d.ts +179 -0
  96. package/dist/esm/perpetualEventHandler.js +435 -0
  97. package/dist/esm/perpetualEventHandler.js.map +1 -0
  98. package/dist/esm/priceFeeds.d.ts +115 -0
  99. package/dist/{src → esm}/priceFeeds.js +16 -83
  100. package/dist/esm/priceFeeds.js.map +1 -0
  101. package/dist/esm/traderDigests.d.ts +21 -0
  102. package/dist/esm/traderDigests.js +80 -0
  103. package/dist/esm/traderDigests.js.map +1 -0
  104. package/dist/esm/traderInterface.d.ts +79 -0
  105. package/dist/esm/traderInterface.js +196 -0
  106. package/dist/esm/traderInterface.js.map +1 -0
  107. package/dist/esm/triangulator.d.ts +27 -0
  108. package/dist/esm/triangulator.js +110 -0
  109. package/dist/esm/triangulator.js.map +1 -0
  110. package/dist/esm/utils.d.ts +59 -0
  111. package/dist/esm/utils.js +138 -0
  112. package/dist/esm/utils.js.map +1 -0
  113. package/dist/esm/version.d.ts +1 -0
  114. package/dist/esm/version.js +2 -0
  115. package/dist/esm/version.js.map +1 -0
  116. package/dist/esm/writeAccessHandler.d.ts +50 -0
  117. package/dist/esm/writeAccessHandler.js +157 -0
  118. package/dist/esm/writeAccessHandler.js.map +1 -0
  119. package/package.json +16 -26
  120. package/dist/bundle.js +0 -36793
  121. package/dist/config/defaultConfig.json +0 -47
  122. package/dist/config/mockSwap.json +0 -4
  123. package/dist/config/priceFeedConfig.json +0 -104
  124. package/dist/config/symbolList.json +0 -13
  125. package/dist/src/index.js +0 -45
  126. package/dist/src/nodeSDKTypes.js +0 -115
  127. package/dist/src/version.d.ts +0 -1
  128. package/module.d.ts +0 -1
  129. package/src/accountTrade.ts +0 -392
  130. package/src/brokerTool.ts +0 -507
  131. package/src/d8XMath.ts +0 -319
  132. package/src/liquidatorTool.ts +0 -258
  133. package/src/liquidityProviderTool.ts +0 -186
  134. package/src/marketData.ts +0 -946
  135. package/src/nodeSDKTypes.ts +0 -293
  136. package/src/orderReferrerTool.ts +0 -389
  137. package/src/perpetualDataHandler.ts +0 -1061
  138. package/src/perpetualEventHandler.ts +0 -455
  139. package/src/priceFeeds.ts +0 -381
  140. package/src/traderDigests.ts +0 -91
  141. package/src/traderInterface.ts +0 -159
  142. package/src/triangulator.ts +0 -105
  143. package/src/utils.ts +0 -134
  144. package/src/version.ts +0 -1
  145. package/src/writeAccessHandler.ts +0 -127
  146. /package/dist/{abi → cjs/abi}/ERC20.json +0 -0
  147. /package/dist/{abi → cjs/abi}/MockTokenSwap.json +0 -0
  148. /package/dist/{abi → cjs/abi}/central-park/IPerpetualManager.json +0 -0
  149. /package/dist/{abi → cjs/abi}/central-park/LimitOrderBook.json +0 -0
  150. /package/dist/{abi → cjs/abi}/central-park/LimitOrderBookFactory.json +0 -0
  151. /package/dist/{abi → cjs/abi}/testnet/LimitOrderBookFactory.json +0 -0
  152. /package/dist/{src → cjs}/accountTrade.d.ts +0 -0
  153. /package/dist/{src → cjs}/brokerTool.d.ts +0 -0
  154. /package/dist/{src → cjs}/d8XMath.d.ts +0 -0
  155. /package/dist/{src → cjs}/d8XMath.js +0 -0
  156. /package/dist/{src → cjs}/index.d.ts +0 -0
  157. /package/dist/{src → cjs}/liquidatorTool.d.ts +0 -0
  158. /package/dist/{src → cjs}/liquidityProviderTool.d.ts +0 -0
  159. /package/dist/{src → cjs}/marketData.d.ts +0 -0
  160. /package/dist/{src → cjs}/priceFeeds.d.ts +0 -0
  161. /package/dist/{src → cjs}/traderDigests.d.ts +0 -0
  162. /package/dist/{src → cjs}/traderInterface.d.ts +0 -0
  163. /package/dist/{src → cjs}/triangulator.d.ts +0 -0
  164. /package/dist/{src → cjs}/utils.d.ts +0 -0
  165. /package/dist/{src → cjs}/writeAccessHandler.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"perpetualDataHandler.js","sourceRoot":"","sources":["../../src/perpetualDataHandler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,179 @@
1
+ import { BigNumber } from "ethers";
2
+ import MarketData from "./marketData";
3
+ import { ExchangeInfo, MarginAccount, OrderStruct, PerpetualState, SmartContractOrder, TradeEvent } from "./nodeSDKTypes";
4
+ /**
5
+ * This class handles events and stores relevant variables
6
+ * as member variables. The events change the state of the member variables:
7
+ * mktData : MarketData relevant market data with current state (e.g. index price)
8
+ * ordersInPerpetual: Map<number, OrderStruct> all open orders for the given trader
9
+ * positionInPerpetual: Map<number, MarginAccount> all open positions for the given trader
10
+ *
11
+ *
12
+ * Get data:
13
+ * - getPerpetualData(perp id (string) or symbol) : PerpetualState. This is a reference!
14
+ * - getExchangeInfo() : ExchangeInfo. This is a reference!
15
+ * - getCurrentPositionRisk(perp id (string) or symbol) : MarginAccount. This is a reference!
16
+ * - getOrdersInPerpetualMap : Map<number, OrderStruct>. This is a reference!
17
+ * - getpositionInPerpetualMap : Map<number, MarginAccount>. This is a reference!
18
+ *
19
+ * Construct with a trader address and a marketData object
20
+ * Initialize to gather all the relevant data.
21
+ * Send event variables to event handler "on<EventName>" - this updates members
22
+ * - [x] onUpdateMarkPrice : emitted on proxy; updates markprice and index price data
23
+ * - [x] onUpdateUpdateFundingRate : emitted on proxy; sets funding rate
24
+ * - [x] onExecutionFailed : emitted on order book; removes an open order
25
+ * - [x] onPerpetualLimitOrderCancelled : emitted on order book; removes an open order
26
+ * - [x] onPerpetualLimitOrderCreated : emitted on order book; adds an open order to the data
27
+ * - [x] async onUpdateMarginAccount : emitted on proxy; updates position data and open interest
28
+ * - [x] onTrade : emitted on proxy; returns TradeEvent to be displayed
29
+ */
30
+ export default class PerpetualEventHandler {
31
+ private mktData;
32
+ private traderAddr;
33
+ private ordersInPerpetual;
34
+ private positionInPerpetual;
35
+ private poolIndexForPerpetual;
36
+ private exchangeInfo;
37
+ constructor(mktData: MarketData, traderAddr: string);
38
+ /**
39
+ * Call this async function to initialize the
40
+ * market data
41
+ */
42
+ initialize(): Promise<void>;
43
+ /**
44
+ * Get the current exchange info
45
+ * @returns exchange info
46
+ */
47
+ getExchangeInfo(): ExchangeInfo | undefined;
48
+ /**
49
+ * getOrdersInPerpetualMap
50
+ * @returns this.ordersInPerpetual
51
+ */
52
+ getOrdersInPerpetualMap(): Map<number, OrderStruct>;
53
+ /**
54
+ * getpositionInPerpetualMap
55
+ * @returns this.positionInPerpetual
56
+ */
57
+ getpositionInPerpetualMap(): Map<number, MarginAccount>;
58
+ /**
59
+ * Get the data for a perpetual with a given index
60
+ * @param perpetualIdOrSymbol perpetual idx as string or symbol for which we want the data
61
+ * @returns perpetual data for this idx
62
+ */
63
+ getPerpetualData(perpetualIdOrSymbol: string): PerpetualState | undefined;
64
+ /**
65
+ * Get the trader's current position risk (margin account data)
66
+ * @param perpetualIdOrSymbol perpetual id as string ('100003') or symbol ('BTC-USD-MATIC')
67
+ * @returns undefined if no position or margin account (='position risk')
68
+ */
69
+ getCurrentPositionRisk(perpetualIdOrSymbol: string): MarginAccount | undefined;
70
+ /**
71
+ * Update the following prices:
72
+ * - index price
73
+ * - collateral price
74
+ * - mid-price
75
+ * @param perpetualIdOrSymbol perpetual id as string ('100003') or symbol ('BTC-USD-MATIC')
76
+ */
77
+ updatePrices(perpetualIdOrSymbol: string): Promise<void>;
78
+ /**
79
+ * Handle the event UpdateMarkPrice and update relevant
80
+ * data
81
+ * @param perpetualId perpetual Id
82
+ * @param fMarkPricePremium premium rate in ABDK format
83
+ * @param fSpotIndexPrice spot index price in ABDK format
84
+ * @returns void
85
+ */
86
+ onUpdateMarkPrice(perpetualId: number, fMidPricePremium: BigNumber, fMarkPricePremium: BigNumber, fSpotIndexPrice: BigNumber): void;
87
+ /**
88
+ * Handle the event UpdateFundingRate and update relevant
89
+ * data
90
+ * UpdateFundingRate(uint24 indexed perpetualId, int128 fFundingRate)
91
+ * @param fFundingRate funding rate in ABDK format
92
+ */
93
+ onUpdateUpdateFundingRate(perpetualId: number, fFundingRate: BigNumber): void;
94
+ /**
95
+ * event ExecutionFailed(
96
+ uint24 indexed perpetualId,
97
+ address indexed trader,
98
+ bytes32 digest,
99
+ string reason
100
+ );
101
+ * @param perpetualId id of the perpetual
102
+ * @param trader address of the trader
103
+ * @param digest digest of the order/cancel order
104
+ * @param reason reason why the execution failed
105
+ */
106
+ onExecutionFailed(perpetualId: number, trader: string, digest: string, reason: string): void;
107
+ /**
108
+ * Event emitted by perpetual proxy
109
+ * event PerpetualLimitOrderCancelled(bytes32 indexed orderHash);
110
+ * @param orderId string order id/digest
111
+ */
112
+ onPerpetualLimitOrderCancelled(orderId: string): void;
113
+ /**
114
+ * event PerpetualLimitOrderCreated(
115
+ * uint24 indexed perpetualId,
116
+ * address indexed trader,
117
+ * address referrerAddr,
118
+ * address brokerAddr,
119
+ * Order order,
120
+ * bytes32 digest
121
+ *)
122
+ * @param perpetualId id of the perpetual
123
+ * @param trader address of the trader
124
+ * @param referrerAddr address of the referrer
125
+ * @param brokerAddr address of the broker
126
+ * @param Order order struct
127
+ * @param digest order id
128
+ */
129
+ onPerpetualLimitOrderCreated(perpetualId: number, trader: string, _referrerAddr: string, _brokerAddr: string, Order: SmartContractOrder, digest: string): void;
130
+ /**
131
+ * This function is async -> queries the margin account
132
+ * @param perpetualId id of the perpetual
133
+ * @param trader trader address
134
+ * @param positionId position id
135
+ * @param fPositionBC position size in base currency
136
+ * @param fCashCC margin collateral in margin account
137
+ * @param fLockedInValueQC pos*average opening price
138
+ * @param fFundingPaymentCC funding payment made
139
+ * @param fOpenInterestBC open interest
140
+ */
141
+ onUpdateMarginAccount(perpetualId: number, trader: string, _positionId: string, _fPositionBC: BigNumber, _fCashCC: BigNumber, _fLockedInValueQC: BigNumber, _fFundingPaymentCC: BigNumber, fOpenInterestBC: BigNumber): Promise<void>;
142
+ /**
143
+ *
144
+ * @param perpetualId perpetual id
145
+ * @param trader trader address
146
+ * @param positionId position id
147
+ * @param order order struct
148
+ * @param orderDigest order id
149
+ * @param newPositionSizeBC new pos size in base currency ABDK
150
+ * @param price price in ABDK format
151
+ * @returns trade event data in regular number format
152
+ */
153
+ onTrade(perpetualId: number, _trader: string, positionId: string, _order: SmartContractOrder, orderDigest: string, newPositionSizeBC: BigNumber, _price: BigNumber): TradeEvent;
154
+ /**
155
+ * static function to find the number of the OrderStruct with given orderId
156
+ * @param orderId id/digest of order
157
+ * @param orderMap mapping for perpetualId->OrderStruct
158
+ * @returns id of perpetual that contains order with id = orderId or undefined
159
+ */
160
+ private static findOrderForId;
161
+ /**
162
+ * Delete the order with given id from the class member data
163
+ * @param orderStructs array of order struct as stored for the trader and a given perpetual
164
+ * @param orderId digest/order id
165
+ * @returns void
166
+ */
167
+ private static deleteOrder;
168
+ /**
169
+ * UpdateMarkPrice(
170
+ * uint24 indexed perpetualId,
171
+ * int128 fMarkPricePremium,
172
+ * int128 fSpotIndexPrice
173
+ * )
174
+ * @param fMarkPricePremium premium rate in ABDK format
175
+ * @param fSpotIndexPrice spot index price in ABDK format
176
+ * @returns mark price and spot index in float
177
+ */
178
+ private static ConvertUpdateMarkPrice;
179
+ }