@d8x/perpetuals-sdk 2.0.13-alpha → 2.1.0-alpha2

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 (255) hide show
  1. package/dist/cjs/abi/IPerpetualManager.json +124 -3
  2. package/dist/cjs/abi/OracleFactory.json +94 -25
  3. package/dist/cjs/abi/PerpetualManagerProxy.json +212 -2
  4. package/dist/cjs/brokerTool.d.ts +5 -1
  5. package/dist/cjs/brokerTool.js +14 -1
  6. package/dist/cjs/brokerTool.js.map +1 -1
  7. package/dist/cjs/config/priceFeedConfig.json +0 -18
  8. package/dist/cjs/contracts/IPerpetualManager.d.ts +74 -10
  9. package/dist/cjs/contracts/OracleFactory.d.ts +69 -20
  10. package/dist/cjs/contracts/PerpetualManagerProxy.d.ts +109 -4
  11. package/dist/cjs/contracts/factories/IPerpetualManager__factory.d.ts +95 -3
  12. package/dist/cjs/contracts/factories/IPerpetualManager__factory.js +124 -3
  13. package/dist/cjs/contracts/factories/IPerpetualManager__factory.js.map +1 -1
  14. package/dist/cjs/contracts/factories/OracleFactory__factory.d.ts +75 -20
  15. package/dist/cjs/contracts/factories/OracleFactory__factory.js +94 -25
  16. package/dist/cjs/contracts/factories/OracleFactory__factory.js.map +1 -1
  17. package/dist/cjs/contracts/factories/PerpetualManagerProxy__factory.d.ts +159 -2
  18. package/dist/cjs/contracts/factories/PerpetualManagerProxy__factory.js +212 -2
  19. package/dist/cjs/contracts/factories/PerpetualManagerProxy__factory.js.map +1 -1
  20. package/dist/cjs/d8XMath.d.ts +44 -1
  21. package/dist/cjs/d8XMath.js +236 -3
  22. package/dist/cjs/d8XMath.js.map +1 -1
  23. package/dist/cjs/liquidatorTool.d.ts +1 -0
  24. package/dist/cjs/liquidatorTool.js +24 -7
  25. package/dist/cjs/liquidatorTool.js.map +1 -1
  26. package/dist/cjs/marketData.d.ts +42 -20
  27. package/dist/cjs/marketData.js +261 -188
  28. package/dist/cjs/marketData.js.map +1 -1
  29. package/dist/cjs/nodeSDKTypes.d.ts +24 -2
  30. package/dist/cjs/nodeSDKTypes.js.map +1 -1
  31. package/dist/cjs/orderExecutorTool.d.ts +3 -3
  32. package/dist/cjs/orderExecutorTool.js +38 -13
  33. package/dist/cjs/orderExecutorTool.js.map +1 -1
  34. package/dist/cjs/perpetualDataHandler.d.ts +22 -12
  35. package/dist/cjs/perpetualDataHandler.js +59 -44
  36. package/dist/cjs/perpetualDataHandler.js.map +1 -1
  37. package/dist/cjs/perpetualEventHandler.d.ts +1 -1
  38. package/dist/cjs/perpetualEventHandler.js +6 -7
  39. package/dist/cjs/perpetualEventHandler.js.map +1 -1
  40. package/dist/cjs/polyMktsPxFeed.d.ts +6 -4
  41. package/dist/cjs/polyMktsPxFeed.js +24 -3
  42. package/dist/cjs/polyMktsPxFeed.js.map +1 -1
  43. package/dist/cjs/priceFeeds.d.ts +6 -7
  44. package/dist/cjs/priceFeeds.js +36 -14
  45. package/dist/cjs/priceFeeds.js.map +1 -1
  46. package/dist/cjs/version.d.ts +1 -1
  47. package/dist/cjs/version.js +1 -1
  48. package/dist/esm/abi/IPerpetualManager.json +124 -3
  49. package/dist/esm/abi/OracleFactory.json +94 -25
  50. package/dist/esm/abi/PerpetualManagerProxy.json +212 -2
  51. package/dist/esm/brokerTool.d.ts +5 -1
  52. package/dist/esm/brokerTool.js +15 -2
  53. package/dist/esm/brokerTool.js.map +1 -1
  54. package/dist/esm/config/priceFeedConfig.json +0 -18
  55. package/dist/esm/contracts/IPerpetualManager.d.ts +74 -10
  56. package/dist/esm/contracts/OracleFactory.d.ts +69 -20
  57. package/dist/esm/contracts/PerpetualManagerProxy.d.ts +109 -4
  58. package/dist/esm/contracts/factories/IPerpetualManager__factory.d.ts +95 -3
  59. package/dist/esm/contracts/factories/IPerpetualManager__factory.js +124 -3
  60. package/dist/esm/contracts/factories/IPerpetualManager__factory.js.map +1 -1
  61. package/dist/esm/contracts/factories/OracleFactory__factory.d.ts +75 -20
  62. package/dist/esm/contracts/factories/OracleFactory__factory.js +94 -25
  63. package/dist/esm/contracts/factories/OracleFactory__factory.js.map +1 -1
  64. package/dist/{cjs/contracts/factories/MockToken__factory.d.ts → esm/contracts/factories/PerpStorage__factory.d.ts} +115 -128
  65. package/dist/esm/contracts/factories/{MockToken__factory.js → PerpStorage__factory.js} +128 -139
  66. package/dist/esm/contracts/factories/PerpStorage__factory.js.map +1 -0
  67. package/dist/esm/contracts/factories/PerpetualManagerProxy__factory.d.ts +159 -2
  68. package/dist/esm/contracts/factories/PerpetualManagerProxy__factory.js +212 -2
  69. package/dist/esm/contracts/factories/PerpetualManagerProxy__factory.js.map +1 -1
  70. package/dist/esm/d8XMath.d.ts +44 -1
  71. package/dist/esm/d8XMath.js +229 -2
  72. package/dist/esm/d8XMath.js.map +1 -1
  73. package/dist/esm/liquidatorTool.d.ts +1 -0
  74. package/dist/esm/liquidatorTool.js +25 -8
  75. package/dist/esm/liquidatorTool.js.map +1 -1
  76. package/dist/esm/marketData.d.ts +42 -20
  77. package/dist/esm/marketData.js +263 -190
  78. package/dist/esm/marketData.js.map +1 -1
  79. package/dist/esm/nodeSDKTypes.d.ts +24 -2
  80. package/dist/esm/nodeSDKTypes.js.map +1 -1
  81. package/dist/esm/orderExecutorTool.d.ts +3 -3
  82. package/dist/esm/orderExecutorTool.js +38 -13
  83. package/dist/esm/orderExecutorTool.js.map +1 -1
  84. package/dist/esm/perpetualDataHandler.d.ts +22 -12
  85. package/dist/esm/perpetualDataHandler.js +60 -45
  86. package/dist/esm/perpetualDataHandler.js.map +1 -1
  87. package/dist/esm/perpetualEventHandler.d.ts +1 -1
  88. package/dist/esm/perpetualEventHandler.js +6 -7
  89. package/dist/esm/perpetualEventHandler.js.map +1 -1
  90. package/dist/esm/polyMktsPxFeed.d.ts +6 -4
  91. package/dist/esm/polyMktsPxFeed.js +24 -3
  92. package/dist/esm/polyMktsPxFeed.js.map +1 -1
  93. package/dist/esm/priceFeeds.d.ts +6 -7
  94. package/dist/esm/priceFeeds.js +36 -14
  95. package/dist/esm/priceFeeds.js.map +1 -1
  96. package/dist/esm/version.d.ts +1 -1
  97. package/dist/esm/version.js +1 -1
  98. package/package.json +1 -1
  99. package/src/abi/IPerpetualManager.json +124 -3
  100. package/src/abi/OracleFactory.json +523 -454
  101. package/src/abi/PerpetualManagerProxy.json +1596 -1386
  102. package/src/brokerTool.ts +16 -2
  103. package/src/config/priceFeedConfig.json +0 -18
  104. package/src/contracts/IPerpetualManager.ts +107 -7
  105. package/src/contracts/OracleFactory.ts +100 -26
  106. package/src/contracts/PerpetualManagerProxy.ts +192 -3
  107. package/src/contracts/factories/IPerpetualManager__factory.ts +124 -3
  108. package/src/contracts/factories/OracleFactory__factory.ts +94 -25
  109. package/src/contracts/factories/PerpetualManagerProxy__factory.ts +212 -2
  110. package/src/d8XMath.ts +304 -2
  111. package/src/liquidatorTool.ts +29 -14
  112. package/src/marketData.ts +415 -238
  113. package/src/nodeSDKTypes.ts +30 -2
  114. package/src/orderExecutorTool.ts +48 -20
  115. package/src/perpetualDataHandler.ts +87 -45
  116. package/src/perpetualEventHandler.ts +6 -7
  117. package/src/polyMktsPxFeed.ts +30 -5
  118. package/src/priceFeeds.ts +41 -17
  119. package/src/version.ts +1 -1
  120. package/dist/cjs/abi/BeaconProxy.json +0 -71
  121. package/dist/cjs/abi/Maintainer.json +0 -774
  122. package/dist/cjs/abi/MockToken.json +0 -347
  123. package/dist/cjs/abi/UUPSUpgradeable.json +0 -104
  124. package/dist/cjs/abi/WeETH.json +0 -310
  125. package/dist/cjs/abi-zkevm/LimitOrderBook.json +0 -910
  126. package/dist/cjs/abi-zkevm/LimitOrderBookFactory.json +0 -236
  127. package/dist/cjs/contracts/BeaconProxy.d.ts +0 -63
  128. package/dist/cjs/contracts/BeaconProxy.js +0 -3
  129. package/dist/cjs/contracts/BeaconProxy.js.map +0 -1
  130. package/dist/cjs/contracts/Maintainer.d.ts +0 -799
  131. package/dist/cjs/contracts/Maintainer.js +0 -3
  132. package/dist/cjs/contracts/Maintainer.js.map +0 -1
  133. package/dist/cjs/contracts/MockToken.d.ts +0 -263
  134. package/dist/cjs/contracts/MockToken.js +0 -3
  135. package/dist/cjs/contracts/MockToken.js.map +0 -1
  136. package/dist/cjs/contracts/UUPSUpgradeable.d.ts +0 -118
  137. package/dist/cjs/contracts/UUPSUpgradeable.js +0 -3
  138. package/dist/cjs/contracts/UUPSUpgradeable.js.map +0 -1
  139. package/dist/cjs/contracts/WeETH.d.ts +0 -503
  140. package/dist/cjs/contracts/WeETH.js +0 -3
  141. package/dist/cjs/contracts/WeETH.js.map +0 -1
  142. package/dist/cjs/contracts/factories/BeaconProxy__factory.d.ts +0 -61
  143. package/dist/cjs/contracts/factories/BeaconProxy__factory.js +0 -89
  144. package/dist/cjs/contracts/factories/BeaconProxy__factory.js.map +0 -1
  145. package/dist/cjs/contracts/factories/Maintainer__factory.d.ts +0 -609
  146. package/dist/cjs/contracts/factories/Maintainer__factory.js +0 -792
  147. package/dist/cjs/contracts/factories/Maintainer__factory.js.map +0 -1
  148. package/dist/cjs/contracts/factories/MockToken__factory.js +0 -365
  149. package/dist/cjs/contracts/factories/MockToken__factory.js.map +0 -1
  150. package/dist/cjs/contracts/factories/UUPSUpgradeable__factory.d.ts +0 -87
  151. package/dist/cjs/contracts/factories/UUPSUpgradeable__factory.js +0 -122
  152. package/dist/cjs/contracts/factories/UUPSUpgradeable__factory.js.map +0 -1
  153. package/dist/cjs/contracts/factories/WeETH__factory.d.ts +0 -545
  154. package/dist/cjs/contracts/factories/WeETH__factory.js +0 -721
  155. package/dist/cjs/contracts/factories/WeETH__factory.js.map +0 -1
  156. package/dist/cjs/contracts/factories/lean0/IPerpetualManager__factory.d.ts +0 -4136
  157. package/dist/cjs/contracts/factories/lean0/IPerpetualManager__factory.js +0 -5324
  158. package/dist/cjs/contracts/factories/lean0/IPerpetualManager__factory.js.map +0 -1
  159. package/dist/cjs/contracts/factories/lean0/LimitOrderBookFactory__factory.d.ts +0 -189
  160. package/dist/cjs/contracts/factories/lean0/LimitOrderBookFactory__factory.js +0 -254
  161. package/dist/cjs/contracts/factories/lean0/LimitOrderBookFactory__factory.js.map +0 -1
  162. package/dist/cjs/contracts/factories/lean0/LimitOrderBook__factory.d.ts +0 -715
  163. package/dist/cjs/contracts/factories/lean0/LimitOrderBook__factory.js +0 -928
  164. package/dist/cjs/contracts/factories/lean0/LimitOrderBook__factory.js.map +0 -1
  165. package/dist/cjs/contracts/factories/lean0/ShareToken__factory.d.ts +0 -344
  166. package/dist/cjs/contracts/factories/lean0/ShareToken__factory.js +0 -456
  167. package/dist/cjs/contracts/factories/lean0/ShareToken__factory.js.map +0 -1
  168. package/dist/cjs/contracts/factories/lean0/index.d.ts +0 -4
  169. package/dist/cjs/contracts/factories/lean0/index.js +0 -15
  170. package/dist/cjs/contracts/factories/lean0/index.js.map +0 -1
  171. package/dist/cjs/contracts/lean0/IPerpetualManager.d.ts +0 -2821
  172. package/dist/cjs/contracts/lean0/IPerpetualManager.js +0 -3
  173. package/dist/cjs/contracts/lean0/IPerpetualManager.js.map +0 -1
  174. package/dist/cjs/contracts/lean0/LimitOrderBook.d.ts +0 -533
  175. package/dist/cjs/contracts/lean0/LimitOrderBook.js +0 -3
  176. package/dist/cjs/contracts/lean0/LimitOrderBook.js.map +0 -1
  177. package/dist/cjs/contracts/lean0/LimitOrderBookFactory.d.ts +0 -210
  178. package/dist/cjs/contracts/lean0/LimitOrderBookFactory.js +0 -3
  179. package/dist/cjs/contracts/lean0/LimitOrderBookFactory.js.map +0 -1
  180. package/dist/cjs/contracts/lean0/ShareToken.d.ts +0 -320
  181. package/dist/cjs/contracts/lean0/ShareToken.js +0 -3
  182. package/dist/cjs/contracts/lean0/ShareToken.js.map +0 -1
  183. package/dist/cjs/contracts/lean0/index.d.ts +0 -4
  184. package/dist/cjs/contracts/lean0/index.js +0 -3
  185. package/dist/cjs/contracts/lean0/index.js.map +0 -1
  186. package/dist/esm/abi/BeaconProxy.json +0 -71
  187. package/dist/esm/abi/Maintainer.json +0 -774
  188. package/dist/esm/abi/MockToken.json +0 -347
  189. package/dist/esm/abi/UUPSUpgradeable.json +0 -104
  190. package/dist/esm/abi/WeETH.json +0 -310
  191. package/dist/esm/abi/lean0/IPerpetualManager.json +0 -5306
  192. package/dist/esm/abi/lean0/LimitOrderBook.json +0 -910
  193. package/dist/esm/abi/lean0/LimitOrderBookFactory.json +0 -236
  194. package/dist/esm/abi/lean0/ShareToken.json +0 -438
  195. package/dist/esm/abi-zkevm/LimitOrderBook.json +0 -910
  196. package/dist/esm/abi-zkevm/LimitOrderBookFactory.json +0 -236
  197. package/dist/esm/contracts/BeaconProxy.d.ts +0 -63
  198. package/dist/esm/contracts/BeaconProxy.js +0 -2
  199. package/dist/esm/contracts/BeaconProxy.js.map +0 -1
  200. package/dist/esm/contracts/Maintainer.d.ts +0 -799
  201. package/dist/esm/contracts/Maintainer.js +0 -2
  202. package/dist/esm/contracts/Maintainer.js.map +0 -1
  203. package/dist/esm/contracts/MockToken.d.ts +0 -263
  204. package/dist/esm/contracts/MockToken.js +0 -2
  205. package/dist/esm/contracts/MockToken.js.map +0 -1
  206. package/dist/esm/contracts/UUPSUpgradeable.d.ts +0 -118
  207. package/dist/esm/contracts/UUPSUpgradeable.js +0 -2
  208. package/dist/esm/contracts/UUPSUpgradeable.js.map +0 -1
  209. package/dist/esm/contracts/WeETH.d.ts +0 -503
  210. package/dist/esm/contracts/WeETH.js +0 -2
  211. package/dist/esm/contracts/WeETH.js.map +0 -1
  212. package/dist/esm/contracts/factories/BeaconProxy__factory.d.ts +0 -61
  213. package/dist/esm/contracts/factories/BeaconProxy__factory.js +0 -85
  214. package/dist/esm/contracts/factories/BeaconProxy__factory.js.map +0 -1
  215. package/dist/esm/contracts/factories/Maintainer__factory.d.ts +0 -609
  216. package/dist/esm/contracts/factories/Maintainer__factory.js +0 -788
  217. package/dist/esm/contracts/factories/Maintainer__factory.js.map +0 -1
  218. package/dist/esm/contracts/factories/MockToken__factory.d.ts +0 -273
  219. package/dist/esm/contracts/factories/MockToken__factory.js.map +0 -1
  220. package/dist/esm/contracts/factories/UUPSUpgradeable__factory.d.ts +0 -87
  221. package/dist/esm/contracts/factories/UUPSUpgradeable__factory.js +0 -118
  222. package/dist/esm/contracts/factories/UUPSUpgradeable__factory.js.map +0 -1
  223. package/dist/esm/contracts/factories/WeETH__factory.d.ts +0 -545
  224. package/dist/esm/contracts/factories/WeETH__factory.js +0 -717
  225. package/dist/esm/contracts/factories/WeETH__factory.js.map +0 -1
  226. package/dist/esm/contracts/factories/lean0/IPerpetualManager__factory.d.ts +0 -4136
  227. package/dist/esm/contracts/factories/lean0/IPerpetualManager__factory.js +0 -5320
  228. package/dist/esm/contracts/factories/lean0/IPerpetualManager__factory.js.map +0 -1
  229. package/dist/esm/contracts/factories/lean0/LimitOrderBookFactory__factory.d.ts +0 -189
  230. package/dist/esm/contracts/factories/lean0/LimitOrderBookFactory__factory.js +0 -250
  231. package/dist/esm/contracts/factories/lean0/LimitOrderBookFactory__factory.js.map +0 -1
  232. package/dist/esm/contracts/factories/lean0/LimitOrderBook__factory.d.ts +0 -715
  233. package/dist/esm/contracts/factories/lean0/LimitOrderBook__factory.js +0 -924
  234. package/dist/esm/contracts/factories/lean0/LimitOrderBook__factory.js.map +0 -1
  235. package/dist/esm/contracts/factories/lean0/ShareToken__factory.d.ts +0 -344
  236. package/dist/esm/contracts/factories/lean0/ShareToken__factory.js +0 -452
  237. package/dist/esm/contracts/factories/lean0/ShareToken__factory.js.map +0 -1
  238. package/dist/esm/contracts/factories/lean0/index.d.ts +0 -4
  239. package/dist/esm/contracts/factories/lean0/index.js +0 -8
  240. package/dist/esm/contracts/factories/lean0/index.js.map +0 -1
  241. package/dist/esm/contracts/lean0/IPerpetualManager.d.ts +0 -2821
  242. package/dist/esm/contracts/lean0/IPerpetualManager.js +0 -2
  243. package/dist/esm/contracts/lean0/IPerpetualManager.js.map +0 -1
  244. package/dist/esm/contracts/lean0/LimitOrderBook.d.ts +0 -533
  245. package/dist/esm/contracts/lean0/LimitOrderBook.js +0 -2
  246. package/dist/esm/contracts/lean0/LimitOrderBook.js.map +0 -1
  247. package/dist/esm/contracts/lean0/LimitOrderBookFactory.d.ts +0 -210
  248. package/dist/esm/contracts/lean0/LimitOrderBookFactory.js +0 -2
  249. package/dist/esm/contracts/lean0/LimitOrderBookFactory.js.map +0 -1
  250. package/dist/esm/contracts/lean0/ShareToken.d.ts +0 -320
  251. package/dist/esm/contracts/lean0/ShareToken.js +0 -2
  252. package/dist/esm/contracts/lean0/ShareToken.js.map +0 -1
  253. package/dist/esm/contracts/lean0/index.d.ts +0 -4
  254. package/dist/esm/contracts/lean0/index.js +0 -2
  255. package/dist/esm/contracts/lean0/index.js.map +0 -1
package/src/priceFeeds.ts CHANGED
@@ -7,6 +7,8 @@ import type {
7
7
  PriceFeedFormat,
8
8
  PriceFeedSubmission,
9
9
  PythV2LatestPriceFeed,
10
+ IdxPriceInfo,
11
+ PredMktPriceInfo,
10
12
  } from "./nodeSDKTypes";
11
13
  import PerpetualDataHandler from "./perpetualDataHandler";
12
14
  import Triangulator from "./triangulator";
@@ -41,7 +43,7 @@ export default class PriceFeeds {
41
43
  constructor(dataHandler: PerpetualDataHandler, priceFeedConfigNetwork: string) {
42
44
  let configs = require("./config/priceFeedConfig.json") as PriceFeedConfig[];
43
45
  this.config = PriceFeeds._selectConfig(configs, priceFeedConfigNetwork);
44
- this.polyMktsPxFeed = new PolyMktsPxFeed(this.config);
46
+
45
47
  // if SDK config contains custom price feed endpoints, these override the
46
48
  // public/default ones
47
49
  if (dataHandler.config.priceFeedEndpoints && dataHandler.config.priceFeedEndpoints.length > 0) {
@@ -66,7 +68,8 @@ export default class PriceFeeds {
66
68
  if (this.writeFeedEndpoints.length == 0) {
67
69
  throw new Error("PriceFeeds: no writeEndpoints provided in config");
68
70
  }
69
-
71
+ const idx = Math.floor(Math.random() * this.writeFeedEndpoints.length);
72
+ this.polyMktsPxFeed = new PolyMktsPxFeed(this.config, this.writeFeedEndpoints[idx]);
70
73
  this.dataHandler = dataHandler;
71
74
  this.triangulations = new Map<string, [string[], boolean[]]>();
72
75
  }
@@ -200,10 +203,25 @@ export default class PriceFeeds {
200
203
  /**
201
204
  * Get index prices and market closed information for the given perpetual
202
205
  * @param symbol perpetual symbol such as ETH-USD-MATIC
203
- * @returns Index prices and market closed information
206
+ * @returns Index prices and market closed information; for prediction markets also
207
+ * ema, confidence, and order book parameters.
204
208
  */
205
- public async fetchPricesForPerpetual(symbol: string): Promise<{ idxPrices: number[]; mktClosed: boolean[] }> {
209
+ public async fetchPricesForPerpetual(symbol: string): Promise<IdxPriceInfo> {
206
210
  let indexSymbols = this.dataHandler.getIndexSymbols(symbol).filter((x) => x != "");
211
+ if (this.dataHandler.isPredictionMarket(symbol)) {
212
+ let priceObj = await this.polyMktsPxFeed.fetchPriceForSym(indexSymbols[0]);
213
+ const s3map = await this.fetchFeedPrices([indexSymbols[1]]);
214
+ const s3 = s3map.get(indexSymbols[1])!;
215
+ return {
216
+ s2: priceObj.s2,
217
+ s3: s3[0],
218
+ ema: priceObj.ema,
219
+ s2MktClosed: priceObj.s2MktClosed,
220
+ s3MktClosed: s3[1],
221
+ conf: priceObj.conf,
222
+ predMktCLOBParams: priceObj.predMktCLOBParams,
223
+ } as IdxPriceInfo;
224
+ }
207
225
  // determine relevant price feeds
208
226
  let feedSymbols = new Array<string>();
209
227
  for (let sym of indexSymbols) {
@@ -222,12 +240,15 @@ export default class PriceFeeds {
222
240
  let feedPrices = await this.fetchFeedPrices(feedSymbols);
223
241
  // triangulate
224
242
  let [prices, mktClosed] = this.triangulatePricesFromFeedPrices(indexSymbols, feedPrices);
225
- // ensure we return an array of 2 in all cases
226
- if (prices.length == 1) {
227
- prices.push(0);
228
- mktClosed.push(false);
229
- }
230
- return { idxPrices: prices, mktClosed: mktClosed };
243
+ return {
244
+ s2: prices[0],
245
+ s3: prices[1],
246
+ ema: prices[0],
247
+ s2MktClosed: mktClosed[0],
248
+ s3MktClosed: mktClosed[1],
249
+ conf: BigInt(0),
250
+ predMktCLOBParams: BigInt(0),
251
+ } as IdxPriceInfo;
231
252
  }
232
253
 
233
254
  /**
@@ -238,7 +259,8 @@ export default class PriceFeeds {
238
259
  * endpoints are used
239
260
  * @param symbols array of feed-price symbols (e.g., [btc-usd, eth-usd]) or
240
261
  * undefined
241
- * @returns mapping symbol-> [price, isMarketClosed]
262
+ * @returns mapping symbol-> [price, isMarketClosed], also has an entry
263
+ * <symbol>:ema for each polymarket symbol that maps to the ema price
242
264
  */
243
265
  public async fetchFeedPrices(symbols?: string[]): Promise<Map<string, [number, boolean]>> {
244
266
  let queries = new Array<string>(this.feedEndpoints.length);
@@ -301,10 +323,11 @@ export default class PriceFeeds {
301
323
  let polyPxs = await polyMktsPromise;
302
324
  for (let k = 0; k < polyPxs.length; k++) {
303
325
  let sym = polyMktSyms[k];
304
- if (polyPxs[k] == -1) {
326
+ if (polyPxs[k] == undefined) {
305
327
  continue;
306
328
  }
307
- resultPrices.set(sym, [polyPxs[k], false]);
329
+ resultPrices.set(sym, [polyPxs[k]!.s2, polyPxs[k]!.s2MktClosed]);
330
+ resultPrices.set(sym + ":ema", [polyPxs[k]!.ema, polyPxs[k]!.s2MktClosed]);
308
331
  }
309
332
  return resultPrices;
310
333
  }
@@ -320,15 +343,16 @@ export default class PriceFeeds {
320
343
  return prices;
321
344
  }
322
345
 
346
+ // returns an array with two values per symbol: price, ema
323
347
  private async queryPolyMktsPxFeeds(symbols: string[]) {
324
- let prices: number[] = new Array<number>();
348
+ let prices = new Array<PredMktPriceInfo | undefined>();
325
349
  for (let k = 0; k < symbols.length; k++) {
326
350
  try {
327
- let price = await this.polyMktsPxFeed.fetchPriceForSym(symbols[k]);
328
- prices.push(price);
351
+ let info = await this.polyMktsPxFeed.fetchPriceForSym(symbols[k]);
352
+ prices.push(info);
329
353
  } catch (error) {
330
354
  console.log("fetchPriceForSym failed for " + symbols[k]);
331
- prices.push(-1);
355
+ prices.push(undefined);
332
356
  }
333
357
  if (k > 0) {
334
358
  await sleep(0.25);
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const D8X_SDK_VERSION = "2.0.13-alpha";
1
+ export const D8X_SDK_VERSION = "2.1.0-alpha2";
@@ -1,71 +0,0 @@
1
- [
2
- {
3
- "inputs": [
4
- {
5
- "internalType": "address",
6
- "name": "beacon",
7
- "type": "address"
8
- },
9
- {
10
- "internalType": "bytes",
11
- "name": "data",
12
- "type": "bytes"
13
- }
14
- ],
15
- "stateMutability": "payable",
16
- "type": "constructor"
17
- },
18
- {
19
- "anonymous": false,
20
- "inputs": [
21
- {
22
- "indexed": false,
23
- "internalType": "address",
24
- "name": "previousAdmin",
25
- "type": "address"
26
- },
27
- {
28
- "indexed": false,
29
- "internalType": "address",
30
- "name": "newAdmin",
31
- "type": "address"
32
- }
33
- ],
34
- "name": "AdminChanged",
35
- "type": "event"
36
- },
37
- {
38
- "anonymous": false,
39
- "inputs": [
40
- {
41
- "indexed": true,
42
- "internalType": "address",
43
- "name": "beacon",
44
- "type": "address"
45
- }
46
- ],
47
- "name": "BeaconUpgraded",
48
- "type": "event"
49
- },
50
- {
51
- "anonymous": false,
52
- "inputs": [
53
- {
54
- "indexed": true,
55
- "internalType": "address",
56
- "name": "implementation",
57
- "type": "address"
58
- }
59
- ],
60
- "name": "Upgraded",
61
- "type": "event"
62
- },
63
- {
64
- "stateMutability": "payable",
65
- "type": "fallback"
66
- },
67
- {
68
- "stateMutability": "payable",
69
- "type": "receive"
70
- }
71
- ]