@d8x/perpetuals-sdk 2.0.12-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 (252) 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/contracts/IPerpetualManager.d.ts +74 -10
  8. package/dist/cjs/contracts/OracleFactory.d.ts +69 -20
  9. package/dist/cjs/contracts/PerpetualManagerProxy.d.ts +109 -4
  10. package/dist/cjs/contracts/factories/IPerpetualManager__factory.d.ts +95 -3
  11. package/dist/cjs/contracts/factories/IPerpetualManager__factory.js +124 -3
  12. package/dist/cjs/contracts/factories/IPerpetualManager__factory.js.map +1 -1
  13. package/dist/cjs/contracts/factories/OracleFactory__factory.d.ts +75 -20
  14. package/dist/cjs/contracts/factories/OracleFactory__factory.js +94 -25
  15. package/dist/cjs/contracts/factories/OracleFactory__factory.js.map +1 -1
  16. package/dist/cjs/contracts/factories/PerpetualManagerProxy__factory.d.ts +159 -2
  17. package/dist/cjs/contracts/factories/PerpetualManagerProxy__factory.js +212 -2
  18. package/dist/cjs/contracts/factories/PerpetualManagerProxy__factory.js.map +1 -1
  19. package/dist/cjs/d8XMath.d.ts +44 -1
  20. package/dist/cjs/d8XMath.js +236 -3
  21. package/dist/cjs/d8XMath.js.map +1 -1
  22. package/dist/cjs/liquidatorTool.d.ts +1 -0
  23. package/dist/cjs/liquidatorTool.js +24 -7
  24. package/dist/cjs/liquidatorTool.js.map +1 -1
  25. package/dist/cjs/marketData.d.ts +42 -20
  26. package/dist/cjs/marketData.js +261 -188
  27. package/dist/cjs/marketData.js.map +1 -1
  28. package/dist/cjs/nodeSDKTypes.d.ts +24 -2
  29. package/dist/cjs/nodeSDKTypes.js.map +1 -1
  30. package/dist/cjs/orderExecutorTool.d.ts +3 -3
  31. package/dist/cjs/orderExecutorTool.js +38 -13
  32. package/dist/cjs/orderExecutorTool.js.map +1 -1
  33. package/dist/cjs/perpetualDataHandler.d.ts +22 -12
  34. package/dist/cjs/perpetualDataHandler.js +59 -44
  35. package/dist/cjs/perpetualDataHandler.js.map +1 -1
  36. package/dist/cjs/perpetualEventHandler.d.ts +1 -1
  37. package/dist/cjs/perpetualEventHandler.js +6 -7
  38. package/dist/cjs/perpetualEventHandler.js.map +1 -1
  39. package/dist/cjs/polyMktsPxFeed.d.ts +6 -4
  40. package/dist/cjs/polyMktsPxFeed.js +24 -3
  41. package/dist/cjs/polyMktsPxFeed.js.map +1 -1
  42. package/dist/cjs/priceFeeds.d.ts +6 -7
  43. package/dist/cjs/priceFeeds.js +36 -14
  44. package/dist/cjs/priceFeeds.js.map +1 -1
  45. package/dist/cjs/version.d.ts +1 -1
  46. package/dist/cjs/version.js +1 -1
  47. package/dist/esm/abi/IPerpetualManager.json +124 -3
  48. package/dist/esm/abi/OracleFactory.json +94 -25
  49. package/dist/esm/abi/PerpetualManagerProxy.json +212 -2
  50. package/dist/esm/brokerTool.d.ts +5 -1
  51. package/dist/esm/brokerTool.js +15 -2
  52. package/dist/esm/brokerTool.js.map +1 -1
  53. package/dist/esm/contracts/IPerpetualManager.d.ts +74 -10
  54. package/dist/esm/contracts/OracleFactory.d.ts +69 -20
  55. package/dist/esm/contracts/PerpetualManagerProxy.d.ts +109 -4
  56. package/dist/esm/contracts/factories/IPerpetualManager__factory.d.ts +95 -3
  57. package/dist/esm/contracts/factories/IPerpetualManager__factory.js +124 -3
  58. package/dist/esm/contracts/factories/IPerpetualManager__factory.js.map +1 -1
  59. package/dist/esm/contracts/factories/OracleFactory__factory.d.ts +75 -20
  60. package/dist/esm/contracts/factories/OracleFactory__factory.js +94 -25
  61. package/dist/esm/contracts/factories/OracleFactory__factory.js.map +1 -1
  62. package/dist/{cjs/contracts/factories/MockToken__factory.d.ts → esm/contracts/factories/PerpStorage__factory.d.ts} +115 -128
  63. package/dist/esm/contracts/factories/{MockToken__factory.js → PerpStorage__factory.js} +128 -139
  64. package/dist/esm/contracts/factories/PerpStorage__factory.js.map +1 -0
  65. package/dist/esm/contracts/factories/PerpetualManagerProxy__factory.d.ts +159 -2
  66. package/dist/esm/contracts/factories/PerpetualManagerProxy__factory.js +212 -2
  67. package/dist/esm/contracts/factories/PerpetualManagerProxy__factory.js.map +1 -1
  68. package/dist/esm/d8XMath.d.ts +44 -1
  69. package/dist/esm/d8XMath.js +229 -2
  70. package/dist/esm/d8XMath.js.map +1 -1
  71. package/dist/esm/liquidatorTool.d.ts +1 -0
  72. package/dist/esm/liquidatorTool.js +25 -8
  73. package/dist/esm/liquidatorTool.js.map +1 -1
  74. package/dist/esm/marketData.d.ts +42 -20
  75. package/dist/esm/marketData.js +263 -190
  76. package/dist/esm/marketData.js.map +1 -1
  77. package/dist/esm/nodeSDKTypes.d.ts +24 -2
  78. package/dist/esm/nodeSDKTypes.js.map +1 -1
  79. package/dist/esm/orderExecutorTool.d.ts +3 -3
  80. package/dist/esm/orderExecutorTool.js +38 -13
  81. package/dist/esm/orderExecutorTool.js.map +1 -1
  82. package/dist/esm/perpetualDataHandler.d.ts +22 -12
  83. package/dist/esm/perpetualDataHandler.js +60 -45
  84. package/dist/esm/perpetualDataHandler.js.map +1 -1
  85. package/dist/esm/perpetualEventHandler.d.ts +1 -1
  86. package/dist/esm/perpetualEventHandler.js +6 -7
  87. package/dist/esm/perpetualEventHandler.js.map +1 -1
  88. package/dist/esm/polyMktsPxFeed.d.ts +6 -4
  89. package/dist/esm/polyMktsPxFeed.js +24 -3
  90. package/dist/esm/polyMktsPxFeed.js.map +1 -1
  91. package/dist/esm/priceFeeds.d.ts +6 -7
  92. package/dist/esm/priceFeeds.js +36 -14
  93. package/dist/esm/priceFeeds.js.map +1 -1
  94. package/dist/esm/version.d.ts +1 -1
  95. package/dist/esm/version.js +1 -1
  96. package/package.json +1 -1
  97. package/src/abi/IPerpetualManager.json +124 -3
  98. package/src/abi/OracleFactory.json +523 -454
  99. package/src/abi/PerpetualManagerProxy.json +1596 -1386
  100. package/src/brokerTool.ts +16 -2
  101. package/src/contracts/IPerpetualManager.ts +107 -7
  102. package/src/contracts/OracleFactory.ts +100 -26
  103. package/src/contracts/PerpetualManagerProxy.ts +192 -3
  104. package/src/contracts/factories/IPerpetualManager__factory.ts +124 -3
  105. package/src/contracts/factories/OracleFactory__factory.ts +94 -25
  106. package/src/contracts/factories/PerpetualManagerProxy__factory.ts +212 -2
  107. package/src/d8XMath.ts +304 -2
  108. package/src/liquidatorTool.ts +29 -14
  109. package/src/marketData.ts +415 -238
  110. package/src/nodeSDKTypes.ts +30 -2
  111. package/src/orderExecutorTool.ts +48 -20
  112. package/src/perpetualDataHandler.ts +87 -45
  113. package/src/perpetualEventHandler.ts +6 -7
  114. package/src/polyMktsPxFeed.ts +30 -5
  115. package/src/priceFeeds.ts +41 -17
  116. package/src/version.ts +1 -1
  117. package/dist/cjs/abi/BeaconProxy.json +0 -71
  118. package/dist/cjs/abi/Maintainer.json +0 -774
  119. package/dist/cjs/abi/MockToken.json +0 -347
  120. package/dist/cjs/abi/UUPSUpgradeable.json +0 -104
  121. package/dist/cjs/abi/WeETH.json +0 -310
  122. package/dist/cjs/abi-zkevm/LimitOrderBook.json +0 -910
  123. package/dist/cjs/abi-zkevm/LimitOrderBookFactory.json +0 -236
  124. package/dist/cjs/contracts/BeaconProxy.d.ts +0 -63
  125. package/dist/cjs/contracts/BeaconProxy.js +0 -3
  126. package/dist/cjs/contracts/BeaconProxy.js.map +0 -1
  127. package/dist/cjs/contracts/Maintainer.d.ts +0 -799
  128. package/dist/cjs/contracts/Maintainer.js +0 -3
  129. package/dist/cjs/contracts/Maintainer.js.map +0 -1
  130. package/dist/cjs/contracts/MockToken.d.ts +0 -263
  131. package/dist/cjs/contracts/MockToken.js +0 -3
  132. package/dist/cjs/contracts/MockToken.js.map +0 -1
  133. package/dist/cjs/contracts/UUPSUpgradeable.d.ts +0 -118
  134. package/dist/cjs/contracts/UUPSUpgradeable.js +0 -3
  135. package/dist/cjs/contracts/UUPSUpgradeable.js.map +0 -1
  136. package/dist/cjs/contracts/WeETH.d.ts +0 -503
  137. package/dist/cjs/contracts/WeETH.js +0 -3
  138. package/dist/cjs/contracts/WeETH.js.map +0 -1
  139. package/dist/cjs/contracts/factories/BeaconProxy__factory.d.ts +0 -61
  140. package/dist/cjs/contracts/factories/BeaconProxy__factory.js +0 -89
  141. package/dist/cjs/contracts/factories/BeaconProxy__factory.js.map +0 -1
  142. package/dist/cjs/contracts/factories/Maintainer__factory.d.ts +0 -609
  143. package/dist/cjs/contracts/factories/Maintainer__factory.js +0 -792
  144. package/dist/cjs/contracts/factories/Maintainer__factory.js.map +0 -1
  145. package/dist/cjs/contracts/factories/MockToken__factory.js +0 -365
  146. package/dist/cjs/contracts/factories/MockToken__factory.js.map +0 -1
  147. package/dist/cjs/contracts/factories/UUPSUpgradeable__factory.d.ts +0 -87
  148. package/dist/cjs/contracts/factories/UUPSUpgradeable__factory.js +0 -122
  149. package/dist/cjs/contracts/factories/UUPSUpgradeable__factory.js.map +0 -1
  150. package/dist/cjs/contracts/factories/WeETH__factory.d.ts +0 -545
  151. package/dist/cjs/contracts/factories/WeETH__factory.js +0 -721
  152. package/dist/cjs/contracts/factories/WeETH__factory.js.map +0 -1
  153. package/dist/cjs/contracts/factories/lean0/IPerpetualManager__factory.d.ts +0 -4136
  154. package/dist/cjs/contracts/factories/lean0/IPerpetualManager__factory.js +0 -5324
  155. package/dist/cjs/contracts/factories/lean0/IPerpetualManager__factory.js.map +0 -1
  156. package/dist/cjs/contracts/factories/lean0/LimitOrderBookFactory__factory.d.ts +0 -189
  157. package/dist/cjs/contracts/factories/lean0/LimitOrderBookFactory__factory.js +0 -254
  158. package/dist/cjs/contracts/factories/lean0/LimitOrderBookFactory__factory.js.map +0 -1
  159. package/dist/cjs/contracts/factories/lean0/LimitOrderBook__factory.d.ts +0 -715
  160. package/dist/cjs/contracts/factories/lean0/LimitOrderBook__factory.js +0 -928
  161. package/dist/cjs/contracts/factories/lean0/LimitOrderBook__factory.js.map +0 -1
  162. package/dist/cjs/contracts/factories/lean0/ShareToken__factory.d.ts +0 -344
  163. package/dist/cjs/contracts/factories/lean0/ShareToken__factory.js +0 -456
  164. package/dist/cjs/contracts/factories/lean0/ShareToken__factory.js.map +0 -1
  165. package/dist/cjs/contracts/factories/lean0/index.d.ts +0 -4
  166. package/dist/cjs/contracts/factories/lean0/index.js +0 -15
  167. package/dist/cjs/contracts/factories/lean0/index.js.map +0 -1
  168. package/dist/cjs/contracts/lean0/IPerpetualManager.d.ts +0 -2821
  169. package/dist/cjs/contracts/lean0/IPerpetualManager.js +0 -3
  170. package/dist/cjs/contracts/lean0/IPerpetualManager.js.map +0 -1
  171. package/dist/cjs/contracts/lean0/LimitOrderBook.d.ts +0 -533
  172. package/dist/cjs/contracts/lean0/LimitOrderBook.js +0 -3
  173. package/dist/cjs/contracts/lean0/LimitOrderBook.js.map +0 -1
  174. package/dist/cjs/contracts/lean0/LimitOrderBookFactory.d.ts +0 -210
  175. package/dist/cjs/contracts/lean0/LimitOrderBookFactory.js +0 -3
  176. package/dist/cjs/contracts/lean0/LimitOrderBookFactory.js.map +0 -1
  177. package/dist/cjs/contracts/lean0/ShareToken.d.ts +0 -320
  178. package/dist/cjs/contracts/lean0/ShareToken.js +0 -3
  179. package/dist/cjs/contracts/lean0/ShareToken.js.map +0 -1
  180. package/dist/cjs/contracts/lean0/index.d.ts +0 -4
  181. package/dist/cjs/contracts/lean0/index.js +0 -3
  182. package/dist/cjs/contracts/lean0/index.js.map +0 -1
  183. package/dist/esm/abi/BeaconProxy.json +0 -71
  184. package/dist/esm/abi/Maintainer.json +0 -774
  185. package/dist/esm/abi/MockToken.json +0 -347
  186. package/dist/esm/abi/UUPSUpgradeable.json +0 -104
  187. package/dist/esm/abi/WeETH.json +0 -310
  188. package/dist/esm/abi/lean0/IPerpetualManager.json +0 -5306
  189. package/dist/esm/abi/lean0/LimitOrderBook.json +0 -910
  190. package/dist/esm/abi/lean0/LimitOrderBookFactory.json +0 -236
  191. package/dist/esm/abi/lean0/ShareToken.json +0 -438
  192. package/dist/esm/abi-zkevm/LimitOrderBook.json +0 -910
  193. package/dist/esm/abi-zkevm/LimitOrderBookFactory.json +0 -236
  194. package/dist/esm/contracts/BeaconProxy.d.ts +0 -63
  195. package/dist/esm/contracts/BeaconProxy.js +0 -2
  196. package/dist/esm/contracts/BeaconProxy.js.map +0 -1
  197. package/dist/esm/contracts/Maintainer.d.ts +0 -799
  198. package/dist/esm/contracts/Maintainer.js +0 -2
  199. package/dist/esm/contracts/Maintainer.js.map +0 -1
  200. package/dist/esm/contracts/MockToken.d.ts +0 -263
  201. package/dist/esm/contracts/MockToken.js +0 -2
  202. package/dist/esm/contracts/MockToken.js.map +0 -1
  203. package/dist/esm/contracts/UUPSUpgradeable.d.ts +0 -118
  204. package/dist/esm/contracts/UUPSUpgradeable.js +0 -2
  205. package/dist/esm/contracts/UUPSUpgradeable.js.map +0 -1
  206. package/dist/esm/contracts/WeETH.d.ts +0 -503
  207. package/dist/esm/contracts/WeETH.js +0 -2
  208. package/dist/esm/contracts/WeETH.js.map +0 -1
  209. package/dist/esm/contracts/factories/BeaconProxy__factory.d.ts +0 -61
  210. package/dist/esm/contracts/factories/BeaconProxy__factory.js +0 -85
  211. package/dist/esm/contracts/factories/BeaconProxy__factory.js.map +0 -1
  212. package/dist/esm/contracts/factories/Maintainer__factory.d.ts +0 -609
  213. package/dist/esm/contracts/factories/Maintainer__factory.js +0 -788
  214. package/dist/esm/contracts/factories/Maintainer__factory.js.map +0 -1
  215. package/dist/esm/contracts/factories/MockToken__factory.d.ts +0 -273
  216. package/dist/esm/contracts/factories/MockToken__factory.js.map +0 -1
  217. package/dist/esm/contracts/factories/UUPSUpgradeable__factory.d.ts +0 -87
  218. package/dist/esm/contracts/factories/UUPSUpgradeable__factory.js +0 -118
  219. package/dist/esm/contracts/factories/UUPSUpgradeable__factory.js.map +0 -1
  220. package/dist/esm/contracts/factories/WeETH__factory.d.ts +0 -545
  221. package/dist/esm/contracts/factories/WeETH__factory.js +0 -717
  222. package/dist/esm/contracts/factories/WeETH__factory.js.map +0 -1
  223. package/dist/esm/contracts/factories/lean0/IPerpetualManager__factory.d.ts +0 -4136
  224. package/dist/esm/contracts/factories/lean0/IPerpetualManager__factory.js +0 -5320
  225. package/dist/esm/contracts/factories/lean0/IPerpetualManager__factory.js.map +0 -1
  226. package/dist/esm/contracts/factories/lean0/LimitOrderBookFactory__factory.d.ts +0 -189
  227. package/dist/esm/contracts/factories/lean0/LimitOrderBookFactory__factory.js +0 -250
  228. package/dist/esm/contracts/factories/lean0/LimitOrderBookFactory__factory.js.map +0 -1
  229. package/dist/esm/contracts/factories/lean0/LimitOrderBook__factory.d.ts +0 -715
  230. package/dist/esm/contracts/factories/lean0/LimitOrderBook__factory.js +0 -924
  231. package/dist/esm/contracts/factories/lean0/LimitOrderBook__factory.js.map +0 -1
  232. package/dist/esm/contracts/factories/lean0/ShareToken__factory.d.ts +0 -344
  233. package/dist/esm/contracts/factories/lean0/ShareToken__factory.js +0 -452
  234. package/dist/esm/contracts/factories/lean0/ShareToken__factory.js.map +0 -1
  235. package/dist/esm/contracts/factories/lean0/index.d.ts +0 -4
  236. package/dist/esm/contracts/factories/lean0/index.js +0 -8
  237. package/dist/esm/contracts/factories/lean0/index.js.map +0 -1
  238. package/dist/esm/contracts/lean0/IPerpetualManager.d.ts +0 -2821
  239. package/dist/esm/contracts/lean0/IPerpetualManager.js +0 -2
  240. package/dist/esm/contracts/lean0/IPerpetualManager.js.map +0 -1
  241. package/dist/esm/contracts/lean0/LimitOrderBook.d.ts +0 -533
  242. package/dist/esm/contracts/lean0/LimitOrderBook.js +0 -2
  243. package/dist/esm/contracts/lean0/LimitOrderBook.js.map +0 -1
  244. package/dist/esm/contracts/lean0/LimitOrderBookFactory.d.ts +0 -210
  245. package/dist/esm/contracts/lean0/LimitOrderBookFactory.js +0 -2
  246. package/dist/esm/contracts/lean0/LimitOrderBookFactory.js.map +0 -1
  247. package/dist/esm/contracts/lean0/ShareToken.d.ts +0 -320
  248. package/dist/esm/contracts/lean0/ShareToken.js +0 -2
  249. package/dist/esm/contracts/lean0/ShareToken.js.map +0 -1
  250. package/dist/esm/contracts/lean0/index.d.ts +0 -4
  251. package/dist/esm/contracts/lean0/index.js +0 -2
  252. 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.12-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
- ]