@quantform/core 0.3.228 → 0.3.232

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 (250) hide show
  1. package/dist/adapter/adapter-aggregate.d.ts +1 -1
  2. package/dist/adapter/adapter-aggregate.js +5 -5
  3. package/dist/adapter/adapter-aggregate.js.map +1 -1
  4. package/dist/adapter/adapter.d.ts +4 -4
  5. package/dist/adapter/adapter.event.d.ts +1 -1
  6. package/dist/adapter/adapter.event.js +1 -1
  7. package/dist/adapter/adapter.js +3 -3
  8. package/dist/adapter/adapter.js.map +1 -1
  9. package/dist/adapter/backtester/backtester-adapter.d.ts +2 -2
  10. package/dist/adapter/backtester/backtester-adapter.js +3 -5
  11. package/dist/adapter/backtester/backtester-adapter.js.map +1 -1
  12. package/dist/adapter/backtester/backtester-cursor.d.ts +1 -1
  13. package/dist/adapter/backtester/backtester-cursor.spec.js.map +1 -1
  14. package/dist/adapter/backtester/backtester-streamer.d.ts +1 -1
  15. package/dist/{common/decimals.spec.d.ts → adapter/backtester/backtester-streamer.spec.d.ts} +0 -0
  16. package/dist/adapter/backtester/backtester-streamer.spec.js +45 -0
  17. package/dist/adapter/backtester/backtester-streamer.spec.js.map +1 -0
  18. package/dist/adapter/paper/{model/paper-model.d.ts → executor/paper-executor.d.ts} +1 -1
  19. package/dist/adapter/paper/{model/paper-model.js → executor/paper-executor.js} +4 -4
  20. package/dist/adapter/paper/executor/paper-executor.js.map +1 -0
  21. package/dist/adapter/paper/{model/paper-margin-model.d.ts → executor/paper-margin-executor.d.ts} +2 -2
  22. package/dist/adapter/paper/{model/paper-margin-model.js → executor/paper-margin-executor.js} +11 -11
  23. package/dist/adapter/paper/executor/paper-margin-executor.js.map +1 -0
  24. package/dist/adapter/paper/{model/paper-spot-model.d.ts → executor/paper-spot-executor.d.ts} +3 -3
  25. package/dist/adapter/paper/{model/paper-spot-model.js → executor/paper-spot-executor.js} +7 -7
  26. package/dist/adapter/paper/executor/paper-spot-executor.js.map +1 -0
  27. package/dist/adapter/paper/index.d.ts +2 -2
  28. package/dist/adapter/paper/index.js +2 -2
  29. package/dist/adapter/paper/index.js.map +1 -1
  30. package/dist/adapter/paper/paper-adapter.d.ts +3 -3
  31. package/dist/adapter/paper/paper-adapter.js +6 -6
  32. package/dist/adapter/paper/paper-adapter.js.map +1 -1
  33. package/dist/adapter/paper/paper-adapter.spec.js +2 -2
  34. package/dist/adapter/paper/paper-adapter.spec.js.map +1 -1
  35. package/dist/bin.d.ts +2 -35
  36. package/dist/bin.js +2 -187
  37. package/dist/bin.js.map +1 -1
  38. package/dist/domain/asset.js +1 -1
  39. package/dist/domain/balance.d.ts +1 -1
  40. package/dist/domain/balance.js +1 -3
  41. package/dist/domain/balance.js.map +1 -1
  42. package/dist/domain/candle-builder.d.ts +1 -1
  43. package/dist/domain/candle.d.ts +1 -1
  44. package/dist/domain/candle.spec.js +2 -2
  45. package/dist/domain/{commision.d.ts → commission.d.ts} +2 -2
  46. package/dist/domain/{commision.js → commission.js} +7 -7
  47. package/dist/domain/commission.js.map +1 -0
  48. package/dist/domain/component.d.ts +1 -1
  49. package/dist/domain/index.d.ts +1 -1
  50. package/dist/domain/index.js +1 -1
  51. package/dist/domain/index.js.map +1 -1
  52. package/dist/domain/instrument.d.ts +3 -3
  53. package/dist/domain/order.d.ts +1 -1
  54. package/dist/domain/orderbook.d.ts +1 -1
  55. package/dist/domain/position.d.ts +1 -1
  56. package/dist/domain/position.js +3 -3
  57. package/dist/domain/trade.d.ts +1 -1
  58. package/dist/index.d.ts +2 -2
  59. package/dist/index.js +2 -2
  60. package/dist/index.js.map +1 -1
  61. package/dist/indicator/truerange.spec.js +6 -6
  62. package/dist/ipc.d.ts +34 -0
  63. package/dist/ipc.js +193 -0
  64. package/dist/ipc.js.map +1 -0
  65. package/dist/session/index.d.ts +1 -0
  66. package/dist/session/index.js +1 -0
  67. package/dist/session/index.js.map +1 -1
  68. package/dist/session/session-descriptor.d.ts +2 -3
  69. package/dist/session/session-statement.d.ts +5 -0
  70. package/dist/session/session-statement.js +87 -0
  71. package/dist/session/session-statement.js.map +1 -0
  72. package/dist/session/session.d.ts +2 -2
  73. package/dist/session/session.js +10 -19
  74. package/dist/session/session.js.map +1 -1
  75. package/dist/session/session.spec.js +3 -3
  76. package/dist/session/session.spec.js.map +1 -1
  77. package/dist/{common → shared}/datetime.d.ts +0 -0
  78. package/dist/{common → shared}/datetime.js +0 -0
  79. package/dist/{common → shared}/datetime.js.map +1 -1
  80. package/dist/{common → shared}/decimals.d.ts +0 -0
  81. package/dist/{common → shared}/decimals.js +0 -0
  82. package/dist/{common → shared}/decimals.js.map +1 -1
  83. package/dist/{common/policy.spec.d.ts → shared/decimals.spec.d.ts} +0 -0
  84. package/dist/{common → shared}/decimals.spec.js +0 -0
  85. package/dist/{common → shared}/decimals.spec.js.map +1 -1
  86. package/dist/{common → shared}/index.d.ts +0 -0
  87. package/dist/{common → shared}/index.js +0 -0
  88. package/dist/{common → shared}/index.js.map +1 -1
  89. package/dist/{common → shared}/io.d.ts +0 -0
  90. package/dist/{common → shared}/io.js +0 -0
  91. package/dist/shared/io.js.map +1 -0
  92. package/dist/{common → shared}/logger.d.ts +0 -0
  93. package/dist/{common → shared}/logger.js +0 -0
  94. package/dist/{common → shared}/logger.js.map +1 -1
  95. package/dist/{common → shared}/policy.d.ts +0 -0
  96. package/dist/{common → shared}/policy.js +0 -0
  97. package/dist/{common → shared}/policy.js.map +1 -1
  98. package/dist/{common/topic.spec.d.ts → shared/policy.spec.d.ts} +0 -0
  99. package/dist/{common → shared}/policy.spec.js +0 -0
  100. package/dist/{common → shared}/policy.spec.js.map +1 -1
  101. package/dist/{common → shared}/topic.d.ts +0 -0
  102. package/dist/{common → shared}/topic.js +0 -0
  103. package/dist/{common → shared}/topic.js.map +1 -1
  104. package/dist/{common/worker.spec.d.ts → shared/topic.spec.d.ts} +0 -0
  105. package/dist/{common → shared}/topic.spec.js +0 -0
  106. package/dist/{common → shared}/topic.spec.js.map +1 -1
  107. package/dist/{common → shared}/worker.d.ts +0 -0
  108. package/dist/{common → shared}/worker.js +0 -0
  109. package/dist/{common → shared}/worker.js.map +1 -1
  110. package/dist/shared/worker.spec.d.ts +1 -0
  111. package/dist/{common → shared}/worker.spec.js +0 -0
  112. package/dist/{common → shared}/worker.spec.js.map +1 -1
  113. package/dist/storage/measurement.d.ts +1 -1
  114. package/dist/store/event/store-balance.event.d.ts +1 -1
  115. package/dist/store/event/store-balance.event.js +1 -1
  116. package/dist/store/event/store-balance.event.spec.js +3 -3
  117. package/dist/store/event/store-balance.event.spec.js.map +1 -1
  118. package/dist/store/event/store-candle.event.d.ts +1 -1
  119. package/dist/store/event/store-candle.event.js +1 -1
  120. package/dist/store/event/store-candle.event.spec.d.ts +1 -0
  121. package/dist/store/event/store-candle.event.spec.js +24 -0
  122. package/dist/store/event/store-candle.event.spec.js.map +1 -0
  123. package/dist/store/event/store-instrument.event.d.ts +4 -4
  124. package/dist/store/event/store-instrument.event.js +3 -3
  125. package/dist/store/event/store-instrument.event.js.map +1 -1
  126. package/dist/store/event/store-instrument.event.spec.js +3 -3
  127. package/dist/store/event/store-instrument.event.spec.js.map +1 -1
  128. package/dist/store/event/store-order.event.d.ts +1 -1
  129. package/dist/store/event/store-order.event.js +1 -1
  130. package/dist/store/event/store-order.event.spec.js +2 -2
  131. package/dist/store/event/store-orderbook.event.d.ts +1 -1
  132. package/dist/store/event/store-orderbook.event.js +1 -1
  133. package/dist/store/event/store-position.event.d.ts +1 -1
  134. package/dist/store/event/store-position.event.js +1 -1
  135. package/dist/store/event/store-trade.event.d.ts +1 -1
  136. package/dist/store/event/store-trade.event.js +1 -1
  137. package/dist/store/event/store-trade.event.spec.js +6 -6
  138. package/dist/store/event/store-trade.event.spec.js.map +1 -1
  139. package/dist/store/event/store.event.d.ts +1 -1
  140. package/dist/store/store.d.ts +1 -1
  141. package/dist/store/store.js +1 -1
  142. package/dist/store/store.state.d.ts +1 -1
  143. package/dist/store/store.state.js.map +1 -1
  144. package/dist/tests/backtester-adapter.spec.js +5 -5
  145. package/dist/tests/backtester-adapter.spec.js.map +1 -1
  146. package/dist/tsconfig.tsbuildinfo +1 -1
  147. package/jestconfig.unit.json +2 -1
  148. package/package.json +1 -1
  149. package/src/adapter/adapter-aggregate.ts +23 -4
  150. package/src/adapter/adapter.event.ts +2 -2
  151. package/src/adapter/adapter.ts +14 -4
  152. package/src/adapter/backtester/backtester-adapter.ts +4 -6
  153. package/src/adapter/backtester/backtester-cursor.spec.ts +2 -2
  154. package/src/adapter/backtester/backtester-cursor.ts +1 -1
  155. package/src/adapter/backtester/backtester-streamer.spec.ts +53 -0
  156. package/src/adapter/backtester/backtester-streamer.ts +1 -1
  157. package/src/adapter/paper/{model/paper-model.ts → executor/paper-executor.ts} +1 -1
  158. package/src/adapter/paper/{model/paper-margin-model.ts → executor/paper-margin-executor.ts} +4 -4
  159. package/src/adapter/paper/{model/paper-spot-model.ts → executor/paper-spot-executor.ts} +5 -5
  160. package/src/adapter/paper/index.ts +2 -2
  161. package/src/adapter/paper/paper-adapter.spec.ts +4 -4
  162. package/src/adapter/paper/paper-adapter.ts +8 -8
  163. package/src/bin.ts +24 -189
  164. package/src/domain/asset.ts +2 -2
  165. package/src/domain/balance.ts +3 -5
  166. package/src/domain/candle-builder.ts +1 -1
  167. package/src/domain/candle.spec.ts +1 -1
  168. package/src/domain/candle.ts +1 -1
  169. package/src/domain/{commision.ts → commission.ts} +3 -3
  170. package/src/domain/component.ts +1 -1
  171. package/src/domain/index.ts +1 -1
  172. package/src/domain/instrument.ts +3 -3
  173. package/src/domain/order.ts +1 -1
  174. package/src/domain/orderbook.ts +1 -1
  175. package/src/domain/position.ts +2 -2
  176. package/src/domain/trade.ts +1 -1
  177. package/src/index.ts +2 -7
  178. package/src/indicator/truerange.spec.ts +1 -1
  179. package/src/ipc.ts +277 -0
  180. package/src/session/index.ts +1 -0
  181. package/src/session/session-descriptor.ts +35 -6
  182. package/src/session/session-statement.ts +119 -0
  183. package/src/session/session.spec.ts +6 -4
  184. package/src/session/session.ts +62 -20
  185. package/src/{common → shared}/datetime.ts +0 -0
  186. package/src/{common → shared}/decimals.spec.ts +0 -0
  187. package/src/{common → shared}/decimals.ts +0 -0
  188. package/src/{common → shared}/index.ts +0 -0
  189. package/src/{common → shared}/io.ts +0 -0
  190. package/src/{common → shared}/logger.ts +0 -0
  191. package/src/{common → shared}/policy.spec.ts +0 -0
  192. package/src/{common → shared}/policy.ts +0 -0
  193. package/src/{common → shared}/topic.spec.ts +0 -0
  194. package/src/{common → shared}/topic.ts +0 -0
  195. package/src/{common → shared}/worker.spec.ts +0 -0
  196. package/src/{common → shared}/worker.ts +0 -0
  197. package/src/storage/measurement.ts +1 -1
  198. package/src/store/event/store-balance.event.spec.ts +3 -3
  199. package/src/store/event/store-balance.event.ts +2 -2
  200. package/src/store/event/store-candle.event.spec.ts +32 -0
  201. package/src/store/event/store-candle.event.ts +2 -2
  202. package/src/store/event/store-instrument.event.spec.ts +3 -3
  203. package/src/store/event/store-instrument.event.ts +5 -5
  204. package/src/store/event/store-order.event.spec.ts +1 -1
  205. package/src/store/event/store-order.event.ts +2 -2
  206. package/src/store/event/store-orderbook.event.ts +2 -2
  207. package/src/store/event/store-position.event.ts +2 -2
  208. package/src/store/event/store-trade.event.spec.ts +2 -2
  209. package/src/store/event/store-trade.event.ts +2 -2
  210. package/src/store/event/store.event.ts +1 -1
  211. package/src/store/store.state.ts +2 -1
  212. package/src/store/store.ts +1 -1
  213. package/src/tests/backtester-adapter.spec.ts +7 -7
  214. package/dist/adapter/paper/model/paper-margin-model.js.map +0 -1
  215. package/dist/adapter/paper/model/paper-model.js.map +0 -1
  216. package/dist/adapter/paper/model/paper-spot-model.js.map +0 -1
  217. package/dist/behaviour/behaviour.d.ts +0 -6
  218. package/dist/behaviour/behaviour.js +0 -3
  219. package/dist/behaviour/behaviour.js.map +0 -1
  220. package/dist/behaviour/combined-behaviour.d.ts +0 -14
  221. package/dist/behaviour/combined-behaviour.js +0 -26
  222. package/dist/behaviour/combined-behaviour.js.map +0 -1
  223. package/dist/behaviour/index.d.ts +0 -3
  224. package/dist/behaviour/index.js +0 -16
  225. package/dist/behaviour/index.js.map +0 -1
  226. package/dist/behaviour/statement/benchmark-statement.behaviour.d.ts +0 -15
  227. package/dist/behaviour/statement/benchmark-statement.behaviour.js +0 -41
  228. package/dist/behaviour/statement/benchmark-statement.behaviour.js.map +0 -1
  229. package/dist/behaviour/statement/equity-statement.behaviour.d.ts +0 -15
  230. package/dist/behaviour/statement/equity-statement.behaviour.js +0 -54
  231. package/dist/behaviour/statement/equity-statement.behaviour.js.map +0 -1
  232. package/dist/behaviour/statement/index.d.ts +0 -1
  233. package/dist/behaviour/statement/index.js +0 -14
  234. package/dist/behaviour/statement/index.js.map +0 -1
  235. package/dist/behaviour/statement/period-statement.behaviour.d.ts +0 -9
  236. package/dist/behaviour/statement/period-statement.behaviour.js +0 -20
  237. package/dist/behaviour/statement/period-statement.behaviour.js.map +0 -1
  238. package/dist/behaviour/statement/statement.behaviour.d.ts +0 -7
  239. package/dist/behaviour/statement/statement.behaviour.js +0 -19
  240. package/dist/behaviour/statement/statement.behaviour.js.map +0 -1
  241. package/dist/common/io.js.map +0 -1
  242. package/dist/domain/commision.js.map +0 -1
  243. package/src/behaviour/behaviour.ts +0 -7
  244. package/src/behaviour/combined-behaviour.ts +0 -23
  245. package/src/behaviour/index.ts +0 -3
  246. package/src/behaviour/statement/benchmark-statement.behaviour.ts +0 -53
  247. package/src/behaviour/statement/equity-statement.behaviour.ts +0 -71
  248. package/src/behaviour/statement/index.ts +0 -1
  249. package/src/behaviour/statement/period-statement.behaviour.ts +0 -26
  250. package/src/behaviour/statement/statement.behaviour.ts +0 -19
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"topic.spec.js","sourceRoot":"","sources":["../../src/common/topic.spec.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,mCAAgD;AAEhD,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAS/B,MAAM,OAAO,GAAY;YACvB,OAAO,EAAE,CAAC;SACX,CAAC;QAGF,IAAM,cAAc,GAApB,MAAM,cAAc;YAApB;gBACE,SAAI,GAAG,WAAW,CAAC;YACrB,CAAC;SAAA,CAAA;QAFK,cAAc;YADnB,aAAK;WACA,cAAc,CAEnB;QAED,MAAM,mBAAoB,SAAQ,aAAqB;SAAG;QAC1D,MAAM,eAAgB,SAAQ,mBAAmB;YAE/C,SAAS,CAAC,KAAqB,EAAE,OAAgB;gBAC/C,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,CAAC;SACF;QAHC;YADC,IAAA,eAAO,EAAC,cAAc,CAAC;;6CACP,cAAc;;wDAE9B;QAGH,IAAI,eAAe,EAAE,CAAC,QAAQ,CAAC,IAAI,cAAc,EAAE,EAAE,OAAO,CAAC,CAAC;QAE9D,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"topic.spec.js","sourceRoot":"","sources":["../../src/shared/topic.spec.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,mCAAgD;AAEhD,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAS/B,MAAM,OAAO,GAAY;YACvB,OAAO,EAAE,CAAC;SACX,CAAC;QAGF,IAAM,cAAc,GAApB,MAAM,cAAc;YAApB;gBACE,SAAI,GAAG,WAAW,CAAC;YACrB,CAAC;SAAA,CAAA;QAFK,cAAc;YADnB,aAAK;WACA,cAAc,CAEnB;QAED,MAAM,mBAAoB,SAAQ,aAAqB;SAAG;QAC1D,MAAM,eAAgB,SAAQ,mBAAmB;YAE/C,SAAS,CAAC,KAAqB,EAAE,OAAgB;gBAC/C,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,CAAC;SACF;QAHC;YADC,IAAA,eAAO,EAAC,cAAc,CAAC;;6CACP,cAAc;;wDAE9B;QAGH,IAAI,eAAe,EAAE,CAAC,QAAQ,CAAC,IAAI,cAAc,EAAE,EAAE,OAAO,CAAC,CAAC;QAE9D,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
File without changes
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/common/worker.ts"],"names":[],"mappings":";;;AAAA,mCAAsC;AAItC,MAAa,MAAO,SAAQ,qBAAY;IAAxC;;QACmB,UAAK,GAAG,IAAI,KAAK,EAAQ,CAAC;IAiD7C,CAAC;IA9CC,OAAO,CAAC,GAAS;QACf,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAErB,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACtB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC1B;QAED,OAAO,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YACjC,MAAM,QAAQ,GAAG,GAAG,EAAE;gBACpB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;oBACrB,OAAO;iBACR;gBAED,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBAE3C,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;YAEF,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,OAAO;QACb,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACtB,OAAO;SACR;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAE7B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAErB,IAAI,CAAC,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;gBACnC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBAEnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBAEpB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACvB,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;CACF;AAlDD,wBAkDC"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/shared/worker.ts"],"names":[],"mappings":";;;AAAA,mCAAsC;AAItC,MAAa,MAAO,SAAQ,qBAAY;IAAxC;;QACmB,UAAK,GAAG,IAAI,KAAK,EAAQ,CAAC;IAiD7C,CAAC;IA9CC,OAAO,CAAC,GAAS;QACf,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAErB,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACtB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC1B;QAED,OAAO,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YACjC,MAAM,QAAQ,GAAG,GAAG,EAAE;gBACpB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;oBACrB,OAAO;iBACR;gBAED,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBAE3C,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;YAEF,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,OAAO;QACb,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACtB,OAAO;SACR;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAE7B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAErB,IAAI,CAAC,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;gBACnC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBAEnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBAEpB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACvB,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;CACF;AAlDD,wBAkDC"}
@@ -0,0 +1 @@
1
+ export {};
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"worker.spec.js","sourceRoot":"","sources":["../../src/common/worker.spec.ts"],"names":[],"mappings":";;AAAA,qCAAkC;AAElC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,GAAG,GAAG,IAAI,eAAM,EAAE,CAAC;QAEzB,IAAI,OAAO,GAAG,CAAC,EACb,SAAS,GAAG,CAAC,CAAC;QAEhB,GAAG,CAAC,WAAW,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5C,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;QAEhD,GAAG,CAAC,OAAO,CACT,GAAG,EAAE,CACH,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YAC1B,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CACL,CAAC;QAEF,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAEjB,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"worker.spec.js","sourceRoot":"","sources":["../../src/shared/worker.spec.ts"],"names":[],"mappings":";;AAAA,qCAAkC;AAElC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,GAAG,GAAG,IAAI,eAAM,EAAE,CAAC;QAEzB,IAAI,OAAO,GAAG,CAAC,EACb,SAAS,GAAG,CAAC,CAAC;QAEhB,GAAG,CAAC,WAAW,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5C,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;QAEhD,GAAG,CAAC,OAAO,CACT,GAAG,EAAE,CACH,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YAC1B,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CACL,CAAC;QAEF,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAEjB,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { timestamp } from '../common';
1
+ import { timestamp } from '../shared';
2
2
  import { Storage, StorageQueryOptions } from './storage';
3
3
  export interface Measure {
4
4
  timestamp: timestamp;
@@ -1,4 +1,4 @@
1
- import { timestamp } from '../../common';
1
+ import { timestamp } from '../../shared';
2
2
  import { AssetSelector } from '../../domain/asset';
3
3
  import { Balance } from '../../domain/balance';
4
4
  import { State } from '../store.state';
@@ -10,7 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.BalanceUnfreezEventHandler = exports.BalanceUnfreezEvent = exports.BalanceFreezEventHandler = exports.BalanceFreezEvent = exports.BalanceTransactEventHandler = exports.BalanceTransactEvent = exports.BalancePatchEventHandler = exports.BalancePatchEvent = void 0;
13
- const topic_1 = require("../../common/topic");
13
+ const topic_1 = require("../../shared/topic");
14
14
  const asset_1 = require("../../domain/asset");
15
15
  const balance_1 = require("../../domain/balance");
16
16
  let BalancePatchEvent = class BalancePatchEvent {
@@ -3,17 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const domain_1 = require("../../domain");
4
4
  const _1 = require(".");
5
5
  const store_instrument_event_1 = require("./store-instrument.event");
6
- const common_1 = require("../../common");
6
+ const shared_1 = require("../../shared");
7
7
  const __1 = require("..");
8
8
  describe('balance event tests', () => {
9
9
  test('should patch a store', () => {
10
10
  const base = new domain_1.Asset('de30', 'cex', 2);
11
11
  const quote = new domain_1.Asset('usd', 'cex', 2);
12
- const timestamp = (0, common_1.now)();
12
+ const timestamp = (0, shared_1.now)();
13
13
  const store = new __1.Store();
14
14
  let component;
15
15
  store.changes$.subscribe(it => (component = it));
16
- store.dispatch(new store_instrument_event_1.InstrumentPatchEvent(timestamp, base, quote, new domain_1.Commision(0, 0), ''));
16
+ store.dispatch(new store_instrument_event_1.InstrumentPatchEvent(timestamp, base, quote, new domain_1.Commission(0, 0), ''));
17
17
  store.dispatch(new _1.BalancePatchEvent(base, 100, 0, timestamp));
18
18
  const balance = store.snapshot.balance[base.toString()];
19
19
  expect(balance).toEqual(component);
@@ -1 +1 @@
1
- {"version":3,"file":"store-balance.event.spec.js","sourceRoot":"","sources":["../../../src/store/event/store-balance.event.spec.ts"],"names":[],"mappings":";;AAAA,yCAAgD;AAChD,wBAAsC;AACtC,qEAAgE;AAChE,yCAAmC;AACnC,0BAA2B;AAE3B,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAChC,MAAM,IAAI,GAAG,IAAI,cAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,cAAK,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,IAAA,YAAG,GAAE,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,SAAK,EAAE,CAAC;QAC1B,IAAI,SAAS,CAAC;QAEd,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC;QAEjD,KAAK,CAAC,QAAQ,CACZ,IAAI,6CAAoB,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,kBAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAC1E,CAAC;QACF,KAAK,CAAC,QAAQ,CAAC,IAAI,oBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;QAE/D,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAExD,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACnC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"store-balance.event.spec.js","sourceRoot":"","sources":["../../../src/store/event/store-balance.event.spec.ts"],"names":[],"mappings":";;AAAA,yCAAiD;AACjD,wBAAsC;AACtC,qEAAgE;AAChE,yCAAmC;AACnC,0BAA2B;AAE3B,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAChC,MAAM,IAAI,GAAG,IAAI,cAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,cAAK,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,IAAA,YAAG,GAAE,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,SAAK,EAAE,CAAC;QAC1B,IAAI,SAAS,CAAC;QAEd,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC;QAEjD,KAAK,CAAC,QAAQ,CACZ,IAAI,6CAAoB,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,mBAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAC3E,CAAC;QACF,KAAK,CAAC,QAAQ,CAAC,IAAI,oBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;QAE/D,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAExD,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACnC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { timestamp } from '../../common/datetime';
1
+ import { timestamp } from '../../shared/datetime';
2
2
  import { InstrumentSelector } from '../../domain';
3
3
  import { State } from '../store.state';
4
4
  import { StoreEvent } from './store.event';
@@ -13,7 +13,7 @@ exports.CandleEventHandler = exports.CandleEvent = void 0;
13
13
  const store_trade_event_1 = require("./store-trade.event");
14
14
  const store_orderbook_event_1 = require("./store-orderbook.event");
15
15
  const domain_1 = require("../../domain");
16
- const topic_1 = require("../../common/topic");
16
+ const topic_1 = require("../../shared/topic");
17
17
  let CandleEvent = class CandleEvent {
18
18
  constructor(instrument, timeframe, open, high, low, close, volume, timestamp) {
19
19
  this.instrument = instrument;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const domain_1 = require("../../domain");
4
+ const _1 = require(".");
5
+ const store_state_1 = require("../store.state");
6
+ const shared_1 = require("../../shared");
7
+ const instrument = new domain_1.Instrument(new domain_1.Asset('btc', 'binance', 8), new domain_1.Asset('usdt', 'binance', 2), 'binance:btc-usdt');
8
+ describe('candle patch event tests', () => {
9
+ test('should patch trade object', () => {
10
+ const timestamp = (0, shared_1.now)();
11
+ const state = new store_state_1.State();
12
+ state.universe.instrument[instrument.toString()] = instrument;
13
+ state.subscription.instrument[instrument.toString()] = instrument;
14
+ const event = new _1.CandleEvent(instrument, 1, 1, 1, 1, 1, 1, timestamp);
15
+ (0, _1.CandleEventHandler)(event, state);
16
+ const trade = state.trade[instrument.toString()];
17
+ expect(trade.timestamp).toEqual(timestamp);
18
+ expect(trade.instrument.toString()).toEqual(instrument.toString());
19
+ expect(trade.rate).toEqual(1);
20
+ expect(trade.quantity).toEqual(1);
21
+ expect(state.timestamp).toEqual(timestamp);
22
+ });
23
+ });
24
+ //# sourceMappingURL=store-candle.event.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-candle.event.spec.js","sourceRoot":"","sources":["../../../src/store/event/store-candle.event.spec.ts"],"names":[],"mappings":";;AAAA,yCAAiD;AACjD,wBAAoD;AACpD,gDAAuC;AACvC,yCAAmC;AAEnC,MAAM,UAAU,GAAG,IAAI,mBAAU,CAC/B,IAAI,cAAK,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,EAC9B,IAAI,cAAK,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,EAC/B,kBAAkB,CACnB,CAAC;AAEF,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,IAAI,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACrC,MAAM,SAAS,GAAG,IAAA,YAAG,GAAE,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,mBAAK,EAAE,CAAC;QAE1B,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC;QAC9D,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC;QAElE,MAAM,KAAK,GAAG,IAAI,cAAW,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;QAEvE,IAAA,qBAAkB,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAEjC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEjD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
- import { timestamp } from '../../common';
2
- import { Asset, Commision } from '../../domain';
1
+ import { timestamp } from '../../shared';
2
+ import { Asset, Commission } from '../../domain';
3
3
  import { Instrument, InstrumentSelector } from '../../domain/instrument';
4
4
  import { State } from '../../store';
5
5
  import { StoreEvent } from './store.event';
@@ -7,11 +7,11 @@ export declare class InstrumentPatchEvent implements StoreEvent {
7
7
  readonly timestamp: timestamp;
8
8
  readonly base: Asset;
9
9
  readonly quote: Asset;
10
- readonly commision: Commision;
10
+ readonly commision: Commission;
11
11
  readonly raw: string;
12
12
  readonly leverage?: number;
13
13
  type: string;
14
- constructor(timestamp: timestamp, base: Asset, quote: Asset, commision: Commision, raw: string, leverage?: number);
14
+ constructor(timestamp: timestamp, base: Asset, quote: Asset, commision: Commission, raw: string, leverage?: number);
15
15
  }
16
16
  export declare function InstrumentPatchEventHandler(event: InstrumentPatchEvent, state: State): Instrument;
17
17
  export declare class InstrumentSubscriptionEvent implements StoreEvent {
@@ -10,7 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.InstrumentSubscriptionEventHandler = exports.InstrumentSubscriptionEvent = exports.InstrumentPatchEventHandler = exports.InstrumentPatchEvent = void 0;
13
- const topic_1 = require("../../common/topic");
13
+ const topic_1 = require("../../shared/topic");
14
14
  const domain_1 = require("../../domain");
15
15
  const instrument_1 = require("../../domain/instrument");
16
16
  let InstrumentPatchEvent = class InstrumentPatchEvent {
@@ -28,7 +28,7 @@ InstrumentPatchEvent = __decorate([
28
28
  topic_1.event,
29
29
  __metadata("design:paramtypes", [Number, domain_1.Asset,
30
30
  domain_1.Asset,
31
- domain_1.Commision, String, Number])
31
+ domain_1.Commission, String, Number])
32
32
  ], InstrumentPatchEvent);
33
33
  exports.InstrumentPatchEvent = InstrumentPatchEvent;
34
34
  function InstrumentPatchEventHandler(event, state) {
@@ -41,7 +41,7 @@ function InstrumentPatchEventHandler(event, state) {
41
41
  state.universe.instrument[selector.toString()] = instrument;
42
42
  }
43
43
  instrument.timestamp = event.timestamp;
44
- instrument.commision = event.commision;
44
+ instrument.commission = event.commision;
45
45
  if (event.leverage) {
46
46
  instrument.leverage = event.leverage;
47
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"store-instrument.event.js","sourceRoot":"","sources":["../../../src/store/event/store-instrument.event.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store-instrument.event.js","sourceRoot":"","sources":["../../../src/store/event/store-instrument.event.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const __1 = require("..");
4
- const common_1 = require("../../common");
4
+ const shared_1 = require("../../shared");
5
5
  const domain_1 = require("../../domain");
6
6
  const store_instrument_event_1 = require("./store-instrument.event");
7
7
  describe('instrument patch event tests', () => {
8
8
  test('should patch a store', () => {
9
- const timestamp = (0, common_1.now)();
9
+ const timestamp = (0, shared_1.now)();
10
10
  const store = new __1.Store();
11
11
  const base = new domain_1.Asset('de30', 'cex', 2);
12
12
  const quote = new domain_1.Asset('usd', 'cex', 2);
13
- store.dispatch(new store_instrument_event_1.InstrumentPatchEvent(timestamp, base, quote, new domain_1.Commision(0, 0), ''));
13
+ store.dispatch(new store_instrument_event_1.InstrumentPatchEvent(timestamp, base, quote, new domain_1.Commission(0, 0), ''));
14
14
  expect(store.snapshot.universe.instrument['cex:de30-usd'].base).toEqual(base);
15
15
  expect(store.snapshot.universe.instrument['cex:de30-usd'].quote).toEqual(quote);
16
16
  expect(store.snapshot.universe.instrument['cex:de30-usd'].timestamp).toEqual(timestamp);
@@ -1 +1 @@
1
- {"version":3,"file":"store-instrument.event.spec.js","sourceRoot":"","sources":["../../../src/store/event/store-instrument.event.spec.ts"],"names":[],"mappings":";;AAAA,0BAA2B;AAC3B,yCAAmC;AACnC,yCAAgD;AAChD,qEAAgE;AAEhE,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAChC,MAAM,SAAS,GAAG,IAAA,YAAG,GAAE,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,SAAK,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,cAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,cAAK,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAEzC,KAAK,CAAC,QAAQ,CACZ,IAAI,6CAAoB,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,kBAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAC1E,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9E,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChF,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAC1E,SAAS,CACV,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"store-instrument.event.spec.js","sourceRoot":"","sources":["../../../src/store/event/store-instrument.event.spec.ts"],"names":[],"mappings":";;AAAA,0BAA2B;AAC3B,yCAAmC;AACnC,yCAAiD;AACjD,qEAAgE;AAEhE,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAChC,MAAM,SAAS,GAAG,IAAA,YAAG,GAAE,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,SAAK,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,cAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,cAAK,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAEzC,KAAK,CAAC,QAAQ,CACZ,IAAI,6CAAoB,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,mBAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAC3E,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9E,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChF,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAC1E,SAAS,CACV,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { timestamp } from '../../common';
1
+ import { timestamp } from '../../shared';
2
2
  import { Order } from '../../domain';
3
3
  import { State } from '../store.state';
4
4
  import { StoreEvent } from './store.event';
@@ -10,7 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.OrderRejectedEventHandler = exports.OrderRejectedEvent = exports.OrderCancelFailedEventHandler = exports.OrderCancelFailedEvent = exports.OrderCanceledEventHandler = exports.OrderCanceledEvent = exports.OrderCancelingEventHandler = exports.OrderCancelingEvent = exports.OrderFilledEventHandler = exports.OrderFilledEvent = exports.OrderPendingEventHandler = exports.OrderPendingEvent = exports.OrderNewEventHandler = exports.OrderNewEvent = exports.OrderLoadEventHandler = exports.OrderLoadEvent = void 0;
13
- const topic_1 = require("../../common/topic");
13
+ const topic_1 = require("../../shared/topic");
14
14
  const domain_1 = require("../../domain");
15
15
  let OrderLoadEvent = class OrderLoadEvent {
16
16
  constructor(order, timestamp) {
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const __1 = require("../");
4
- const common_1 = require("../../common");
4
+ const shared_1 = require("../../shared");
5
5
  const domain_1 = require("../../domain");
6
6
  const store_order_event_1 = require("./store-order.event");
7
7
  const instrument = new domain_1.Instrument(new domain_1.Asset('btc', 'binance', 8), new domain_1.Asset('usdt', 'binance', 2), 'binance:btc-usdt');
8
8
  describe('order load event tests', () => {
9
9
  test('should load order to store', () => {
10
- const timestamp = (0, common_1.now)();
10
+ const timestamp = (0, shared_1.now)();
11
11
  const state = new __1.State();
12
12
  const order = domain_1.Order.buyMarket(instrument, 1.0);
13
13
  order.state = 'PENDING';
@@ -1,4 +1,4 @@
1
- import { timestamp } from '../../common';
1
+ import { timestamp } from '../../shared';
2
2
  import { InstrumentSelector } from '../../domain/instrument';
3
3
  import { Orderbook } from '../../domain/orderbook';
4
4
  import { State } from '../store.state';
@@ -10,7 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.OrderbookPatchEventHandler = exports.OrderbookPatchEvent = void 0;
13
- const topic_1 = require("../../common/topic");
13
+ const topic_1 = require("../../shared/topic");
14
14
  const instrument_1 = require("../../domain/instrument");
15
15
  const orderbook_1 = require("../../domain/orderbook");
16
16
  let OrderbookPatchEvent = class OrderbookPatchEvent {
@@ -1,4 +1,4 @@
1
- import { timestamp } from '../../common';
1
+ import { timestamp } from '../../shared';
2
2
  import { Position, Instrument, PositionMode } from '../../domain';
3
3
  import { State } from '../store.state';
4
4
  import { StoreEvent } from './store.event';
@@ -10,7 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.PositionPatchEventHandler = exports.PositionPatchEvent = exports.PositionLoadEventHandler = exports.PositionLoadEvent = void 0;
13
- const topic_1 = require("../../common/topic");
13
+ const topic_1 = require("../../shared/topic");
14
14
  const domain_1 = require("../../domain");
15
15
  let PositionLoadEvent = class PositionLoadEvent {
16
16
  constructor(position, timestamp) {
@@ -1,4 +1,4 @@
1
- import { timestamp } from '../../common';
1
+ import { timestamp } from '../../shared';
2
2
  import { Trade } from '../../domain';
3
3
  import { InstrumentSelector } from '../../domain/instrument';
4
4
  import { State } from '../store.state';
@@ -10,7 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.TradePatchEventHandler = exports.TradePatchEvent = void 0;
13
- const topic_1 = require("../../common/topic");
13
+ const topic_1 = require("../../shared/topic");
14
14
  const domain_1 = require("../../domain");
15
15
  const instrument_1 = require("../../domain/instrument");
16
16
  let TradePatchEvent = class TradePatchEvent {
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const domain_1 = require("../../domain");
4
4
  const _1 = require(".");
5
5
  const store_state_1 = require("../store.state");
6
- const common_1 = require("../../common");
6
+ const shared_1 = require("../../shared");
7
7
  const instrument = new domain_1.Instrument(new domain_1.Asset('btc', 'binance', 8), new domain_1.Asset('usdt', 'binance', 2), 'binance:btc-usdt');
8
8
  describe('trade patch event tests', () => {
9
9
  test('should create a new trade object and patch a store', () => {
10
- const timestamp = (0, common_1.now)();
10
+ const timestamp = (0, shared_1.now)();
11
11
  const state = new store_state_1.State();
12
12
  state.universe.instrument[instrument.toString()] = instrument;
13
13
  state.subscription.instrument[instrument.toString()] = instrument;
@@ -24,19 +24,19 @@ describe('trade patch event tests', () => {
24
24
  const state = new store_state_1.State();
25
25
  state.universe.instrument[instrument.toString()] = instrument;
26
26
  state.subscription.instrument[instrument.toString()] = instrument;
27
- (0, _1.TradePatchEventHandler)(new _1.TradePatchEvent(instrument, 1000, 0.1, (0, common_1.now)()), state);
28
- const timestamp = (0, common_1.now)();
27
+ (0, _1.TradePatchEventHandler)(new _1.TradePatchEvent(instrument, 1000, 0.1, (0, shared_1.now)()), state);
28
+ const timestamp = (0, shared_1.now)();
29
29
  const trade = state.trade[instrument.toString()];
30
30
  (0, _1.TradePatchEventHandler)(new _1.TradePatchEvent(instrument, 2000, 0.2, timestamp), state);
31
31
  expect(trade.timestamp).toEqual(timestamp);
32
- expect(trade.instrument.toString()).toEqual(trade.instrument.toString());
32
+ expect(trade.instrument.toString()).toEqual(instrument.toString());
33
33
  expect(trade.rate).toEqual(2000);
34
34
  expect(trade.quantity).toEqual(0.2);
35
35
  expect(state.timestamp).toEqual(timestamp);
36
36
  });
37
37
  test('should throw exception when patching unsubscribed instrument', () => {
38
38
  const fn = () => {
39
- const event = new _1.TradePatchEvent(instrument, 1000, 0.1, (0, common_1.now)());
39
+ const event = new _1.TradePatchEvent(instrument, 1000, 0.1, (0, shared_1.now)());
40
40
  (0, _1.TradePatchEventHandler)(event, new store_state_1.State());
41
41
  };
42
42
  expect(fn).toThrow(Error);
@@ -1 +1 @@
1
- {"version":3,"file":"store-trade.event.spec.js","sourceRoot":"","sources":["../../../src/store/event/store-trade.event.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store-trade.event.spec.js","sourceRoot":"","sources":["../../../src/store/event/store-trade.event.spec.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { timestamp } from '../../common';
1
+ import { timestamp } from '../../shared';
2
2
  export interface StoreEvent {
3
3
  type: string;
4
4
  timestamp: timestamp;
@@ -2,7 +2,7 @@ import { Observable } from 'rxjs';
2
2
  import { State } from './store.state';
3
3
  import { Component } from '../domain';
4
4
  import { StoreEvent } from './event/store.event';
5
- import { Topic } from '../common/topic';
5
+ import { Topic } from '../shared/topic';
6
6
  import { TradePatchEvent } from './event/store-trade.event';
7
7
  import { BalanceFreezEvent, BalancePatchEvent, BalanceTransactEvent, BalanceUnfreezEvent, CandleEvent, InstrumentPatchEvent, InstrumentSubscriptionEvent, OrderbookPatchEvent, OrderCanceledEvent, OrderCancelFailedEvent, OrderCancelingEvent, OrderFilledEvent, OrderLoadEvent, OrderNewEvent, OrderPendingEvent, OrderRejectedEvent, PositionLoadEvent, PositionPatchEvent } from './event';
8
8
  export declare class Store extends Topic<StoreEvent, any> {
@@ -13,7 +13,7 @@ exports.Store = void 0;
13
13
  const rxjs_1 = require("rxjs");
14
14
  const store_state_1 = require("./store.state");
15
15
  const typescript_collections_1 = require("typescript-collections");
16
- const topic_1 = require("../common/topic");
16
+ const topic_1 = require("../shared/topic");
17
17
  const store_trade_event_1 = require("./event/store-trade.event");
18
18
  const event_1 = require("./event");
19
19
  class Store extends topic_1.Topic {
@@ -1,4 +1,4 @@
1
- import { timestamp } from '../common';
1
+ import { timestamp } from '../shared';
2
2
  import { Instrument, Balance, Order, Orderbook, Asset, Trade, AssetSelector, InstrumentSelector } from '../domain';
3
3
  export declare class State {
4
4
  timestamp: timestamp;
@@ -1 +1 @@
1
- {"version":3,"file":"store.state.js","sourceRoot":"","sources":["../../src/store/store.state.ts"],"names":[],"mappings":";;;AAYA,MAAa,KAAK;IAAlB;QAGE,aAAQ,GAGJ;YACF,KAAK,EAAE,EAAE;YACT,UAAU,EAAE,EAAE;SACf,CAAC;QAEF,iBAAY,GAGR;YACF,KAAK,EAAE,EAAE;YACT,UAAU,EAAE,EAAE;SACf,CAAC;QAEF,UAAK,GAA0B,EAAE,CAAC;QAClC,cAAS,GAA8B,EAAE,CAAC;QAC1C,YAAO,GAA4B,EAAE,CAAC;QAEtC,UAAK,GAKD;YACF,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;CAAA;AAlCD,sBAkCC"}
1
+ {"version":3,"file":"store.state.js","sourceRoot":"","sources":["../../src/store/store.state.ts"],"names":[],"mappings":";;;AAYA,MAAa,KAAK;IAAlB;QAIE,aAAQ,GAGJ;YACF,KAAK,EAAE,EAAE;YACT,UAAU,EAAE,EAAE;SACf,CAAC;QAEF,iBAAY,GAGR;YACF,KAAK,EAAE,EAAE;YACT,UAAU,EAAE,EAAE;SACf,CAAC;QAEF,UAAK,GAA0B,EAAE,CAAC;QAClC,cAAS,GAA8B,EAAE,CAAC;QAC1C,YAAO,GAA4B,EAAE,CAAC;QAEtC,UAAK,GAKD;YACF,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;CAAA;AAnCD,sBAmCC"}
@@ -19,7 +19,7 @@ const adapter_3 = require("../adapter/adapter");
19
19
  const paper_1 = require("../adapter/paper");
20
20
  const backtester_adapter_1 = require("../adapter/backtester/backtester-adapter");
21
21
  const backtester_streamer_1 = require("../adapter/backtester/backtester-streamer");
22
- const common_1 = require("../common");
22
+ const shared_1 = require("../shared");
23
23
  const base = new domain_1.Asset('btc', 'binance', 8);
24
24
  const quote = new domain_1.Asset('usdt', 'binance', 4);
25
25
  class DefaultAdapter extends adapter_3.Adapter {
@@ -30,15 +30,15 @@ class DefaultAdapter extends adapter_3.Adapter {
30
30
  timestamp() {
31
31
  return 123;
32
32
  }
33
- createPaperModel(adapter) {
34
- return new paper_1.PaperSpotModel(adapter);
33
+ createPaperExecutor(adapter) {
34
+ return new paper_1.PaperSpotExecutor(adapter);
35
35
  }
36
36
  onAwake(command, context) {
37
- context.store.dispatch(new event_1.InstrumentPatchEvent(context.timestamp, base, quote, new domain_1.Commision(0.1, 0.1), 'btc-usdt'));
37
+ context.store.dispatch(new event_1.InstrumentPatchEvent(context.timestamp, base, quote, new domain_1.Commission(0.1, 0.1), 'btc-usdt'));
38
38
  }
39
39
  }
40
40
  __decorate([
41
- (0, common_1.handler)(adapter_1.AdapterAwakeCommand),
41
+ (0, shared_1.handler)(adapter_1.AdapterAwakeCommand),
42
42
  __metadata("design:type", Function),
43
43
  __metadata("design:paramtypes", [adapter_1.AdapterAwakeCommand, adapter_3.AdapterContext]),
44
44
  __metadata("design:returntype", void 0)
@@ -1 +1 @@
1
- {"version":3,"file":"backtester-adapter.spec.js","sourceRoot":"","sources":["../../src/tests/backtester-adapter.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backtester-adapter.spec.js","sourceRoot":"","sources":["../../src/tests/backtester-adapter.spec.ts"],"names":[],"mappings":"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"}