jspurefix 3.2.0 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1663) hide show
  1. package/data/examples/FIX.4.4/fix.txt +50 -50
  2. package/dist/buffer/ascii/ascii-encoder.js.map +1 -1
  3. package/dist/buffer/ascii/ascii-parser-state.js.map +1 -1
  4. package/dist/buffer/ascii/ascii-parser.js +14 -4
  5. package/dist/buffer/ascii/ascii-parser.js.map +1 -1
  6. package/dist/buffer/ascii/ascii-segment-parser-error.d.ts +5 -0
  7. package/dist/buffer/ascii/ascii-segment-parser-error.js +11 -0
  8. package/dist/buffer/ascii/ascii-segment-parser-error.js.map +1 -0
  9. package/dist/buffer/ascii/ascii-segment-parser-summary.d.ts +12 -0
  10. package/dist/buffer/ascii/ascii-segment-parser-summary.js +3 -0
  11. package/dist/buffer/ascii/ascii-segment-parser-summary.js.map +1 -0
  12. package/dist/buffer/ascii/ascii-segment-parser.js +27 -8
  13. package/dist/buffer/ascii/ascii-segment-parser.js.map +1 -1
  14. package/dist/buffer/ascii/ascii-view.d.ts +1 -0
  15. package/dist/buffer/ascii/ascii-view.js +3 -0
  16. package/dist/buffer/ascii/ascii-view.js.map +1 -1
  17. package/dist/buffer/ascii/time-formatter.js.map +1 -1
  18. package/dist/buffer/elastic-buffer.js.map +1 -1
  19. package/dist/buffer/encode-proxy.js.map +1 -1
  20. package/dist/buffer/encoder-state.js.map +1 -1
  21. package/dist/buffer/fixml/fixml-encoder.js.map +1 -1
  22. package/dist/buffer/fixml/fixml-parser.js.map +1 -1
  23. package/dist/buffer/fixml/fixml-view.js.map +1 -1
  24. package/dist/buffer/msg-encoder.js.map +1 -1
  25. package/dist/buffer/msg-view.d.ts +2 -2
  26. package/dist/buffer/msg-view.js +47 -47
  27. package/dist/buffer/msg-view.js.map +1 -1
  28. package/dist/buffer/segment/segment-description.d.ts +1 -0
  29. package/dist/buffer/segment/segment-description.js +18 -0
  30. package/dist/buffer/segment/segment-description.js.map +1 -1
  31. package/dist/buffer/structure.js.map +1 -1
  32. package/dist/buffer/tag/tag-pos.d.ts +1 -1
  33. package/dist/buffer/tag/tag-pos.js +12 -12
  34. package/dist/buffer/tag/tag-pos.js.map +1 -1
  35. package/dist/buffer/tag/tags.js.map +1 -1
  36. package/dist/collections/dictionary.js.map +1 -1
  37. package/dist/dict-parser.js.map +1 -1
  38. package/dist/dictionary/compiler/compiler-type.js.map +1 -1
  39. package/dist/dictionary/compiler/enum-compiler.js.map +1 -1
  40. package/dist/dictionary/compiler/msg-compiler.js.map +1 -1
  41. package/dist/dictionary/compiler/standard-snippet.js.map +1 -1
  42. package/dist/dictionary/contained/contained-field-dispatch.js.map +1 -1
  43. package/dist/dictionary/contained/contained-field-set.d.ts +1 -1
  44. package/dist/dictionary/contained/contained-field-set.js.map +1 -1
  45. package/dist/dictionary/contained/contained-group-field.js.map +1 -1
  46. package/dist/dictionary/contained/fields-dispatch.js.map +1 -1
  47. package/dist/dictionary/definition/fix-definitions.d.ts +3 -0
  48. package/dist/dictionary/definition/fix-definitions.js +10 -0
  49. package/dist/dictionary/definition/fix-definitions.js.map +1 -1
  50. package/dist/dictionary/definition/fix-version-parser.d.ts +6 -0
  51. package/dist/dictionary/definition/fix-version-parser.js +54 -0
  52. package/dist/dictionary/definition/fix-version-parser.js.map +1 -0
  53. package/dist/dictionary/definition/group-field-definition.js.map +1 -1
  54. package/dist/dictionary/definition/simple-field-definition.js +2 -0
  55. package/dist/dictionary/definition/simple-field-definition.js.map +1 -1
  56. package/dist/dictionary/parser/fix-repository/base-parser.js.map +1 -1
  57. package/dist/dictionary/parser/fix-repository/repository-xml-parser.js.map +1 -1
  58. package/dist/dictionary/parser/fix-repository/repository.js +1 -1
  59. package/dist/dictionary/parser/fix-repository/repository.js.map +1 -1
  60. package/dist/dictionary/parser/fixml/components-parser.js.map +1 -1
  61. package/dist/dictionary/parser/fixml/fields-parser.js.map +1 -1
  62. package/dist/dictionary/parser/fixml/fix-xsd-parser.js.map +1 -1
  63. package/dist/dictionary/parser/fixml/include-graph.js.map +1 -1
  64. package/dist/dictionary/parser/fixml/xsd-parser.js.map +1 -1
  65. package/dist/dictionary/parser/quickfix/field-definition-parser.js.map +1 -1
  66. package/dist/dictionary/parser/quickfix/field-set-parser.js.map +1 -1
  67. package/dist/dictionary/parser/quickfix/message-parser.js.map +1 -1
  68. package/dist/dictionary/parser/quickfix/node-parser.js.map +1 -1
  69. package/dist/dictionary/parser/quickfix/parse-context.js.map +1 -1
  70. package/dist/dictionary/parser/quickfix/parse-progress.js.map +1 -1
  71. package/dist/dictionary/parser/quickfix/quick-fix-xml-file-builder.d.ts +22 -0
  72. package/dist/dictionary/parser/quickfix/quick-fix-xml-file-builder.js +142 -0
  73. package/dist/dictionary/parser/quickfix/quick-fix-xml-file-builder.js.map +1 -0
  74. package/dist/dictionary/parser/quickfix/quick-fix-xml-file-parser.d.ts +3 -2
  75. package/dist/dictionary/parser/quickfix/quick-fix-xml-file-parser.js +8 -6
  76. package/dist/dictionary/parser/quickfix/quick-fix-xml-file-parser.js.map +1 -1
  77. package/dist/dictionary/parser/quickfix/quick-fix-xml-formatter.d.ts +20 -0
  78. package/dist/dictionary/parser/quickfix/quick-fix-xml-formatter.js +56 -0
  79. package/dist/dictionary/parser/quickfix/quick-fix-xml-formatter.js.map +1 -0
  80. package/dist/dictionary/set-reduce.js.map +1 -1
  81. package/dist/dictionary/version-util.js +19 -29
  82. package/dist/dictionary/version-util.js.map +1 -1
  83. package/dist/jsfix-cmd.d.ts +3 -1
  84. package/dist/jsfix-cmd.js +157 -24
  85. package/dist/jsfix-cmd.js.map +1 -1
  86. package/dist/runtime/make-config.js.map +1 -1
  87. package/dist/runtime/session-container.js.map +1 -1
  88. package/dist/runtime/session-launcher.d.ts +2 -2
  89. package/dist/runtime/session-launcher.js +4 -2
  90. package/dist/runtime/session-launcher.js.map +1 -1
  91. package/dist/sample/http/oms/app.js.map +1 -1
  92. package/dist/sample/http/oms/http-client.js.map +1 -1
  93. package/dist/sample/http/oms/http-server.js.map +1 -1
  94. package/dist/sample/tcp/qf-md/md-server.js.map +1 -1
  95. package/dist/sample/tcp/recovering-skeleton/app.js.map +1 -1
  96. package/dist/sample/tcp/recovering-skeleton/respawn-acceptor.js.map +1 -1
  97. package/dist/sample/tcp/recovering-skeleton/skeleton-client.js.map +1 -1
  98. package/dist/sample/tcp/recovering-skeleton/skeleton-server.js.map +1 -1
  99. package/dist/sample/tcp/skeleton/skeleton-session.js.map +1 -1
  100. package/dist/sample/tcp/trade-capture/trade-capture-client.js.map +1 -1
  101. package/dist/sample/tcp/trade-capture/trade-capture-server.js.map +1 -1
  102. package/dist/sample/tcp/trade-capture/trade-factory.js.map +1 -1
  103. package/dist/store/fix-msg-ascii-store-resend.d.ts +4 -3
  104. package/dist/store/fix-msg-ascii-store-resend.js +21 -5
  105. package/dist/store/fix-msg-ascii-store-resend.js.map +1 -1
  106. package/dist/store/fix-msg-memory-store.js.map +1 -1
  107. package/dist/test/ascii/ascii-encoder.test.js.map +1 -1
  108. package/dist/test/ascii/ascii-parser.test.js +0 -1
  109. package/dist/test/ascii/ascii-parser.test.js.map +1 -1
  110. package/dist/test/ascii/ascii-store-replay.test.js +14 -1
  111. package/dist/test/ascii/ascii-store-replay.test.js.map +1 -1
  112. package/dist/test/ascii/ascii-tag-pos.test.js.map +1 -1
  113. package/dist/test/ascii/execution-report.test.js.map +1 -1
  114. package/dist/test/ascii/fix-log-replay.test.js.map +1 -1
  115. package/dist/test/ascii/fix-repo-dict.test.js +40 -1
  116. package/dist/test/ascii/fix-repo-dict.test.js.map +1 -1
  117. package/dist/test/ascii/logon.test.js.map +1 -1
  118. package/dist/test/ascii/memory-store.test.js +14 -27
  119. package/dist/test/ascii/memory-store.test.js.map +1 -1
  120. package/dist/test/ascii/qf-43-full-msg.test.js +6 -0
  121. package/dist/test/ascii/qf-43-full-msg.test.js.map +1 -1
  122. package/dist/test/ascii/qf-44-ascii-parser.test.d.ts +1 -0
  123. package/dist/test/ascii/qf-44-ascii-parser.test.js +54 -0
  124. package/dist/test/ascii/qf-44-ascii-parser.test.js.map +1 -0
  125. package/dist/test/ascii/qf-50sp0-dict.test.d.ts +1 -0
  126. package/dist/test/ascii/qf-50sp0-dict.test.js +145 -0
  127. package/dist/test/ascii/qf-50sp0-dict.test.js.map +1 -0
  128. package/dist/test/ascii/qf-50sp2-dict.test.js +324 -116
  129. package/dist/test/ascii/qf-50sp2-dict.test.js.map +1 -1
  130. package/dist/test/ascii/session.test.js +64 -15
  131. package/dist/test/ascii/session.test.js.map +1 -1
  132. package/dist/test/ascii/view-decode.test.js.map +1 -1
  133. package/dist/test/env/LogReplayer.d.ts +16 -0
  134. package/dist/test/env/LogReplayer.js +51 -0
  135. package/dist/test/env/LogReplayer.js.map +1 -0
  136. package/dist/test/env/encoder-test.js.map +1 -1
  137. package/dist/test/env/experiment.js +1 -1
  138. package/dist/test/env/experiment.js.map +1 -1
  139. package/dist/test/env/set-constraint-helper.js +0 -1
  140. package/dist/test/env/set-constraint-helper.js.map +1 -1
  141. package/dist/test/env/setup.js +2 -1
  142. package/dist/test/env/setup.js.map +1 -1
  143. package/dist/test/env/skeleton-runner.js.map +1 -1
  144. package/dist/test/env/test-recovery.js.map +1 -1
  145. package/dist/test/fixml/repo-full-fixml-msg.test.js +7 -0
  146. package/dist/test/fixml/repo-full-fixml-msg.test.js.map +1 -1
  147. package/dist/transport/ascii/ascii-msg-transmitter.js.map +1 -1
  148. package/dist/transport/ascii/ascii-session.js +4 -1
  149. package/dist/transport/ascii/ascii-session.js.map +1 -1
  150. package/dist/transport/duplex/fix-duplex.d.ts +1 -0
  151. package/dist/transport/duplex/fix-duplex.js.map +1 -1
  152. package/dist/transport/duplex/http-duplex.js.map +1 -1
  153. package/dist/transport/duplex/string-duplex.d.ts +12 -4
  154. package/dist/transport/duplex/string-duplex.js +70 -41
  155. package/dist/transport/duplex/string-duplex.js.map +1 -1
  156. package/dist/transport/factory/msg-transport.js.map +1 -1
  157. package/dist/transport/fixml/fixml-msg-transmitter.js.map +1 -1
  158. package/dist/transport/fixml/fixml-session-msg-factory.js.map +1 -1
  159. package/dist/transport/fixml/fixml-session.js.map +1 -1
  160. package/dist/transport/http/http-acceptor-listener.js.map +1 -1
  161. package/dist/transport/http/http-acceptor.js +1 -1
  162. package/dist/transport/http/http-acceptor.js.map +1 -1
  163. package/dist/transport/http/http-initiator.js.map +1 -1
  164. package/dist/transport/http/http-json-sample-adapter.js.map +1 -1
  165. package/dist/transport/index.d.ts +1 -7
  166. package/dist/transport/index.js +1 -7
  167. package/dist/transport/index.js.map +1 -1
  168. package/dist/transport/msg-transmitter.js.map +1 -1
  169. package/dist/transport/session/fix-session-state.js.map +1 -1
  170. package/dist/transport/session/fix-session.js +2 -4
  171. package/dist/transport/session/fix-session.js.map +1 -1
  172. package/dist/transport/session/index.d.ts +8 -0
  173. package/dist/transport/session/index.js +25 -0
  174. package/dist/transport/session/index.js.map +1 -0
  175. package/dist/transport/tcp/recovering-tcp-initiator.js.map +1 -1
  176. package/dist/transport/tcp/tcp-acceptor-listener.js.map +1 -1
  177. package/dist/transport/tcp/tcp-acceptor.js.map +1 -1
  178. package/dist/transport/tcp/tcp-initiator-connector.js.map +1 -1
  179. package/dist/transport/tcp/tcp-initiator.js.map +1 -1
  180. package/dist/transport/tcp/tls-options-factory.js.map +1 -1
  181. package/dist/types/FIX.5.MOD/quickfix/account_list.d.ts +12 -0
  182. package/dist/types/FIX.5.MOD/quickfix/account_list.js +3 -0
  183. package/dist/types/FIX.5.MOD/quickfix/account_list.js.map +1 -0
  184. package/dist/types/FIX.5.MOD/quickfix/account_list_incremental.d.ts +9 -0
  185. package/dist/types/FIX.5.MOD/quickfix/account_list_incremental.js +3 -0
  186. package/dist/types/FIX.5.MOD/quickfix/account_list_incremental.js.map +1 -0
  187. package/dist/types/FIX.5.MOD/quickfix/account_list_request.d.ts +11 -0
  188. package/dist/types/FIX.5.MOD/quickfix/account_list_request.js +3 -0
  189. package/dist/types/FIX.5.MOD/quickfix/account_list_request.js.map +1 -0
  190. package/dist/types/FIX.5.MOD/quickfix/adjusted_position_report.d.ts +19 -0
  191. package/dist/types/FIX.5.MOD/quickfix/adjusted_position_report.js +3 -0
  192. package/dist/types/FIX.5.MOD/quickfix/adjusted_position_report.js.map +1 -0
  193. package/dist/types/FIX.5.MOD/quickfix/advertisement.d.ts +30 -0
  194. package/dist/types/FIX.5.MOD/quickfix/advertisement.js +3 -0
  195. package/dist/types/FIX.5.MOD/quickfix/advertisement.js.map +1 -0
  196. package/dist/types/FIX.5.MOD/quickfix/allocation_instruction.d.ts +93 -0
  197. package/dist/types/FIX.5.MOD/quickfix/allocation_instruction.js +3 -0
  198. package/dist/types/FIX.5.MOD/quickfix/allocation_instruction.js.map +1 -0
  199. package/dist/types/FIX.5.MOD/quickfix/allocation_instruction_ack.d.ts +25 -0
  200. package/dist/types/FIX.5.MOD/quickfix/allocation_instruction_ack.js +3 -0
  201. package/dist/types/FIX.5.MOD/quickfix/allocation_instruction_ack.js.map +1 -0
  202. package/dist/types/FIX.5.MOD/quickfix/allocation_instruction_alert.d.ts +93 -0
  203. package/dist/types/FIX.5.MOD/quickfix/allocation_instruction_alert.js +3 -0
  204. package/dist/types/FIX.5.MOD/quickfix/allocation_instruction_alert.js.map +1 -0
  205. package/dist/types/FIX.5.MOD/quickfix/allocation_report.d.ts +98 -0
  206. package/dist/types/FIX.5.MOD/quickfix/allocation_report.js +3 -0
  207. package/dist/types/FIX.5.MOD/quickfix/allocation_report.js.map +1 -0
  208. package/dist/types/FIX.5.MOD/quickfix/allocation_report_ack.d.ts +30 -0
  209. package/dist/types/FIX.5.MOD/quickfix/allocation_report_ack.js +3 -0
  210. package/dist/types/FIX.5.MOD/quickfix/allocation_report_ack.js.map +1 -0
  211. package/dist/types/FIX.5.MOD/quickfix/assignment_report.d.ts +41 -0
  212. package/dist/types/FIX.5.MOD/quickfix/assignment_report.js +3 -0
  213. package/dist/types/FIX.5.MOD/quickfix/assignment_report.js.map +1 -0
  214. package/dist/types/FIX.5.MOD/quickfix/bid_request.d.ts +38 -0
  215. package/dist/types/FIX.5.MOD/quickfix/bid_request.js +3 -0
  216. package/dist/types/FIX.5.MOD/quickfix/bid_request.js.map +1 -0
  217. package/dist/types/FIX.5.MOD/quickfix/bid_response.d.ts +10 -0
  218. package/dist/types/FIX.5.MOD/quickfix/bid_response.js +3 -0
  219. package/dist/types/FIX.5.MOD/quickfix/bid_response.js.map +1 -0
  220. package/dist/types/FIX.5.MOD/quickfix/business_message_reject.d.ts +14 -0
  221. package/dist/types/FIX.5.MOD/quickfix/business_message_reject.js +3 -0
  222. package/dist/types/FIX.5.MOD/quickfix/business_message_reject.js.map +1 -0
  223. package/dist/types/FIX.5.MOD/quickfix/collateral_assignment.d.ts +66 -0
  224. package/dist/types/FIX.5.MOD/quickfix/collateral_assignment.js +3 -0
  225. package/dist/types/FIX.5.MOD/quickfix/collateral_assignment.js.map +1 -0
  226. package/dist/types/FIX.5.MOD/quickfix/collateral_inquiry.d.ts +63 -0
  227. package/dist/types/FIX.5.MOD/quickfix/collateral_inquiry.js +3 -0
  228. package/dist/types/FIX.5.MOD/quickfix/collateral_inquiry.js.map +1 -0
  229. package/dist/types/FIX.5.MOD/quickfix/collateral_inquiry_ack.d.ts +47 -0
  230. package/dist/types/FIX.5.MOD/quickfix/collateral_inquiry_ack.js +3 -0
  231. package/dist/types/FIX.5.MOD/quickfix/collateral_inquiry_ack.js.map +1 -0
  232. package/dist/types/FIX.5.MOD/quickfix/collateral_report.d.ts +67 -0
  233. package/dist/types/FIX.5.MOD/quickfix/collateral_report.js +3 -0
  234. package/dist/types/FIX.5.MOD/quickfix/collateral_report.js.map +1 -0
  235. package/dist/types/FIX.5.MOD/quickfix/collateral_request.d.ts +61 -0
  236. package/dist/types/FIX.5.MOD/quickfix/collateral_request.js +3 -0
  237. package/dist/types/FIX.5.MOD/quickfix/collateral_request.js.map +1 -0
  238. package/dist/types/FIX.5.MOD/quickfix/collateral_response.d.ts +63 -0
  239. package/dist/types/FIX.5.MOD/quickfix/collateral_response.js +3 -0
  240. package/dist/types/FIX.5.MOD/quickfix/collateral_response.js.map +1 -0
  241. package/dist/types/FIX.5.MOD/quickfix/confirmation.d.ts +88 -0
  242. package/dist/types/FIX.5.MOD/quickfix/confirmation.js +3 -0
  243. package/dist/types/FIX.5.MOD/quickfix/confirmation.js.map +1 -0
  244. package/dist/types/FIX.5.MOD/quickfix/confirmation_ack.d.ts +16 -0
  245. package/dist/types/FIX.5.MOD/quickfix/confirmation_ack.js +3 -0
  246. package/dist/types/FIX.5.MOD/quickfix/confirmation_ack.js.map +1 -0
  247. package/dist/types/FIX.5.MOD/quickfix/confirmation_request.d.ts +21 -0
  248. package/dist/types/FIX.5.MOD/quickfix/confirmation_request.js +3 -0
  249. package/dist/types/FIX.5.MOD/quickfix/confirmation_request.js.map +1 -0
  250. package/dist/types/FIX.5.MOD/quickfix/contrary_intention_report.d.ts +23 -0
  251. package/dist/types/FIX.5.MOD/quickfix/contrary_intention_report.js +3 -0
  252. package/dist/types/FIX.5.MOD/quickfix/contrary_intention_report.js.map +1 -0
  253. package/dist/types/FIX.5.MOD/quickfix/cross_order_cancel_replace_request.d.ts +77 -0
  254. package/dist/types/FIX.5.MOD/quickfix/cross_order_cancel_replace_request.js +3 -0
  255. package/dist/types/FIX.5.MOD/quickfix/cross_order_cancel_replace_request.js.map +1 -0
  256. package/dist/types/FIX.5.MOD/quickfix/cross_order_cancel_request.d.ts +23 -0
  257. package/dist/types/FIX.5.MOD/quickfix/cross_order_cancel_request.js +3 -0
  258. package/dist/types/FIX.5.MOD/quickfix/cross_order_cancel_request.js.map +1 -0
  259. package/dist/types/FIX.5.MOD/quickfix/derivative_security_list.d.ts +15 -0
  260. package/dist/types/FIX.5.MOD/quickfix/derivative_security_list.js +3 -0
  261. package/dist/types/FIX.5.MOD/quickfix/derivative_security_list.js.map +1 -0
  262. package/dist/types/FIX.5.MOD/quickfix/derivative_security_list_request.d.ts +19 -0
  263. package/dist/types/FIX.5.MOD/quickfix/derivative_security_list_request.js +3 -0
  264. package/dist/types/FIX.5.MOD/quickfix/derivative_security_list_request.js.map +1 -0
  265. package/dist/types/FIX.5.MOD/quickfix/dont_know_trade_dk.d.ts +25 -0
  266. package/dist/types/FIX.5.MOD/quickfix/dont_know_trade_dk.js +3 -0
  267. package/dist/types/FIX.5.MOD/quickfix/dont_know_trade_dk.js.map +1 -0
  268. package/dist/types/FIX.5.MOD/quickfix/email.d.ts +27 -0
  269. package/dist/types/FIX.5.MOD/quickfix/email.js +3 -0
  270. package/dist/types/FIX.5.MOD/quickfix/email.js.map +1 -0
  271. package/dist/types/FIX.5.MOD/quickfix/enum/all-enum.d.ts +3452 -0
  272. package/dist/types/FIX.5.MOD/quickfix/enum/all-enum.js +3809 -0
  273. package/dist/types/FIX.5.MOD/quickfix/enum/all-enum.js.map +1 -0
  274. package/dist/types/FIX.5.MOD/quickfix/enum/index.d.ts +2 -0
  275. package/dist/types/FIX.5.MOD/quickfix/enum/index.js +19 -0
  276. package/dist/types/FIX.5.MOD/quickfix/enum/index.js.map +1 -0
  277. package/dist/types/FIX.5.MOD/quickfix/enum/msg_tag.d.ts +1645 -0
  278. package/dist/types/FIX.5.MOD/quickfix/enum/msg_tag.js +1650 -0
  279. package/dist/types/FIX.5.MOD/quickfix/enum/msg_tag.js.map +1 -0
  280. package/dist/types/FIX.5.MOD/quickfix/execution_acknowledgement.d.ts +31 -0
  281. package/dist/types/FIX.5.MOD/quickfix/execution_acknowledgement.js +3 -0
  282. package/dist/types/FIX.5.MOD/quickfix/execution_acknowledgement.js.map +1 -0
  283. package/dist/types/FIX.5.MOD/quickfix/execution_report.d.ts +186 -0
  284. package/dist/types/FIX.5.MOD/quickfix/execution_report.js +3 -0
  285. package/dist/types/FIX.5.MOD/quickfix/execution_report.js.map +1 -0
  286. package/dist/types/FIX.5.MOD/quickfix/heartbeat.d.ts +7 -0
  287. package/dist/types/FIX.5.MOD/quickfix/heartbeat.js +3 -0
  288. package/dist/types/FIX.5.MOD/quickfix/heartbeat.js.map +1 -0
  289. package/dist/types/FIX.5.MOD/quickfix/index.d.ts +358 -0
  290. package/dist/types/FIX.5.MOD/quickfix/index.js +375 -0
  291. package/dist/types/FIX.5.MOD/quickfix/index.js.map +1 -0
  292. package/dist/types/FIX.5.MOD/quickfix/ioi.d.ts +46 -0
  293. package/dist/types/FIX.5.MOD/quickfix/ioi.js +3 -0
  294. package/dist/types/FIX.5.MOD/quickfix/ioi.js.map +1 -0
  295. package/dist/types/FIX.5.MOD/quickfix/list_cancel_request.d.ts +16 -0
  296. package/dist/types/FIX.5.MOD/quickfix/list_cancel_request.js +3 -0
  297. package/dist/types/FIX.5.MOD/quickfix/list_cancel_request.js.map +1 -0
  298. package/dist/types/FIX.5.MOD/quickfix/list_execute.d.ts +14 -0
  299. package/dist/types/FIX.5.MOD/quickfix/list_execute.js +3 -0
  300. package/dist/types/FIX.5.MOD/quickfix/list_execute.js.map +1 -0
  301. package/dist/types/FIX.5.MOD/quickfix/list_status.d.ts +20 -0
  302. package/dist/types/FIX.5.MOD/quickfix/list_status.js +3 -0
  303. package/dist/types/FIX.5.MOD/quickfix/list_status.js.map +1 -0
  304. package/dist/types/FIX.5.MOD/quickfix/list_status_request.d.ts +11 -0
  305. package/dist/types/FIX.5.MOD/quickfix/list_status_request.js +3 -0
  306. package/dist/types/FIX.5.MOD/quickfix/list_status_request.js.map +1 -0
  307. package/dist/types/FIX.5.MOD/quickfix/list_strike_price.d.ts +13 -0
  308. package/dist/types/FIX.5.MOD/quickfix/list_strike_price.js +3 -0
  309. package/dist/types/FIX.5.MOD/quickfix/list_strike_price.js.map +1 -0
  310. package/dist/types/FIX.5.MOD/quickfix/logon.d.ts +22 -0
  311. package/dist/types/FIX.5.MOD/quickfix/logon.js +3 -0
  312. package/dist/types/FIX.5.MOD/quickfix/logon.js.map +1 -0
  313. package/dist/types/FIX.5.MOD/quickfix/logout.d.ts +10 -0
  314. package/dist/types/FIX.5.MOD/quickfix/logout.js +3 -0
  315. package/dist/types/FIX.5.MOD/quickfix/logout.js.map +1 -0
  316. package/dist/types/FIX.5.MOD/quickfix/market_data_incremental_refresh.d.ts +16 -0
  317. package/dist/types/FIX.5.MOD/quickfix/market_data_incremental_refresh.js +3 -0
  318. package/dist/types/FIX.5.MOD/quickfix/market_data_incremental_refresh.js.map +1 -0
  319. package/dist/types/FIX.5.MOD/quickfix/market_data_request.d.ts +24 -0
  320. package/dist/types/FIX.5.MOD/quickfix/market_data_request.js +3 -0
  321. package/dist/types/FIX.5.MOD/quickfix/market_data_request.js.map +1 -0
  322. package/dist/types/FIX.5.MOD/quickfix/market_data_request_reject.d.ts +14 -0
  323. package/dist/types/FIX.5.MOD/quickfix/market_data_request_reject.js +3 -0
  324. package/dist/types/FIX.5.MOD/quickfix/market_data_request_reject.js.map +1 -0
  325. package/dist/types/FIX.5.MOD/quickfix/market_data_snapshot_full_refresh.d.ts +28 -0
  326. package/dist/types/FIX.5.MOD/quickfix/market_data_snapshot_full_refresh.js +3 -0
  327. package/dist/types/FIX.5.MOD/quickfix/market_data_snapshot_full_refresh.js.map +1 -0
  328. package/dist/types/FIX.5.MOD/quickfix/mass_quote.d.ts +19 -0
  329. package/dist/types/FIX.5.MOD/quickfix/mass_quote.js +3 -0
  330. package/dist/types/FIX.5.MOD/quickfix/mass_quote.js.map +1 -0
  331. package/dist/types/FIX.5.MOD/quickfix/mass_quote_acknowledgement.d.ts +23 -0
  332. package/dist/types/FIX.5.MOD/quickfix/mass_quote_acknowledgement.js +3 -0
  333. package/dist/types/FIX.5.MOD/quickfix/mass_quote_acknowledgement.js.map +1 -0
  334. package/dist/types/FIX.5.MOD/quickfix/multileg_order_cancel_replace.d.ts +103 -0
  335. package/dist/types/FIX.5.MOD/quickfix/multileg_order_cancel_replace.js +3 -0
  336. package/dist/types/FIX.5.MOD/quickfix/multileg_order_cancel_replace.js.map +1 -0
  337. package/dist/types/FIX.5.MOD/quickfix/network_counterparty_system_status_request.d.ts +10 -0
  338. package/dist/types/FIX.5.MOD/quickfix/network_counterparty_system_status_request.js +3 -0
  339. package/dist/types/FIX.5.MOD/quickfix/network_counterparty_system_status_request.js.map +1 -0
  340. package/dist/types/FIX.5.MOD/quickfix/network_counterparty_system_status_response.d.ts +12 -0
  341. package/dist/types/FIX.5.MOD/quickfix/network_counterparty_system_status_response.js +3 -0
  342. package/dist/types/FIX.5.MOD/quickfix/network_counterparty_system_status_response.js.map +1 -0
  343. package/dist/types/FIX.5.MOD/quickfix/new_order_cross.d.ts +74 -0
  344. package/dist/types/FIX.5.MOD/quickfix/new_order_cross.js +3 -0
  345. package/dist/types/FIX.5.MOD/quickfix/new_order_cross.js.map +1 -0
  346. package/dist/types/FIX.5.MOD/quickfix/new_order_list.d.ts +29 -0
  347. package/dist/types/FIX.5.MOD/quickfix/new_order_list.js +3 -0
  348. package/dist/types/FIX.5.MOD/quickfix/new_order_list.js.map +1 -0
  349. package/dist/types/FIX.5.MOD/quickfix/new_order_multileg.d.ts +102 -0
  350. package/dist/types/FIX.5.MOD/quickfix/new_order_multileg.js +3 -0
  351. package/dist/types/FIX.5.MOD/quickfix/new_order_multileg.js.map +1 -0
  352. package/dist/types/FIX.5.MOD/quickfix/new_order_single.d.ts +116 -0
  353. package/dist/types/FIX.5.MOD/quickfix/new_order_single.js +3 -0
  354. package/dist/types/FIX.5.MOD/quickfix/new_order_single.js.map +1 -0
  355. package/dist/types/FIX.5.MOD/quickfix/news.d.ts +26 -0
  356. package/dist/types/FIX.5.MOD/quickfix/news.js +3 -0
  357. package/dist/types/FIX.5.MOD/quickfix/news.js.map +1 -0
  358. package/dist/types/FIX.5.MOD/quickfix/order_cancel_reject.d.ts +28 -0
  359. package/dist/types/FIX.5.MOD/quickfix/order_cancel_reject.js +3 -0
  360. package/dist/types/FIX.5.MOD/quickfix/order_cancel_reject.js.map +1 -0
  361. package/dist/types/FIX.5.MOD/quickfix/order_cancel_replace_request.d.ts +112 -0
  362. package/dist/types/FIX.5.MOD/quickfix/order_cancel_replace_request.js +3 -0
  363. package/dist/types/FIX.5.MOD/quickfix/order_cancel_replace_request.js.map +1 -0
  364. package/dist/types/FIX.5.MOD/quickfix/order_cancel_request.d.ts +33 -0
  365. package/dist/types/FIX.5.MOD/quickfix/order_cancel_request.js +3 -0
  366. package/dist/types/FIX.5.MOD/quickfix/order_cancel_request.js.map +1 -0
  367. package/dist/types/FIX.5.MOD/quickfix/order_mass_cancel_report.d.ts +31 -0
  368. package/dist/types/FIX.5.MOD/quickfix/order_mass_cancel_report.js +3 -0
  369. package/dist/types/FIX.5.MOD/quickfix/order_mass_cancel_report.js.map +1 -0
  370. package/dist/types/FIX.5.MOD/quickfix/order_mass_cancel_request.d.ts +27 -0
  371. package/dist/types/FIX.5.MOD/quickfix/order_mass_cancel_request.js +3 -0
  372. package/dist/types/FIX.5.MOD/quickfix/order_mass_cancel_request.js.map +1 -0
  373. package/dist/types/FIX.5.MOD/quickfix/order_mass_status_request.d.ts +19 -0
  374. package/dist/types/FIX.5.MOD/quickfix/order_mass_status_request.js +3 -0
  375. package/dist/types/FIX.5.MOD/quickfix/order_mass_status_request.js.map +1 -0
  376. package/dist/types/FIX.5.MOD/quickfix/order_status_request.d.ts +22 -0
  377. package/dist/types/FIX.5.MOD/quickfix/order_status_request.js +3 -0
  378. package/dist/types/FIX.5.MOD/quickfix/order_status_request.js.map +1 -0
  379. package/dist/types/FIX.5.MOD/quickfix/position_maintenance_report.d.ts +45 -0
  380. package/dist/types/FIX.5.MOD/quickfix/position_maintenance_report.js +3 -0
  381. package/dist/types/FIX.5.MOD/quickfix/position_maintenance_report.js.map +1 -0
  382. package/dist/types/FIX.5.MOD/quickfix/position_maintenance_request.d.ts +42 -0
  383. package/dist/types/FIX.5.MOD/quickfix/position_maintenance_request.js +3 -0
  384. package/dist/types/FIX.5.MOD/quickfix/position_maintenance_request.js.map +1 -0
  385. package/dist/types/FIX.5.MOD/quickfix/position_report.d.ts +47 -0
  386. package/dist/types/FIX.5.MOD/quickfix/position_report.js +3 -0
  387. package/dist/types/FIX.5.MOD/quickfix/position_report.js.map +1 -0
  388. package/dist/types/FIX.5.MOD/quickfix/quote.d.ts +81 -0
  389. package/dist/types/FIX.5.MOD/quickfix/quote.js +3 -0
  390. package/dist/types/FIX.5.MOD/quickfix/quote.js.map +1 -0
  391. package/dist/types/FIX.5.MOD/quickfix/quote_cancel.d.ts +20 -0
  392. package/dist/types/FIX.5.MOD/quickfix/quote_cancel.js +3 -0
  393. package/dist/types/FIX.5.MOD/quickfix/quote_cancel.js.map +1 -0
  394. package/dist/types/FIX.5.MOD/quickfix/quote_request.d.ts +17 -0
  395. package/dist/types/FIX.5.MOD/quickfix/quote_request.js +3 -0
  396. package/dist/types/FIX.5.MOD/quickfix/quote_request.js.map +1 -0
  397. package/dist/types/FIX.5.MOD/quickfix/quote_request_reject.d.ts +15 -0
  398. package/dist/types/FIX.5.MOD/quickfix/quote_request_reject.js +3 -0
  399. package/dist/types/FIX.5.MOD/quickfix/quote_request_reject.js.map +1 -0
  400. package/dist/types/FIX.5.MOD/quickfix/quote_response.d.ts +80 -0
  401. package/dist/types/FIX.5.MOD/quickfix/quote_response.js +3 -0
  402. package/dist/types/FIX.5.MOD/quickfix/quote_response.js.map +1 -0
  403. package/dist/types/FIX.5.MOD/quickfix/quote_status_report.d.ts +81 -0
  404. package/dist/types/FIX.5.MOD/quickfix/quote_status_report.js +3 -0
  405. package/dist/types/FIX.5.MOD/quickfix/quote_status_report.js.map +1 -0
  406. package/dist/types/FIX.5.MOD/quickfix/quote_status_request.d.ts +24 -0
  407. package/dist/types/FIX.5.MOD/quickfix/quote_status_request.js +3 -0
  408. package/dist/types/FIX.5.MOD/quickfix/quote_status_request.js.map +1 -0
  409. package/dist/types/FIX.5.MOD/quickfix/registration_instructions.d.ts +21 -0
  410. package/dist/types/FIX.5.MOD/quickfix/registration_instructions.js +3 -0
  411. package/dist/types/FIX.5.MOD/quickfix/registration_instructions.js.map +1 -0
  412. package/dist/types/FIX.5.MOD/quickfix/registration_instructions_response.d.ts +17 -0
  413. package/dist/types/FIX.5.MOD/quickfix/registration_instructions_response.js +3 -0
  414. package/dist/types/FIX.5.MOD/quickfix/registration_instructions_response.js.map +1 -0
  415. package/dist/types/FIX.5.MOD/quickfix/reject.d.ts +14 -0
  416. package/dist/types/FIX.5.MOD/quickfix/reject.js +3 -0
  417. package/dist/types/FIX.5.MOD/quickfix/reject.js.map +1 -0
  418. package/dist/types/FIX.5.MOD/quickfix/request_for_positions.d.ts +35 -0
  419. package/dist/types/FIX.5.MOD/quickfix/request_for_positions.js +3 -0
  420. package/dist/types/FIX.5.MOD/quickfix/request_for_positions.js.map +1 -0
  421. package/dist/types/FIX.5.MOD/quickfix/request_for_positions_ack.d.ts +37 -0
  422. package/dist/types/FIX.5.MOD/quickfix/request_for_positions_ack.js +3 -0
  423. package/dist/types/FIX.5.MOD/quickfix/request_for_positions_ack.js.map +1 -0
  424. package/dist/types/FIX.5.MOD/quickfix/resend_request.d.ts +8 -0
  425. package/dist/types/FIX.5.MOD/quickfix/resend_request.js +3 -0
  426. package/dist/types/FIX.5.MOD/quickfix/resend_request.js.map +1 -0
  427. package/dist/types/FIX.5.MOD/quickfix/rfq_request.d.ts +10 -0
  428. package/dist/types/FIX.5.MOD/quickfix/rfq_request.js +3 -0
  429. package/dist/types/FIX.5.MOD/quickfix/rfq_request.js.map +1 -0
  430. package/dist/types/FIX.5.MOD/quickfix/security_definition.d.ts +29 -0
  431. package/dist/types/FIX.5.MOD/quickfix/security_definition.js +3 -0
  432. package/dist/types/FIX.5.MOD/quickfix/security_definition.js.map +1 -0
  433. package/dist/types/FIX.5.MOD/quickfix/security_definition_request.d.ts +25 -0
  434. package/dist/types/FIX.5.MOD/quickfix/security_definition_request.js +3 -0
  435. package/dist/types/FIX.5.MOD/quickfix/security_definition_request.js.map +1 -0
  436. package/dist/types/FIX.5.MOD/quickfix/security_definition_update_report.d.ts +29 -0
  437. package/dist/types/FIX.5.MOD/quickfix/security_definition_update_report.js +3 -0
  438. package/dist/types/FIX.5.MOD/quickfix/security_definition_update_report.js.map +1 -0
  439. package/dist/types/FIX.5.MOD/quickfix/security_list.d.ts +27 -0
  440. package/dist/types/FIX.5.MOD/quickfix/security_list.js +3 -0
  441. package/dist/types/FIX.5.MOD/quickfix/security_list.js.map +1 -0
  442. package/dist/types/FIX.5.MOD/quickfix/security_list_request.d.ts +28 -0
  443. package/dist/types/FIX.5.MOD/quickfix/security_list_request.js +3 -0
  444. package/dist/types/FIX.5.MOD/quickfix/security_list_request.js.map +1 -0
  445. package/dist/types/FIX.5.MOD/quickfix/security_list_update_report.d.ts +17 -0
  446. package/dist/types/FIX.5.MOD/quickfix/security_list_update_report.js +3 -0
  447. package/dist/types/FIX.5.MOD/quickfix/security_list_update_report.js.map +1 -0
  448. package/dist/types/FIX.5.MOD/quickfix/security_status.d.ts +37 -0
  449. package/dist/types/FIX.5.MOD/quickfix/security_status.js +3 -0
  450. package/dist/types/FIX.5.MOD/quickfix/security_status.js.map +1 -0
  451. package/dist/types/FIX.5.MOD/quickfix/security_status_request.d.ts +19 -0
  452. package/dist/types/FIX.5.MOD/quickfix/security_status_request.js +3 -0
  453. package/dist/types/FIX.5.MOD/quickfix/security_status_request.js.map +1 -0
  454. package/dist/types/FIX.5.MOD/quickfix/security_type_request.d.ts +16 -0
  455. package/dist/types/FIX.5.MOD/quickfix/security_type_request.js +3 -0
  456. package/dist/types/FIX.5.MOD/quickfix/security_type_request.js.map +1 -0
  457. package/dist/types/FIX.5.MOD/quickfix/security_types.d.ts +20 -0
  458. package/dist/types/FIX.5.MOD/quickfix/security_types.js +3 -0
  459. package/dist/types/FIX.5.MOD/quickfix/security_types.js.map +1 -0
  460. package/dist/types/FIX.5.MOD/quickfix/sequence_reset.d.ts +8 -0
  461. package/dist/types/FIX.5.MOD/quickfix/sequence_reset.js +3 -0
  462. package/dist/types/FIX.5.MOD/quickfix/sequence_reset.js.map +1 -0
  463. package/dist/types/FIX.5.MOD/quickfix/set/affected_ord_grp.d.ts +3 -0
  464. package/dist/types/FIX.5.MOD/quickfix/set/affected_ord_grp.js +3 -0
  465. package/dist/types/FIX.5.MOD/quickfix/set/affected_ord_grp.js.map +1 -0
  466. package/dist/types/FIX.5.MOD/quickfix/set/alloc_ack_grp.d.ts +4 -0
  467. package/dist/types/FIX.5.MOD/quickfix/set/alloc_ack_grp.js +3 -0
  468. package/dist/types/FIX.5.MOD/quickfix/set/alloc_ack_grp.js.map +1 -0
  469. package/dist/types/FIX.5.MOD/quickfix/set/alloc_ack_grp_no_allocs.d.ts +18 -0
  470. package/dist/types/FIX.5.MOD/quickfix/set/alloc_ack_grp_no_allocs.js +3 -0
  471. package/dist/types/FIX.5.MOD/quickfix/set/alloc_ack_grp_no_allocs.js.map +1 -0
  472. package/dist/types/FIX.5.MOD/quickfix/set/alloc_grp.d.ts +4 -0
  473. package/dist/types/FIX.5.MOD/quickfix/set/alloc_grp.js +3 -0
  474. package/dist/types/FIX.5.MOD/quickfix/set/alloc_grp.js.map +1 -0
  475. package/dist/types/FIX.5.MOD/quickfix/set/alloc_grp_no_allocs.d.ts +42 -0
  476. package/dist/types/FIX.5.MOD/quickfix/set/alloc_grp_no_allocs.js +3 -0
  477. package/dist/types/FIX.5.MOD/quickfix/set/alloc_grp_no_allocs.js.map +1 -0
  478. package/dist/types/FIX.5.MOD/quickfix/set/attrb_grp.d.ts +4 -0
  479. package/dist/types/FIX.5.MOD/quickfix/set/attrb_grp.js +3 -0
  480. package/dist/types/FIX.5.MOD/quickfix/set/attrb_grp.js.map +1 -0
  481. package/dist/types/FIX.5.MOD/quickfix/set/attrb_grp_no_instr_attrib.d.ts +4 -0
  482. package/dist/types/FIX.5.MOD/quickfix/set/attrb_grp_no_instr_attrib.js +3 -0
  483. package/dist/types/FIX.5.MOD/quickfix/set/attrb_grp_no_instr_attrib.js.map +1 -0
  484. package/dist/types/FIX.5.MOD/quickfix/set/base_trading_rules.d.ts +18 -0
  485. package/dist/types/FIX.5.MOD/quickfix/set/base_trading_rules.js +3 -0
  486. package/dist/types/FIX.5.MOD/quickfix/set/base_trading_rules.js.map +1 -0
  487. package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_req_grp.d.ts +4 -0
  488. package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_req_grp.js +3 -0
  489. package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_req_grp.js.map +1 -0
  490. package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_req_grp_no_bid_components.d.ts +11 -0
  491. package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_req_grp_no_bid_components.js +3 -0
  492. package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_req_grp_no_bid_components.js.map +1 -0
  493. package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_rsp_grp.d.ts +4 -0
  494. package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_rsp_grp.js +3 -0
  495. package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_rsp_grp.js.map +1 -0
  496. package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_rsp_grp_no_bid_components.d.ts +19 -0
  497. package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_rsp_grp_no_bid_components.js +3 -0
  498. package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_rsp_grp_no_bid_components.js.map +1 -0
  499. package/dist/types/FIX.5.MOD/quickfix/set/bid_desc_req_grp.d.ts +4 -0
  500. package/dist/types/FIX.5.MOD/quickfix/set/bid_desc_req_grp.js +3 -0
  501. package/dist/types/FIX.5.MOD/quickfix/set/bid_desc_req_grp.js.map +1 -0
  502. package/dist/types/FIX.5.MOD/quickfix/set/bid_desc_req_grp_no_bid_descriptors.d.ts +13 -0
  503. package/dist/types/FIX.5.MOD/quickfix/set/bid_desc_req_grp_no_bid_descriptors.js +3 -0
  504. package/dist/types/FIX.5.MOD/quickfix/set/bid_desc_req_grp_no_bid_descriptors.js.map +1 -0
  505. package/dist/types/FIX.5.MOD/quickfix/set/clr_inst_grp.d.ts +4 -0
  506. package/dist/types/FIX.5.MOD/quickfix/set/clr_inst_grp.js +3 -0
  507. package/dist/types/FIX.5.MOD/quickfix/set/clr_inst_grp.js.map +1 -0
  508. package/dist/types/FIX.5.MOD/quickfix/set/clr_inst_grp_no_clearing_instructions.d.ts +3 -0
  509. package/dist/types/FIX.5.MOD/quickfix/set/clr_inst_grp_no_clearing_instructions.js +3 -0
  510. package/dist/types/FIX.5.MOD/quickfix/set/clr_inst_grp_no_clearing_instructions.js.map +1 -0
  511. package/dist/types/FIX.5.MOD/quickfix/set/coll_inq_qual_grp.d.ts +4 -0
  512. package/dist/types/FIX.5.MOD/quickfix/set/coll_inq_qual_grp.js +3 -0
  513. package/dist/types/FIX.5.MOD/quickfix/set/coll_inq_qual_grp.js.map +1 -0
  514. package/dist/types/FIX.5.MOD/quickfix/set/coll_inq_qual_grp_no_coll_inquiry_qualifier.d.ts +3 -0
  515. package/dist/types/FIX.5.MOD/quickfix/set/coll_inq_qual_grp_no_coll_inquiry_qualifier.js +3 -0
  516. package/dist/types/FIX.5.MOD/quickfix/set/coll_inq_qual_grp_no_coll_inquiry_qualifier.js.map +1 -0
  517. package/dist/types/FIX.5.MOD/quickfix/set/commission_data.d.ts +6 -0
  518. package/dist/types/FIX.5.MOD/quickfix/set/commission_data.js +3 -0
  519. package/dist/types/FIX.5.MOD/quickfix/set/commission_data.js.map +1 -0
  520. package/dist/types/FIX.5.MOD/quickfix/set/comp_id_req_grp.d.ts +4 -0
  521. package/dist/types/FIX.5.MOD/quickfix/set/comp_id_req_grp.js +3 -0
  522. package/dist/types/FIX.5.MOD/quickfix/set/comp_id_req_grp.js.map +1 -0
  523. package/dist/types/FIX.5.MOD/quickfix/set/comp_id_req_grp_no_comp_i_ds.d.ts +6 -0
  524. package/dist/types/FIX.5.MOD/quickfix/set/comp_id_req_grp_no_comp_i_ds.js +3 -0
  525. package/dist/types/FIX.5.MOD/quickfix/set/comp_id_req_grp_no_comp_i_ds.js.map +1 -0
  526. package/dist/types/FIX.5.MOD/quickfix/set/comp_id_stat_grp.d.ts +4 -0
  527. package/dist/types/FIX.5.MOD/quickfix/set/comp_id_stat_grp.js +3 -0
  528. package/dist/types/FIX.5.MOD/quickfix/set/comp_id_stat_grp.js.map +1 -0
  529. package/dist/types/FIX.5.MOD/quickfix/set/comp_id_stat_grp_no_comp_i_ds.d.ts +8 -0
  530. package/dist/types/FIX.5.MOD/quickfix/set/comp_id_stat_grp_no_comp_i_ds.js +3 -0
  531. package/dist/types/FIX.5.MOD/quickfix/set/comp_id_stat_grp_no_comp_i_ds.js.map +1 -0
  532. package/dist/types/FIX.5.MOD/quickfix/set/cont_amt_grp.d.ts +4 -0
  533. package/dist/types/FIX.5.MOD/quickfix/set/cont_amt_grp.js +3 -0
  534. package/dist/types/FIX.5.MOD/quickfix/set/cont_amt_grp.js.map +1 -0
  535. package/dist/types/FIX.5.MOD/quickfix/set/cont_amt_grp_no_cont_amts.d.ts +5 -0
  536. package/dist/types/FIX.5.MOD/quickfix/set/cont_amt_grp_no_cont_amts.js +3 -0
  537. package/dist/types/FIX.5.MOD/quickfix/set/cont_amt_grp_no_cont_amts.js.map +1 -0
  538. package/dist/types/FIX.5.MOD/quickfix/set/contra_grp.d.ts +4 -0
  539. package/dist/types/FIX.5.MOD/quickfix/set/contra_grp.js +3 -0
  540. package/dist/types/FIX.5.MOD/quickfix/set/contra_grp.js.map +1 -0
  541. package/dist/types/FIX.5.MOD/quickfix/set/contra_grp_no_contra_brokers.d.ts +7 -0
  542. package/dist/types/FIX.5.MOD/quickfix/set/contra_grp_no_contra_brokers.js +3 -0
  543. package/dist/types/FIX.5.MOD/quickfix/set/contra_grp_no_contra_brokers.js.map +1 -0
  544. package/dist/types/FIX.5.MOD/quickfix/set/cpcty_conf_grp.d.ts +4 -0
  545. package/dist/types/FIX.5.MOD/quickfix/set/cpcty_conf_grp.js +3 -0
  546. package/dist/types/FIX.5.MOD/quickfix/set/cpcty_conf_grp.js.map +1 -0
  547. package/dist/types/FIX.5.MOD/quickfix/set/cpcty_conf_grp_no_capacities.d.ts +5 -0
  548. package/dist/types/FIX.5.MOD/quickfix/set/cpcty_conf_grp_no_capacities.js +3 -0
  549. package/dist/types/FIX.5.MOD/quickfix/set/cpcty_conf_grp_no_capacities.js.map +1 -0
  550. package/dist/types/FIX.5.MOD/quickfix/set/discretion_instructions.d.ts +9 -0
  551. package/dist/types/FIX.5.MOD/quickfix/set/discretion_instructions.js +3 -0
  552. package/dist/types/FIX.5.MOD/quickfix/set/discretion_instructions.js.map +1 -0
  553. package/dist/types/FIX.5.MOD/quickfix/set/display_instruction.d.ts +10 -0
  554. package/dist/types/FIX.5.MOD/quickfix/set/display_instruction.js +3 -0
  555. package/dist/types/FIX.5.MOD/quickfix/set/display_instruction.js.map +1 -0
  556. package/dist/types/FIX.5.MOD/quickfix/set/dlvy_inst_grp.d.ts +4 -0
  557. package/dist/types/FIX.5.MOD/quickfix/set/dlvy_inst_grp.js +3 -0
  558. package/dist/types/FIX.5.MOD/quickfix/set/dlvy_inst_grp.js.map +1 -0
  559. package/dist/types/FIX.5.MOD/quickfix/set/dlvy_inst_grp_no_dlvy_inst.d.ts +6 -0
  560. package/dist/types/FIX.5.MOD/quickfix/set/dlvy_inst_grp_no_dlvy_inst.js +3 -0
  561. package/dist/types/FIX.5.MOD/quickfix/set/dlvy_inst_grp_no_dlvy_inst.js.map +1 -0
  562. package/dist/types/FIX.5.MOD/quickfix/set/evnt_grp.d.ts +4 -0
  563. package/dist/types/FIX.5.MOD/quickfix/set/evnt_grp.js +3 -0
  564. package/dist/types/FIX.5.MOD/quickfix/set/evnt_grp.js.map +1 -0
  565. package/dist/types/FIX.5.MOD/quickfix/set/evnt_grp_no_events.d.ts +6 -0
  566. package/dist/types/FIX.5.MOD/quickfix/set/evnt_grp_no_events.js +3 -0
  567. package/dist/types/FIX.5.MOD/quickfix/set/evnt_grp_no_events.js.map +1 -0
  568. package/dist/types/FIX.5.MOD/quickfix/set/exec_alloc_grp.d.ts +4 -0
  569. package/dist/types/FIX.5.MOD/quickfix/set/exec_alloc_grp.js +3 -0
  570. package/dist/types/FIX.5.MOD/quickfix/set/exec_alloc_grp.js.map +1 -0
  571. package/dist/types/FIX.5.MOD/quickfix/set/exec_alloc_grp_no_execs.d.ts +10 -0
  572. package/dist/types/FIX.5.MOD/quickfix/set/exec_alloc_grp_no_execs.js +3 -0
  573. package/dist/types/FIX.5.MOD/quickfix/set/exec_alloc_grp_no_execs.js.map +1 -0
  574. package/dist/types/FIX.5.MOD/quickfix/set/exec_coll_grp.d.ts +4 -0
  575. package/dist/types/FIX.5.MOD/quickfix/set/exec_coll_grp.js +3 -0
  576. package/dist/types/FIX.5.MOD/quickfix/set/exec_coll_grp.js.map +1 -0
  577. package/dist/types/FIX.5.MOD/quickfix/set/exec_coll_grp_no_execs.d.ts +3 -0
  578. package/dist/types/FIX.5.MOD/quickfix/set/exec_coll_grp_no_execs.js +3 -0
  579. package/dist/types/FIX.5.MOD/quickfix/set/exec_coll_grp_no_execs.js.map +1 -0
  580. package/dist/types/FIX.5.MOD/quickfix/set/exec_inst_rules.d.ts +4 -0
  581. package/dist/types/FIX.5.MOD/quickfix/set/exec_inst_rules.js +3 -0
  582. package/dist/types/FIX.5.MOD/quickfix/set/exec_inst_rules.js.map +1 -0
  583. package/dist/types/FIX.5.MOD/quickfix/set/exec_inst_rules_no_exec_inst_rules.d.ts +3 -0
  584. package/dist/types/FIX.5.MOD/quickfix/set/exec_inst_rules_no_exec_inst_rules.js +3 -0
  585. package/dist/types/FIX.5.MOD/quickfix/set/exec_inst_rules_no_exec_inst_rules.js.map +1 -0
  586. package/dist/types/FIX.5.MOD/quickfix/set/expiration_qty.d.ts +4 -0
  587. package/dist/types/FIX.5.MOD/quickfix/set/expiration_qty.js +3 -0
  588. package/dist/types/FIX.5.MOD/quickfix/set/expiration_qty.js.map +1 -0
  589. package/dist/types/FIX.5.MOD/quickfix/set/expiration_qty_no_expiration.d.ts +4 -0
  590. package/dist/types/FIX.5.MOD/quickfix/set/expiration_qty_no_expiration.js +3 -0
  591. package/dist/types/FIX.5.MOD/quickfix/set/expiration_qty_no_expiration.js.map +1 -0
  592. package/dist/types/FIX.5.MOD/quickfix/set/financing_details.d.ts +11 -0
  593. package/dist/types/FIX.5.MOD/quickfix/set/financing_details.js +3 -0
  594. package/dist/types/FIX.5.MOD/quickfix/set/financing_details.js.map +1 -0
  595. package/dist/types/FIX.5.MOD/quickfix/set/hop_grp.d.ts +4 -0
  596. package/dist/types/FIX.5.MOD/quickfix/set/hop_grp.js +3 -0
  597. package/dist/types/FIX.5.MOD/quickfix/set/hop_grp.js.map +1 -0
  598. package/dist/types/FIX.5.MOD/quickfix/set/hop_grp_no_hops.d.ts +5 -0
  599. package/dist/types/FIX.5.MOD/quickfix/set/hop_grp_no_hops.js +3 -0
  600. package/dist/types/FIX.5.MOD/quickfix/set/hop_grp_no_hops.js.map +1 -0
  601. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_grp.d.ts +4 -0
  602. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_grp.js +3 -0
  603. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_grp.js.map +1 -0
  604. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_grp_no_related_sym.d.ts +4 -0
  605. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_grp_no_related_sym.js +3 -0
  606. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_grp_no_related_sym.js.map +1 -0
  607. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_exec_grp.d.ts +4 -0
  608. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_exec_grp.js +3 -0
  609. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_exec_grp.js.map +1 -0
  610. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_exec_grp_no_legs.d.ts +22 -0
  611. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_exec_grp_no_legs.js +3 -0
  612. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_exec_grp_no_legs.js.map +1 -0
  613. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_grp.d.ts +4 -0
  614. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_grp.js +3 -0
  615. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_grp.js.map +1 -0
  616. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_grp_no_legs.d.ts +4 -0
  617. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_grp_no_legs.js +3 -0
  618. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_grp_no_legs.js.map +1 -0
  619. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_ioi_grp.d.ts +4 -0
  620. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_ioi_grp.js +3 -0
  621. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_ioi_grp.js.map +1 -0
  622. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_ioi_grp_no_legs.d.ts +7 -0
  623. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_ioi_grp_no_legs.js +3 -0
  624. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_ioi_grp_no_legs.js.map +1 -0
  625. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_sec_list_grp.d.ts +4 -0
  626. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_sec_list_grp.js +3 -0
  627. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_sec_list_grp.js.map +1 -0
  628. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_sec_list_grp_no_legs.d.ts +10 -0
  629. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_sec_list_grp_no_legs.js +3 -0
  630. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_sec_list_grp_no_legs.js.map +1 -0
  631. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_md_req_grp.d.ts +4 -0
  632. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_md_req_grp.js +3 -0
  633. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_md_req_grp.js.map +1 -0
  634. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_md_req_grp_no_related_sym.d.ts +13 -0
  635. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_md_req_grp_no_related_sym.js +3 -0
  636. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_md_req_grp_no_related_sym.js.map +1 -0
  637. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_strk_px_grp.d.ts +4 -0
  638. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_strk_px_grp.js +3 -0
  639. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_strk_px_grp.js.map +1 -0
  640. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_strk_px_grp_no_strikes.d.ts +4 -0
  641. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_strk_px_grp_no_strikes.js +3 -0
  642. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_strk_px_grp_no_strikes.js.map +1 -0
  643. package/dist/types/FIX.5.MOD/quickfix/set/instrument.d.ts +73 -0
  644. package/dist/types/FIX.5.MOD/quickfix/set/instrument.js +3 -0
  645. package/dist/types/FIX.5.MOD/quickfix/set/instrument.js.map +1 -0
  646. package/dist/types/FIX.5.MOD/quickfix/set/instrument_extension.d.ts +6 -0
  647. package/dist/types/FIX.5.MOD/quickfix/set/instrument_extension.js +3 -0
  648. package/dist/types/FIX.5.MOD/quickfix/set/instrument_extension.js.map +1 -0
  649. package/dist/types/FIX.5.MOD/quickfix/set/instrument_leg.d.ts +48 -0
  650. package/dist/types/FIX.5.MOD/quickfix/set/instrument_leg.js +3 -0
  651. package/dist/types/FIX.5.MOD/quickfix/set/instrument_leg.js.map +1 -0
  652. package/dist/types/FIX.5.MOD/quickfix/set/instrument_parties.d.ts +4 -0
  653. package/dist/types/FIX.5.MOD/quickfix/set/instrument_parties.js +3 -0
  654. package/dist/types/FIX.5.MOD/quickfix/set/instrument_parties.js.map +1 -0
  655. package/dist/types/FIX.5.MOD/quickfix/set/instrument_parties_no_instrument_parties.d.ts +7 -0
  656. package/dist/types/FIX.5.MOD/quickfix/set/instrument_parties_no_instrument_parties.js +3 -0
  657. package/dist/types/FIX.5.MOD/quickfix/set/instrument_parties_no_instrument_parties.js.map +1 -0
  658. package/dist/types/FIX.5.MOD/quickfix/set/instrument_ptys_sub_grp.d.ts +4 -0
  659. package/dist/types/FIX.5.MOD/quickfix/set/instrument_ptys_sub_grp.js +3 -0
  660. package/dist/types/FIX.5.MOD/quickfix/set/instrument_ptys_sub_grp.js.map +1 -0
  661. package/dist/types/FIX.5.MOD/quickfix/set/instrument_ptys_sub_grp_no_instrument_party_sub_i_ds.d.ts +4 -0
  662. package/dist/types/FIX.5.MOD/quickfix/set/instrument_ptys_sub_grp_no_instrument_party_sub_i_ds.js +3 -0
  663. package/dist/types/FIX.5.MOD/quickfix/set/instrument_ptys_sub_grp_no_instrument_party_sub_i_ds.js.map +1 -0
  664. package/dist/types/FIX.5.MOD/quickfix/set/ioi_qual_grp.d.ts +4 -0
  665. package/dist/types/FIX.5.MOD/quickfix/set/ioi_qual_grp.js +3 -0
  666. package/dist/types/FIX.5.MOD/quickfix/set/ioi_qual_grp.js.map +1 -0
  667. package/dist/types/FIX.5.MOD/quickfix/set/ioi_qual_grp_no_ioi_qualifiers.d.ts +3 -0
  668. package/dist/types/FIX.5.MOD/quickfix/set/ioi_qual_grp_no_ioi_qualifiers.js +3 -0
  669. package/dist/types/FIX.5.MOD/quickfix/set/ioi_qual_grp_no_ioi_qualifiers.js.map +1 -0
  670. package/dist/types/FIX.5.MOD/quickfix/set/leg_benchmark_curve_data.d.ts +7 -0
  671. package/dist/types/FIX.5.MOD/quickfix/set/leg_benchmark_curve_data.js +3 -0
  672. package/dist/types/FIX.5.MOD/quickfix/set/leg_benchmark_curve_data.js.map +1 -0
  673. package/dist/types/FIX.5.MOD/quickfix/set/leg_ord_grp.d.ts +4 -0
  674. package/dist/types/FIX.5.MOD/quickfix/set/leg_ord_grp.js +3 -0
  675. package/dist/types/FIX.5.MOD/quickfix/set/leg_ord_grp.js.map +1 -0
  676. package/dist/types/FIX.5.MOD/quickfix/set/leg_ord_grp_no_legs.d.ts +20 -0
  677. package/dist/types/FIX.5.MOD/quickfix/set/leg_ord_grp_no_legs.js +3 -0
  678. package/dist/types/FIX.5.MOD/quickfix/set/leg_ord_grp_no_legs.js.map +1 -0
  679. package/dist/types/FIX.5.MOD/quickfix/set/leg_pre_alloc_grp.d.ts +4 -0
  680. package/dist/types/FIX.5.MOD/quickfix/set/leg_pre_alloc_grp.js +3 -0
  681. package/dist/types/FIX.5.MOD/quickfix/set/leg_pre_alloc_grp.js.map +1 -0
  682. package/dist/types/FIX.5.MOD/quickfix/set/leg_pre_alloc_grp_no_leg_allocs.d.ts +9 -0
  683. package/dist/types/FIX.5.MOD/quickfix/set/leg_pre_alloc_grp_no_leg_allocs.js +3 -0
  684. package/dist/types/FIX.5.MOD/quickfix/set/leg_pre_alloc_grp_no_leg_allocs.js.map +1 -0
  685. package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_grp.d.ts +4 -0
  686. package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_grp.js +3 -0
  687. package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_grp.js.map +1 -0
  688. package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_grp_no_legs.d.ts +21 -0
  689. package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_grp_no_legs.js +3 -0
  690. package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_grp_no_legs.js.map +1 -0
  691. package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_stat_grp.d.ts +4 -0
  692. package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_stat_grp.js +3 -0
  693. package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_stat_grp.js.map +1 -0
  694. package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_stat_grp_no_legs.d.ts +13 -0
  695. package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_stat_grp_no_legs.js +3 -0
  696. package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_stat_grp_no_legs.js.map +1 -0
  697. package/dist/types/FIX.5.MOD/quickfix/set/leg_sec_alt_id_grp.d.ts +3 -0
  698. package/dist/types/FIX.5.MOD/quickfix/set/leg_sec_alt_id_grp.js +3 -0
  699. package/dist/types/FIX.5.MOD/quickfix/set/leg_sec_alt_id_grp.js.map +1 -0
  700. package/dist/types/FIX.5.MOD/quickfix/set/leg_stipulations.d.ts +4 -0
  701. package/dist/types/FIX.5.MOD/quickfix/set/leg_stipulations.js +3 -0
  702. package/dist/types/FIX.5.MOD/quickfix/set/leg_stipulations.js.map +1 -0
  703. package/dist/types/FIX.5.MOD/quickfix/set/leg_stipulations_no_leg_stipulations.d.ts +4 -0
  704. package/dist/types/FIX.5.MOD/quickfix/set/leg_stipulations_no_leg_stipulations.js +3 -0
  705. package/dist/types/FIX.5.MOD/quickfix/set/leg_stipulations_no_leg_stipulations.js.map +1 -0
  706. package/dist/types/FIX.5.MOD/quickfix/set/lines_of_text_grp.d.ts +4 -0
  707. package/dist/types/FIX.5.MOD/quickfix/set/lines_of_text_grp.js +3 -0
  708. package/dist/types/FIX.5.MOD/quickfix/set/lines_of_text_grp.js.map +1 -0
  709. package/dist/types/FIX.5.MOD/quickfix/set/lines_of_text_grp_no_lines_of_text.d.ts +6 -0
  710. package/dist/types/FIX.5.MOD/quickfix/set/lines_of_text_grp_no_lines_of_text.js +3 -0
  711. package/dist/types/FIX.5.MOD/quickfix/set/lines_of_text_grp_no_lines_of_text.js.map +1 -0
  712. package/dist/types/FIX.5.MOD/quickfix/set/list_ord_grp.d.ts +4 -0
  713. package/dist/types/FIX.5.MOD/quickfix/set/list_ord_grp.js +3 -0
  714. package/dist/types/FIX.5.MOD/quickfix/set/list_ord_grp.js.map +1 -0
  715. package/dist/types/FIX.5.MOD/quickfix/set/list_ord_grp_no_orders.d.ts +103 -0
  716. package/dist/types/FIX.5.MOD/quickfix/set/list_ord_grp_no_orders.js +3 -0
  717. package/dist/types/FIX.5.MOD/quickfix/set/list_ord_grp_no_orders.js.map +1 -0
  718. package/dist/types/FIX.5.MOD/quickfix/set/lot_type_rules.d.ts +4 -0
  719. package/dist/types/FIX.5.MOD/quickfix/set/lot_type_rules.js +3 -0
  720. package/dist/types/FIX.5.MOD/quickfix/set/lot_type_rules.js.map +1 -0
  721. package/dist/types/FIX.5.MOD/quickfix/set/lot_type_rules_no_lot_type_rules.d.ts +5 -0
  722. package/dist/types/FIX.5.MOD/quickfix/set/lot_type_rules_no_lot_type_rules.js +3 -0
  723. package/dist/types/FIX.5.MOD/quickfix/set/lot_type_rules_no_lot_type_rules.js.map +1 -0
  724. package/dist/types/FIX.5.MOD/quickfix/set/market_alias.d.ts +4 -0
  725. package/dist/types/FIX.5.MOD/quickfix/set/market_alias.js +3 -0
  726. package/dist/types/FIX.5.MOD/quickfix/set/market_alias.js.map +1 -0
  727. package/dist/types/FIX.5.MOD/quickfix/set/market_alias_no_market_alias.d.ts +4 -0
  728. package/dist/types/FIX.5.MOD/quickfix/set/market_alias_no_market_alias.js +3 -0
  729. package/dist/types/FIX.5.MOD/quickfix/set/market_alias_no_market_alias.js.map +1 -0
  730. package/dist/types/FIX.5.MOD/quickfix/set/market_data_feed_types.d.ts +4 -0
  731. package/dist/types/FIX.5.MOD/quickfix/set/market_data_feed_types.js +3 -0
  732. package/dist/types/FIX.5.MOD/quickfix/set/market_data_feed_types.js.map +1 -0
  733. package/dist/types/FIX.5.MOD/quickfix/set/market_data_feed_types_no_md_feed_types.d.ts +5 -0
  734. package/dist/types/FIX.5.MOD/quickfix/set/market_data_feed_types_no_md_feed_types.js +3 -0
  735. package/dist/types/FIX.5.MOD/quickfix/set/market_data_feed_types_no_md_feed_types.js.map +1 -0
  736. package/dist/types/FIX.5.MOD/quickfix/set/match_rules.d.ts +4 -0
  737. package/dist/types/FIX.5.MOD/quickfix/set/match_rules.js +3 -0
  738. package/dist/types/FIX.5.MOD/quickfix/set/match_rules.js.map +1 -0
  739. package/dist/types/FIX.5.MOD/quickfix/set/match_rules_no_match_rules.d.ts +4 -0
  740. package/dist/types/FIX.5.MOD/quickfix/set/match_rules_no_match_rules.js +3 -0
  741. package/dist/types/FIX.5.MOD/quickfix/set/match_rules_no_match_rules.js.map +1 -0
  742. package/dist/types/FIX.5.MOD/quickfix/set/maturity_rules.d.ts +4 -0
  743. package/dist/types/FIX.5.MOD/quickfix/set/maturity_rules.js +3 -0
  744. package/dist/types/FIX.5.MOD/quickfix/set/maturity_rules.js.map +1 -0
  745. package/dist/types/FIX.5.MOD/quickfix/set/maturity_rules_no_maturity_rules.d.ts +8 -0
  746. package/dist/types/FIX.5.MOD/quickfix/set/maturity_rules_no_maturity_rules.js +3 -0
  747. package/dist/types/FIX.5.MOD/quickfix/set/maturity_rules_no_maturity_rules.js.map +1 -0
  748. package/dist/types/FIX.5.MOD/quickfix/set/md_full_grp.d.ts +4 -0
  749. package/dist/types/FIX.5.MOD/quickfix/set/md_full_grp.js +3 -0
  750. package/dist/types/FIX.5.MOD/quickfix/set/md_full_grp.js.map +1 -0
  751. package/dist/types/FIX.5.MOD/quickfix/set/md_full_grp_no_md_entries.d.ts +58 -0
  752. package/dist/types/FIX.5.MOD/quickfix/set/md_full_grp_no_md_entries.js +3 -0
  753. package/dist/types/FIX.5.MOD/quickfix/set/md_full_grp_no_md_entries.js.map +1 -0
  754. package/dist/types/FIX.5.MOD/quickfix/set/md_inc_grp.d.ts +4 -0
  755. package/dist/types/FIX.5.MOD/quickfix/set/md_inc_grp.js +3 -0
  756. package/dist/types/FIX.5.MOD/quickfix/set/md_inc_grp.js.map +1 -0
  757. package/dist/types/FIX.5.MOD/quickfix/set/md_inc_grp_no_md_entries.d.ts +67 -0
  758. package/dist/types/FIX.5.MOD/quickfix/set/md_inc_grp_no_md_entries.js +3 -0
  759. package/dist/types/FIX.5.MOD/quickfix/set/md_inc_grp_no_md_entries.js.map +1 -0
  760. package/dist/types/FIX.5.MOD/quickfix/set/md_req_grp.d.ts +4 -0
  761. package/dist/types/FIX.5.MOD/quickfix/set/md_req_grp.js +3 -0
  762. package/dist/types/FIX.5.MOD/quickfix/set/md_req_grp.js.map +1 -0
  763. package/dist/types/FIX.5.MOD/quickfix/set/md_req_grp_no_md_entry_types.d.ts +3 -0
  764. package/dist/types/FIX.5.MOD/quickfix/set/md_req_grp_no_md_entry_types.js +3 -0
  765. package/dist/types/FIX.5.MOD/quickfix/set/md_req_grp_no_md_entry_types.js.map +1 -0
  766. package/dist/types/FIX.5.MOD/quickfix/set/md_rjct_grp.d.ts +4 -0
  767. package/dist/types/FIX.5.MOD/quickfix/set/md_rjct_grp.js +3 -0
  768. package/dist/types/FIX.5.MOD/quickfix/set/md_rjct_grp.js.map +1 -0
  769. package/dist/types/FIX.5.MOD/quickfix/set/md_rjct_grp_no_alt_md_source.d.ts +3 -0
  770. package/dist/types/FIX.5.MOD/quickfix/set/md_rjct_grp_no_alt_md_source.js +3 -0
  771. package/dist/types/FIX.5.MOD/quickfix/set/md_rjct_grp_no_alt_md_source.js.map +1 -0
  772. package/dist/types/FIX.5.MOD/quickfix/set/misc_fees_grp.d.ts +4 -0
  773. package/dist/types/FIX.5.MOD/quickfix/set/misc_fees_grp.js +3 -0
  774. package/dist/types/FIX.5.MOD/quickfix/set/misc_fees_grp.js.map +1 -0
  775. package/dist/types/FIX.5.MOD/quickfix/set/misc_fees_grp_no_misc_fees.d.ts +6 -0
  776. package/dist/types/FIX.5.MOD/quickfix/set/misc_fees_grp_no_misc_fees.js +3 -0
  777. package/dist/types/FIX.5.MOD/quickfix/set/misc_fees_grp_no_misc_fees.js.map +1 -0
  778. package/dist/types/FIX.5.MOD/quickfix/set/msg_type_grp.d.ts +4 -0
  779. package/dist/types/FIX.5.MOD/quickfix/set/msg_type_grp.js +3 -0
  780. package/dist/types/FIX.5.MOD/quickfix/set/msg_type_grp.js.map +1 -0
  781. package/dist/types/FIX.5.MOD/quickfix/set/msg_type_grp_no_msg_types.d.ts +6 -0
  782. package/dist/types/FIX.5.MOD/quickfix/set/msg_type_grp_no_msg_types.js +3 -0
  783. package/dist/types/FIX.5.MOD/quickfix/set/msg_type_grp_no_msg_types.js.map +1 -0
  784. package/dist/types/FIX.5.MOD/quickfix/set/nested_instrument_attribute.d.ts +4 -0
  785. package/dist/types/FIX.5.MOD/quickfix/set/nested_instrument_attribute.js +3 -0
  786. package/dist/types/FIX.5.MOD/quickfix/set/nested_instrument_attribute.js.map +1 -0
  787. package/dist/types/FIX.5.MOD/quickfix/set/nested_instrument_attribute_no_nested_instr_attrib.d.ts +4 -0
  788. package/dist/types/FIX.5.MOD/quickfix/set/nested_instrument_attribute_no_nested_instr_attrib.js +3 -0
  789. package/dist/types/FIX.5.MOD/quickfix/set/nested_instrument_attribute_no_nested_instr_attrib.js.map +1 -0
  790. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties.d.ts +4 -0
  791. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties.js +3 -0
  792. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties.js.map +1 -0
  793. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_2.d.ts +4 -0
  794. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_2.js +3 -0
  795. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_2.js.map +1 -0
  796. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_2_no_nested_2_party_i_ds.d.ts +7 -0
  797. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_2_no_nested_2_party_i_ds.js +3 -0
  798. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_2_no_nested_2_party_i_ds.js.map +1 -0
  799. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_3.d.ts +4 -0
  800. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_3.js +3 -0
  801. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_3.js.map +1 -0
  802. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_3_no_nested_3_party_i_ds.d.ts +7 -0
  803. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_3_no_nested_3_party_i_ds.js +3 -0
  804. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_3_no_nested_3_party_i_ds.js.map +1 -0
  805. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_no_nested_party_i_ds.d.ts +7 -0
  806. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_no_nested_party_i_ds.js +3 -0
  807. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_no_nested_party_i_ds.js.map +1 -0
  808. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_2_sub_grp.d.ts +4 -0
  809. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_2_sub_grp.js +3 -0
  810. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_2_sub_grp.js.map +1 -0
  811. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_2_sub_grp_no_nested_2_party_sub_i_ds.d.ts +4 -0
  812. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_2_sub_grp_no_nested_2_party_sub_i_ds.js +3 -0
  813. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_2_sub_grp_no_nested_2_party_sub_i_ds.js.map +1 -0
  814. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_3_sub_grp.d.ts +4 -0
  815. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_3_sub_grp.js +3 -0
  816. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_3_sub_grp.js.map +1 -0
  817. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_3_sub_grp_no_nested_3_party_sub_i_ds.d.ts +4 -0
  818. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_3_sub_grp_no_nested_3_party_sub_i_ds.js +3 -0
  819. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_3_sub_grp_no_nested_3_party_sub_i_ds.js.map +1 -0
  820. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_sub_grp.d.ts +4 -0
  821. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_sub_grp.js +3 -0
  822. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_sub_grp.js.map +1 -0
  823. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_sub_grp_no_nested_party_sub_i_ds.d.ts +4 -0
  824. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_sub_grp_no_nested_party_sub_i_ds.js +3 -0
  825. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_sub_grp_no_nested_party_sub_i_ds.js.map +1 -0
  826. package/dist/types/FIX.5.MOD/quickfix/set/ord_alloc_grp.d.ts +4 -0
  827. package/dist/types/FIX.5.MOD/quickfix/set/ord_alloc_grp.js +3 -0
  828. package/dist/types/FIX.5.MOD/quickfix/set/ord_alloc_grp.js.map +1 -0
  829. package/dist/types/FIX.5.MOD/quickfix/set/ord_alloc_grp_no_orders.d.ts +12 -0
  830. package/dist/types/FIX.5.MOD/quickfix/set/ord_alloc_grp_no_orders.js +3 -0
  831. package/dist/types/FIX.5.MOD/quickfix/set/ord_alloc_grp_no_orders.js.map +1 -0
  832. package/dist/types/FIX.5.MOD/quickfix/set/ord_list_stat_grp.d.ts +4 -0
  833. package/dist/types/FIX.5.MOD/quickfix/set/ord_list_stat_grp.js +3 -0
  834. package/dist/types/FIX.5.MOD/quickfix/set/ord_list_stat_grp.js.map +1 -0
  835. package/dist/types/FIX.5.MOD/quickfix/set/ord_list_stat_grp_no_orders.d.ts +15 -0
  836. package/dist/types/FIX.5.MOD/quickfix/set/ord_list_stat_grp_no_orders.js +3 -0
  837. package/dist/types/FIX.5.MOD/quickfix/set/ord_list_stat_grp_no_orders.js.map +1 -0
  838. package/dist/types/FIX.5.MOD/quickfix/set/ord_type_rules.d.ts +4 -0
  839. package/dist/types/FIX.5.MOD/quickfix/set/ord_type_rules.js +3 -0
  840. package/dist/types/FIX.5.MOD/quickfix/set/ord_type_rules.js.map +1 -0
  841. package/dist/types/FIX.5.MOD/quickfix/set/ord_type_rules_no_ord_type_rules.d.ts +3 -0
  842. package/dist/types/FIX.5.MOD/quickfix/set/ord_type_rules_no_ord_type_rules.js +3 -0
  843. package/dist/types/FIX.5.MOD/quickfix/set/ord_type_rules_no_ord_type_rules.js.map +1 -0
  844. package/dist/types/FIX.5.MOD/quickfix/set/order_qty_data.d.ts +7 -0
  845. package/dist/types/FIX.5.MOD/quickfix/set/order_qty_data.js +3 -0
  846. package/dist/types/FIX.5.MOD/quickfix/set/order_qty_data.js.map +1 -0
  847. package/dist/types/FIX.5.MOD/quickfix/set/parties.d.ts +4 -0
  848. package/dist/types/FIX.5.MOD/quickfix/set/parties.js +3 -0
  849. package/dist/types/FIX.5.MOD/quickfix/set/parties.js.map +1 -0
  850. package/dist/types/FIX.5.MOD/quickfix/set/parties_no_party_i_ds.d.ts +7 -0
  851. package/dist/types/FIX.5.MOD/quickfix/set/parties_no_party_i_ds.js +3 -0
  852. package/dist/types/FIX.5.MOD/quickfix/set/parties_no_party_i_ds.js.map +1 -0
  853. package/dist/types/FIX.5.MOD/quickfix/set/peg_instructions.d.ts +13 -0
  854. package/dist/types/FIX.5.MOD/quickfix/set/peg_instructions.js +3 -0
  855. package/dist/types/FIX.5.MOD/quickfix/set/peg_instructions.js.map +1 -0
  856. package/dist/types/FIX.5.MOD/quickfix/set/pos_und_instrmt_grp.d.ts +4 -0
  857. package/dist/types/FIX.5.MOD/quickfix/set/pos_und_instrmt_grp.js +3 -0
  858. package/dist/types/FIX.5.MOD/quickfix/set/pos_und_instrmt_grp.js.map +1 -0
  859. package/dist/types/FIX.5.MOD/quickfix/set/pos_und_instrmt_grp_no_underlyings.d.ts +9 -0
  860. package/dist/types/FIX.5.MOD/quickfix/set/pos_und_instrmt_grp_no_underlyings.js +3 -0
  861. package/dist/types/FIX.5.MOD/quickfix/set/pos_und_instrmt_grp_no_underlyings.js.map +1 -0
  862. package/dist/types/FIX.5.MOD/quickfix/set/position_amount_data.d.ts +4 -0
  863. package/dist/types/FIX.5.MOD/quickfix/set/position_amount_data.js +3 -0
  864. package/dist/types/FIX.5.MOD/quickfix/set/position_amount_data.js.map +1 -0
  865. package/dist/types/FIX.5.MOD/quickfix/set/position_amount_data_no_pos_amt.d.ts +5 -0
  866. package/dist/types/FIX.5.MOD/quickfix/set/position_amount_data_no_pos_amt.js +3 -0
  867. package/dist/types/FIX.5.MOD/quickfix/set/position_amount_data_no_pos_amt.js.map +1 -0
  868. package/dist/types/FIX.5.MOD/quickfix/set/position_qty.d.ts +4 -0
  869. package/dist/types/FIX.5.MOD/quickfix/set/position_qty.js +3 -0
  870. package/dist/types/FIX.5.MOD/quickfix/set/position_qty.js.map +1 -0
  871. package/dist/types/FIX.5.MOD/quickfix/set/position_qty_no_positions.d.ts +9 -0
  872. package/dist/types/FIX.5.MOD/quickfix/set/position_qty_no_positions.js +3 -0
  873. package/dist/types/FIX.5.MOD/quickfix/set/position_qty_no_positions.js.map +1 -0
  874. package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_grp.d.ts +4 -0
  875. package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_grp.js +3 -0
  876. package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_grp.js.map +1 -0
  877. package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_grp_no_allocs.d.ts +9 -0
  878. package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_grp_no_allocs.js +3 -0
  879. package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_grp_no_allocs.js.map +1 -0
  880. package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_mleg_grp.d.ts +4 -0
  881. package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_mleg_grp.js +3 -0
  882. package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_mleg_grp.js.map +1 -0
  883. package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_mleg_grp_no_allocs.d.ts +9 -0
  884. package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_mleg_grp_no_allocs.js +3 -0
  885. package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_mleg_grp_no_allocs.js.map +1 -0
  886. package/dist/types/FIX.5.MOD/quickfix/set/price_limits.d.ts +6 -0
  887. package/dist/types/FIX.5.MOD/quickfix/set/price_limits.js +3 -0
  888. package/dist/types/FIX.5.MOD/quickfix/set/price_limits.js.map +1 -0
  889. package/dist/types/FIX.5.MOD/quickfix/set/ptys_sub_grp.d.ts +4 -0
  890. package/dist/types/FIX.5.MOD/quickfix/set/ptys_sub_grp.js +3 -0
  891. package/dist/types/FIX.5.MOD/quickfix/set/ptys_sub_grp.js.map +1 -0
  892. package/dist/types/FIX.5.MOD/quickfix/set/ptys_sub_grp_no_party_sub_i_ds.d.ts +4 -0
  893. package/dist/types/FIX.5.MOD/quickfix/set/ptys_sub_grp_no_party_sub_i_ds.js +3 -0
  894. package/dist/types/FIX.5.MOD/quickfix/set/ptys_sub_grp_no_party_sub_i_ds.js.map +1 -0
  895. package/dist/types/FIX.5.MOD/quickfix/set/quot_cxl_entries_grp.d.ts +4 -0
  896. package/dist/types/FIX.5.MOD/quickfix/set/quot_cxl_entries_grp.js +3 -0
  897. package/dist/types/FIX.5.MOD/quickfix/set/quot_cxl_entries_grp.js.map +1 -0
  898. package/dist/types/FIX.5.MOD/quickfix/set/quot_cxl_entries_grp_no_quote_entries.d.ts +10 -0
  899. package/dist/types/FIX.5.MOD/quickfix/set/quot_cxl_entries_grp_no_quote_entries.js +3 -0
  900. package/dist/types/FIX.5.MOD/quickfix/set/quot_cxl_entries_grp_no_quote_entries.js.map +1 -0
  901. package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_ack_grp.d.ts +4 -0
  902. package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_ack_grp.js +3 -0
  903. package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_ack_grp.js.map +1 -0
  904. package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_ack_grp_no_quote_entries.d.ts +31 -0
  905. package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_ack_grp_no_quote_entries.js +3 -0
  906. package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_ack_grp_no_quote_entries.js.map +1 -0
  907. package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_grp.d.ts +4 -0
  908. package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_grp.js +3 -0
  909. package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_grp.js.map +1 -0
  910. package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_grp_no_quote_entries.d.ts +30 -0
  911. package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_grp_no_quote_entries.js +3 -0
  912. package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_grp_no_quote_entries.js.map +1 -0
  913. package/dist/types/FIX.5.MOD/quickfix/set/quot_qual_grp.d.ts +4 -0
  914. package/dist/types/FIX.5.MOD/quickfix/set/quot_qual_grp.js +3 -0
  915. package/dist/types/FIX.5.MOD/quickfix/set/quot_qual_grp.js.map +1 -0
  916. package/dist/types/FIX.5.MOD/quickfix/set/quot_qual_grp_no_quote_qualifiers.d.ts +3 -0
  917. package/dist/types/FIX.5.MOD/quickfix/set/quot_qual_grp_no_quote_qualifiers.js +3 -0
  918. package/dist/types/FIX.5.MOD/quickfix/set/quot_qual_grp_no_quote_qualifiers.js.map +1 -0
  919. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_grp.d.ts +4 -0
  920. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_grp.js +3 -0
  921. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_grp.js.map +1 -0
  922. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_grp_no_related_sym.d.ts +46 -0
  923. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_grp_no_related_sym.js +3 -0
  924. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_grp_no_related_sym.js.map +1 -0
  925. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_legs_grp.d.ts +4 -0
  926. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_legs_grp.js +3 -0
  927. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_legs_grp.js.map +1 -0
  928. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_legs_grp_no_legs.d.ts +18 -0
  929. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_legs_grp_no_legs.js +3 -0
  930. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_legs_grp_no_legs.js.map +1 -0
  931. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_rjct_grp.d.ts +4 -0
  932. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_rjct_grp.js +3 -0
  933. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_rjct_grp.js.map +1 -0
  934. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_rjct_grp_no_related_sym.d.ts +45 -0
  935. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_rjct_grp_no_related_sym.js +3 -0
  936. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_rjct_grp_no_related_sym.js.map +1 -0
  937. package/dist/types/FIX.5.MOD/quickfix/set/quot_set_ack_grp.d.ts +4 -0
  938. package/dist/types/FIX.5.MOD/quickfix/set/quot_set_ack_grp.js +3 -0
  939. package/dist/types/FIX.5.MOD/quickfix/set/quot_set_ack_grp.js.map +1 -0
  940. package/dist/types/FIX.5.MOD/quickfix/set/quot_set_ack_grp_no_quote_sets.d.ts +9 -0
  941. package/dist/types/FIX.5.MOD/quickfix/set/quot_set_ack_grp_no_quote_sets.js +3 -0
  942. package/dist/types/FIX.5.MOD/quickfix/set/quot_set_ack_grp_no_quote_sets.js.map +1 -0
  943. package/dist/types/FIX.5.MOD/quickfix/set/quot_set_grp.d.ts +4 -0
  944. package/dist/types/FIX.5.MOD/quickfix/set/quot_set_grp.js +3 -0
  945. package/dist/types/FIX.5.MOD/quickfix/set/quot_set_grp.js.map +1 -0
  946. package/dist/types/FIX.5.MOD/quickfix/set/quot_set_grp_no_quote_sets.d.ts +10 -0
  947. package/dist/types/FIX.5.MOD/quickfix/set/quot_set_grp_no_quote_sets.js +3 -0
  948. package/dist/types/FIX.5.MOD/quickfix/set/quot_set_grp_no_quote_sets.js.map +1 -0
  949. package/dist/types/FIX.5.MOD/quickfix/set/rel_sym_deriv_sec_grp.d.ts +4 -0
  950. package/dist/types/FIX.5.MOD/quickfix/set/rel_sym_deriv_sec_grp.js +3 -0
  951. package/dist/types/FIX.5.MOD/quickfix/set/rel_sym_deriv_sec_grp.js.map +1 -0
  952. package/dist/types/FIX.5.MOD/quickfix/set/rel_sym_deriv_sec_grp_no_related_sym.d.ts +16 -0
  953. package/dist/types/FIX.5.MOD/quickfix/set/rel_sym_deriv_sec_grp_no_related_sym.js +3 -0
  954. package/dist/types/FIX.5.MOD/quickfix/set/rel_sym_deriv_sec_grp_no_related_sym.js.map +1 -0
  955. package/dist/types/FIX.5.MOD/quickfix/set/related_account.d.ts +4 -0
  956. package/dist/types/FIX.5.MOD/quickfix/set/related_account.js +3 -0
  957. package/dist/types/FIX.5.MOD/quickfix/set/related_account.js.map +1 -0
  958. package/dist/types/FIX.5.MOD/quickfix/set/related_account_no_related_acc.d.ts +11 -0
  959. package/dist/types/FIX.5.MOD/quickfix/set/related_account_no_related_acc.js +3 -0
  960. package/dist/types/FIX.5.MOD/quickfix/set/related_account_no_related_acc.js.map +1 -0
  961. package/dist/types/FIX.5.MOD/quickfix/set/rfq_req_grp.d.ts +4 -0
  962. package/dist/types/FIX.5.MOD/quickfix/set/rfq_req_grp.js +3 -0
  963. package/dist/types/FIX.5.MOD/quickfix/set/rfq_req_grp.js.map +1 -0
  964. package/dist/types/FIX.5.MOD/quickfix/set/rfq_req_grp_no_related_sym.d.ts +13 -0
  965. package/dist/types/FIX.5.MOD/quickfix/set/rfq_req_grp_no_related_sym.js +3 -0
  966. package/dist/types/FIX.5.MOD/quickfix/set/rfq_req_grp_no_related_sym.js.map +1 -0
  967. package/dist/types/FIX.5.MOD/quickfix/set/rgst_dist_inst_grp.d.ts +4 -0
  968. package/dist/types/FIX.5.MOD/quickfix/set/rgst_dist_inst_grp.js +3 -0
  969. package/dist/types/FIX.5.MOD/quickfix/set/rgst_dist_inst_grp.js.map +1 -0
  970. package/dist/types/FIX.5.MOD/quickfix/set/rgst_dist_inst_grp_no_distrib_insts.d.ts +10 -0
  971. package/dist/types/FIX.5.MOD/quickfix/set/rgst_dist_inst_grp_no_distrib_insts.js +3 -0
  972. package/dist/types/FIX.5.MOD/quickfix/set/rgst_dist_inst_grp_no_distrib_insts.js.map +1 -0
  973. package/dist/types/FIX.5.MOD/quickfix/set/rgst_dtls_grp.d.ts +4 -0
  974. package/dist/types/FIX.5.MOD/quickfix/set/rgst_dtls_grp.js +3 -0
  975. package/dist/types/FIX.5.MOD/quickfix/set/rgst_dtls_grp.js.map +1 -0
  976. package/dist/types/FIX.5.MOD/quickfix/set/rgst_dtls_grp_no_regist_dtls.d.ts +11 -0
  977. package/dist/types/FIX.5.MOD/quickfix/set/rgst_dtls_grp_no_regist_dtls.js +3 -0
  978. package/dist/types/FIX.5.MOD/quickfix/set/rgst_dtls_grp_no_regist_dtls.js.map +1 -0
  979. package/dist/types/FIX.5.MOD/quickfix/set/root_parties.d.ts +4 -0
  980. package/dist/types/FIX.5.MOD/quickfix/set/root_parties.js +3 -0
  981. package/dist/types/FIX.5.MOD/quickfix/set/root_parties.js.map +1 -0
  982. package/dist/types/FIX.5.MOD/quickfix/set/root_parties_no_root_party_i_ds.d.ts +7 -0
  983. package/dist/types/FIX.5.MOD/quickfix/set/root_parties_no_root_party_i_ds.js +3 -0
  984. package/dist/types/FIX.5.MOD/quickfix/set/root_parties_no_root_party_i_ds.js.map +1 -0
  985. package/dist/types/FIX.5.MOD/quickfix/set/root_sub_parties.d.ts +4 -0
  986. package/dist/types/FIX.5.MOD/quickfix/set/root_sub_parties.js +3 -0
  987. package/dist/types/FIX.5.MOD/quickfix/set/root_sub_parties.js.map +1 -0
  988. package/dist/types/FIX.5.MOD/quickfix/set/root_sub_parties_no_root_party_sub_i_ds.d.ts +4 -0
  989. package/dist/types/FIX.5.MOD/quickfix/set/root_sub_parties_no_root_party_sub_i_ds.js +3 -0
  990. package/dist/types/FIX.5.MOD/quickfix/set/root_sub_parties_no_root_party_sub_i_ds.js.map +1 -0
  991. package/dist/types/FIX.5.MOD/quickfix/set/routing_grp.d.ts +4 -0
  992. package/dist/types/FIX.5.MOD/quickfix/set/routing_grp.js +3 -0
  993. package/dist/types/FIX.5.MOD/quickfix/set/routing_grp.js.map +1 -0
  994. package/dist/types/FIX.5.MOD/quickfix/set/routing_grp_no_routing_i_ds.d.ts +4 -0
  995. package/dist/types/FIX.5.MOD/quickfix/set/routing_grp_no_routing_i_ds.js +3 -0
  996. package/dist/types/FIX.5.MOD/quickfix/set/routing_grp_no_routing_i_ds.js.map +1 -0
  997. package/dist/types/FIX.5.MOD/quickfix/set/sec_alt_id_grp.d.ts +4 -0
  998. package/dist/types/FIX.5.MOD/quickfix/set/sec_alt_id_grp.js +3 -0
  999. package/dist/types/FIX.5.MOD/quickfix/set/sec_alt_id_grp.js.map +1 -0
  1000. package/dist/types/FIX.5.MOD/quickfix/set/sec_alt_id_grp_no_security_alt_id.d.ts +4 -0
  1001. package/dist/types/FIX.5.MOD/quickfix/set/sec_alt_id_grp_no_security_alt_id.js +3 -0
  1002. package/dist/types/FIX.5.MOD/quickfix/set/sec_alt_id_grp_no_security_alt_id.js.map +1 -0
  1003. package/dist/types/FIX.5.MOD/quickfix/set/sec_list_grp.d.ts +4 -0
  1004. package/dist/types/FIX.5.MOD/quickfix/set/sec_list_grp.js +3 -0
  1005. package/dist/types/FIX.5.MOD/quickfix/set/sec_list_grp.js.map +1 -0
  1006. package/dist/types/FIX.5.MOD/quickfix/set/sec_list_grp_no_related_sym.d.ts +29 -0
  1007. package/dist/types/FIX.5.MOD/quickfix/set/sec_list_grp_no_related_sym.js +3 -0
  1008. package/dist/types/FIX.5.MOD/quickfix/set/sec_list_grp_no_related_sym.js.map +1 -0
  1009. package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_sym_grp.d.ts +4 -0
  1010. package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_sym_grp.js +3 -0
  1011. package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_sym_grp.js.map +1 -0
  1012. package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_sym_grp_no_related_sym.d.ts +28 -0
  1013. package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_sym_grp_no_related_sym.js +3 -0
  1014. package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_sym_grp_no_related_sym.js.map +1 -0
  1015. package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_syms_leg_grp.d.ts +4 -0
  1016. package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_syms_leg_grp.js +3 -0
  1017. package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_syms_leg_grp.js.map +1 -0
  1018. package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_syms_leg_grp_no_legs.d.ts +10 -0
  1019. package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_syms_leg_grp_no_legs.js +3 -0
  1020. package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_syms_leg_grp_no_legs.js.map +1 -0
  1021. package/dist/types/FIX.5.MOD/quickfix/set/sec_types_grp.d.ts +4 -0
  1022. package/dist/types/FIX.5.MOD/quickfix/set/sec_types_grp.js +3 -0
  1023. package/dist/types/FIX.5.MOD/quickfix/set/sec_types_grp.js.map +1 -0
  1024. package/dist/types/FIX.5.MOD/quickfix/set/sec_types_grp_no_security_types.d.ts +6 -0
  1025. package/dist/types/FIX.5.MOD/quickfix/set/sec_types_grp_no_security_types.js +3 -0
  1026. package/dist/types/FIX.5.MOD/quickfix/set/sec_types_grp_no_security_types.js.map +1 -0
  1027. package/dist/types/FIX.5.MOD/quickfix/set/security_trading_rules.d.ts +8 -0
  1028. package/dist/types/FIX.5.MOD/quickfix/set/security_trading_rules.js +3 -0
  1029. package/dist/types/FIX.5.MOD/quickfix/set/security_trading_rules.js.map +1 -0
  1030. package/dist/types/FIX.5.MOD/quickfix/set/settl_inst_grp.d.ts +4 -0
  1031. package/dist/types/FIX.5.MOD/quickfix/set/settl_inst_grp.js +3 -0
  1032. package/dist/types/FIX.5.MOD/quickfix/set/settl_inst_grp.js.map +1 -0
  1033. package/dist/types/FIX.5.MOD/quickfix/set/settl_inst_grp_no_settl_inst.d.ts +26 -0
  1034. package/dist/types/FIX.5.MOD/quickfix/set/settl_inst_grp_no_settl_inst.js +3 -0
  1035. package/dist/types/FIX.5.MOD/quickfix/set/settl_inst_grp_no_settl_inst.js.map +1 -0
  1036. package/dist/types/FIX.5.MOD/quickfix/set/settl_instructions_data.d.ts +8 -0
  1037. package/dist/types/FIX.5.MOD/quickfix/set/settl_instructions_data.js +3 -0
  1038. package/dist/types/FIX.5.MOD/quickfix/set/settl_instructions_data.js.map +1 -0
  1039. package/dist/types/FIX.5.MOD/quickfix/set/settl_parties.d.ts +4 -0
  1040. package/dist/types/FIX.5.MOD/quickfix/set/settl_parties.js +3 -0
  1041. package/dist/types/FIX.5.MOD/quickfix/set/settl_parties.js.map +1 -0
  1042. package/dist/types/FIX.5.MOD/quickfix/set/settl_parties_no_settl_party_i_ds.d.ts +7 -0
  1043. package/dist/types/FIX.5.MOD/quickfix/set/settl_parties_no_settl_party_i_ds.js +3 -0
  1044. package/dist/types/FIX.5.MOD/quickfix/set/settl_parties_no_settl_party_i_ds.js.map +1 -0
  1045. package/dist/types/FIX.5.MOD/quickfix/set/settl_ptys_sub_grp.d.ts +4 -0
  1046. package/dist/types/FIX.5.MOD/quickfix/set/settl_ptys_sub_grp.js +3 -0
  1047. package/dist/types/FIX.5.MOD/quickfix/set/settl_ptys_sub_grp.js.map +1 -0
  1048. package/dist/types/FIX.5.MOD/quickfix/set/settl_ptys_sub_grp_no_settl_party_sub_i_ds.d.ts +4 -0
  1049. package/dist/types/FIX.5.MOD/quickfix/set/settl_ptys_sub_grp_no_settl_party_sub_i_ds.js +3 -0
  1050. package/dist/types/FIX.5.MOD/quickfix/set/settl_ptys_sub_grp_no_settl_party_sub_i_ds.js.map +1 -0
  1051. package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_cxl_grp.d.ts +4 -0
  1052. package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_cxl_grp.js +3 -0
  1053. package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_cxl_grp.js.map +1 -0
  1054. package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_cxl_grp_no_sides.d.ts +19 -0
  1055. package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_cxl_grp_no_sides.js +3 -0
  1056. package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_cxl_grp_no_sides.js.map +1 -0
  1057. package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_mod_grp.d.ts +4 -0
  1058. package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_mod_grp.js +3 -0
  1059. package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_mod_grp.js.map +1 -0
  1060. package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_mod_grp_no_sides.d.ts +42 -0
  1061. package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_mod_grp_no_sides.js +3 -0
  1062. package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_mod_grp_no_sides.js.map +1 -0
  1063. package/dist/types/FIX.5.MOD/quickfix/set/side_trd_reg_ts.d.ts +4 -0
  1064. package/dist/types/FIX.5.MOD/quickfix/set/side_trd_reg_ts.js +3 -0
  1065. package/dist/types/FIX.5.MOD/quickfix/set/side_trd_reg_ts.js.map +1 -0
  1066. package/dist/types/FIX.5.MOD/quickfix/set/side_trd_reg_ts_no_side_trd_reg_ts.d.ts +5 -0
  1067. package/dist/types/FIX.5.MOD/quickfix/set/side_trd_reg_ts_no_side_trd_reg_ts.js +3 -0
  1068. package/dist/types/FIX.5.MOD/quickfix/set/side_trd_reg_ts_no_side_trd_reg_ts.js.map +1 -0
  1069. package/dist/types/FIX.5.MOD/quickfix/set/spread_or_benchmark_curve_data.d.ts +10 -0
  1070. package/dist/types/FIX.5.MOD/quickfix/set/spread_or_benchmark_curve_data.js +3 -0
  1071. package/dist/types/FIX.5.MOD/quickfix/set/spread_or_benchmark_curve_data.js.map +1 -0
  1072. package/dist/types/FIX.5.MOD/quickfix/set/standard_header.d.ts +33 -0
  1073. package/dist/types/FIX.5.MOD/quickfix/set/standard_header.js +3 -0
  1074. package/dist/types/FIX.5.MOD/quickfix/set/standard_header.js.map +1 -0
  1075. package/dist/types/FIX.5.MOD/quickfix/set/standard_trailer.d.ts +6 -0
  1076. package/dist/types/FIX.5.MOD/quickfix/set/standard_trailer.js +3 -0
  1077. package/dist/types/FIX.5.MOD/quickfix/set/standard_trailer.js.map +1 -0
  1078. package/dist/types/FIX.5.MOD/quickfix/set/stipulations.d.ts +4 -0
  1079. package/dist/types/FIX.5.MOD/quickfix/set/stipulations.js +3 -0
  1080. package/dist/types/FIX.5.MOD/quickfix/set/stipulations.js.map +1 -0
  1081. package/dist/types/FIX.5.MOD/quickfix/set/stipulations_no_stipulations.d.ts +4 -0
  1082. package/dist/types/FIX.5.MOD/quickfix/set/stipulations_no_stipulations.js +3 -0
  1083. package/dist/types/FIX.5.MOD/quickfix/set/stipulations_no_stipulations.js.map +1 -0
  1084. package/dist/types/FIX.5.MOD/quickfix/set/strategy_parameters_grp.d.ts +4 -0
  1085. package/dist/types/FIX.5.MOD/quickfix/set/strategy_parameters_grp.js +3 -0
  1086. package/dist/types/FIX.5.MOD/quickfix/set/strategy_parameters_grp.js.map +1 -0
  1087. package/dist/types/FIX.5.MOD/quickfix/set/strategy_parameters_grp_no_strategy_parameters.d.ts +5 -0
  1088. package/dist/types/FIX.5.MOD/quickfix/set/strategy_parameters_grp_no_strategy_parameters.js +3 -0
  1089. package/dist/types/FIX.5.MOD/quickfix/set/strategy_parameters_grp_no_strategy_parameters.js.map +1 -0
  1090. package/dist/types/FIX.5.MOD/quickfix/set/strike_rules.d.ts +4 -0
  1091. package/dist/types/FIX.5.MOD/quickfix/set/strike_rules.js +3 -0
  1092. package/dist/types/FIX.5.MOD/quickfix/set/strike_rules.js.map +1 -0
  1093. package/dist/types/FIX.5.MOD/quickfix/set/strike_rules_no_strike_rules.d.ts +9 -0
  1094. package/dist/types/FIX.5.MOD/quickfix/set/strike_rules_no_strike_rules.js +3 -0
  1095. package/dist/types/FIX.5.MOD/quickfix/set/strike_rules_no_strike_rules.js.map +1 -0
  1096. package/dist/types/FIX.5.MOD/quickfix/set/tick_rules.d.ts +4 -0
  1097. package/dist/types/FIX.5.MOD/quickfix/set/tick_rules.js +3 -0
  1098. package/dist/types/FIX.5.MOD/quickfix/set/tick_rules.js.map +1 -0
  1099. package/dist/types/FIX.5.MOD/quickfix/set/tick_rules_no_tick_rules.d.ts +6 -0
  1100. package/dist/types/FIX.5.MOD/quickfix/set/tick_rules_no_tick_rules.js +3 -0
  1101. package/dist/types/FIX.5.MOD/quickfix/set/tick_rules_no_tick_rules.js.map +1 -0
  1102. package/dist/types/FIX.5.MOD/quickfix/set/time_in_force_rules.d.ts +4 -0
  1103. package/dist/types/FIX.5.MOD/quickfix/set/time_in_force_rules.js +3 -0
  1104. package/dist/types/FIX.5.MOD/quickfix/set/time_in_force_rules.js.map +1 -0
  1105. package/dist/types/FIX.5.MOD/quickfix/set/time_in_force_rules_no_time_in_force_rules.d.ts +3 -0
  1106. package/dist/types/FIX.5.MOD/quickfix/set/time_in_force_rules_no_time_in_force_rules.js +3 -0
  1107. package/dist/types/FIX.5.MOD/quickfix/set/time_in_force_rules_no_time_in_force_rules.js.map +1 -0
  1108. package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules.d.ts +12 -0
  1109. package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules.js +3 -0
  1110. package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules.js.map +1 -0
  1111. package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules_grp.d.ts +4 -0
  1112. package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules_grp.js +3 -0
  1113. package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules_grp.js.map +1 -0
  1114. package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules_grp_no_trading_session_rules.d.ts +6 -0
  1115. package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules_grp_no_trading_session_rules.js +3 -0
  1116. package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules_grp_no_trading_session_rules.js.map +1 -0
  1117. package/dist/types/FIX.5.MOD/quickfix/set/trd_alloc_grp.d.ts +4 -0
  1118. package/dist/types/FIX.5.MOD/quickfix/set/trd_alloc_grp.js +3 -0
  1119. package/dist/types/FIX.5.MOD/quickfix/set/trd_alloc_grp.js.map +1 -0
  1120. package/dist/types/FIX.5.MOD/quickfix/set/trd_alloc_grp_no_allocs.d.ts +13 -0
  1121. package/dist/types/FIX.5.MOD/quickfix/set/trd_alloc_grp_no_allocs.js +3 -0
  1122. package/dist/types/FIX.5.MOD/quickfix/set/trd_alloc_grp_no_allocs.js.map +1 -0
  1123. package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_dt_grp.d.ts +3 -0
  1124. package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_dt_grp.js +3 -0
  1125. package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_dt_grp.js.map +1 -0
  1126. package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_ack_side_grp.d.ts +4 -0
  1127. package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_ack_side_grp.js +3 -0
  1128. package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_ack_side_grp.js.map +1 -0
  1129. package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_ack_side_grp_no_sides.d.ts +74 -0
  1130. package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_ack_side_grp_no_sides.js +3 -0
  1131. package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_ack_side_grp_no_sides.js.map +1 -0
  1132. package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_side_grp.d.ts +4 -0
  1133. package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_side_grp.js +3 -0
  1134. package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_side_grp.js.map +1 -0
  1135. package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_side_grp_no_sides.d.ts +80 -0
  1136. package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_side_grp_no_sides.js +3 -0
  1137. package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_side_grp_no_sides.js.map +1 -0
  1138. package/dist/types/FIX.5.MOD/quickfix/set/trd_coll_grp.d.ts +4 -0
  1139. package/dist/types/FIX.5.MOD/quickfix/set/trd_coll_grp.js +3 -0
  1140. package/dist/types/FIX.5.MOD/quickfix/set/trd_coll_grp.js.map +1 -0
  1141. package/dist/types/FIX.5.MOD/quickfix/set/trd_coll_grp_no_trades.d.ts +4 -0
  1142. package/dist/types/FIX.5.MOD/quickfix/set/trd_coll_grp_no_trades.js +3 -0
  1143. package/dist/types/FIX.5.MOD/quickfix/set/trd_coll_grp_no_trades.js.map +1 -0
  1144. package/dist/types/FIX.5.MOD/quickfix/set/trd_instrmt_leg_grp.d.ts +4 -0
  1145. package/dist/types/FIX.5.MOD/quickfix/set/trd_instrmt_leg_grp.js +3 -0
  1146. package/dist/types/FIX.5.MOD/quickfix/set/trd_instrmt_leg_grp.js.map +1 -0
  1147. package/dist/types/FIX.5.MOD/quickfix/set/trd_instrmt_leg_grp_no_legs.d.ts +22 -0
  1148. package/dist/types/FIX.5.MOD/quickfix/set/trd_instrmt_leg_grp_no_legs.js +3 -0
  1149. package/dist/types/FIX.5.MOD/quickfix/set/trd_instrmt_leg_grp_no_legs.js.map +1 -0
  1150. package/dist/types/FIX.5.MOD/quickfix/set/trd_reg_timestamps.d.ts +4 -0
  1151. package/dist/types/FIX.5.MOD/quickfix/set/trd_reg_timestamps.js +3 -0
  1152. package/dist/types/FIX.5.MOD/quickfix/set/trd_reg_timestamps.js.map +1 -0
  1153. package/dist/types/FIX.5.MOD/quickfix/set/trd_reg_timestamps_no_trd_reg_timestamps.d.ts +8 -0
  1154. package/dist/types/FIX.5.MOD/quickfix/set/trd_reg_timestamps_no_trd_reg_timestamps.js +3 -0
  1155. package/dist/types/FIX.5.MOD/quickfix/set/trd_reg_timestamps_no_trd_reg_timestamps.js.map +1 -0
  1156. package/dist/types/FIX.5.MOD/quickfix/set/trd_sess_lst_grp.d.ts +4 -0
  1157. package/dist/types/FIX.5.MOD/quickfix/set/trd_sess_lst_grp.js +3 -0
  1158. package/dist/types/FIX.5.MOD/quickfix/set/trd_sess_lst_grp.js.map +1 -0
  1159. package/dist/types/FIX.5.MOD/quickfix/set/trd_sess_lst_grp_no_trading_sessions.d.ts +20 -0
  1160. package/dist/types/FIX.5.MOD/quickfix/set/trd_sess_lst_grp_no_trading_sessions.js +3 -0
  1161. package/dist/types/FIX.5.MOD/quickfix/set/trd_sess_lst_grp_no_trading_sessions.js.map +1 -0
  1162. package/dist/types/FIX.5.MOD/quickfix/set/trdg_ses_grp.d.ts +4 -0
  1163. package/dist/types/FIX.5.MOD/quickfix/set/trdg_ses_grp.js +3 -0
  1164. package/dist/types/FIX.5.MOD/quickfix/set/trdg_ses_grp.js.map +1 -0
  1165. package/dist/types/FIX.5.MOD/quickfix/set/trdg_ses_grp_no_trading_sessions.d.ts +4 -0
  1166. package/dist/types/FIX.5.MOD/quickfix/set/trdg_ses_grp_no_trading_sessions.js +3 -0
  1167. package/dist/types/FIX.5.MOD/quickfix/set/trdg_ses_grp_no_trading_sessions.js.map +1 -0
  1168. package/dist/types/FIX.5.MOD/quickfix/set/triggering_instruction.d.ts +17 -0
  1169. package/dist/types/FIX.5.MOD/quickfix/set/triggering_instruction.js +3 -0
  1170. package/dist/types/FIX.5.MOD/quickfix/set/triggering_instruction.js.map +1 -0
  1171. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_coll_grp.d.ts +4 -0
  1172. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_coll_grp.js +3 -0
  1173. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_coll_grp.js.map +1 -0
  1174. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_coll_grp_no_underlyings.d.ts +5 -0
  1175. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_coll_grp_no_underlyings.js +3 -0
  1176. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_coll_grp_no_underlyings.js.map +1 -0
  1177. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_grp.d.ts +4 -0
  1178. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_grp.js +3 -0
  1179. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_grp.js.map +1 -0
  1180. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_grp_no_underlyings.d.ts +4 -0
  1181. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_grp_no_underlyings.js +3 -0
  1182. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_grp_no_underlyings.js.map +1 -0
  1183. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_strk_px_grp.d.ts +4 -0
  1184. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_strk_px_grp.js +3 -0
  1185. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_strk_px_grp.js.map +1 -0
  1186. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_strk_px_grp_no_underlyings.d.ts +14 -0
  1187. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_strk_px_grp_no_underlyings.js +3 -0
  1188. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_strk_px_grp_no_underlyings.js.map +1 -0
  1189. package/dist/types/FIX.5.MOD/quickfix/set/und_sec_alt_id_grp.d.ts +4 -0
  1190. package/dist/types/FIX.5.MOD/quickfix/set/und_sec_alt_id_grp.js +3 -0
  1191. package/dist/types/FIX.5.MOD/quickfix/set/und_sec_alt_id_grp.js.map +1 -0
  1192. package/dist/types/FIX.5.MOD/quickfix/set/und_sec_alt_id_grp_no_underlying_security_alt_id.d.ts +4 -0
  1193. package/dist/types/FIX.5.MOD/quickfix/set/und_sec_alt_id_grp_no_underlying_security_alt_id.js +3 -0
  1194. package/dist/types/FIX.5.MOD/quickfix/set/und_sec_alt_id_grp_no_underlying_security_alt_id.js.map +1 -0
  1195. package/dist/types/FIX.5.MOD/quickfix/set/underlying_amount.d.ts +4 -0
  1196. package/dist/types/FIX.5.MOD/quickfix/set/underlying_amount.js +3 -0
  1197. package/dist/types/FIX.5.MOD/quickfix/set/underlying_amount.js.map +1 -0
  1198. package/dist/types/FIX.5.MOD/quickfix/set/underlying_amount_no_underlying_amounts.d.ts +6 -0
  1199. package/dist/types/FIX.5.MOD/quickfix/set/underlying_amount_no_underlying_amounts.js +3 -0
  1200. package/dist/types/FIX.5.MOD/quickfix/set/underlying_amount_no_underlying_amounts.js.map +1 -0
  1201. package/dist/types/FIX.5.MOD/quickfix/set/underlying_instrument.d.ts +64 -0
  1202. package/dist/types/FIX.5.MOD/quickfix/set/underlying_instrument.js +3 -0
  1203. package/dist/types/FIX.5.MOD/quickfix/set/underlying_instrument.js.map +1 -0
  1204. package/dist/types/FIX.5.MOD/quickfix/set/underlying_stipulations.d.ts +4 -0
  1205. package/dist/types/FIX.5.MOD/quickfix/set/underlying_stipulations.js +3 -0
  1206. package/dist/types/FIX.5.MOD/quickfix/set/underlying_stipulations.js.map +1 -0
  1207. package/dist/types/FIX.5.MOD/quickfix/set/underlying_stipulations_no_underlying_stips.d.ts +4 -0
  1208. package/dist/types/FIX.5.MOD/quickfix/set/underlying_stipulations_no_underlying_stips.js +3 -0
  1209. package/dist/types/FIX.5.MOD/quickfix/set/underlying_stipulations_no_underlying_stips.js.map +1 -0
  1210. package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_parties.d.ts +4 -0
  1211. package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_parties.js +3 -0
  1212. package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_parties.js.map +1 -0
  1213. package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_parties_no_undly_instrument_parties.d.ts +7 -0
  1214. package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_parties_no_undly_instrument_parties.js +3 -0
  1215. package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_parties_no_undly_instrument_parties.js.map +1 -0
  1216. package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_ptys_sub_grp.d.ts +4 -0
  1217. package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_ptys_sub_grp.js +3 -0
  1218. package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_ptys_sub_grp.js.map +1 -0
  1219. package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_ptys_sub_grp_no_undly_instrument_party_sub_i_ds.d.ts +4 -0
  1220. package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_ptys_sub_grp_no_undly_instrument_party_sub_i_ds.js +3 -0
  1221. package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_ptys_sub_grp_no_undly_instrument_party_sub_i_ds.js.map +1 -0
  1222. package/dist/types/FIX.5.MOD/quickfix/set/yield_data.d.ts +8 -0
  1223. package/dist/types/FIX.5.MOD/quickfix/set/yield_data.js +3 -0
  1224. package/dist/types/FIX.5.MOD/quickfix/set/yield_data.js.map +1 -0
  1225. package/dist/types/FIX.5.MOD/quickfix/settlement_instruction_request.d.ts +23 -0
  1226. package/dist/types/FIX.5.MOD/quickfix/settlement_instruction_request.js +3 -0
  1227. package/dist/types/FIX.5.MOD/quickfix/settlement_instruction_request.js.map +1 -0
  1228. package/dist/types/FIX.5.MOD/quickfix/settlement_instructions.d.ts +18 -0
  1229. package/dist/types/FIX.5.MOD/quickfix/settlement_instructions.js +3 -0
  1230. package/dist/types/FIX.5.MOD/quickfix/settlement_instructions.js.map +1 -0
  1231. package/dist/types/FIX.5.MOD/quickfix/test_request.d.ts +7 -0
  1232. package/dist/types/FIX.5.MOD/quickfix/test_request.js +3 -0
  1233. package/dist/types/FIX.5.MOD/quickfix/test_request.js.map +1 -0
  1234. package/dist/types/FIX.5.MOD/quickfix/trade_capture_report.d.ts +102 -0
  1235. package/dist/types/FIX.5.MOD/quickfix/trade_capture_report.js +3 -0
  1236. package/dist/types/FIX.5.MOD/quickfix/trade_capture_report.js.map +1 -0
  1237. package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_ack.d.ts +92 -0
  1238. package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_ack.js +3 -0
  1239. package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_ack.js.map +1 -0
  1240. package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_request.d.ts +56 -0
  1241. package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_request.js +3 -0
  1242. package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_request.js.map +1 -0
  1243. package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_request_ack.d.ts +30 -0
  1244. package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_request_ack.js +3 -0
  1245. package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_request_ack.js.map +1 -0
  1246. package/dist/types/FIX.5.MOD/quickfix/trading_session_list.d.ts +9 -0
  1247. package/dist/types/FIX.5.MOD/quickfix/trading_session_list.js +3 -0
  1248. package/dist/types/FIX.5.MOD/quickfix/trading_session_list.js.map +1 -0
  1249. package/dist/types/FIX.5.MOD/quickfix/trading_session_list_request.d.ts +13 -0
  1250. package/dist/types/FIX.5.MOD/quickfix/trading_session_list_request.js +3 -0
  1251. package/dist/types/FIX.5.MOD/quickfix/trading_session_list_request.js.map +1 -0
  1252. package/dist/types/FIX.5.MOD/quickfix/trading_session_status.d.ts +28 -0
  1253. package/dist/types/FIX.5.MOD/quickfix/trading_session_status.js +3 -0
  1254. package/dist/types/FIX.5.MOD/quickfix/trading_session_status.js.map +1 -0
  1255. package/dist/types/FIX.5.MOD/quickfix/trading_session_status_request.d.ts +15 -0
  1256. package/dist/types/FIX.5.MOD/quickfix/trading_session_status_request.js +3 -0
  1257. package/dist/types/FIX.5.MOD/quickfix/trading_session_status_request.js.map +1 -0
  1258. package/dist/types/FIX.5.MOD/quickfix/user_request.d.ts +14 -0
  1259. package/dist/types/FIX.5.MOD/quickfix/user_request.js +3 -0
  1260. package/dist/types/FIX.5.MOD/quickfix/user_request.js.map +1 -0
  1261. package/dist/types/FIX.5.MOD/quickfix/user_response.d.ts +10 -0
  1262. package/dist/types/FIX.5.MOD/quickfix/user_response.js +3 -0
  1263. package/dist/types/FIX.5.MOD/quickfix/user_response.js.map +1 -0
  1264. package/dist/util/definition-factory.js +2 -1
  1265. package/dist/util/definition-factory.js.map +1 -1
  1266. package/dist/util/json-helper.js.map +1 -1
  1267. package/dist/util/message-generator.js.map +1 -1
  1268. package/dist/util/replay.js +2 -2
  1269. package/dist/util/replay.js.map +1 -1
  1270. package/package.json +24 -22
  1271. package/src/buffer/ascii/ascii-parser.ts +18 -9
  1272. package/src/buffer/ascii/ascii-segment-parser-error.ts +7 -0
  1273. package/src/buffer/ascii/ascii-segment-parser-summary.ts +13 -0
  1274. package/src/buffer/ascii/ascii-segment-parser.ts +28 -8
  1275. package/src/buffer/ascii/ascii-view.ts +4 -0
  1276. package/src/buffer/msg-view.ts +2 -2
  1277. package/src/buffer/segment/segment-description.ts +18 -0
  1278. package/src/buffer/tag/tag-pos.ts +1 -1
  1279. package/src/dictionary/contained/contained-field-set.ts +1 -1
  1280. package/src/dictionary/definition/fix-definitions.ts +13 -0
  1281. package/src/dictionary/definition/fix-version-parser.ts +57 -0
  1282. package/src/dictionary/definition/simple-field-definition.ts +1 -0
  1283. package/src/dictionary/parser/fix-repository/repository.ts +1 -1
  1284. package/src/dictionary/parser/quickfix/quick-fix-xml-file-builder.ts +179 -0
  1285. package/src/dictionary/parser/quickfix/quick-fix-xml-file-parser.ts +8 -4
  1286. package/src/dictionary/parser/quickfix/quick-fix-xml-formatter.ts +67 -0
  1287. package/src/dictionary/version-util.ts +10 -21
  1288. package/src/jsfix-cmd.ts +194 -23
  1289. package/src/runtime/session-launcher.ts +8 -4
  1290. package/src/store/fix-msg-ascii-store-resend.ts +64 -8
  1291. package/src/transport/ascii/ascii-session.ts +5 -1
  1292. package/src/transport/duplex/fix-duplex.ts +2 -0
  1293. package/src/transport/duplex/http-duplex.ts +1 -1
  1294. package/src/transport/duplex/string-duplex.ts +72 -41
  1295. package/src/transport/http/http-acceptor.ts +3 -3
  1296. package/src/transport/http/http-json-sample-adapter.ts +1 -1
  1297. package/src/transport/index.ts +1 -7
  1298. package/src/transport/session/fix-session.ts +2 -2
  1299. package/src/transport/session/index.ts +8 -0
  1300. package/src/types/FIX.5.MOD/quickfix/account_list.ts +13 -0
  1301. package/src/types/FIX.5.MOD/quickfix/account_list_incremental.ts +10 -0
  1302. package/src/types/FIX.5.MOD/quickfix/account_list_request.ts +12 -0
  1303. package/src/types/FIX.5.MOD/quickfix/adjusted_position_report.ts +20 -0
  1304. package/src/types/FIX.5.MOD/quickfix/advertisement.ts +30 -0
  1305. package/src/types/FIX.5.MOD/quickfix/allocation_instruction.ts +93 -0
  1306. package/src/types/FIX.5.MOD/quickfix/allocation_instruction_ack.ts +25 -0
  1307. package/src/types/FIX.5.MOD/quickfix/allocation_instruction_alert.ts +93 -0
  1308. package/src/types/FIX.5.MOD/quickfix/allocation_report.ts +98 -0
  1309. package/src/types/FIX.5.MOD/quickfix/allocation_report_ack.ts +30 -0
  1310. package/src/types/FIX.5.MOD/quickfix/assignment_report.ts +41 -0
  1311. package/src/types/FIX.5.MOD/quickfix/bid_request.ts +38 -0
  1312. package/src/types/FIX.5.MOD/quickfix/bid_response.ts +11 -0
  1313. package/src/types/FIX.5.MOD/quickfix/business_message_reject.ts +14 -0
  1314. package/src/types/FIX.5.MOD/quickfix/collateral_assignment.ts +66 -0
  1315. package/src/types/FIX.5.MOD/quickfix/collateral_inquiry.ts +63 -0
  1316. package/src/types/FIX.5.MOD/quickfix/collateral_inquiry_ack.ts +47 -0
  1317. package/src/types/FIX.5.MOD/quickfix/collateral_report.ts +67 -0
  1318. package/src/types/FIX.5.MOD/quickfix/collateral_request.ts +61 -0
  1319. package/src/types/FIX.5.MOD/quickfix/collateral_response.ts +63 -0
  1320. package/src/types/FIX.5.MOD/quickfix/confirmation.ts +88 -0
  1321. package/src/types/FIX.5.MOD/quickfix/confirmation_ack.ts +16 -0
  1322. package/src/types/FIX.5.MOD/quickfix/confirmation_request.ts +21 -0
  1323. package/src/types/FIX.5.MOD/quickfix/contrary_intention_report.ts +23 -0
  1324. package/src/types/FIX.5.MOD/quickfix/cross_order_cancel_replace_request.ts +78 -0
  1325. package/src/types/FIX.5.MOD/quickfix/cross_order_cancel_request.ts +24 -0
  1326. package/src/types/FIX.5.MOD/quickfix/derivative_security_list.ts +16 -0
  1327. package/src/types/FIX.5.MOD/quickfix/derivative_security_list_request.ts +19 -0
  1328. package/src/types/FIX.5.MOD/quickfix/dont_know_trade_dk.ts +25 -0
  1329. package/src/types/FIX.5.MOD/quickfix/email.ts +27 -0
  1330. package/src/types/FIX.5.MOD/quickfix/enum/all-enum.ts +3799 -0
  1331. package/src/types/FIX.5.MOD/quickfix/enum/index.ts +2 -0
  1332. package/src/types/FIX.5.MOD/quickfix/enum/msg_tag.ts +1645 -0
  1333. package/src/types/FIX.5.MOD/quickfix/execution_acknowledgement.ts +31 -0
  1334. package/src/types/FIX.5.MOD/quickfix/execution_report.ts +186 -0
  1335. package/src/types/FIX.5.MOD/quickfix/heartbeat.ts +8 -0
  1336. package/src/types/FIX.5.MOD/quickfix/index.ts +358 -0
  1337. package/src/types/FIX.5.MOD/quickfix/ioi.ts +46 -0
  1338. package/src/types/FIX.5.MOD/quickfix/list_cancel_request.ts +16 -0
  1339. package/src/types/FIX.5.MOD/quickfix/list_execute.ts +14 -0
  1340. package/src/types/FIX.5.MOD/quickfix/list_status.ts +20 -0
  1341. package/src/types/FIX.5.MOD/quickfix/list_status_request.ts +11 -0
  1342. package/src/types/FIX.5.MOD/quickfix/list_strike_price.ts +14 -0
  1343. package/src/types/FIX.5.MOD/quickfix/logon.ts +22 -0
  1344. package/src/types/FIX.5.MOD/quickfix/logout.ts +10 -0
  1345. package/src/types/FIX.5.MOD/quickfix/market_data_incremental_refresh.ts +17 -0
  1346. package/src/types/FIX.5.MOD/quickfix/market_data_request.ts +25 -0
  1347. package/src/types/FIX.5.MOD/quickfix/market_data_request_reject.ts +14 -0
  1348. package/src/types/FIX.5.MOD/quickfix/market_data_snapshot_full_refresh.ts +29 -0
  1349. package/src/types/FIX.5.MOD/quickfix/mass_quote.ts +20 -0
  1350. package/src/types/FIX.5.MOD/quickfix/mass_quote_acknowledgement.ts +23 -0
  1351. package/src/types/FIX.5.MOD/quickfix/multileg_order_cancel_replace.ts +103 -0
  1352. package/src/types/FIX.5.MOD/quickfix/network_counterparty_system_status_request.ts +11 -0
  1353. package/src/types/FIX.5.MOD/quickfix/network_counterparty_system_status_response.ts +13 -0
  1354. package/src/types/FIX.5.MOD/quickfix/new_order_cross.ts +75 -0
  1355. package/src/types/FIX.5.MOD/quickfix/new_order_list.ts +29 -0
  1356. package/src/types/FIX.5.MOD/quickfix/new_order_multileg.ts +102 -0
  1357. package/src/types/FIX.5.MOD/quickfix/new_order_single.ts +116 -0
  1358. package/src/types/FIX.5.MOD/quickfix/news.ts +26 -0
  1359. package/src/types/FIX.5.MOD/quickfix/order_cancel_reject.ts +28 -0
  1360. package/src/types/FIX.5.MOD/quickfix/order_cancel_replace_request.ts +112 -0
  1361. package/src/types/FIX.5.MOD/quickfix/order_cancel_request.ts +33 -0
  1362. package/src/types/FIX.5.MOD/quickfix/order_mass_cancel_report.ts +31 -0
  1363. package/src/types/FIX.5.MOD/quickfix/order_mass_cancel_request.ts +27 -0
  1364. package/src/types/FIX.5.MOD/quickfix/order_mass_status_request.ts +20 -0
  1365. package/src/types/FIX.5.MOD/quickfix/order_status_request.ts +23 -0
  1366. package/src/types/FIX.5.MOD/quickfix/position_maintenance_report.ts +45 -0
  1367. package/src/types/FIX.5.MOD/quickfix/position_maintenance_request.ts +42 -0
  1368. package/src/types/FIX.5.MOD/quickfix/position_report.ts +47 -0
  1369. package/src/types/FIX.5.MOD/quickfix/quote.ts +81 -0
  1370. package/src/types/FIX.5.MOD/quickfix/quote_cancel.ts +21 -0
  1371. package/src/types/FIX.5.MOD/quickfix/quote_request.ts +17 -0
  1372. package/src/types/FIX.5.MOD/quickfix/quote_request_reject.ts +15 -0
  1373. package/src/types/FIX.5.MOD/quickfix/quote_response.ts +80 -0
  1374. package/src/types/FIX.5.MOD/quickfix/quote_status_report.ts +81 -0
  1375. package/src/types/FIX.5.MOD/quickfix/quote_status_request.ts +25 -0
  1376. package/src/types/FIX.5.MOD/quickfix/registration_instructions.ts +22 -0
  1377. package/src/types/FIX.5.MOD/quickfix/registration_instructions_response.ts +18 -0
  1378. package/src/types/FIX.5.MOD/quickfix/reject.ts +14 -0
  1379. package/src/types/FIX.5.MOD/quickfix/request_for_positions.ts +35 -0
  1380. package/src/types/FIX.5.MOD/quickfix/request_for_positions_ack.ts +37 -0
  1381. package/src/types/FIX.5.MOD/quickfix/resend_request.ts +9 -0
  1382. package/src/types/FIX.5.MOD/quickfix/rfq_request.ts +11 -0
  1383. package/src/types/FIX.5.MOD/quickfix/security_definition.ts +29 -0
  1384. package/src/types/FIX.5.MOD/quickfix/security_definition_request.ts +25 -0
  1385. package/src/types/FIX.5.MOD/quickfix/security_definition_update_report.ts +29 -0
  1386. package/src/types/FIX.5.MOD/quickfix/security_list.ts +27 -0
  1387. package/src/types/FIX.5.MOD/quickfix/security_list_request.ts +28 -0
  1388. package/src/types/FIX.5.MOD/quickfix/security_list_update_report.ts +18 -0
  1389. package/src/types/FIX.5.MOD/quickfix/security_status.ts +37 -0
  1390. package/src/types/FIX.5.MOD/quickfix/security_status_request.ts +20 -0
  1391. package/src/types/FIX.5.MOD/quickfix/security_type_request.ts +16 -0
  1392. package/src/types/FIX.5.MOD/quickfix/security_types.ts +20 -0
  1393. package/src/types/FIX.5.MOD/quickfix/sequence_reset.ts +9 -0
  1394. package/src/types/FIX.5.MOD/quickfix/set/affected_ord_grp.ts +3 -0
  1395. package/src/types/FIX.5.MOD/quickfix/set/alloc_ack_grp.ts +5 -0
  1396. package/src/types/FIX.5.MOD/quickfix/set/alloc_ack_grp_no_allocs.ts +18 -0
  1397. package/src/types/FIX.5.MOD/quickfix/set/alloc_grp.ts +5 -0
  1398. package/src/types/FIX.5.MOD/quickfix/set/alloc_grp_no_allocs.ts +42 -0
  1399. package/src/types/FIX.5.MOD/quickfix/set/attrb_grp.ts +5 -0
  1400. package/src/types/FIX.5.MOD/quickfix/set/attrb_grp_no_instr_attrib.ts +4 -0
  1401. package/src/types/FIX.5.MOD/quickfix/set/base_trading_rules.ts +19 -0
  1402. package/src/types/FIX.5.MOD/quickfix/set/bid_comp_req_grp.ts +5 -0
  1403. package/src/types/FIX.5.MOD/quickfix/set/bid_comp_req_grp_no_bid_components.ts +11 -0
  1404. package/src/types/FIX.5.MOD/quickfix/set/bid_comp_rsp_grp.ts +5 -0
  1405. package/src/types/FIX.5.MOD/quickfix/set/bid_comp_rsp_grp_no_bid_components.ts +19 -0
  1406. package/src/types/FIX.5.MOD/quickfix/set/bid_desc_req_grp.ts +5 -0
  1407. package/src/types/FIX.5.MOD/quickfix/set/bid_desc_req_grp_no_bid_descriptors.ts +13 -0
  1408. package/src/types/FIX.5.MOD/quickfix/set/clr_inst_grp.ts +5 -0
  1409. package/src/types/FIX.5.MOD/quickfix/set/clr_inst_grp_no_clearing_instructions.ts +3 -0
  1410. package/src/types/FIX.5.MOD/quickfix/set/coll_inq_qual_grp.ts +5 -0
  1411. package/src/types/FIX.5.MOD/quickfix/set/coll_inq_qual_grp_no_coll_inquiry_qualifier.ts +3 -0
  1412. package/src/types/FIX.5.MOD/quickfix/set/commission_data.ts +6 -0
  1413. package/src/types/FIX.5.MOD/quickfix/set/comp_id_req_grp.ts +5 -0
  1414. package/src/types/FIX.5.MOD/quickfix/set/comp_id_req_grp_no_comp_i_ds.ts +6 -0
  1415. package/src/types/FIX.5.MOD/quickfix/set/comp_id_stat_grp.ts +5 -0
  1416. package/src/types/FIX.5.MOD/quickfix/set/comp_id_stat_grp_no_comp_i_ds.ts +8 -0
  1417. package/src/types/FIX.5.MOD/quickfix/set/cont_amt_grp.ts +5 -0
  1418. package/src/types/FIX.5.MOD/quickfix/set/cont_amt_grp_no_cont_amts.ts +5 -0
  1419. package/src/types/FIX.5.MOD/quickfix/set/contra_grp.ts +5 -0
  1420. package/src/types/FIX.5.MOD/quickfix/set/contra_grp_no_contra_brokers.ts +7 -0
  1421. package/src/types/FIX.5.MOD/quickfix/set/cpcty_conf_grp.ts +5 -0
  1422. package/src/types/FIX.5.MOD/quickfix/set/cpcty_conf_grp_no_capacities.ts +5 -0
  1423. package/src/types/FIX.5.MOD/quickfix/set/discretion_instructions.ts +9 -0
  1424. package/src/types/FIX.5.MOD/quickfix/set/display_instruction.ts +10 -0
  1425. package/src/types/FIX.5.MOD/quickfix/set/dlvy_inst_grp.ts +5 -0
  1426. package/src/types/FIX.5.MOD/quickfix/set/dlvy_inst_grp_no_dlvy_inst.ts +7 -0
  1427. package/src/types/FIX.5.MOD/quickfix/set/evnt_grp.ts +5 -0
  1428. package/src/types/FIX.5.MOD/quickfix/set/evnt_grp_no_events.ts +6 -0
  1429. package/src/types/FIX.5.MOD/quickfix/set/exec_alloc_grp.ts +5 -0
  1430. package/src/types/FIX.5.MOD/quickfix/set/exec_alloc_grp_no_execs.ts +10 -0
  1431. package/src/types/FIX.5.MOD/quickfix/set/exec_coll_grp.ts +5 -0
  1432. package/src/types/FIX.5.MOD/quickfix/set/exec_coll_grp_no_execs.ts +3 -0
  1433. package/src/types/FIX.5.MOD/quickfix/set/exec_inst_rules.ts +5 -0
  1434. package/src/types/FIX.5.MOD/quickfix/set/exec_inst_rules_no_exec_inst_rules.ts +3 -0
  1435. package/src/types/FIX.5.MOD/quickfix/set/expiration_qty.ts +5 -0
  1436. package/src/types/FIX.5.MOD/quickfix/set/expiration_qty_no_expiration.ts +4 -0
  1437. package/src/types/FIX.5.MOD/quickfix/set/financing_details.ts +11 -0
  1438. package/src/types/FIX.5.MOD/quickfix/set/hop_grp.ts +5 -0
  1439. package/src/types/FIX.5.MOD/quickfix/set/hop_grp_no_hops.ts +5 -0
  1440. package/src/types/FIX.5.MOD/quickfix/set/instrmt_grp.ts +5 -0
  1441. package/src/types/FIX.5.MOD/quickfix/set/instrmt_grp_no_related_sym.ts +5 -0
  1442. package/src/types/FIX.5.MOD/quickfix/set/instrmt_leg_exec_grp.ts +5 -0
  1443. package/src/types/FIX.5.MOD/quickfix/set/instrmt_leg_exec_grp_no_legs.ts +23 -0
  1444. package/src/types/FIX.5.MOD/quickfix/set/instrmt_leg_grp.ts +5 -0
  1445. package/src/types/FIX.5.MOD/quickfix/set/instrmt_leg_grp_no_legs.ts +5 -0
  1446. package/src/types/FIX.5.MOD/quickfix/set/instrmt_leg_ioi_grp.ts +5 -0
  1447. package/src/types/FIX.5.MOD/quickfix/set/instrmt_leg_ioi_grp_no_legs.ts +8 -0
  1448. package/src/types/FIX.5.MOD/quickfix/set/instrmt_leg_sec_list_grp.ts +5 -0
  1449. package/src/types/FIX.5.MOD/quickfix/set/instrmt_leg_sec_list_grp_no_legs.ts +11 -0
  1450. package/src/types/FIX.5.MOD/quickfix/set/instrmt_md_req_grp.ts +5 -0
  1451. package/src/types/FIX.5.MOD/quickfix/set/instrmt_md_req_grp_no_related_sym.ts +14 -0
  1452. package/src/types/FIX.5.MOD/quickfix/set/instrmt_strk_px_grp.ts +5 -0
  1453. package/src/types/FIX.5.MOD/quickfix/set/instrmt_strk_px_grp_no_strikes.ts +5 -0
  1454. package/src/types/FIX.5.MOD/quickfix/set/instrument.ts +73 -0
  1455. package/src/types/FIX.5.MOD/quickfix/set/instrument_extension.ts +7 -0
  1456. package/src/types/FIX.5.MOD/quickfix/set/instrument_leg.ts +48 -0
  1457. package/src/types/FIX.5.MOD/quickfix/set/instrument_parties.ts +5 -0
  1458. package/src/types/FIX.5.MOD/quickfix/set/instrument_parties_no_instrument_parties.ts +8 -0
  1459. package/src/types/FIX.5.MOD/quickfix/set/instrument_ptys_sub_grp.ts +5 -0
  1460. package/src/types/FIX.5.MOD/quickfix/set/instrument_ptys_sub_grp_no_instrument_party_sub_i_ds.ts +4 -0
  1461. package/src/types/FIX.5.MOD/quickfix/set/ioi_qual_grp.ts +5 -0
  1462. package/src/types/FIX.5.MOD/quickfix/set/ioi_qual_grp_no_ioi_qualifiers.ts +3 -0
  1463. package/src/types/FIX.5.MOD/quickfix/set/leg_benchmark_curve_data.ts +7 -0
  1464. package/src/types/FIX.5.MOD/quickfix/set/leg_ord_grp.ts +5 -0
  1465. package/src/types/FIX.5.MOD/quickfix/set/leg_ord_grp_no_legs.ts +21 -0
  1466. package/src/types/FIX.5.MOD/quickfix/set/leg_pre_alloc_grp.ts +5 -0
  1467. package/src/types/FIX.5.MOD/quickfix/set/leg_pre_alloc_grp_no_leg_allocs.ts +10 -0
  1468. package/src/types/FIX.5.MOD/quickfix/set/leg_quot_grp.ts +5 -0
  1469. package/src/types/FIX.5.MOD/quickfix/set/leg_quot_grp_no_legs.ts +22 -0
  1470. package/src/types/FIX.5.MOD/quickfix/set/leg_quot_stat_grp.ts +5 -0
  1471. package/src/types/FIX.5.MOD/quickfix/set/leg_quot_stat_grp_no_legs.ts +14 -0
  1472. package/src/types/FIX.5.MOD/quickfix/set/leg_sec_alt_id_grp.ts +3 -0
  1473. package/src/types/FIX.5.MOD/quickfix/set/leg_stipulations.ts +5 -0
  1474. package/src/types/FIX.5.MOD/quickfix/set/leg_stipulations_no_leg_stipulations.ts +4 -0
  1475. package/src/types/FIX.5.MOD/quickfix/set/lines_of_text_grp.ts +5 -0
  1476. package/src/types/FIX.5.MOD/quickfix/set/lines_of_text_grp_no_lines_of_text.ts +5 -0
  1477. package/src/types/FIX.5.MOD/quickfix/set/list_ord_grp.ts +5 -0
  1478. package/src/types/FIX.5.MOD/quickfix/set/list_ord_grp_no_orders.ts +103 -0
  1479. package/src/types/FIX.5.MOD/quickfix/set/lot_type_rules.ts +5 -0
  1480. package/src/types/FIX.5.MOD/quickfix/set/lot_type_rules_no_lot_type_rules.ts +5 -0
  1481. package/src/types/FIX.5.MOD/quickfix/set/market_alias.ts +5 -0
  1482. package/src/types/FIX.5.MOD/quickfix/set/market_alias_no_market_alias.ts +4 -0
  1483. package/src/types/FIX.5.MOD/quickfix/set/market_data_feed_types.ts +5 -0
  1484. package/src/types/FIX.5.MOD/quickfix/set/market_data_feed_types_no_md_feed_types.ts +5 -0
  1485. package/src/types/FIX.5.MOD/quickfix/set/match_rules.ts +5 -0
  1486. package/src/types/FIX.5.MOD/quickfix/set/match_rules_no_match_rules.ts +4 -0
  1487. package/src/types/FIX.5.MOD/quickfix/set/maturity_rules.ts +5 -0
  1488. package/src/types/FIX.5.MOD/quickfix/set/maturity_rules_no_maturity_rules.ts +8 -0
  1489. package/src/types/FIX.5.MOD/quickfix/set/md_full_grp.ts +5 -0
  1490. package/src/types/FIX.5.MOD/quickfix/set/md_full_grp_no_md_entries.ts +58 -0
  1491. package/src/types/FIX.5.MOD/quickfix/set/md_inc_grp.ts +5 -0
  1492. package/src/types/FIX.5.MOD/quickfix/set/md_inc_grp_no_md_entries.ts +67 -0
  1493. package/src/types/FIX.5.MOD/quickfix/set/md_req_grp.ts +5 -0
  1494. package/src/types/FIX.5.MOD/quickfix/set/md_req_grp_no_md_entry_types.ts +3 -0
  1495. package/src/types/FIX.5.MOD/quickfix/set/md_rjct_grp.ts +5 -0
  1496. package/src/types/FIX.5.MOD/quickfix/set/md_rjct_grp_no_alt_md_source.ts +3 -0
  1497. package/src/types/FIX.5.MOD/quickfix/set/misc_fees_grp.ts +5 -0
  1498. package/src/types/FIX.5.MOD/quickfix/set/misc_fees_grp_no_misc_fees.ts +6 -0
  1499. package/src/types/FIX.5.MOD/quickfix/set/msg_type_grp.ts +5 -0
  1500. package/src/types/FIX.5.MOD/quickfix/set/msg_type_grp_no_msg_types.ts +6 -0
  1501. package/src/types/FIX.5.MOD/quickfix/set/nested_instrument_attribute.ts +5 -0
  1502. package/src/types/FIX.5.MOD/quickfix/set/nested_instrument_attribute_no_nested_instr_attrib.ts +4 -0
  1503. package/src/types/FIX.5.MOD/quickfix/set/nested_parties.ts +5 -0
  1504. package/src/types/FIX.5.MOD/quickfix/set/nested_parties_2.ts +5 -0
  1505. package/src/types/FIX.5.MOD/quickfix/set/nested_parties_2_no_nested_2_party_i_ds.ts +8 -0
  1506. package/src/types/FIX.5.MOD/quickfix/set/nested_parties_3.ts +5 -0
  1507. package/src/types/FIX.5.MOD/quickfix/set/nested_parties_3_no_nested_3_party_i_ds.ts +8 -0
  1508. package/src/types/FIX.5.MOD/quickfix/set/nested_parties_no_nested_party_i_ds.ts +8 -0
  1509. package/src/types/FIX.5.MOD/quickfix/set/nstd_ptys_2_sub_grp.ts +5 -0
  1510. package/src/types/FIX.5.MOD/quickfix/set/nstd_ptys_2_sub_grp_no_nested_2_party_sub_i_ds.ts +4 -0
  1511. package/src/types/FIX.5.MOD/quickfix/set/nstd_ptys_3_sub_grp.ts +5 -0
  1512. package/src/types/FIX.5.MOD/quickfix/set/nstd_ptys_3_sub_grp_no_nested_3_party_sub_i_ds.ts +4 -0
  1513. package/src/types/FIX.5.MOD/quickfix/set/nstd_ptys_sub_grp.ts +5 -0
  1514. package/src/types/FIX.5.MOD/quickfix/set/nstd_ptys_sub_grp_no_nested_party_sub_i_ds.ts +4 -0
  1515. package/src/types/FIX.5.MOD/quickfix/set/ord_alloc_grp.ts +5 -0
  1516. package/src/types/FIX.5.MOD/quickfix/set/ord_alloc_grp_no_orders.ts +13 -0
  1517. package/src/types/FIX.5.MOD/quickfix/set/ord_list_stat_grp.ts +5 -0
  1518. package/src/types/FIX.5.MOD/quickfix/set/ord_list_stat_grp_no_orders.ts +14 -0
  1519. package/src/types/FIX.5.MOD/quickfix/set/ord_type_rules.ts +5 -0
  1520. package/src/types/FIX.5.MOD/quickfix/set/ord_type_rules_no_ord_type_rules.ts +3 -0
  1521. package/src/types/FIX.5.MOD/quickfix/set/order_qty_data.ts +7 -0
  1522. package/src/types/FIX.5.MOD/quickfix/set/parties.ts +5 -0
  1523. package/src/types/FIX.5.MOD/quickfix/set/parties_no_party_i_ds.ts +8 -0
  1524. package/src/types/FIX.5.MOD/quickfix/set/peg_instructions.ts +13 -0
  1525. package/src/types/FIX.5.MOD/quickfix/set/pos_und_instrmt_grp.ts +5 -0
  1526. package/src/types/FIX.5.MOD/quickfix/set/pos_und_instrmt_grp_no_underlyings.ts +10 -0
  1527. package/src/types/FIX.5.MOD/quickfix/set/position_amount_data.ts +5 -0
  1528. package/src/types/FIX.5.MOD/quickfix/set/position_amount_data_no_pos_amt.ts +5 -0
  1529. package/src/types/FIX.5.MOD/quickfix/set/position_qty.ts +5 -0
  1530. package/src/types/FIX.5.MOD/quickfix/set/position_qty_no_positions.ts +10 -0
  1531. package/src/types/FIX.5.MOD/quickfix/set/pre_alloc_grp.ts +5 -0
  1532. package/src/types/FIX.5.MOD/quickfix/set/pre_alloc_grp_no_allocs.ts +10 -0
  1533. package/src/types/FIX.5.MOD/quickfix/set/pre_alloc_mleg_grp.ts +5 -0
  1534. package/src/types/FIX.5.MOD/quickfix/set/pre_alloc_mleg_grp_no_allocs.ts +10 -0
  1535. package/src/types/FIX.5.MOD/quickfix/set/price_limits.ts +6 -0
  1536. package/src/types/FIX.5.MOD/quickfix/set/ptys_sub_grp.ts +5 -0
  1537. package/src/types/FIX.5.MOD/quickfix/set/ptys_sub_grp_no_party_sub_i_ds.ts +4 -0
  1538. package/src/types/FIX.5.MOD/quickfix/set/quot_cxl_entries_grp.ts +5 -0
  1539. package/src/types/FIX.5.MOD/quickfix/set/quot_cxl_entries_grp_no_quote_entries.ts +11 -0
  1540. package/src/types/FIX.5.MOD/quickfix/set/quot_entry_ack_grp.ts +5 -0
  1541. package/src/types/FIX.5.MOD/quickfix/set/quot_entry_ack_grp_no_quote_entries.ts +32 -0
  1542. package/src/types/FIX.5.MOD/quickfix/set/quot_entry_grp.ts +5 -0
  1543. package/src/types/FIX.5.MOD/quickfix/set/quot_entry_grp_no_quote_entries.ts +31 -0
  1544. package/src/types/FIX.5.MOD/quickfix/set/quot_qual_grp.ts +5 -0
  1545. package/src/types/FIX.5.MOD/quickfix/set/quot_qual_grp_no_quote_qualifiers.ts +3 -0
  1546. package/src/types/FIX.5.MOD/quickfix/set/quot_req_grp.ts +5 -0
  1547. package/src/types/FIX.5.MOD/quickfix/set/quot_req_grp_no_related_sym.ts +47 -0
  1548. package/src/types/FIX.5.MOD/quickfix/set/quot_req_legs_grp.ts +5 -0
  1549. package/src/types/FIX.5.MOD/quickfix/set/quot_req_legs_grp_no_legs.ts +19 -0
  1550. package/src/types/FIX.5.MOD/quickfix/set/quot_req_rjct_grp.ts +5 -0
  1551. package/src/types/FIX.5.MOD/quickfix/set/quot_req_rjct_grp_no_related_sym.ts +46 -0
  1552. package/src/types/FIX.5.MOD/quickfix/set/quot_set_ack_grp.ts +5 -0
  1553. package/src/types/FIX.5.MOD/quickfix/set/quot_set_ack_grp_no_quote_sets.ts +10 -0
  1554. package/src/types/FIX.5.MOD/quickfix/set/quot_set_grp.ts +5 -0
  1555. package/src/types/FIX.5.MOD/quickfix/set/quot_set_grp_no_quote_sets.ts +11 -0
  1556. package/src/types/FIX.5.MOD/quickfix/set/rel_sym_deriv_sec_grp.ts +5 -0
  1557. package/src/types/FIX.5.MOD/quickfix/set/rel_sym_deriv_sec_grp_no_related_sym.ts +16 -0
  1558. package/src/types/FIX.5.MOD/quickfix/set/related_account.ts +5 -0
  1559. package/src/types/FIX.5.MOD/quickfix/set/related_account_no_related_acc.ts +12 -0
  1560. package/src/types/FIX.5.MOD/quickfix/set/rfq_req_grp.ts +5 -0
  1561. package/src/types/FIX.5.MOD/quickfix/set/rfq_req_grp_no_related_sym.ts +14 -0
  1562. package/src/types/FIX.5.MOD/quickfix/set/rgst_dist_inst_grp.ts +5 -0
  1563. package/src/types/FIX.5.MOD/quickfix/set/rgst_dist_inst_grp_no_distrib_insts.ts +10 -0
  1564. package/src/types/FIX.5.MOD/quickfix/set/rgst_dtls_grp.ts +5 -0
  1565. package/src/types/FIX.5.MOD/quickfix/set/rgst_dtls_grp_no_regist_dtls.ts +12 -0
  1566. package/src/types/FIX.5.MOD/quickfix/set/root_parties.ts +5 -0
  1567. package/src/types/FIX.5.MOD/quickfix/set/root_parties_no_root_party_i_ds.ts +8 -0
  1568. package/src/types/FIX.5.MOD/quickfix/set/root_sub_parties.ts +5 -0
  1569. package/src/types/FIX.5.MOD/quickfix/set/root_sub_parties_no_root_party_sub_i_ds.ts +4 -0
  1570. package/src/types/FIX.5.MOD/quickfix/set/routing_grp.ts +5 -0
  1571. package/src/types/FIX.5.MOD/quickfix/set/routing_grp_no_routing_i_ds.ts +4 -0
  1572. package/src/types/FIX.5.MOD/quickfix/set/sec_alt_id_grp.ts +5 -0
  1573. package/src/types/FIX.5.MOD/quickfix/set/sec_alt_id_grp_no_security_alt_id.ts +4 -0
  1574. package/src/types/FIX.5.MOD/quickfix/set/sec_list_grp.ts +5 -0
  1575. package/src/types/FIX.5.MOD/quickfix/set/sec_list_grp_no_related_sym.ts +29 -0
  1576. package/src/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_sym_grp.ts +5 -0
  1577. package/src/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_sym_grp_no_related_sym.ts +28 -0
  1578. package/src/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_syms_leg_grp.ts +5 -0
  1579. package/src/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_syms_leg_grp_no_legs.ts +11 -0
  1580. package/src/types/FIX.5.MOD/quickfix/set/sec_types_grp.ts +5 -0
  1581. package/src/types/FIX.5.MOD/quickfix/set/sec_types_grp_no_security_types.ts +6 -0
  1582. package/src/types/FIX.5.MOD/quickfix/set/security_trading_rules.ts +9 -0
  1583. package/src/types/FIX.5.MOD/quickfix/set/settl_inst_grp.ts +5 -0
  1584. package/src/types/FIX.5.MOD/quickfix/set/settl_inst_grp_no_settl_inst.ts +27 -0
  1585. package/src/types/FIX.5.MOD/quickfix/set/settl_instructions_data.ts +9 -0
  1586. package/src/types/FIX.5.MOD/quickfix/set/settl_parties.ts +5 -0
  1587. package/src/types/FIX.5.MOD/quickfix/set/settl_parties_no_settl_party_i_ds.ts +8 -0
  1588. package/src/types/FIX.5.MOD/quickfix/set/settl_ptys_sub_grp.ts +5 -0
  1589. package/src/types/FIX.5.MOD/quickfix/set/settl_ptys_sub_grp_no_settl_party_sub_i_ds.ts +4 -0
  1590. package/src/types/FIX.5.MOD/quickfix/set/side_cross_ord_cxl_grp.ts +5 -0
  1591. package/src/types/FIX.5.MOD/quickfix/set/side_cross_ord_cxl_grp_no_sides.ts +19 -0
  1592. package/src/types/FIX.5.MOD/quickfix/set/side_cross_ord_mod_grp.ts +5 -0
  1593. package/src/types/FIX.5.MOD/quickfix/set/side_cross_ord_mod_grp_no_sides.ts +42 -0
  1594. package/src/types/FIX.5.MOD/quickfix/set/side_trd_reg_ts.ts +5 -0
  1595. package/src/types/FIX.5.MOD/quickfix/set/side_trd_reg_ts_no_side_trd_reg_ts.ts +5 -0
  1596. package/src/types/FIX.5.MOD/quickfix/set/spread_or_benchmark_curve_data.ts +10 -0
  1597. package/src/types/FIX.5.MOD/quickfix/set/standard_header.ts +33 -0
  1598. package/src/types/FIX.5.MOD/quickfix/set/standard_trailer.ts +5 -0
  1599. package/src/types/FIX.5.MOD/quickfix/set/stipulations.ts +5 -0
  1600. package/src/types/FIX.5.MOD/quickfix/set/stipulations_no_stipulations.ts +4 -0
  1601. package/src/types/FIX.5.MOD/quickfix/set/strategy_parameters_grp.ts +5 -0
  1602. package/src/types/FIX.5.MOD/quickfix/set/strategy_parameters_grp_no_strategy_parameters.ts +5 -0
  1603. package/src/types/FIX.5.MOD/quickfix/set/strike_rules.ts +5 -0
  1604. package/src/types/FIX.5.MOD/quickfix/set/strike_rules_no_strike_rules.ts +10 -0
  1605. package/src/types/FIX.5.MOD/quickfix/set/tick_rules.ts +5 -0
  1606. package/src/types/FIX.5.MOD/quickfix/set/tick_rules_no_tick_rules.ts +6 -0
  1607. package/src/types/FIX.5.MOD/quickfix/set/time_in_force_rules.ts +5 -0
  1608. package/src/types/FIX.5.MOD/quickfix/set/time_in_force_rules_no_time_in_force_rules.ts +3 -0
  1609. package/src/types/FIX.5.MOD/quickfix/set/trading_session_rules.ts +13 -0
  1610. package/src/types/FIX.5.MOD/quickfix/set/trading_session_rules_grp.ts +5 -0
  1611. package/src/types/FIX.5.MOD/quickfix/set/trading_session_rules_grp_no_trading_session_rules.ts +7 -0
  1612. package/src/types/FIX.5.MOD/quickfix/set/trd_alloc_grp.ts +5 -0
  1613. package/src/types/FIX.5.MOD/quickfix/set/trd_alloc_grp_no_allocs.ts +14 -0
  1614. package/src/types/FIX.5.MOD/quickfix/set/trd_cap_dt_grp.ts +3 -0
  1615. package/src/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_ack_side_grp.ts +5 -0
  1616. package/src/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_ack_side_grp_no_sides.ts +75 -0
  1617. package/src/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_side_grp.ts +5 -0
  1618. package/src/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_side_grp_no_sides.ts +80 -0
  1619. package/src/types/FIX.5.MOD/quickfix/set/trd_coll_grp.ts +5 -0
  1620. package/src/types/FIX.5.MOD/quickfix/set/trd_coll_grp_no_trades.ts +4 -0
  1621. package/src/types/FIX.5.MOD/quickfix/set/trd_instrmt_leg_grp.ts +5 -0
  1622. package/src/types/FIX.5.MOD/quickfix/set/trd_instrmt_leg_grp_no_legs.ts +23 -0
  1623. package/src/types/FIX.5.MOD/quickfix/set/trd_reg_timestamps.ts +5 -0
  1624. package/src/types/FIX.5.MOD/quickfix/set/trd_reg_timestamps_no_trd_reg_timestamps.ts +8 -0
  1625. package/src/types/FIX.5.MOD/quickfix/set/trd_sess_lst_grp.ts +5 -0
  1626. package/src/types/FIX.5.MOD/quickfix/set/trd_sess_lst_grp_no_trading_sessions.ts +19 -0
  1627. package/src/types/FIX.5.MOD/quickfix/set/trdg_ses_grp.ts +5 -0
  1628. package/src/types/FIX.5.MOD/quickfix/set/trdg_ses_grp_no_trading_sessions.ts +4 -0
  1629. package/src/types/FIX.5.MOD/quickfix/set/triggering_instruction.ts +17 -0
  1630. package/src/types/FIX.5.MOD/quickfix/set/und_instrmt_coll_grp.ts +5 -0
  1631. package/src/types/FIX.5.MOD/quickfix/set/und_instrmt_coll_grp_no_underlyings.ts +6 -0
  1632. package/src/types/FIX.5.MOD/quickfix/set/und_instrmt_grp.ts +5 -0
  1633. package/src/types/FIX.5.MOD/quickfix/set/und_instrmt_grp_no_underlyings.ts +5 -0
  1634. package/src/types/FIX.5.MOD/quickfix/set/und_instrmt_strk_px_grp.ts +5 -0
  1635. package/src/types/FIX.5.MOD/quickfix/set/und_instrmt_strk_px_grp_no_underlyings.ts +14 -0
  1636. package/src/types/FIX.5.MOD/quickfix/set/und_sec_alt_id_grp.ts +5 -0
  1637. package/src/types/FIX.5.MOD/quickfix/set/und_sec_alt_id_grp_no_underlying_security_alt_id.ts +4 -0
  1638. package/src/types/FIX.5.MOD/quickfix/set/underlying_amount.ts +5 -0
  1639. package/src/types/FIX.5.MOD/quickfix/set/underlying_amount_no_underlying_amounts.ts +6 -0
  1640. package/src/types/FIX.5.MOD/quickfix/set/underlying_instrument.ts +64 -0
  1641. package/src/types/FIX.5.MOD/quickfix/set/underlying_stipulations.ts +5 -0
  1642. package/src/types/FIX.5.MOD/quickfix/set/underlying_stipulations_no_underlying_stips.ts +4 -0
  1643. package/src/types/FIX.5.MOD/quickfix/set/undly_instrument_parties.ts +5 -0
  1644. package/src/types/FIX.5.MOD/quickfix/set/undly_instrument_parties_no_undly_instrument_parties.ts +8 -0
  1645. package/src/types/FIX.5.MOD/quickfix/set/undly_instrument_ptys_sub_grp.ts +5 -0
  1646. package/src/types/FIX.5.MOD/quickfix/set/undly_instrument_ptys_sub_grp_no_undly_instrument_party_sub_i_ds.ts +4 -0
  1647. package/src/types/FIX.5.MOD/quickfix/set/yield_data.ts +8 -0
  1648. package/src/types/FIX.5.MOD/quickfix/settlement_instruction_request.ts +24 -0
  1649. package/src/types/FIX.5.MOD/quickfix/settlement_instructions.ts +18 -0
  1650. package/src/types/FIX.5.MOD/quickfix/test_request.ts +8 -0
  1651. package/src/types/FIX.5.MOD/quickfix/trade_capture_report.ts +103 -0
  1652. package/src/types/FIX.5.MOD/quickfix/trade_capture_report_ack.ts +92 -0
  1653. package/src/types/FIX.5.MOD/quickfix/trade_capture_report_request.ts +56 -0
  1654. package/src/types/FIX.5.MOD/quickfix/trade_capture_report_request_ack.ts +30 -0
  1655. package/src/types/FIX.5.MOD/quickfix/trading_session_list.ts +10 -0
  1656. package/src/types/FIX.5.MOD/quickfix/trading_session_list_request.ts +14 -0
  1657. package/src/types/FIX.5.MOD/quickfix/trading_session_status.ts +28 -0
  1658. package/src/types/FIX.5.MOD/quickfix/trading_session_status_request.ts +16 -0
  1659. package/src/types/FIX.5.MOD/quickfix/user_request.ts +14 -0
  1660. package/src/types/FIX.5.MOD/quickfix/user_response.ts +11 -0
  1661. package/src/util/definition-factory.ts +2 -1
  1662. package/src/util/replay.ts +2 -2
  1663. package/data/fix5-mod.xml +0 -9720
@@ -1 +1 @@
1
- {"version":3,"file":"fix-session.js","sourceRoot":"","sources":["../../../src/transport/session/fix-session.ts"],"names":[],"mappings":"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","sourcesContent":["import { ElasticBuffer, MsgView } from '../../buffer'\r\nimport { IJsFixConfig, IJsFixLogger } from '../../config'\r\nimport { FixSessionState } from './fix-session-state'\r\nimport { MsgTransport } from '../factory'\r\nimport { MsgTag } from '../../types'\r\nimport { ILooseObject } from '../../collections/collection'\r\n\r\nimport * as events from 'events'\r\nimport { SessionState } from './session-state'\r\nimport { SegmentType } from '../../buffer/segment/segment-type'\r\n\r\nexport abstract class FixSession extends events.EventEmitter {\r\n public logReceivedMsgs: boolean = false\r\n protected timer: NodeJS.Timeout | null = null\r\n protected transport: MsgTransport | null = null\r\n public manageSession: boolean = true\r\n public checkMsgIntegrity: boolean = false\r\n protected readonly me: string\r\n protected readonly initiator: boolean\r\n protected readonly acceptor: boolean\r\n protected readonly sessionState: FixSessionState\r\n protected readonly sessionLogger: IJsFixLogger\r\n protected requestLogoutType: string\r\n protected respondLogoutType: string\r\n protected requestLogonType: string\r\n\r\n protected constructor (public readonly config: IJsFixConfig) {\r\n super()\r\n const description = config.description\r\n this.me = description?.application?.name ?? 'me'\r\n this.sessionState = new FixSessionState(\r\n {\r\n heartBeat: config.description.HeartBtInt,\r\n lastPeerMsgSeqNum: config.description.LastReceivedSeqNum\r\n })\r\n this.sessionLogger = config.logFactory.logger(`${this.me}:FixSession`)\r\n this.initiator = description?.application?.type === 'initiator'\r\n this.acceptor = !this.initiator\r\n this.checkMsgIntegrity = this.acceptor\r\n this.sessionState.compId = description.SenderCompId\r\n }\r\n\r\n stateStr (theState: SessionState): string {\r\n return SessionState[theState]\r\n }\r\n\r\n assignState (newState: SessionState): void {\r\n const currentState = this.sessionState.state\r\n const currentStateStr = this.stateStr(currentState)\r\n const logger = this.sessionLogger\r\n const msg = `current state ${currentStateStr} (${currentState}) moves to ${SessionState[newState]} (${newState})`\r\n logger.info(msg)\r\n this.sessionState.state = newState\r\n }\r\n\r\n public setState (state: SessionState): void {\r\n const logger = this.sessionLogger\r\n const currentState = this.sessionState.state\r\n const currentStateStr = this.stateStr(currentState)\r\n if (state === currentState) return\r\n switch (currentState) {\r\n case SessionState.ConfirmingLogout:\r\n case SessionState.Stopped:\r\n if (state !== SessionState.NetworkConnectionEstablished) {\r\n logger.info(`ignoring request to change state as now already in ${currentStateStr}`)\r\n } else {\r\n this.assignState(state)\r\n }\r\n break\r\n\r\n default: {\r\n this.assignState(state)\r\n }\r\n }\r\n }\r\n\r\n public getState (): SessionState {\r\n return this.sessionState.state\r\n }\r\n\r\n public lastSentSeqNum (): number {\r\n return this.sessionState.lastSentSeqNum()\r\n }\r\n\r\n public lastPeerSeqNum (): number {\r\n return this.sessionState.lastPeerMsgSeqNum\r\n }\r\n\r\n public sendLogon (): void {\r\n const lo = this.config.factory?.logon()\r\n if (lo) {\r\n this.send(this.requestLogonType, lo)\r\n }\r\n }\r\n\r\n private async waitPromise (): Promise<number> {\r\n const logger = this.sessionLogger\r\n return await new Promise<any>((resolve, reject) => {\r\n if (this.initiator) {\r\n logger.debug(`initiator sending logon state = ${this.stateString()}`)\r\n this.sendLogon()\r\n this.setState(SessionState.InitiationLogonSent)\r\n } else {\r\n logger.debug(`acceptor waits for logon state = ${this.stateString()}`)\r\n this.setState(SessionState.WaitingForALogon)\r\n }\r\n\r\n this.on('error', (e: Error) => {\r\n logger.error(e)\r\n reject(e)\r\n })\r\n\r\n this.on('done', () => {\r\n resolve(this.transport?.id)\r\n })\r\n })\r\n }\r\n\r\n public async run (transport: MsgTransport): Promise<number> {\r\n const logger = this.sessionLogger\r\n if (this.transport) {\r\n logger.info(`reset from previous transport. state ${this.stateString()}`)\r\n this.reset()\r\n }\r\n this.transport = transport\r\n this.subscribe()\r\n return await this.waitPromise()\r\n }\r\n\r\n protected expectedEndState (): boolean {\r\n switch (this.sessionState.state) {\r\n case SessionState.Stopped:\r\n case SessionState.ConfirmingLogout:\r\n return true\r\n\r\n default:\r\n return false\r\n }\r\n }\r\n\r\n protected rxOnEnd (): void {\r\n const logger = this.sessionLogger\r\n logger.info(`rx end received sessionState = [${this.sessionState.toString()}]`)\r\n const expectedState = this.expectedEndState()\r\n if (expectedState) {\r\n logger.info(`rx receives end state = ${this.stateString()} - stop session`)\r\n this.stop()\r\n } else {\r\n this.setState(SessionState.DetectBrokenNetworkConnection)\r\n const e = new Error(`unexpected state - transport failed? = ${this.stateString()}`)\r\n logger.info(`rx error ${e.message}`)\r\n this.terminate(e)\r\n }\r\n }\r\n\r\n protected rxOnMsg (msgType: string, view: MsgView): void {\r\n const logger = this.sessionLogger\r\n\r\n if (this.logReceivedMsgs) {\r\n const name = view.segment.type !== SegmentType.Unknown ? view?.segment?.set?.name : 'unknown'\r\n logger.info(`${msgType}: ${name}`)\r\n logger.info(`${view.toString()}`)\r\n }\r\n this.sessionState.lastReceivedAt = new Date()\r\n if (this.manageSession) {\r\n this.onMsg(msgType, view)\r\n } else {\r\n this.checkForwardMsg(msgType, view)\r\n }\r\n }\r\n\r\n protected rxOnDone (): void {\r\n const logger = this.sessionLogger\r\n logger.info('rx done received')\r\n this.done()\r\n }\r\n\r\n protected rxOnError (e: Error): void {\r\n const logger = this.sessionLogger\r\n logger.warning(`rx error event: ${e.message} ${e.stack ?? ''}`)\r\n this.terminate(e)\r\n }\r\n\r\n protected rxOnDecoded (msgType: string, data: ElasticBuffer, ptr: number): void {\r\n const logger = this.sessionLogger\r\n logger.debug(`rx: [${msgType}] ${ptr} bytes`)\r\n this.onDecoded(msgType, data.toString(ptr))\r\n }\r\n\r\n protected txOnError (e: Error): void {\r\n const logger = this.sessionLogger\r\n logger.warning(`tx error event: ${e.message} ${e.stack ?? ''}`)\r\n this.terminate(e)\r\n }\r\n\r\n protected txOnEncoded (msgType: string, data: string, hdr: ILooseObject): void {\r\n const logger = this.sessionLogger\r\n this.sessionState.lastHeader = hdr\r\n logger.debug(`tx: [${msgType}] ${data.length} bytes seqNo = ${this.lastSentSeqNum()}`)\r\n this.onEncoded(msgType, data)\r\n }\r\n\r\n protected unsubscribe (): void {\r\n const logger = this.sessionLogger\r\n logger.info(`unsubscribe sessionState = [${this.sessionState.toString()}]`)\r\n const transport = this.transport\r\n const rx = transport?.receiver\r\n const tx = transport?.transmitter\r\n\r\n rx?.removeListener('msg', this.rxOnMsg)\r\n rx?.removeListener('error', this.rxOnError)\r\n rx?.removeListener('done', this.rxOnDone)\r\n rx?.removeListener('end', this.rxOnEnd)\r\n rx?.removeListener('decoded', this.rxOnDecoded)\r\n tx?.removeListener('error', this.txOnError)\r\n tx?.removeListener('encoded', this.txOnEncoded)\r\n }\r\n\r\n protected subscribe (): void {\r\n const transport = this.transport\r\n\r\n const rx = transport?.receiver\r\n const tx = transport?.transmitter\r\n const inst = this\r\n rx?.on('msg', (msgType: string, view: MsgView) => { inst.rxOnMsg(msgType, view) })\r\n rx?.on('error', (e: Error) => { inst.rxOnError(e) })\r\n rx?.on('done', () => { inst.rxOnDone() })\r\n rx?.on('end', () => { inst.rxOnEnd() })\r\n rx?.on('decoded', (msgType: string, data: ElasticBuffer, ptr: number) => { inst.rxOnDecoded(msgType, data, ptr) })\r\n tx?.on('error', (e: Error) => { inst.txOnError(e) })\r\n tx?.on('encoded', (msgType: string, data: string, hdr: ILooseObject) => { inst.txOnEncoded(msgType, data, hdr) })\r\n }\r\n\r\n protected validStateApplicationMsg (): boolean {\r\n switch (this.sessionState.state) {\r\n case SessionState.Idle:\r\n case SessionState.InitiateConnection:\r\n case SessionState.InitiationLogonSent:\r\n case SessionState.WaitingForALogon:\r\n case SessionState.HandleResendRequest:\r\n case SessionState.AwaitingProcessingResponseToTestRequest:\r\n case SessionState.AwaitingProcessingResponseToResendRequest:\r\n return false\r\n default:\r\n return true\r\n }\r\n }\r\n\r\n protected stateString (): string {\r\n return SessionState[this.sessionState.state]\r\n }\r\n\r\n protected checkForwardMsg (msgType: string, view: MsgView): void {\r\n this.sessionLogger.info(`forwarding msgType = '${msgType}' to application`)\r\n this.setState(SessionState.ActiveNormalSession)\r\n this.onApplicationMsg(msgType, view)\r\n }\r\n\r\n private stopTimer (): void {\r\n if (this.timer) {\r\n this.sessionLogger.info('stopTimer')\r\n clearInterval(this.timer)\r\n this.timer = null\r\n }\r\n }\r\n\r\n protected terminate (error: Error): void {\r\n if (this.sessionState.state === SessionState.Stopped) return\r\n this.sessionLogger.error(error)\r\n this.stopTimer()\r\n if (this.transport) {\r\n this.transport.end()\r\n }\r\n this.transport = null\r\n this.setState(SessionState.Stopped)\r\n this.emit('error', error)\r\n }\r\n\r\n protected peerLogout (view: MsgView): void {\r\n const msg = view.getString(MsgTag.Text)\r\n const state = this.sessionState.state\r\n switch (state) {\r\n case SessionState.WaitingLogoutConfirm: {\r\n this.sessionLogger.info(`peer confirms logout Text = '${msg}'`)\r\n this.stop()\r\n break\r\n }\r\n\r\n case SessionState.InitiationLogonResponse:\r\n case SessionState.ActiveNormalSession:\r\n case SessionState.InitiationLogonReceived: {\r\n this.setState(SessionState.ConfirmingLogout)\r\n this.sessionLogger.info(`peer initiates logout Text = '${msg}'`)\r\n this.sessionLogout()\r\n }\r\n }\r\n }\r\n\r\n protected send (msgType: string, obj: ILooseObject): void {\r\n const state = this.sessionState.state\r\n switch (state) {\r\n case SessionState.Stopped: {\r\n this.sessionLogger.warning(`can't send in state ${this.stateString()}`)\r\n break\r\n }\r\n\r\n default: {\r\n this.sessionState.LastSentAt = new Date()\r\n this.transport?.transmitter.send(msgType, obj)\r\n break\r\n }\r\n }\r\n }\r\n\r\n protected sendLogout (msg: string): void {\r\n const factory = this.config.factory\r\n this.sessionLogger.info(`sending logout with ${msg}`)\r\n const lo = factory?.logout(this.requestLogoutType, msg)\r\n if (lo) {\r\n this.send(this.requestLogoutType, lo)\r\n }\r\n }\r\n\r\n protected sessionLogout (): void {\r\n const sessionState = this.sessionState\r\n if (sessionState.logoutSentAt) {\r\n return\r\n }\r\n\r\n switch (sessionState.state) {\r\n case SessionState.ActiveNormalSession:\r\n case SessionState.InitiationLogonResponse:\r\n case SessionState.InitiationLogonReceived: {\r\n // this instance initiates logout\r\n this.setState(SessionState.WaitingLogoutConfirm)\r\n sessionState.logoutSentAt = new Date()\r\n const msg = `${this.me} initiate logout`\r\n this.sessionLogger.info(msg)\r\n this.sendLogout(msg)\r\n break\r\n }\r\n\r\n case SessionState.ConfirmingLogout: {\r\n // this instance responds to log out\r\n this.setState(SessionState.ConfirmingLogout)\r\n sessionState.logoutSentAt = new Date()\r\n const msg = `${this.me} confirming logout`\r\n this.sessionLogger.info(msg)\r\n this.sendLogout(msg)\r\n break\r\n }\r\n\r\n default: {\r\n this.sessionLogger.info(`sessionLogout ignored as in state ${sessionState.state}`)\r\n }\r\n }\r\n }\r\n\r\n public done (): void {\r\n switch (this.sessionState.state) {\r\n case SessionState.InitiationLogonResponse:\r\n case SessionState.ActiveNormalSession:\r\n case SessionState.InitiationLogonReceived: {\r\n this.sessionLogout()\r\n break\r\n }\r\n\r\n case SessionState.Stopped:\r\n this.sessionLogger.info('done. session is now stopped')\r\n break\r\n\r\n default: {\r\n this.stop()\r\n break\r\n }\r\n }\r\n this.sessionLogger.info(`done. check logout sequence state ${this.stateString()}`)\r\n }\r\n\r\n public reset (resetSeqNum?: number | null): void {\r\n this.stopTimer()\r\n this.transport = null\r\n const resetFlag = this.config.description.ResetSeqNumFlag\r\n const seqNum = resetFlag ? 0 : resetSeqNum ?? this.sessionState.lastPeerMsgSeqNum\r\n this.sessionState.reset(seqNum) // from header def ... eventually\r\n this.setState(SessionState.NetworkConnectionEstablished)\r\n }\r\n\r\n protected stop (error: Error | null = null): void {\r\n if (this.sessionState.state === SessionState.Stopped) {\r\n return\r\n }\r\n this.stopTimer()\r\n this.unsubscribe()\r\n this.sessionLogger.info('stop: kill transport')\r\n this.transport?.end()\r\n if (error) {\r\n this.sessionLogger.info(`stop: emit error ${error.message}`)\r\n this.emit('error', error)\r\n } else {\r\n this.emit('done')\r\n }\r\n\r\n this.setState(SessionState.Stopped)\r\n this.onStopped(error ?? undefined)\r\n this.transport = null\r\n }\r\n\r\n /**\r\n * dispatches a message into the subclass that inherits from FixSession. The view contains\r\n * the parsed message which has utility methods such as toObject(). The Ascii session provides\r\n * an implementation to handle admin level messages such as logon, hearbeat and resest request.\r\n * Any application messges are dispatched via onApplicationMsg where the application can action\r\n * the message.\r\n * @param msgType the string based msg type the view represents\r\n * @param view container for all parsed fields representing the received message.\r\n * @protected\r\n */\r\n protected abstract onMsg (msgType: string, view: MsgView): void\r\n /**\r\n * the parsed txt recieved from the peer application. Given the applicaton is\r\n * responible for maintaining the fix log, this can be used to persist all received\r\n * messages.\r\n * @param msgType the string based msg type the view represents\r\n * @param txt the received message where for Ascii, the wire SOH delimeter is replaced\r\n * with that specified in the config e.g. '|'\r\n * @protected\r\n */\r\n protected abstract onDecoded (msgType: string, txt: string): void\r\n /**\r\n * the formatted txt sent to the peer application as an outbound message. Given the applicaton is\r\n * responible for maintaining the fix log, this can be used to persist all transmitted\r\n * messages. use msgType for example to persist only trade capture messages to database\r\n * @param msgType the msg type representing the message.\r\n * @param txt the sent message where for Ascii, the wire SOH delimeter is replaced\r\n * with that specified in the config e.g. '|'\r\n * @protected\r\n */\r\n protected abstract onEncoded (msgType: string, txt: string): void\r\n /**\r\n * typically all session level messages are handled by AsciiSession and these are\r\n * application level such as MarketDataRefresh. This will represent the applications main\r\n * work functiono where responses can be sent back to the peer. If manageSession has been set false\r\n * (not recommended) all messages are sent to this function\r\n * @param msgType the msg type representing the message.\r\n * @param view a wrapper containing the parsed message received.\r\n * @protected\r\n */\r\n protected abstract onApplicationMsg (msgType: string, view: MsgView): void\r\n /**\r\n * at this point the application is ready to send messages - peer login has been achieved\r\n * and the session can be considered ready to use. In the case of an initiator the application\r\n * may at this point send for security definitions or send market data subscriptions\r\n * @param view the login message causing session to be ready\r\n * @protected\r\n */\r\n protected abstract onReady (view: MsgView): void\r\n\r\n /**\r\n * Inform application this session has now ended - either from logout or connection dropped\r\n * @param error if session has been terminated via an error it is provided\r\n * @protected\r\n */\r\n protected abstract onStopped (error?: Error): void\r\n /**\r\n * Placeholder infomring the application of a peer login attempt.\r\n * @param view the login message\r\n * @param user extracted user from message\r\n * @param password extracted password from the message.\r\n * @protected\r\n */\r\n protected abstract onLogon (view: MsgView, user: string, password: string): boolean\r\n}\r\n"]}
1
+ {"version":3,"file":"fix-session.js","sourceRoot":"","sources":["../../../src/transport/session/fix-session.ts"],"names":[],"mappings":"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","sourcesContent":["import { ElasticBuffer, MsgView } from '../../buffer'\r\nimport { IJsFixConfig, IJsFixLogger } from '../../config'\r\nimport { FixSessionState } from './fix-session-state'\r\nimport { MsgTransport } from '../factory'\r\nimport { MsgTag } from '../../types'\r\nimport { ILooseObject } from '../../collections/collection'\r\n\r\nimport * as events from 'events'\r\nimport { SessionState } from './session-state'\r\nimport { SegmentType } from '../../buffer/segment/segment-type'\r\n\r\nexport abstract class FixSession extends events.EventEmitter {\r\n public logReceivedMsgs: boolean = false\r\n protected timer: NodeJS.Timeout | null = null\r\n protected transport: MsgTransport | null = null\r\n public manageSession: boolean = true\r\n public checkMsgIntegrity: boolean = false\r\n protected readonly me: string\r\n protected readonly initiator: boolean\r\n protected readonly acceptor: boolean\r\n protected readonly sessionState: FixSessionState\r\n protected readonly sessionLogger: IJsFixLogger\r\n protected requestLogoutType: string\r\n protected respondLogoutType: string\r\n protected requestLogonType: string\r\n\r\n protected constructor (public readonly config: IJsFixConfig) {\r\n super()\r\n const description = config.description\r\n this.me = description?.application?.name ?? 'me'\r\n this.sessionState = new FixSessionState(\r\n {\r\n heartBeat: config.description.HeartBtInt,\r\n lastPeerMsgSeqNum: config.description.LastReceivedSeqNum\r\n })\r\n this.sessionLogger = config.logFactory.logger(`${this.me}:FixSession`)\r\n this.initiator = description?.application?.type === 'initiator'\r\n this.acceptor = !this.initiator\r\n this.checkMsgIntegrity = this.acceptor\r\n this.sessionState.compId = description.SenderCompId\r\n }\r\n\r\n stateStr (theState: SessionState): string {\r\n return SessionState[theState]\r\n }\r\n\r\n assignState (newState: SessionState): void {\r\n const currentState = this.sessionState.state\r\n const currentStateStr = this.stateStr(currentState)\r\n const logger = this.sessionLogger\r\n const msg = `current state ${currentStateStr} (${currentState}) moves to ${SessionState[newState]} (${newState})`\r\n logger.info(msg)\r\n this.sessionState.state = newState\r\n }\r\n\r\n public setState (state: SessionState): void {\r\n const logger = this.sessionLogger\r\n const currentState = this.sessionState.state\r\n const currentStateStr = this.stateStr(currentState)\r\n if (state === currentState) return\r\n switch (currentState) {\r\n case SessionState.ConfirmingLogout:\r\n case SessionState.Stopped:\r\n if (state !== SessionState.NetworkConnectionEstablished) {\r\n logger.info(`ignoring request to change state as now already in ${currentStateStr}`)\r\n } else {\r\n this.assignState(state)\r\n }\r\n break\r\n\r\n default: {\r\n this.assignState(state)\r\n }\r\n }\r\n }\r\n\r\n public getState (): SessionState {\r\n return this.sessionState.state\r\n }\r\n\r\n public lastSentSeqNum (): number {\r\n return this.sessionState.lastSentSeqNum()\r\n }\r\n\r\n public lastPeerSeqNum (): number {\r\n return this.sessionState.lastPeerMsgSeqNum\r\n }\r\n\r\n public sendLogon (): void {\r\n const lo = this.config.factory?.logon()\r\n if (lo) {\r\n this.send(this.requestLogonType, lo)\r\n }\r\n }\r\n\r\n private async waitPromise (): Promise<number> {\r\n const logger = this.sessionLogger\r\n return await new Promise<any>((resolve, reject) => {\r\n if (this.initiator) {\r\n logger.debug(`initiator sending logon state = ${this.stateString()}`)\r\n this.sendLogon()\r\n this.setState(SessionState.InitiationLogonSent)\r\n } else {\r\n logger.debug(`acceptor waits for logon state = ${this.stateString()}`)\r\n this.setState(SessionState.WaitingForALogon)\r\n }\r\n\r\n this.on('error', (e: Error) => {\r\n logger.error(e)\r\n reject(e)\r\n })\r\n\r\n this.on('done', () => {\r\n resolve(this.transport?.id)\r\n })\r\n })\r\n }\r\n\r\n public async run (transport: MsgTransport): Promise<number> {\r\n const logger = this.sessionLogger\r\n if (this.transport) {\r\n logger.info(`reset from previous transport. state ${this.stateString()}`)\r\n this.reset()\r\n }\r\n this.transport = transport\r\n this.subscribe()\r\n return await this.waitPromise()\r\n }\r\n\r\n protected expectedEndState (): boolean {\r\n switch (this.sessionState.state) {\r\n case SessionState.Stopped:\r\n case SessionState.ConfirmingLogout:\r\n return true\r\n\r\n default:\r\n return false\r\n }\r\n }\r\n\r\n protected rxOnEnd (): void {\r\n const logger = this.sessionLogger\r\n logger.info(`rx end received sessionState = [${this.sessionState.toString()}]`)\r\n const expectedState = this.expectedEndState()\r\n if (expectedState) {\r\n logger.info(`rx receives end state = ${this.stateString()} - stop session`)\r\n this.stop()\r\n } else {\r\n this.setState(SessionState.DetectBrokenNetworkConnection)\r\n const e = new Error(`unexpected state - transport failed? = ${this.stateString()}`)\r\n logger.info(`rx error ${e.message}`)\r\n this.terminate(e)\r\n }\r\n }\r\n\r\n protected rxOnMsg (msgType: string, view: MsgView): void {\r\n const logger = this.sessionLogger\r\n\r\n if (this.logReceivedMsgs) {\r\n const name = view.segment.type !== SegmentType.Unknown ? view?.segment?.set?.name : 'unknown'\r\n logger.info(`${msgType}: ${name}`)\r\n logger.info(`${view.toString()}`)\r\n }\r\n this.sessionState.lastReceivedAt = new Date()\r\n if (this.manageSession) {\r\n this.onMsg(msgType, view)\r\n } else {\r\n this.checkForwardMsg(msgType, view)\r\n }\r\n }\r\n\r\n protected rxOnDone (): void {\r\n const logger = this.sessionLogger\r\n logger.info('rx done received')\r\n this.done()\r\n }\r\n\r\n protected rxOnError (e: Error): void {\r\n const logger = this.sessionLogger\r\n logger.warning(`rx error event: ${e.message} ${JSON.stringify(e)}`)\r\n this.terminate(e)\r\n }\r\n\r\n protected rxOnDecoded (msgType: string, data: ElasticBuffer, ptr: number): void {\r\n const logger = this.sessionLogger\r\n logger.debug(`rx: [${msgType}] ${ptr} bytes`)\r\n this.onDecoded(msgType, data.toString(ptr))\r\n }\r\n\r\n protected txOnError (e: Error): void {\r\n const logger = this.sessionLogger\r\n logger.warning(`tx error event: ${e.message} ${JSON.stringify(e)}`)\r\n this.terminate(e)\r\n }\r\n\r\n protected txOnEncoded (msgType: string, data: string, hdr: ILooseObject): void {\r\n const logger = this.sessionLogger\r\n this.sessionState.lastHeader = hdr\r\n logger.debug(`tx: [${msgType}] ${data.length} bytes seqNo = ${this.lastSentSeqNum()}`)\r\n this.onEncoded(msgType, data)\r\n }\r\n\r\n protected unsubscribe (): void {\r\n const logger = this.sessionLogger\r\n logger.info(`unsubscribe sessionState = [${this.sessionState.toString()}]`)\r\n const transport = this.transport\r\n const rx = transport?.receiver\r\n const tx = transport?.transmitter\r\n\r\n rx?.removeListener('msg', this.rxOnMsg)\r\n rx?.removeListener('error', this.rxOnError)\r\n rx?.removeListener('done', this.rxOnDone)\r\n rx?.removeListener('end', this.rxOnEnd)\r\n rx?.removeListener('decoded', this.rxOnDecoded)\r\n tx?.removeListener('error', this.txOnError)\r\n tx?.removeListener('encoded', this.txOnEncoded)\r\n }\r\n\r\n protected subscribe (): void {\r\n const transport = this.transport\r\n\r\n const rx = transport?.receiver\r\n const tx = transport?.transmitter\r\n const inst = this\r\n rx?.on('msg', (msgType: string, view: MsgView) => { inst.rxOnMsg(msgType, view) })\r\n rx?.on('error', (e: Error) => { inst.rxOnError(e) })\r\n rx?.on('done', () => { inst.rxOnDone() })\r\n rx?.on('end', () => { inst.rxOnEnd() })\r\n rx?.on('decoded', (msgType: string, data: ElasticBuffer, ptr: number) => { inst.rxOnDecoded(msgType, data, ptr) })\r\n tx?.on('error', (e: Error) => { inst.txOnError(e) })\r\n tx?.on('encoded', (msgType: string, data: string, hdr: ILooseObject) => { inst.txOnEncoded(msgType, data, hdr) })\r\n }\r\n\r\n protected validStateApplicationMsg (): boolean {\r\n switch (this.sessionState.state) {\r\n case SessionState.Idle:\r\n case SessionState.InitiateConnection:\r\n case SessionState.InitiationLogonSent:\r\n case SessionState.WaitingForALogon:\r\n case SessionState.HandleResendRequest:\r\n case SessionState.AwaitingProcessingResponseToTestRequest:\r\n case SessionState.AwaitingProcessingResponseToResendRequest:\r\n return false\r\n default:\r\n return true\r\n }\r\n }\r\n\r\n protected stateString (): string {\r\n return SessionState[this.sessionState.state]\r\n }\r\n\r\n protected checkForwardMsg (msgType: string, view: MsgView): void {\r\n this.sessionLogger.info(`forwarding msgType = '${msgType}' to application`)\r\n this.setState(SessionState.ActiveNormalSession)\r\n this.onApplicationMsg(msgType, view)\r\n }\r\n\r\n private stopTimer (): void {\r\n if (this.timer) {\r\n this.sessionLogger.info('stopTimer')\r\n clearInterval(this.timer)\r\n this.timer = null\r\n }\r\n }\r\n\r\n protected terminate (error: Error): void {\r\n if (this.sessionState.state === SessionState.Stopped) return\r\n this.sessionLogger.error(error)\r\n this.stopTimer()\r\n if (this.transport) {\r\n this.transport.end()\r\n }\r\n this.transport = null\r\n this.setState(SessionState.Stopped)\r\n this.emit('error', error)\r\n }\r\n\r\n protected peerLogout (view: MsgView): void {\r\n const msg = view.getString(MsgTag.Text)\r\n const state = this.sessionState.state\r\n switch (state) {\r\n case SessionState.WaitingLogoutConfirm: {\r\n this.sessionLogger.info(`peer confirms logout Text = '${msg}'`)\r\n this.stop()\r\n break\r\n }\r\n\r\n case SessionState.InitiationLogonResponse:\r\n case SessionState.ActiveNormalSession:\r\n case SessionState.InitiationLogonReceived: {\r\n this.setState(SessionState.ConfirmingLogout)\r\n this.sessionLogger.info(`peer initiates logout Text = '${msg}'`)\r\n this.sessionLogout()\r\n }\r\n }\r\n }\r\n\r\n protected send (msgType: string, obj: ILooseObject): void {\r\n const state = this.sessionState.state\r\n switch (state) {\r\n case SessionState.Stopped: {\r\n this.sessionLogger.warning(`can't send in state ${this.stateString()}`)\r\n break\r\n }\r\n\r\n default: {\r\n this.sessionState.LastSentAt = new Date()\r\n this.transport?.transmitter.send(msgType, obj)\r\n break\r\n }\r\n }\r\n }\r\n\r\n protected sendLogout (msg: string): void {\r\n const factory = this.config.factory\r\n this.sessionLogger.info(`sending logout with ${msg}`)\r\n const lo = factory?.logout(this.requestLogoutType, msg)\r\n if (lo) {\r\n this.send(this.requestLogoutType, lo)\r\n }\r\n }\r\n\r\n protected sessionLogout (): void {\r\n const sessionState = this.sessionState\r\n if (sessionState.logoutSentAt) {\r\n return\r\n }\r\n\r\n switch (sessionState.state) {\r\n case SessionState.ActiveNormalSession:\r\n case SessionState.InitiationLogonResponse:\r\n case SessionState.InitiationLogonReceived: {\r\n // this instance initiates logout\r\n this.setState(SessionState.WaitingLogoutConfirm)\r\n sessionState.logoutSentAt = new Date()\r\n const msg = `${this.me} initiate logout`\r\n this.sessionLogger.info(msg)\r\n this.sendLogout(msg)\r\n break\r\n }\r\n\r\n case SessionState.ConfirmingLogout: {\r\n // this instance responds to log out\r\n this.setState(SessionState.ConfirmingLogout)\r\n sessionState.logoutSentAt = new Date()\r\n const msg = `${this.me} confirming logout`\r\n this.sessionLogger.info(msg)\r\n this.sendLogout(msg)\r\n break\r\n }\r\n\r\n default: {\r\n this.sessionLogger.info(`sessionLogout ignored as in state ${sessionState.state}`)\r\n }\r\n }\r\n }\r\n\r\n public done (): void {\r\n switch (this.sessionState.state) {\r\n case SessionState.InitiationLogonResponse:\r\n case SessionState.ActiveNormalSession:\r\n case SessionState.InitiationLogonReceived: {\r\n this.sessionLogout()\r\n break\r\n }\r\n\r\n case SessionState.Stopped:\r\n this.sessionLogger.info('done. session is now stopped')\r\n break\r\n\r\n default: {\r\n this.stop()\r\n break\r\n }\r\n }\r\n this.sessionLogger.info(`done. check logout sequence state ${this.stateString()}`)\r\n }\r\n\r\n public reset (resetSeqNum?: number | null): void {\r\n this.stopTimer()\r\n this.transport = null\r\n const resetFlag = this.config.description.ResetSeqNumFlag\r\n const seqNum = resetFlag ? 0 : resetSeqNum ?? this.sessionState.lastPeerMsgSeqNum\r\n this.sessionState.reset(seqNum) // from header def ... eventually\r\n this.setState(SessionState.NetworkConnectionEstablished)\r\n }\r\n\r\n protected stop (error: Error | null = null): void {\r\n if (this.sessionState.state === SessionState.Stopped) {\r\n return\r\n }\r\n this.stopTimer()\r\n this.unsubscribe()\r\n this.sessionLogger.info('stop: kill transport')\r\n this.transport?.end()\r\n if (error) {\r\n this.sessionLogger.info(`stop: emit error ${error.message}`)\r\n this.emit('error', error)\r\n } else {\r\n this.emit('done')\r\n }\r\n\r\n this.setState(SessionState.Stopped)\r\n this.onStopped(error ?? undefined)\r\n this.transport = null\r\n }\r\n\r\n /**\r\n * dispatches a message into the subclass that inherits from FixSession. The view contains\r\n * the parsed message which has utility methods such as toObject(). The Ascii session provides\r\n * an implementation to handle admin level messages such as logon, hearbeat and resest request.\r\n * Any application messges are dispatched via onApplicationMsg where the application can action\r\n * the message.\r\n * @param msgType the string based msg type the view represents\r\n * @param view container for all parsed fields representing the received message.\r\n * @protected\r\n */\r\n protected abstract onMsg (msgType: string, view: MsgView): void\r\n /**\r\n * the parsed txt recieved from the peer application. Given the applicaton is\r\n * responible for maintaining the fix log, this can be used to persist all received\r\n * messages.\r\n * @param msgType the string based msg type the view represents\r\n * @param txt the received message where for Ascii, the wire SOH delimeter is replaced\r\n * with that specified in the config e.g. '|'\r\n * @protected\r\n */\r\n protected abstract onDecoded (msgType: string, txt: string): void\r\n /**\r\n * the formatted txt sent to the peer application as an outbound message. Given the applicaton is\r\n * responible for maintaining the fix log, this can be used to persist all transmitted\r\n * messages. use msgType for example to persist only trade capture messages to database\r\n * @param msgType the msg type representing the message.\r\n * @param txt the sent message where for Ascii, the wire SOH delimeter is replaced\r\n * with that specified in the config e.g. '|'\r\n * @protected\r\n */\r\n protected abstract onEncoded (msgType: string, txt: string): void\r\n /**\r\n * typically all session level messages are handled by AsciiSession and these are\r\n * application level such as MarketDataRefresh. This will represent the applications main\r\n * work functiono where responses can be sent back to the peer. If manageSession has been set false\r\n * (not recommended) all messages are sent to this function\r\n * @param msgType the msg type representing the message.\r\n * @param view a wrapper containing the parsed message received.\r\n * @protected\r\n */\r\n protected abstract onApplicationMsg (msgType: string, view: MsgView): void\r\n /**\r\n * at this point the application is ready to send messages - peer login has been achieved\r\n * and the session can be considered ready to use. In the case of an initiator the application\r\n * may at this point send for security definitions or send market data subscriptions\r\n * @param view the login message causing session to be ready\r\n * @protected\r\n */\r\n protected abstract onReady (view: MsgView): void\r\n\r\n /**\r\n * Inform application this session has now ended - either from logout or connection dropped\r\n * @param error if session has been terminated via an error it is provided\r\n * @protected\r\n */\r\n protected abstract onStopped (error?: Error): void\r\n /**\r\n * Placeholder infomring the application of a peer login attempt.\r\n * @param view the login message\r\n * @param user extracted user from message\r\n * @param password extracted password from the message.\r\n * @protected\r\n */\r\n protected abstract onLogon (view: MsgView, user: string, password: string): boolean\r\n}\r\n"]}
@@ -0,0 +1,8 @@
1
+ export * from './a-session-msg-factory';
2
+ export * from './fix-session';
3
+ export * from './fix-session-state';
4
+ export * from './make-fix-session';
5
+ export * from './session-50-description';
6
+ export * from './session-description';
7
+ export * from './session-msg-factory';
8
+ export * from './session-state';
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./a-session-msg-factory"), exports);
18
+ __exportStar(require("./fix-session"), exports);
19
+ __exportStar(require("./fix-session-state"), exports);
20
+ __exportStar(require("./make-fix-session"), exports);
21
+ __exportStar(require("./session-50-description"), exports);
22
+ __exportStar(require("./session-description"), exports);
23
+ __exportStar(require("./session-msg-factory"), exports);
24
+ __exportStar(require("./session-state"), exports);
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transport/session/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAuC;AACvC,gDAA6B;AAC7B,sDAAmC;AACnC,qDAAkC;AAClC,2DAAwC;AACxC,wDAAqC;AACrC,wDAAqC;AACrC,kDAA+B","sourcesContent":["export * from './a-session-msg-factory'\r\nexport * from './fix-session'\r\nexport * from './fix-session-state'\r\nexport * from './make-fix-session'\r\nexport * from './session-50-description'\r\nexport * from './session-description'\r\nexport * from './session-msg-factory'\r\nexport * from './session-state'\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"recovering-tcp-initiator.js","sourceRoot":"","sources":["../../../src/transport/tcp/recovering-tcp-initiator.ts"],"names":[],"mappings":"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","sourcesContent":["import { IJsFixConfig, IJsFixLogger } from '../../config'\r\nimport { FixSession } from '../session/fix-session'\r\nimport { TcpInitiator } from './tcp-initiator'\r\nimport { MsgTransport } from '../factory'\r\nimport Timeout = NodeJS.Timeout\r\nimport { SessionState } from '../session/session-state'\r\nimport { inject, injectable } from 'tsyringe'\r\nimport { DITokens } from '../../runtime/di-tokens'\r\nimport { ITcpTransportDescription } from './tcp-transport-description'\r\nimport { IMsgApplication } from '../msg-application'\r\nimport { FixEntity } from '../fix-entity'\r\n\r\n/*\r\n create one application session instance - and recover a lost transport. Hence, the application\r\n will automatically re-connected and the \"message recovery\" policy enacted i.e. replay from\r\n last known sequence number or sequence reset.\r\n */\r\n\r\n@injectable()\r\nexport class RecoveringTcpInitiator extends FixEntity {\r\n public tcp: ITcpTransportDescription | null\r\n public session: FixSession\r\n private readonly logger: IJsFixLogger\r\n private readonly application: IMsgApplication | null\r\n private initiator: TcpInitiator\r\n private transport: MsgTransport\r\n private th: Timeout | null = null\r\n public recoveryAttemptSecs: number = 5\r\n public backoffFailConnectSecs: number = 30\r\n\r\n constructor (@inject(DITokens.IJsFixConfig) public readonly jsFixConfig: IJsFixConfig) {\r\n super(jsFixConfig)\r\n this.application = this.jsFixConfig.description.application ?? null\r\n const name = this.application?.name ?? 'na'\r\n this.logger = jsFixConfig.logFactory.logger(`${name}:RecoveringTcpInitiator`)\r\n if (!this.application) {\r\n throw new Error('no application in session description.')\r\n }\r\n this.tcp = this.application.tcp ?? null\r\n if (!this.tcp) {\r\n throw new Error('no tcp in session description need tcp { host: hostname, port: port }')\r\n }\r\n this.createSession(jsFixConfig)\r\n }\r\n\r\n private createSession (jsFixConfig: IJsFixConfig): void {\r\n this.logger.info(`creating an application session with DI token ${DITokens.FixSession}.`)\r\n this.session = jsFixConfig.sessionContainer.resolve<FixSession>(DITokens.FixSession)\r\n this.session.on('done', () => {\r\n this.logger.info('session has permanently ended')\r\n this.emit('end', this)\r\n })\r\n this.session.on('end', () => {\r\n this.logger.info('session has permanently ended')\r\n this.emit('end', this)\r\n })\r\n this.session.setState(SessionState.DisconnectedNoConnectionToday)\r\n }\r\n\r\n public getState (): SessionState {\r\n return this.session.getState()\r\n }\r\n\r\n public lastSentSeqNum (): number {\r\n return this.session.lastSentSeqNum()\r\n }\r\n\r\n private resetSeq (): boolean {\r\n return this.jsFixConfig.description.ResetSeqNumFlag\r\n }\r\n\r\n private newTransport (transport: MsgTransport): void {\r\n this.transport = transport\r\n this.emit('transport', transport)\r\n this.logger.info(`initiator connects id ${(transport.id)}`)\r\n const session = this.session\r\n if (this.resetSeq()) {\r\n this.logger.info('reset sequence numbers')\r\n session.reset()\r\n }\r\n session.setState(SessionState.NetworkConnectionEstablished)\r\n session.run(transport).then((id: number) => {\r\n if (!transport || id === transport.id) {\r\n this.emit('end', this)\r\n } else {\r\n this.logger.info(`old transport ${id} ends waiting on ${(transport.id)}`)\r\n }\r\n }).catch(e => {\r\n this.logger.info(`transport id ${(transport.id)} failed - session state ${session.getState()}`)\r\n this.logger.warning(e.message)\r\n this.recover()\r\n })\r\n this.logger.info(`running session with transport ${transport.id} state = ${session.getState()}`)\r\n }\r\n\r\n private clearTimer (): void {\r\n if (this.th) {\r\n clearTimeout(this.th)\r\n this.th = null\r\n }\r\n }\r\n\r\n // at least one connection was established so retry to establish - either\r\n // succeed in which case can restart session or fails in which case wait and\r\n // restart an attempt to connect\r\n\r\n private recover (): void {\r\n this.session.setState(SessionState.DetectBrokenNetworkConnection)\r\n this.logger.info(`recover session transport - attempt in ${this.recoveryAttemptSecs} secs`)\r\n if (!this.resetSeq()) {\r\n const lastSentSeqNum = this.lastSentSeqNum()\r\n if (lastSentSeqNum > 0) {\r\n this.logger.info(`recover session set LastSentSeqNum ${lastSentSeqNum} for new transport`)\r\n this.config.description.LastSentSeqNum = lastSentSeqNum\r\n }\r\n }\r\n this.th = setTimeout(() => {\r\n this.connect(60).then(t => {\r\n this.logger.info(`new transport ${t.id}`)\r\n }).catch((e) => {\r\n this.logger.info(`failed to re-connect ${e.message} - backoff for ${this.backoffFailConnectSecs}`)\r\n this.th = setTimeout(() => {\r\n this.logger.info('returning to recover()')\r\n setImmediate(() => {\r\n this.recover()\r\n })\r\n }, this.backoffFailConnectSecs * 1000)\r\n })\r\n }, this.recoveryAttemptSecs * 1000)\r\n }\r\n\r\n public async start (): Promise<any> {\r\n return await this.run()\r\n }\r\n\r\n // for first connection - reject if no initial connection established within timeout\r\n // once connection established, will not resolve until session is ended - i.e. lost\r\n // connections are re-established using the same session instance.\r\n\r\n public async run (initialTimeout: number = 60): Promise<any> {\r\n return await new Promise<any>((resolve, reject) => {\r\n this.connect(initialTimeout).then(() => {\r\n this.on('end', () => {\r\n this.clearTimer()\r\n this.initiator.end()\r\n this.logger.info(`run: transport ${this.transport.id} gracefully ends ${initialTimeout} - resolving`)\r\n resolve(null)\r\n })\r\n }).catch(e => {\r\n this.logger.info(`run: failed to connect to first transport ${initialTimeout} - rejecting`)\r\n reject(e)\r\n })\r\n })\r\n }\r\n\r\n // return a promise for new transport - or reject if no connection within timeout\r\n\r\n private async connect (timeout: number): Promise<MsgTransport> {\r\n return await new Promise<MsgTransport>((resolve, reject) => {\r\n this.logger.info(`connect: start initiator timeout ${timeout}`)\r\n this.session.setState(SessionState.InitiateConnection)\r\n this.initiator = new TcpInitiator(this.jsFixConfig)\r\n this.initiator.connect(timeout).then((transport: MsgTransport) => {\r\n this.logger.info(`connect: receive new transport ${transport.id}`)\r\n this.newTransport(transport)\r\n resolve(transport)\r\n }).catch(e => {\r\n this.logger.info(`connect: failed to connect within ${timeout} - rejecting`)\r\n this.session.setState(SessionState.DetectBrokenNetworkConnection)\r\n reject(e)\r\n })\r\n })\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"recovering-tcp-initiator.js","sourceRoot":"","sources":["../../../src/transport/tcp/recovering-tcp-initiator.ts"],"names":[],"mappings":"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","sourcesContent":["import { IJsFixConfig, IJsFixLogger } from '../../config'\r\nimport { FixSession } from '../session/fix-session'\r\nimport { TcpInitiator } from './tcp-initiator'\r\nimport { MsgTransport } from '../factory'\r\nimport Timeout = NodeJS.Timeout\r\nimport { SessionState } from '../session/session-state'\r\nimport { inject, injectable } from 'tsyringe'\r\nimport { DITokens } from '../../runtime/di-tokens'\r\nimport { ITcpTransportDescription } from './tcp-transport-description'\r\nimport { IMsgApplication } from '../msg-application'\r\nimport { FixEntity } from '../fix-entity'\r\n\r\n/*\r\n create one application session instance - and recover a lost transport. Hence, the application\r\n will automatically re-connected and the \"message recovery\" policy enacted i.e. replay from\r\n last known sequence number or sequence reset.\r\n */\r\n\r\n@injectable()\r\nexport class RecoveringTcpInitiator extends FixEntity {\r\n public tcp: ITcpTransportDescription | null\r\n public session: FixSession\r\n private readonly logger: IJsFixLogger\r\n private readonly application: IMsgApplication | null\r\n private initiator: TcpInitiator\r\n private transport: MsgTransport\r\n private th: Timeout | null = null\r\n public recoveryAttemptSecs: number = 5\r\n public backoffFailConnectSecs: number = 30\r\n\r\n constructor (@inject(DITokens.IJsFixConfig) public readonly jsFixConfig: IJsFixConfig) {\r\n super(jsFixConfig)\r\n this.application = this.jsFixConfig.description.application ?? null\r\n const name = this.application?.name ?? 'na'\r\n this.logger = jsFixConfig.logFactory.logger(`${name}:RecoveringTcpInitiator`)\r\n if (!this.application) {\r\n throw new Error('no application in session description.')\r\n }\r\n this.tcp = this.application.tcp ?? null\r\n if (!this.tcp) {\r\n throw new Error('no tcp in session description need tcp { host: hostname, port: port }')\r\n }\r\n this.createSession(jsFixConfig)\r\n }\r\n\r\n private createSession (jsFixConfig: IJsFixConfig): void {\r\n this.logger.info(`creating an application session with DI token ${DITokens.FixSession}.`)\r\n this.session = jsFixConfig.sessionContainer.resolve<FixSession>(DITokens.FixSession)\r\n this.session.on('done', () => {\r\n this.logger.info('session has permanently ended')\r\n this.emit('end', this)\r\n })\r\n this.session.on('end', () => {\r\n this.logger.info('session has permanently ended')\r\n this.emit('end', this)\r\n })\r\n this.session.setState(SessionState.DisconnectedNoConnectionToday)\r\n }\r\n\r\n public getState (): SessionState {\r\n return this.session.getState()\r\n }\r\n\r\n public lastSentSeqNum (): number {\r\n return this.session.lastSentSeqNum()\r\n }\r\n\r\n private resetSeq (): boolean {\r\n return this.jsFixConfig.description.ResetSeqNumFlag\r\n }\r\n\r\n private newTransport (transport: MsgTransport): void {\r\n this.transport = transport\r\n this.emit('transport', transport)\r\n this.logger.info(`initiator connects id ${(transport.id)}`)\r\n const session = this.session\r\n if (this.resetSeq()) {\r\n this.logger.info('reset sequence numbers')\r\n session.reset()\r\n }\r\n session.setState(SessionState.NetworkConnectionEstablished)\r\n session.run(transport).then((id: number) => {\r\n if (!transport || id === transport.id) {\r\n this.emit('end', this)\r\n } else {\r\n this.logger.info(`old transport ${id} ends waiting on ${(transport.id)}`)\r\n }\r\n }).catch(e => {\r\n this.logger.info(`transport id ${(transport.id)} failed - session state ${session.getState()}`)\r\n this.logger.warning(e.message)\r\n this.recover()\r\n })\r\n this.logger.info(`running session with transport ${transport.id} state = ${session.getState()}`)\r\n }\r\n\r\n private clearTimer (): void {\r\n if (this.th) {\r\n clearTimeout(this.th)\r\n this.th = null\r\n }\r\n }\r\n\r\n // at least one connection was established so retry to establish - either\r\n // succeed in which case can restart session or fails in which case wait and\r\n // restart an attempt to connect\r\n\r\n private recover (): void {\r\n this.session.setState(SessionState.DetectBrokenNetworkConnection)\r\n this.logger.info(`recover session transport - attempt in ${this.recoveryAttemptSecs} secs`)\r\n if (!this.resetSeq()) {\r\n const lastSentSeqNum = this.lastSentSeqNum()\r\n if (lastSentSeqNum > 0) {\r\n this.logger.info(`recover session set LastSentSeqNum ${lastSentSeqNum} for new transport`)\r\n this.config.description.LastSentSeqNum = lastSentSeqNum\r\n }\r\n }\r\n this.th = setTimeout(() => {\r\n this.connect(60).then(t => {\r\n this.logger.info(`new transport ${t.id}`)\r\n }).catch((e) => {\r\n this.logger.info(`failed to re-connect ${e.message} - backoff for ${this.backoffFailConnectSecs}`)\r\n this.th = setTimeout(() => {\r\n this.logger.info('returning to recover()')\r\n setImmediate(() => {\r\n this.recover()\r\n })\r\n }, this.backoffFailConnectSecs * 1000)\r\n })\r\n }, this.recoveryAttemptSecs * 1000)\r\n }\r\n\r\n public async start (): Promise<any> {\r\n return await this.run()\r\n }\r\n\r\n // for first connection - reject if no initial connection established within timeout\r\n // once connection established, will not resolve until session is ended - i.e. lost\r\n // connections are re-established using the same session instance.\r\n\r\n public async run (initialTimeout: number = 60): Promise<any> {\r\n return await new Promise<any>((resolve, reject) => {\r\n this.connect(initialTimeout).then(() => {\r\n this.on('end', () => {\r\n this.clearTimer()\r\n this.initiator.end()\r\n this.logger.info(`run: transport ${this.transport.id} gracefully ends ${initialTimeout} - resolving`)\r\n resolve(null)\r\n })\r\n }).catch(e => {\r\n this.logger.info(`run: failed to connect to first transport ${initialTimeout} - rejecting`)\r\n reject(e)\r\n })\r\n })\r\n }\r\n\r\n // return a promise for new transport - or reject if no connection within timeout\r\n\r\n private async connect (timeout: number): Promise<MsgTransport> {\r\n return await new Promise<MsgTransport>((resolve, reject) => {\r\n this.logger.info(`connect: start initiator timeout ${timeout}`)\r\n this.session.setState(SessionState.InitiateConnection)\r\n this.initiator = new TcpInitiator(this.jsFixConfig)\r\n this.initiator.connect(timeout).then((transport: MsgTransport) => {\r\n this.logger.info(`connect: receive new transport ${transport.id}`)\r\n this.newTransport(transport)\r\n resolve(transport)\r\n }).catch(e => {\r\n this.logger.info(`connect: failed to connect within ${timeout} - rejecting`)\r\n this.session.setState(SessionState.DetectBrokenNetworkConnection)\r\n reject(e)\r\n })\r\n })\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tcp-acceptor-listener.js","sourceRoot":"","sources":["../../../src/transport/tcp/tcp-acceptor-listener.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEA,iDAA4C;AAE5C,uCAA6C;AAE7C,uDAAkD;AAClD,8CAAyC;AAGlC,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,sBAAS;IAChD,YAA4D,MAAoB;QAC9E,KAAK,CAAC,MAAM,CAAC,CAAA;QAD6C,WAAM,GAAN,MAAM,CAAc;IAEhF,CAAC;IAEK,KAAK;;YACT,OAAO,MAAM,IAAI,OAAO,CAAM,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;gBACtD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;gBACxD,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAA;gBACrD,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,oBAAQ,CAAC,UAAU,CAAC,EAAE;oBACvD,MAAM,CAAC,IAAI,KAAK,CAAC,yCAAyC,oBAAQ,CAAC,UAAU,oBAAoB,CAAC,CAAC,CAAA;iBACpG;gBACD,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;gBACxB,MAAM,QAAQ,GAAgB,gBAAgB,CAAC,OAAO,CAAc,0BAAW,CAAC,CAAA;gBAChF,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAe,EAAE,EAAE;oBAC3C,MAAM,CAAC,IAAI,CAAC,wCAAwC,oBAAQ,CAAC,UAAU,GAAG,CAAC,CAAA;oBAC3E,MAAM,eAAe,GAAG,gBAAgB,CAAC,OAAO,CAAa,oBAAQ,CAAC,UAAU,CAAC,CAAA;oBACjF,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC,CAAA;oBACxC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;wBAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;wBACnB,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE;4BAClB,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;4BAC/B,OAAO,CAAC,IAAI,CAAC,CAAA;wBACf,CAAC,CAAC,CAAA;oBACJ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;wBACpB,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;wBAC7D,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE;4BAClB,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;4BAC/B,MAAM,CAAC,CAAC,CAAC,CAAA;wBACX,CAAC,CAAC,CAAA;oBACJ,CAAC,CAAC,CAAA;gBACJ,CAAC,CAAC,CAAA;gBACF,QAAQ,CAAC,MAAM,EAAE,CAAA;YACnB,CAAC,CAAA,CAAC,CAAA;QACJ,CAAC;KAAA;CACF,CAAA;AAnCY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,qBAAU,GAAE;IAEG,WAAA,IAAA,iBAAM,EAAC,oBAAQ,CAAC,YAAY,CAAC,CAAA;;GADhC,mBAAmB,CAmC/B","sourcesContent":["import { IJsFixConfig } from '../../config'\r\nimport { FixAcceptor } from '../fix-acceptor'\r\nimport { TcpAcceptor } from './tcp-acceptor'\r\nimport { MsgTransport } from '../factory'\r\nimport { inject, injectable } from 'tsyringe'\r\nimport { FixSession } from '../session/fix-session'\r\nimport { DITokens } from '../../runtime/di-tokens'\r\nimport { FixEntity } from '../fix-entity'\r\n\r\n@injectable()\r\nexport class TcpAcceptorListener extends FixEntity {\r\n constructor (@inject(DITokens.IJsFixConfig) public readonly config: IJsFixConfig) {\r\n super(config)\r\n }\r\n\r\n async start (): Promise<any> {\r\n return await new Promise<any>(async (resolve, reject) => {\r\n const logger = this.config.logFactory.logger('acceptor')\r\n const sessionContainer = this.config.sessionContainer\r\n if (!sessionContainer.isRegistered(DITokens.FixSession)) {\r\n reject(new Error(`application must register a DI token '${DITokens.FixSession}' - see src/sample`))\r\n }\r\n logger.info('starting.')\r\n const acceptor: FixAcceptor = sessionContainer.resolve<FixAcceptor>(TcpAcceptor)\r\n acceptor.on('transport', (t: MsgTransport) => {\r\n logger.info(`creates new transport using DI token ${DITokens.FixSession}.`)\r\n const acceptorSession = sessionContainer.resolve<FixSession>(DITokens.FixSession)\r\n this.emit('session', acceptorSession, t)\r\n acceptorSession.run(t).then(() => {\r\n logger.info('ends')\r\n acceptor.close(() => {\r\n logger.info('acceptor closed.')\r\n resolve(true)\r\n })\r\n }).catch((e: Error) => {\r\n logger.info(`error in session - close listener ${e.message}`)\r\n acceptor.close(() => {\r\n logger.info('acceptor closed.')\r\n reject(e)\r\n })\r\n })\r\n })\r\n acceptor.listen()\r\n })\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"tcp-acceptor-listener.js","sourceRoot":"","sources":["../../../src/transport/tcp/tcp-acceptor-listener.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEA,iDAA4C;AAE5C,uCAA6C;AAE7C,uDAAkD;AAClD,8CAAyC;AAGlC,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,sBAAS;IAChD,YAA4D,MAAoB;QAC9E,KAAK,CAAC,MAAM,CAAC,CAAA;QAD6C,WAAM,GAAN,MAAM,CAAc;IAEhF,CAAC;IAEK,KAAK;;YACT,OAAO,MAAM,IAAI,OAAO,CAAM,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;gBACtD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;gBACxD,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAA;gBACrD,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,oBAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;oBACxD,MAAM,CAAC,IAAI,KAAK,CAAC,yCAAyC,oBAAQ,CAAC,UAAU,oBAAoB,CAAC,CAAC,CAAA;gBACrG,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;gBACxB,MAAM,QAAQ,GAAgB,gBAAgB,CAAC,OAAO,CAAc,0BAAW,CAAC,CAAA;gBAChF,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAe,EAAE,EAAE;oBAC3C,MAAM,CAAC,IAAI,CAAC,wCAAwC,oBAAQ,CAAC,UAAU,GAAG,CAAC,CAAA;oBAC3E,MAAM,eAAe,GAAG,gBAAgB,CAAC,OAAO,CAAa,oBAAQ,CAAC,UAAU,CAAC,CAAA;oBACjF,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC,CAAA;oBACxC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;wBAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;wBACnB,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE;4BAClB,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;4BAC/B,OAAO,CAAC,IAAI,CAAC,CAAA;wBACf,CAAC,CAAC,CAAA;oBACJ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;wBACpB,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;wBAC7D,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE;4BAClB,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;4BAC/B,MAAM,CAAC,CAAC,CAAC,CAAA;wBACX,CAAC,CAAC,CAAA;oBACJ,CAAC,CAAC,CAAA;gBACJ,CAAC,CAAC,CAAA;gBACF,QAAQ,CAAC,MAAM,EAAE,CAAA;YACnB,CAAC,CAAA,CAAC,CAAA;QACJ,CAAC;KAAA;CACF,CAAA;AAnCY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,qBAAU,GAAE;IAEG,WAAA,IAAA,iBAAM,EAAC,oBAAQ,CAAC,YAAY,CAAC,CAAA;;GADhC,mBAAmB,CAmC/B","sourcesContent":["import { IJsFixConfig } from '../../config'\r\nimport { FixAcceptor } from '../fix-acceptor'\r\nimport { TcpAcceptor } from './tcp-acceptor'\r\nimport { MsgTransport } from '../factory'\r\nimport { inject, injectable } from 'tsyringe'\r\nimport { FixSession } from '../session/fix-session'\r\nimport { DITokens } from '../../runtime/di-tokens'\r\nimport { FixEntity } from '../fix-entity'\r\n\r\n@injectable()\r\nexport class TcpAcceptorListener extends FixEntity {\r\n constructor (@inject(DITokens.IJsFixConfig) public readonly config: IJsFixConfig) {\r\n super(config)\r\n }\r\n\r\n async start (): Promise<any> {\r\n return await new Promise<any>(async (resolve, reject) => {\r\n const logger = this.config.logFactory.logger('acceptor')\r\n const sessionContainer = this.config.sessionContainer\r\n if (!sessionContainer.isRegistered(DITokens.FixSession)) {\r\n reject(new Error(`application must register a DI token '${DITokens.FixSession}' - see src/sample`))\r\n }\r\n logger.info('starting.')\r\n const acceptor: FixAcceptor = sessionContainer.resolve<FixAcceptor>(TcpAcceptor)\r\n acceptor.on('transport', (t: MsgTransport) => {\r\n logger.info(`creates new transport using DI token ${DITokens.FixSession}.`)\r\n const acceptorSession = sessionContainer.resolve<FixSession>(DITokens.FixSession)\r\n this.emit('session', acceptorSession, t)\r\n acceptorSession.run(t).then(() => {\r\n logger.info('ends')\r\n acceptor.close(() => {\r\n logger.info('acceptor closed.')\r\n resolve(true)\r\n })\r\n }).catch((e: Error) => {\r\n logger.info(`error in session - close listener ${e.message}`)\r\n acceptor.close(() => {\r\n logger.info('acceptor closed.')\r\n reject(e)\r\n })\r\n })\r\n })\r\n acceptor.listen()\r\n })\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tcp-acceptor.js","sourceRoot":"","sources":["../../../src/transport/tcp/tcp-acceptor.ts"],"names":[],"mappings":"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","sourcesContent":["import { TcpDuplex } from '../duplex'\r\nimport { MsgTransport } from '../factory'\r\nimport { FixAcceptor } from '../fix-acceptor'\r\nimport { IJsFixConfig, IJsFixLogger } from '../../config'\r\nimport { createServer as netCreateServer, Server, Socket } from 'net'\r\nimport { createServer as tlsCreateServer, TlsOptions, TLSSocket } from 'tls'\r\nimport { TlsOptionsFactory } from './tls-options-factory'\r\nimport { inject, injectable } from 'tsyringe'\r\nimport { DITokens } from '../../runtime/di-tokens'\r\n\r\n@injectable()\r\nexport class TcpAcceptor extends FixAcceptor {\r\n private server: Server\r\n private readonly logger: IJsFixLogger\r\n private nextId: number = 0\r\n\r\n constructor (@inject(DITokens.IJsFixConfig) public readonly config: IJsFixConfig) {\r\n super(config.description.application ?? null)\r\n this.logger = config.logFactory.logger(`${config.description.application?.name}:TcpAcceptor`)\r\n const tlsOptions: TlsOptions | null = this.tlsOptions()\r\n if (tlsOptions) {\r\n this.tlsServer()\r\n } else {\r\n this.unsecureServer()\r\n }\r\n this.server.on('error', (err: Error) => {\r\n throw err\r\n })\r\n }\r\n\r\n getId (): number {\r\n this.nextId++\r\n return this.nextId\r\n }\r\n\r\n tlsServer (): void {\r\n try {\r\n const config: IJsFixConfig = this.config\r\n const tcp = this.config.description.application?.tcp\r\n const tlsOptions: TlsOptions | null = tcp?.tls ? TlsOptionsFactory.getTlsOptions(tcp.tls) : null\r\n this.logger.info('create tls server')\r\n if (!tlsOptions) return\r\n this.server = tlsCreateServer(tlsOptions, (tlsSocket: TLSSocket) => {\r\n if (tcp?.tls?.enableTrace) {\r\n this.logger.info('enabling tls session trace')\r\n tlsSocket.enableTrace()\r\n }\r\n if (tlsSocket.authorized) {\r\n tlsSocket.setEncoding('utf8')\r\n const id: number = this.getId()\r\n this.logger.info(`tls creates session ${id} ${tlsSocket.authorized}`)\r\n this.onSocket(id, tlsSocket, config)\r\n } else {\r\n this.logger.info('no transport created on tls with no authorized connection')\r\n }\r\n })\r\n } catch (e) {\r\n this.logger.error(e)\r\n throw e\r\n }\r\n }\r\n\r\n unsecureServer (): void {\r\n try {\r\n const config = this.config\r\n this.logger.info('create unsecured server')\r\n this.server = netCreateServer((socket: Socket) => {\r\n const id: number = this.getId()\r\n this.logger.info(`net creates session ${id}`)\r\n socket.setNoDelay(true)\r\n this.onSocket(id, socket, config)\r\n })\r\n } catch (e) {\r\n this.logger.error(e)\r\n throw e\r\n }\r\n }\r\n\r\n tlsOptions (): TlsOptions | null {\r\n const tcp = this.config.description.application?.tcp\r\n return tcp?.tls ? TlsOptionsFactory.getTlsOptions(tcp?.tls) : null\r\n }\r\n\r\n private onSocket (id: number, socket: Socket, config: IJsFixConfig): void {\r\n const transport: MsgTransport = new MsgTransport(id, config, new TcpDuplex(socket))\r\n this.saveTransport(id, transport)\r\n transport.receiver.on('end', () => {\r\n this.harvestTransport(id)\r\n })\r\n transport.receiver.on('error', (e: Error) => {\r\n this.logger.error(e)\r\n this.harvestTransport(id)\r\n })\r\n }\r\n\r\n public listen (): void {\r\n const port = this.config.description.application?.tcp?.port\r\n this.logger.info(`start to listen ${port}`)\r\n this.server.on('connection', () => {\r\n this.logger.info('insecure connection established')\r\n })\r\n this.server.on('secureConnection', (s) => {\r\n this.logger.info(`secure connection; client authorized: ${s.authorized}`)\r\n })\r\n this.server.listen(port)\r\n }\r\n\r\n public close (callback?: (err?: Error) => void): void {\r\n const port = this.config.description.application?.tcp?.port ?? -1\r\n this.logger.info(`close listener on port ${port}`)\r\n this.server.close(callback)\r\n }\r\n\r\n private saveTransport (tid: number, transport: MsgTransport): void {\r\n this.transports[tid] = transport\r\n const keys: string[] = Object.keys(this.transports)\r\n this.logger.info(`new transport id = ${tid} created total transports = ${keys.length}`)\r\n this.emit('transport', transport)\r\n }\r\n\r\n private harvestTransport (tid: number): void {\r\n delete this.transports[tid]\r\n const keys: string[] = Object.keys(this.transports)\r\n this.logger.info(`transport ${tid} ends total transports = ${keys.length}`)\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"tcp-acceptor.js","sourceRoot":"","sources":["../../../src/transport/tcp/tcp-acceptor.ts"],"names":[],"mappings":"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","sourcesContent":["import { TcpDuplex } from '../duplex'\r\nimport { MsgTransport } from '../factory'\r\nimport { FixAcceptor } from '../fix-acceptor'\r\nimport { IJsFixConfig, IJsFixLogger } from '../../config'\r\nimport { createServer as netCreateServer, Server, Socket } from 'net'\r\nimport { createServer as tlsCreateServer, TlsOptions, TLSSocket } from 'tls'\r\nimport { TlsOptionsFactory } from './tls-options-factory'\r\nimport { inject, injectable } from 'tsyringe'\r\nimport { DITokens } from '../../runtime/di-tokens'\r\n\r\n@injectable()\r\nexport class TcpAcceptor extends FixAcceptor {\r\n private server: Server\r\n private readonly logger: IJsFixLogger\r\n private nextId: number = 0\r\n\r\n constructor (@inject(DITokens.IJsFixConfig) public readonly config: IJsFixConfig) {\r\n super(config.description.application ?? null)\r\n this.logger = config.logFactory.logger(`${config.description.application?.name}:TcpAcceptor`)\r\n const tlsOptions: TlsOptions | null = this.tlsOptions()\r\n if (tlsOptions) {\r\n this.tlsServer()\r\n } else {\r\n this.unsecureServer()\r\n }\r\n this.server.on('error', (err: Error) => {\r\n throw err\r\n })\r\n }\r\n\r\n getId (): number {\r\n this.nextId++\r\n return this.nextId\r\n }\r\n\r\n tlsServer (): void {\r\n try {\r\n const config: IJsFixConfig = this.config\r\n const tcp = this.config.description.application?.tcp\r\n const tlsOptions: TlsOptions | null = tcp?.tls ? TlsOptionsFactory.getTlsOptions(tcp.tls) : null\r\n this.logger.info('create tls server')\r\n if (!tlsOptions) return\r\n this.server = tlsCreateServer(tlsOptions, (tlsSocket: TLSSocket) => {\r\n if (tcp?.tls?.enableTrace) {\r\n this.logger.info('enabling tls session trace')\r\n tlsSocket.enableTrace()\r\n }\r\n if (tlsSocket.authorized) {\r\n tlsSocket.setEncoding('utf8')\r\n const id: number = this.getId()\r\n this.logger.info(`tls creates session ${id} ${tlsSocket.authorized}`)\r\n this.onSocket(id, tlsSocket, config)\r\n } else {\r\n this.logger.info('no transport created on tls with no authorized connection')\r\n }\r\n })\r\n } catch (e) {\r\n this.logger.error(e)\r\n throw e\r\n }\r\n }\r\n\r\n unsecureServer (): void {\r\n try {\r\n const config = this.config\r\n this.logger.info('create unsecured server')\r\n this.server = netCreateServer((socket: Socket) => {\r\n const id: number = this.getId()\r\n this.logger.info(`net creates session ${id}`)\r\n socket.setNoDelay(true)\r\n this.onSocket(id, socket, config)\r\n })\r\n } catch (e) {\r\n this.logger.error(e)\r\n throw e\r\n }\r\n }\r\n\r\n tlsOptions (): TlsOptions | null {\r\n const tcp = this.config.description.application?.tcp\r\n return tcp?.tls ? TlsOptionsFactory.getTlsOptions(tcp?.tls) : null\r\n }\r\n\r\n private onSocket (id: number, socket: Socket, config: IJsFixConfig): void {\r\n const transport: MsgTransport = new MsgTransport(id, config, new TcpDuplex(socket))\r\n this.saveTransport(id, transport)\r\n transport.receiver.on('end', () => {\r\n this.harvestTransport(id)\r\n })\r\n transport.receiver.on('error', (e: Error) => {\r\n this.logger.error(e)\r\n this.harvestTransport(id)\r\n })\r\n }\r\n\r\n public listen (): void {\r\n const port = this.config.description.application?.tcp?.port\r\n this.logger.info(`start to listen ${port}`)\r\n this.server.on('connection', () => {\r\n this.logger.info('insecure connection established')\r\n })\r\n this.server.on('secureConnection', (s) => {\r\n this.logger.info(`secure connection; client authorized: ${s.authorized}`)\r\n })\r\n this.server.listen(port)\r\n }\r\n\r\n public close (callback?: (err?: Error) => void): void {\r\n const port = this.config.description.application?.tcp?.port ?? -1\r\n this.logger.info(`close listener on port ${port}`)\r\n this.server.close(callback)\r\n }\r\n\r\n private saveTransport (tid: number, transport: MsgTransport): void {\r\n this.transports[tid] = transport\r\n const keys: string[] = Object.keys(this.transports)\r\n this.logger.info(`new transport id = ${tid} created total transports = ${keys.length}`)\r\n this.emit('transport', transport)\r\n }\r\n\r\n private harvestTransport (tid: number): void {\r\n delete this.transports[tid]\r\n const keys: string[] = Object.keys(this.transports)\r\n this.logger.info(`transport ${tid} ends total transports = ${keys.length}`)\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tcp-initiator-connector.js","sourceRoot":"","sources":["../../../src/transport/tcp/tcp-initiator-connector.ts"],"names":[],"mappings":"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","sourcesContent":["import { IJsFixConfig } from '../../config'\r\nimport { FixInitiator } from '../fix-initiator'\r\nimport { TcpInitiator } from './tcp-initiator'\r\nimport { MsgTransport } from '../factory'\r\nimport { FixSession } from '../session/fix-session'\r\nimport { inject, injectable } from 'tsyringe'\r\nimport { DITokens } from '../../runtime/di-tokens'\r\nimport { FixEntity } from '../fix-entity'\r\n\r\n@injectable()\r\nexport class TcpInitiatorConnector extends FixEntity {\r\n constructor (@inject(DITokens.IJsFixConfig) public readonly config: IJsFixConfig) {\r\n super(config)\r\n }\r\n\r\n async start (reconnectTimeout: number = 0): Promise<any> {\r\n // eslint-disable-next-line no-async-promise-executor\r\n return await new Promise<any>(async (resolve, reject) => {\r\n const logger = this.config.logFactory.logger('initiator')\r\n const sessionContainer = this.config.sessionContainer\r\n if (!sessionContainer.isRegistered(DITokens.FixSession)) {\r\n reject(new Error(`application must register a DI token '${DITokens.FixSession}' - see src/sample`))\r\n }\r\n logger.info(`create session with DI Token ${DITokens.FixSession}`)\r\n const initiatorSession = sessionContainer.resolve<FixSession>(DITokens.FixSession)\r\n let connecting: boolean = true\r\n while (connecting) {\r\n try {\r\n await this.connect(initiatorSession)\r\n logger.info('session has ended')\r\n connecting = false\r\n resolve(true)\r\n } catch (e) {\r\n if (!reconnectTimeout) {\r\n connecting = false\r\n reject(e)\r\n } else {\r\n logger.info(`waiting ${reconnectTimeout} to reconnect following error`)\r\n await this.delay(reconnectTimeout)\r\n }\r\n }\r\n }\r\n })\r\n }\r\n\r\n async delay (p: number): Promise<any> {\r\n return await new Promise<any>((resolve, reject) => {\r\n try {\r\n if (!p) {\r\n resolve(true)\r\n }\r\n setTimeout(() => {\r\n resolve(true)\r\n }, p)\r\n } catch (e) {\r\n reject(e)\r\n }\r\n })\r\n }\r\n\r\n async connect (initiatorSession: FixSession): Promise<any> {\r\n const logger = this.config.logFactory.logger('initiator')\r\n const initiator: FixInitiator = this.config.sessionContainer.resolve<FixInitiator>(TcpInitiator)\r\n logger.info('connecting ...')\r\n const initiatorTransport: MsgTransport = await initiator.connect(22)\r\n logger.info('... connected, run session')\r\n await initiatorSession.run(initiatorTransport)\r\n logger.info('ends')\r\n return true\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"tcp-initiator-connector.js","sourceRoot":"","sources":["../../../src/transport/tcp/tcp-initiator-connector.ts"],"names":[],"mappings":"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","sourcesContent":["import { IJsFixConfig } from '../../config'\r\nimport { FixInitiator } from '../fix-initiator'\r\nimport { TcpInitiator } from './tcp-initiator'\r\nimport { MsgTransport } from '../factory'\r\nimport { FixSession } from '../session/fix-session'\r\nimport { inject, injectable } from 'tsyringe'\r\nimport { DITokens } from '../../runtime/di-tokens'\r\nimport { FixEntity } from '../fix-entity'\r\n\r\n@injectable()\r\nexport class TcpInitiatorConnector extends FixEntity {\r\n constructor (@inject(DITokens.IJsFixConfig) public readonly config: IJsFixConfig) {\r\n super(config)\r\n }\r\n\r\n async start (reconnectTimeout: number = 0): Promise<any> {\r\n // eslint-disable-next-line no-async-promise-executor\r\n return await new Promise<any>(async (resolve, reject) => {\r\n const logger = this.config.logFactory.logger('initiator')\r\n const sessionContainer = this.config.sessionContainer\r\n if (!sessionContainer.isRegistered(DITokens.FixSession)) {\r\n reject(new Error(`application must register a DI token '${DITokens.FixSession}' - see src/sample`))\r\n }\r\n logger.info(`create session with DI Token ${DITokens.FixSession}`)\r\n const initiatorSession = sessionContainer.resolve<FixSession>(DITokens.FixSession)\r\n let connecting: boolean = true\r\n while (connecting) {\r\n try {\r\n await this.connect(initiatorSession)\r\n logger.info('session has ended')\r\n connecting = false\r\n resolve(true)\r\n } catch (e) {\r\n if (!reconnectTimeout) {\r\n connecting = false\r\n reject(e)\r\n } else {\r\n logger.info(`waiting ${reconnectTimeout} to reconnect following error`)\r\n await this.delay(reconnectTimeout)\r\n }\r\n }\r\n }\r\n })\r\n }\r\n\r\n async delay (p: number): Promise<any> {\r\n return await new Promise<any>((resolve, reject) => {\r\n try {\r\n if (!p) {\r\n resolve(true)\r\n }\r\n setTimeout(() => {\r\n resolve(true)\r\n }, p)\r\n } catch (e) {\r\n reject(e)\r\n }\r\n })\r\n }\r\n\r\n async connect (initiatorSession: FixSession): Promise<any> {\r\n const logger = this.config.logFactory.logger('initiator')\r\n const initiator: FixInitiator = this.config.sessionContainer.resolve<FixInitiator>(TcpInitiator)\r\n logger.info('connecting ...')\r\n const initiatorTransport: MsgTransport = await initiator.connect(22)\r\n logger.info('... connected, run session')\r\n await initiatorSession.run(initiatorTransport)\r\n logger.info('ends')\r\n return true\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tcp-initiator.js","sourceRoot":"","sources":["../../../src/transport/tcp/tcp-initiator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAA+C;AAC/C,wCAAyC;AAGzC,sCAAgD;AAEhD,6BAA4B;AAC5B,6BAAyE;AACzE,6BAAsC;AAEtC,+DAAyD;AACzD,uCAA6C;AAC7C,uDAAkD;AAGlD,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,mDAAQ,CAAA;IACR,+DAAc,CAAA;IACd,6DAAa,CAAA;IACb,yDAAW,CAAA;AACb,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB;AAGM,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,4BAAY;IAO5C,YAA4C,WAAyC;;QACnF,KAAK,CAAC,MAAA,WAAW,CAAC,WAAW,CAAC,WAAW,mCAAI,IAAI,CAAC,CAAA;QADQ,gBAAW,GAAX,WAAW,CAAc;QAL9E,UAAK,GAAmB,cAAc,CAAC,IAAI,CAAA;QAG1C,OAAE,GAAmB,IAAI,CAAA;QAI/B,MAAM,IAAI,GAAG,MAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,IAAI,mCAAI,WAAW,CAAA;QAClD,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,IAAI,eAAe,CAAC,CAAA;QACnE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;SAC1D;QACD,IAAI,CAAC,GAAG,GAAG,MAAA,IAAI,CAAC,WAAW,CAAC,GAAG,mCAAI,IAAI,CAAA;QACvC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;SACzF;IACH,CAAC;IAEM,GAAG;QACR,IAAI,CAAC,UAAU,EAAE,CAAA;QACjB,QAAQ,IAAI,CAAC,KAAK,EAAE;YAClB,KAAK,cAAc,CAAC,SAAS,CAAC,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACvB,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;gBACjB,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,OAAO,CAAA;gBACnC,MAAK;aACN;YAED,OAAO,CAAC,CAAC;gBACP,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;gBAC5C,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,OAAO,CAAA;gBACnC,MAAK;aACN;SACF;IACH,CAAC;IAEY,OAAO,CAAE,cAAsB;;YAC1C,OAAO,MAAM,IAAI,OAAO,CAAe,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC/D,QAAQ,IAAI,CAAC,KAAK,EAAE;oBAClB,KAAK,cAAc,CAAC,IAAI,CAAC,CAAC;wBACxB,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,UAAU,CAAA;wBACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,cAAc,EAAE,CAAC,CAAA;wBAC7D,IAAI,CAAC,UAAU,EAAE;6BACd,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC;6BACzC,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;4BAClB,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;iCAC/B,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC;iCACzC,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;wBACvC,CAAC,CAAC,CAAA;wBACJ,MAAK;qBACN;oBAED,OAAO,CAAC,CAAC;wBACP,MAAM,CAAC,GAAU,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;wBACnE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,wBAAwB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;wBACzD,MAAM,CAAC,CAAC,CAAC,CAAA;qBACV;iBACF;YACH,CAAC,CAAA,CAAC,CAAA;QACJ,CAAC;KAAA;IAEa,cAAc;;YAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;YACpB,OAAO,MAAM,IAAI,OAAO,CAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACtD,IAAI;oBACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAA;oBAC7D,MAAM,MAAM,GAAG,GAAG;wBAChB,CAAC,CAAC,IAAA,sBAAgB,EAAC,GAAG,EAAE,GAAG,EAAE;4BAC3B,IAAI;gCACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAA;gCACtD,IAAI,MAAM,EAAE;oCACV,MAAM,SAAS,GAAG,IAAI,kBAAS,CAAC,MAAM,CAAC,CAAA;oCACvC,OAAO,CAAC,SAAS,CAAC,CAAA;iCACnB;qCAAM;oCACL,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAA;iCAChD;6BACF;4BAAC,OAAO,CAAC,EAAE;gCACV,MAAM,CAAC,CAAC,CAAC,CAAA;6BACV;wBACH,CAAC,CAAC;wBACF,CAAC,CAAC,IAAI,CAAA;oBACR,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;wBAC1B,MAAM,CAAC,GAAG,CAAC,CAAA;oBACb,CAAC,CAAC,CAAA;iBACH;gBAAC,OAAO,CAAC,EAAE;oBACV,MAAM,CAAC,CAAC,CAAC,CAAA;iBACV;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;KAAA;IAEa,SAAS;;YACrB,OAAO,MAAM,IAAI,OAAO,CAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACtD,IAAI,SAAS,GAAqB,IAAI,CAAA;gBACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;gBACpB,MAAM,iBAAiB,GAA6B,GAAG,CAAC,CAAC,CAAC,uCAAiB,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;gBAC/G,IAAI,iBAAiB,EAAE;oBACrB,IAAI;wBACF,SAAS,GAAG,IAAA,aAAU,EAAC,iBAAiB,EAAE,GAAG,EAAE;;4BAC7C,IAAI,CAAC,SAAS;gCAAE,OAAO,IAAI,CAAA;4BAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAA;4BAC5F,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;gCACzB,MAAM,KAAK,GAAG,SAAS,CAAC,kBAAkB,CAAA;gCAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,wBAAwB,IAAI,CAAC,KAAK,uBAAuB,KAAK,EAAE,CAAC,CAAA;gCACrF,SAAS,CAAC,GAAG,EAAE,CAAA;gCACf,MAAM,CAAC,KAAK,CAAC,CAAA;6BACd;iCAAM;gCACL,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;gCAC7B,MAAM,SAAS,GAAG,IAAI,kBAAS,CAAC,SAAS,CAAC,CAAA;gCAC1C,IAAI,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,0CAAE,WAAW,EAAE;oCACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;oCAC9C,SAAS,CAAC,WAAW,EAAE,CAAA;iCACxB;gCACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;gCACvC,OAAO,CAAC,SAAS,CAAC,CAAA;6BACnB;wBACH,CAAC,CAAC,CAAA;wBACF,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;4BAC5B,MAAM,CAAC,GAAG,CAAC,CAAA;wBACb,CAAC,CAAC,CAAA;qBACH;oBAAC,OAAO,CAAC,EAAE;wBACV,MAAM,CAAC,CAAC,CAAC,CAAA;qBACV;iBACF;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;KAAA;IAEa,UAAU;;YACtB,OAAO,MAAM,IAAI,OAAO,CAAe,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACzD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;gBACpB,MAAM,iBAAiB,GAA6B,GAAG,CAAC,CAAC,CAAC,uCAAiB,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;gBAC/G,MAAM,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAA;gBAC9E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,IAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,EAAE,CAAC,CAAA;gBACxD,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;oBACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;oBACpB,OAAO,CAAC,IAAI,sBAAY,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAA;gBACxD,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;oBACX,MAAM,CAAC,CAAC,CAAC,CAAA;gBACX,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;KAAA;IAEM,UAAU;QACf,IAAI,IAAI,CAAC,EAAE,EAAE;YACX,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACtB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAA;SACf;IACH,CAAC;IAEa,aAAa,CAAE,cAAsB;;YACjD,OAAO,MAAM,IAAI,OAAO,CAAe,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;;gBAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;gBACpC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;gBAChC,MAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;gBAC5C,MAAM,gBAAgB,GAAG,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,gBAAgB,mCAAI,CAAC,CAAA;gBAC3D,IAAI,OAAO,GAAG,CAAC,CAAA;gBACf,IAAI,SAAgB,CAAA;gBACpB,MAAM,IAAI,GAAG,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,mCAAI,WAAW,CAAA;gBAC7C,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;oBACzB,EAAE,OAAO,CAAA;oBACT,IAAI,CAAC,UAAU,EAAE;yBACd,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE;wBACxB,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,SAAS,CAAA;wBACrC,IAAI,CAAC,UAAU,EAAE,CAAA;wBACjB,OAAO,CAAC,CAAC,CAAC,CAAA;oBACZ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;wBACpB,SAAS,GAAG,CAAC,CAAA;wBACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,aAAa,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;oBAC9D,CAAC,CAAC,CAAA;gBACN,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAAA;gBAC3B,cAAc,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;oBAC9C,IAAI,CAAC,UAAU,EAAE,CAAA;oBACjB,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,OAAO,CAAA;oBACnC,MAAM,CAAC,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,IAAI,KAAK,CAAC,GAAG,IAAI,gBAAgB,cAAc,oBAAoB,CAAC,CAAA;oBAC3F,MAAM,CAAC,CAAC,CAAC,CAAA;gBACX,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;oBACX,MAAM,CAAC,CAAC,CAAC,CAAA;gBACX,CAAC,CAAC,CAAA;YACJ,CAAC,CAAA,CAAC,CAAA;QACJ,CAAC;KAAA;CACF,CAAA;AArLY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,qBAAU,GAAE;IAQG,WAAA,IAAA,iBAAM,EAAC,oBAAQ,CAAC,YAAY,CAAC,CAAA;;GAPhC,YAAY,CAqLxB","sourcesContent":["import { FixInitiator } from '../fix-initiator'\r\nimport { MsgTransport } from '../factory'\r\n\r\nimport { IJsFixConfig, IJsFixLogger } from '../../config'\r\nimport { TcpDuplex, FixDuplex } from '../duplex'\r\n\r\nimport * as util from 'util'\r\nimport { connect as tlsConnect, ConnectionOptions, TLSSocket } from 'tls'\r\nimport { createConnection } from 'net'\r\nimport Timeout = NodeJS.Timeout\r\nimport { TlsOptionsFactory } from './tls-options-factory'\r\nimport { inject, injectable } from 'tsyringe'\r\nimport { DITokens } from '../../runtime/di-tokens'\r\nimport { ITcpTransportDescription } from './tcp-transport-description'\r\n\r\nexport enum InitiatorState {\r\n Idle = 1,\r\n Connecting = 2,\r\n Connected = 3,\r\n Stopped = 4\r\n}\r\n\r\n@injectable()\r\nexport class TcpInitiator extends FixInitiator {\r\n public tcp: ITcpTransportDescription | null\r\n public state: InitiatorState = InitiatorState.Idle\r\n private readonly logger: IJsFixLogger\r\n private duplex: FixDuplex\r\n private th: Timeout | null = null\r\n\r\n constructor (@inject(DITokens.IJsFixConfig) public readonly jsFixConfig: IJsFixConfig) {\r\n super(jsFixConfig.description.application ?? null)\r\n const name = this.application?.name ?? 'initiator'\r\n this.logger = jsFixConfig.logFactory.logger(`${name}:TcpInitiator`)\r\n if (!this.application) {\r\n throw new Error('no application in session description.')\r\n }\r\n this.tcp = this.application.tcp ?? null\r\n if (!this.tcp) {\r\n throw new Error('no tcp in session description need tcp { host: hostname, port: port }')\r\n }\r\n }\r\n\r\n public end (): void {\r\n this.clearTimer()\r\n switch (this.state) {\r\n case InitiatorState.Connected: {\r\n this.logger.info('end')\r\n this.duplex.end()\r\n this.state = InitiatorState.Stopped\r\n break\r\n }\r\n\r\n default: {\r\n this.logger.info(`end :state ${this.state}`)\r\n this.state = InitiatorState.Stopped\r\n break\r\n }\r\n }\r\n }\r\n\r\n public async connect (timeoutSeconds: number): Promise<MsgTransport> {\r\n return await new Promise<MsgTransport>(async (resolve, reject) => {\r\n switch (this.state) {\r\n case InitiatorState.Idle: {\r\n this.state = InitiatorState.Connecting\r\n this.logger.info(`connecting with timeout ${timeoutSeconds}`)\r\n this.tryConnect()\r\n .then((t: MsgTransport) => { resolve(t) })\r\n .catch((_: Error) => {\r\n this.repeatConnect(timeoutSeconds)\r\n .then((t: MsgTransport) => { resolve(t) })\r\n .catch((e: Error) => { reject(e) })\r\n })\r\n break\r\n }\r\n\r\n default: {\r\n const e: Error = new Error('connect not valid from non idle state')\r\n this.logger.warning(`rejecting from state ${this.state}`)\r\n reject(e)\r\n }\r\n }\r\n })\r\n }\r\n\r\n private async unsecureDuplex (): Promise<TcpDuplex> {\r\n const tcp = this.tcp\r\n return await new Promise<TcpDuplex>((resolve, reject) => {\r\n try {\r\n this.logger.info('unsecureDuplex try to connect to endPoint')\r\n const socket = tcp\r\n ? createConnection(tcp, () => {\r\n try {\r\n this.logger.info('net.createConnection cb, resolving')\r\n if (socket) {\r\n const tcpDuplex = new TcpDuplex(socket)\r\n resolve(tcpDuplex)\r\n } else {\r\n reject(new Error('no socket in tcp initiator'))\r\n }\r\n } catch (e) {\r\n reject(e)\r\n }\r\n })\r\n : null\r\n socket?.on('error', (err) => {\r\n reject(err)\r\n })\r\n } catch (e) {\r\n reject(e)\r\n }\r\n })\r\n }\r\n\r\n private async tlsDuplex (): Promise<TcpDuplex > {\r\n return await new Promise<TcpDuplex>((resolve, reject) => {\r\n let tlsSocket: TLSSocket | null = null\r\n const tcp = this.tcp\r\n const connectionOptions: ConnectionOptions | null = tcp ? TlsOptionsFactory.getTlsConnectionOptions(tcp) : null\r\n if (connectionOptions) {\r\n try {\r\n tlsSocket = tlsConnect(connectionOptions, () => {\r\n if (!tlsSocket) return null\r\n this.logger.info(`client connected ${tlsSocket.authorized ? 'authorized' : 'unauthorized'}`)\r\n if (!tlsSocket.authorized) {\r\n const error = tlsSocket.authorizationError\r\n this.logger.warning(`rejecting from state ${this.state} authorizationError ${error}`)\r\n tlsSocket.end()\r\n reject(error)\r\n } else {\r\n tlsSocket.setEncoding('utf8')\r\n const tlsDuplex = new TcpDuplex(tlsSocket)\r\n if (tcp?.tls?.enableTrace) {\r\n this.logger.info('enabling tls session trace')\r\n tlsSocket.enableTrace()\r\n }\r\n this.logger.info('tlsDuplex resolving')\r\n resolve(tlsDuplex)\r\n }\r\n })\r\n tlsSocket.on('error', (err) => {\r\n reject(err)\r\n })\r\n } catch (e) {\r\n reject(e)\r\n }\r\n }\r\n })\r\n }\r\n\r\n private async tryConnect (): Promise < MsgTransport > {\r\n return await new Promise<MsgTransport>((resolve, reject) => {\r\n const tcp = this.tcp\r\n const connectionOptions: ConnectionOptions | null = tcp ? TlsOptionsFactory.getTlsConnectionOptions(tcp) : null\r\n const connector = connectionOptions ? this.tlsDuplex() : this.unsecureDuplex()\r\n this.logger.info(`tryConnect ${tcp?.host}:${tcp?.port}`)\r\n connector.then(duplex => {\r\n this.duplex = duplex\r\n resolve(new MsgTransport(0, this.jsFixConfig, duplex))\r\n }).catch(e => {\r\n reject(e)\r\n })\r\n })\r\n }\r\n\r\n public clearTimer (): void {\r\n if (this.th) {\r\n clearInterval(this.th)\r\n this.th = null\r\n }\r\n }\r\n\r\n private async repeatConnect (timeoutSeconds: number): Promise < MsgTransport > {\r\n return await new Promise<MsgTransport>(async (resolve, reject) => {\r\n const application = this.application\r\n const promisify = util.promisify\r\n const timeoutPromise = promisify(setTimeout)\r\n const reconnectSeconds = application?.reconnectSeconds ?? 5\r\n let retries = 0\r\n let lastError: Error\r\n const name = application?.name ?? 'initiator'\r\n this.th = setInterval(() => {\r\n ++retries\r\n this.tryConnect()\r\n .then((t: MsgTransport) => {\r\n this.state = InitiatorState.Connected\r\n this.clearTimer()\r\n resolve(t)\r\n }).catch((e: Error) => {\r\n lastError = e\r\n this.logger.info(`${name}: retries ${retries} ${e.message}`)\r\n })\r\n }, reconnectSeconds * 1000)\r\n timeoutPromise(timeoutSeconds * 1000).then(() => {\r\n this.clearTimer()\r\n this.state = InitiatorState.Stopped\r\n const e = lastError ?? new Error(`${name}: timeout of ${timeoutSeconds} whilst connecting`)\r\n reject(e)\r\n }).catch(e => {\r\n reject(e)\r\n })\r\n })\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"tcp-initiator.js","sourceRoot":"","sources":["../../../src/transport/tcp/tcp-initiator.ts"],"names":[],"mappings":"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","sourcesContent":["import { FixInitiator } from '../fix-initiator'\r\nimport { MsgTransport } from '../factory'\r\n\r\nimport { IJsFixConfig, IJsFixLogger } from '../../config'\r\nimport { TcpDuplex, FixDuplex } from '../duplex'\r\n\r\nimport * as util from 'util'\r\nimport { connect as tlsConnect, ConnectionOptions, TLSSocket } from 'tls'\r\nimport { createConnection } from 'net'\r\nimport Timeout = NodeJS.Timeout\r\nimport { TlsOptionsFactory } from './tls-options-factory'\r\nimport { inject, injectable } from 'tsyringe'\r\nimport { DITokens } from '../../runtime/di-tokens'\r\nimport { ITcpTransportDescription } from './tcp-transport-description'\r\n\r\nexport enum InitiatorState {\r\n Idle = 1,\r\n Connecting = 2,\r\n Connected = 3,\r\n Stopped = 4\r\n}\r\n\r\n@injectable()\r\nexport class TcpInitiator extends FixInitiator {\r\n public tcp: ITcpTransportDescription | null\r\n public state: InitiatorState = InitiatorState.Idle\r\n private readonly logger: IJsFixLogger\r\n private duplex: FixDuplex\r\n private th: Timeout | null = null\r\n\r\n constructor (@inject(DITokens.IJsFixConfig) public readonly jsFixConfig: IJsFixConfig) {\r\n super(jsFixConfig.description.application ?? null)\r\n const name = this.application?.name ?? 'initiator'\r\n this.logger = jsFixConfig.logFactory.logger(`${name}:TcpInitiator`)\r\n if (!this.application) {\r\n throw new Error('no application in session description.')\r\n }\r\n this.tcp = this.application.tcp ?? null\r\n if (!this.tcp) {\r\n throw new Error('no tcp in session description need tcp { host: hostname, port: port }')\r\n }\r\n }\r\n\r\n public end (): void {\r\n this.clearTimer()\r\n switch (this.state) {\r\n case InitiatorState.Connected: {\r\n this.logger.info('end')\r\n this.duplex.end()\r\n this.state = InitiatorState.Stopped\r\n break\r\n }\r\n\r\n default: {\r\n this.logger.info(`end :state ${this.state}`)\r\n this.state = InitiatorState.Stopped\r\n break\r\n }\r\n }\r\n }\r\n\r\n public async connect (timeoutSeconds: number): Promise<MsgTransport> {\r\n return await new Promise<MsgTransport>(async (resolve, reject) => {\r\n switch (this.state) {\r\n case InitiatorState.Idle: {\r\n this.state = InitiatorState.Connecting\r\n this.logger.info(`connecting with timeout ${timeoutSeconds}`)\r\n this.tryConnect()\r\n .then((t: MsgTransport) => { resolve(t) })\r\n .catch((_: Error) => {\r\n this.repeatConnect(timeoutSeconds)\r\n .then((t: MsgTransport) => { resolve(t) })\r\n .catch((e: Error) => { reject(e) })\r\n })\r\n break\r\n }\r\n\r\n default: {\r\n const e: Error = new Error('connect not valid from non idle state')\r\n this.logger.warning(`rejecting from state ${this.state}`)\r\n reject(e)\r\n }\r\n }\r\n })\r\n }\r\n\r\n private async unsecureDuplex (): Promise<TcpDuplex> {\r\n const tcp = this.tcp\r\n return await new Promise<TcpDuplex>((resolve, reject) => {\r\n try {\r\n this.logger.info('unsecureDuplex try to connect to endPoint')\r\n const socket = tcp\r\n ? createConnection(tcp, () => {\r\n try {\r\n this.logger.info('net.createConnection cb, resolving')\r\n if (socket) {\r\n const tcpDuplex = new TcpDuplex(socket)\r\n resolve(tcpDuplex)\r\n } else {\r\n reject(new Error('no socket in tcp initiator'))\r\n }\r\n } catch (e) {\r\n reject(e)\r\n }\r\n })\r\n : null\r\n socket?.on('error', (err) => {\r\n reject(err)\r\n })\r\n } catch (e) {\r\n reject(e)\r\n }\r\n })\r\n }\r\n\r\n private async tlsDuplex (): Promise<TcpDuplex > {\r\n return await new Promise<TcpDuplex>((resolve, reject) => {\r\n let tlsSocket: TLSSocket | null = null\r\n const tcp = this.tcp\r\n const connectionOptions: ConnectionOptions | null = tcp ? TlsOptionsFactory.getTlsConnectionOptions(tcp) : null\r\n if (connectionOptions) {\r\n try {\r\n tlsSocket = tlsConnect(connectionOptions, () => {\r\n if (!tlsSocket) return null\r\n this.logger.info(`client connected ${tlsSocket.authorized ? 'authorized' : 'unauthorized'}`)\r\n if (!tlsSocket.authorized) {\r\n const error = tlsSocket.authorizationError\r\n this.logger.warning(`rejecting from state ${this.state} authorizationError ${error}`)\r\n tlsSocket.end()\r\n reject(error)\r\n } else {\r\n tlsSocket.setEncoding('utf8')\r\n const tlsDuplex = new TcpDuplex(tlsSocket)\r\n if (tcp?.tls?.enableTrace) {\r\n this.logger.info('enabling tls session trace')\r\n tlsSocket.enableTrace()\r\n }\r\n this.logger.info('tlsDuplex resolving')\r\n resolve(tlsDuplex)\r\n }\r\n })\r\n tlsSocket.on('error', (err) => {\r\n reject(err)\r\n })\r\n } catch (e) {\r\n reject(e)\r\n }\r\n }\r\n })\r\n }\r\n\r\n private async tryConnect (): Promise < MsgTransport > {\r\n return await new Promise<MsgTransport>((resolve, reject) => {\r\n const tcp = this.tcp\r\n const connectionOptions: ConnectionOptions | null = tcp ? TlsOptionsFactory.getTlsConnectionOptions(tcp) : null\r\n const connector = connectionOptions ? this.tlsDuplex() : this.unsecureDuplex()\r\n this.logger.info(`tryConnect ${tcp?.host}:${tcp?.port}`)\r\n connector.then(duplex => {\r\n this.duplex = duplex\r\n resolve(new MsgTransport(0, this.jsFixConfig, duplex))\r\n }).catch(e => {\r\n reject(e)\r\n })\r\n })\r\n }\r\n\r\n public clearTimer (): void {\r\n if (this.th) {\r\n clearInterval(this.th)\r\n this.th = null\r\n }\r\n }\r\n\r\n private async repeatConnect (timeoutSeconds: number): Promise < MsgTransport > {\r\n return await new Promise<MsgTransport>(async (resolve, reject) => {\r\n const application = this.application\r\n const promisify = util.promisify\r\n const timeoutPromise = promisify(setTimeout)\r\n const reconnectSeconds = application?.reconnectSeconds ?? 5\r\n let retries = 0\r\n let lastError: Error\r\n const name = application?.name ?? 'initiator'\r\n this.th = setInterval(() => {\r\n ++retries\r\n this.tryConnect()\r\n .then((t: MsgTransport) => {\r\n this.state = InitiatorState.Connected\r\n this.clearTimer()\r\n resolve(t)\r\n }).catch((e: Error) => {\r\n lastError = e\r\n this.logger.info(`${name}: retries ${retries} ${e.message}`)\r\n })\r\n }, reconnectSeconds * 1000)\r\n timeoutPromise(timeoutSeconds * 1000).then(() => {\r\n this.clearTimer()\r\n this.state = InitiatorState.Stopped\r\n const e = lastError ?? new Error(`${name}: timeout of ${timeoutSeconds} whilst connecting`)\r\n reject(e)\r\n }).catch(e => {\r\n reject(e)\r\n })\r\n })\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tls-options-factory.js","sourceRoot":"","sources":["../../../src/transport/tcp/tls-options-factory.ts"],"names":[],"mappings":"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","sourcesContent":["import { ConnectionOptions, TlsOptions } from 'tls'\r\nimport { ITlsOptions } from './tls-options'\r\nimport { ITcpTransportDescription } from './tcp-transport-description'\r\nconst path = require('path')\r\nconst fs = require('fs')\r\n\r\nexport class TlsOptionsFactory {\r\n static read (filePath: string): string {\r\n const root: string = path.join(__dirname, '../../../')\r\n const fullPath = path.join(root, filePath)\r\n return fs.readFileSync(fullPath,\r\n {\r\n encoding: 'utf8', flag: 'r'\r\n })\r\n }\r\n\r\n static getTlsOptions (tls: ITlsOptions): TlsOptions | null {\r\n let tlsOptions: TlsOptions | null = null\r\n if (tls) {\r\n tlsOptions = {\r\n requestCert: tls.requestCert,\r\n rejectUnauthorized: tls.rejectUnauthorized\r\n } as TlsOptions\r\n\r\n if (tls.key) {\r\n tlsOptions.key = TlsOptionsFactory.read(tls.key)\r\n tlsOptions.cert = tls?.cert ? TlsOptionsFactory.read(tls?.cert) : undefined\r\n }\r\n\r\n if (tls.ca && tls.ca.length > 0) {\r\n tlsOptions.ca = tls.ca.map(i => TlsOptionsFactory.read(i))\r\n }\r\n\r\n if (tls.nodeTlsServerOptions) {\r\n tlsOptions = {\r\n ...tlsOptions,\r\n ...tls.nodeTlsServerOptions\r\n }\r\n }\r\n }\r\n return tlsOptions\r\n }\r\n\r\n static getTlsConnectionOptions (tcp: ITcpTransportDescription): ConnectionOptions | null {\r\n let connectionOptions: ConnectionOptions | null = null\r\n const tls = tcp.tls\r\n if (tls) {\r\n connectionOptions = {\r\n port: tcp.port,\r\n host: tcp.host\r\n } as ConnectionOptions\r\n if (tls.key) {\r\n connectionOptions.key = TlsOptionsFactory.read(tcp.tls?.key ?? '')\r\n connectionOptions.cert = tcp.tls?.cert ? TlsOptionsFactory.read(tcp?.tls?.cert) : undefined\r\n }\r\n if (tcp.tls.ca && tcp.tls.ca.length > 0) {\r\n connectionOptions.ca = tcp.tls.ca.map(i => TlsOptionsFactory.read(i))\r\n }\r\n if (tcp.tls.timeout) {\r\n connectionOptions.timeout = tcp.tls.timeout\r\n }\r\n if (tcp.tls.sessionTimeout) {\r\n connectionOptions.sessionTimeout = tcp.tls.sessionTimeout\r\n }\r\n if (tls.nodeTlsConnectionOptions) {\r\n connectionOptions = {\r\n ...connectionOptions,\r\n ...tls.nodeTlsConnectionOptions\r\n }\r\n }\r\n }\r\n return connectionOptions\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"tls-options-factory.js","sourceRoot":"","sources":["../../../src/transport/tcp/tls-options-factory.ts"],"names":[],"mappings":"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","sourcesContent":["import { ConnectionOptions, TlsOptions } from 'tls'\r\nimport { ITlsOptions } from './tls-options'\r\nimport { ITcpTransportDescription } from './tcp-transport-description'\r\nconst path = require('path')\r\nconst fs = require('fs')\r\n\r\nexport class TlsOptionsFactory {\r\n static read (filePath: string): string {\r\n const root: string = path.join(__dirname, '../../../')\r\n const fullPath = path.join(root, filePath)\r\n return fs.readFileSync(fullPath,\r\n {\r\n encoding: 'utf8', flag: 'r'\r\n })\r\n }\r\n\r\n static getTlsOptions (tls: ITlsOptions): TlsOptions | null {\r\n let tlsOptions: TlsOptions | null = null\r\n if (tls) {\r\n tlsOptions = {\r\n requestCert: tls.requestCert,\r\n rejectUnauthorized: tls.rejectUnauthorized\r\n } as TlsOptions\r\n\r\n if (tls.key) {\r\n tlsOptions.key = TlsOptionsFactory.read(tls.key)\r\n tlsOptions.cert = tls?.cert ? TlsOptionsFactory.read(tls?.cert) : undefined\r\n }\r\n\r\n if (tls.ca && tls.ca.length > 0) {\r\n tlsOptions.ca = tls.ca.map(i => TlsOptionsFactory.read(i))\r\n }\r\n\r\n if (tls.nodeTlsServerOptions) {\r\n tlsOptions = {\r\n ...tlsOptions,\r\n ...tls.nodeTlsServerOptions\r\n }\r\n }\r\n }\r\n return tlsOptions\r\n }\r\n\r\n static getTlsConnectionOptions (tcp: ITcpTransportDescription): ConnectionOptions | null {\r\n let connectionOptions: ConnectionOptions | null = null\r\n const tls = tcp.tls\r\n if (tls) {\r\n connectionOptions = {\r\n port: tcp.port,\r\n host: tcp.host\r\n } as ConnectionOptions\r\n if (tls.key) {\r\n connectionOptions.key = TlsOptionsFactory.read(tcp.tls?.key ?? '')\r\n connectionOptions.cert = tcp.tls?.cert ? TlsOptionsFactory.read(tcp?.tls?.cert) : undefined\r\n }\r\n if (tcp.tls.ca && tcp.tls.ca.length > 0) {\r\n connectionOptions.ca = tcp.tls.ca.map(i => TlsOptionsFactory.read(i))\r\n }\r\n if (tcp.tls.timeout) {\r\n connectionOptions.timeout = tcp.tls.timeout\r\n }\r\n if (tcp.tls.sessionTimeout) {\r\n connectionOptions.sessionTimeout = tcp.tls.sessionTimeout\r\n }\r\n if (tls.nodeTlsConnectionOptions) {\r\n connectionOptions = {\r\n ...connectionOptions,\r\n ...tls.nodeTlsConnectionOptions\r\n }\r\n }\r\n }\r\n return connectionOptions\r\n }\r\n}\r\n"]}
@@ -0,0 +1,12 @@
1
+ import { IStandardHeader } from './set/standard_header';
2
+ import { IRelatedAccount } from './set/related_account';
3
+ import { IStandardTrailer } from './set/standard_trailer';
4
+ export interface IAccountList {
5
+ StandardHeader: IStandardHeader;
6
+ AccountRequestID: string;
7
+ AccountRequestResult: number;
8
+ RelatedAccount?: IRelatedAccount;
9
+ Text?: string;
10
+ LastFragment?: boolean;
11
+ StandardTrailer: IStandardTrailer;
12
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=account_list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account_list.js","sourceRoot":"","sources":["../../../../src/types/FIX.5.MOD/quickfix/account_list.ts"],"names":[],"mappings":"","sourcesContent":["import { IStandardHeader } from './set/standard_header'\r\nimport { IRelatedAccount } from './set/related_account'\r\nimport { IStandardTrailer } from './set/standard_trailer'\r\n\r\nexport interface IAccountList {\r\n StandardHeader: IStandardHeader// [1] BeginString.8, BodyLength.9 .. CstmApplVerID.1129\r\n AccountRequestID: string// [2] 7110 (String)\r\n AccountRequestResult: number// [3] 7112 (Int)\r\n RelatedAccount?: IRelatedAccount// [4] NoRelatedAcc.7113, Account.1 .. MarketAliasName.7123\r\n Text?: string// [5] 58 (String)\r\n LastFragment?: boolean// [6] 893 (Boolean)\r\n StandardTrailer: IStandardTrailer// [7] SignatureLength.93, Signature.89, CheckSum.10\r\n}\r\n"]}
@@ -0,0 +1,9 @@
1
+ import { IStandardHeader } from './set/standard_header';
2
+ import { IRelatedAccount } from './set/related_account';
3
+ import { IStandardTrailer } from './set/standard_trailer';
4
+ export interface IAccountListIncremental {
5
+ StandardHeader: IStandardHeader;
6
+ RelatedAccount?: IRelatedAccount;
7
+ Text?: string;
8
+ StandardTrailer: IStandardTrailer;
9
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=account_list_incremental.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account_list_incremental.js","sourceRoot":"","sources":["../../../../src/types/FIX.5.MOD/quickfix/account_list_incremental.ts"],"names":[],"mappings":"","sourcesContent":["import { IStandardHeader } from './set/standard_header'\r\nimport { IRelatedAccount } from './set/related_account'\r\nimport { IStandardTrailer } from './set/standard_trailer'\r\n\r\nexport interface IAccountListIncremental {\r\n StandardHeader: IStandardHeader// [1] BeginString.8, BodyLength.9 .. CstmApplVerID.1129\r\n RelatedAccount?: IRelatedAccount// [2] NoRelatedAcc.7113, Account.1 .. MarketAliasName.7123\r\n Text?: string// [3] 58 (String)\r\n StandardTrailer: IStandardTrailer// [4] SignatureLength.93, Signature.89, CheckSum.10\r\n}\r\n"]}
@@ -0,0 +1,11 @@
1
+ import { IStandardHeader } from './set/standard_header';
2
+ import { IStandardTrailer } from './set/standard_trailer';
3
+ export interface IAccountListRequest {
4
+ StandardHeader: IStandardHeader;
5
+ AccountRequestID: string;
6
+ AccountListRequestType: number;
7
+ Account?: string;
8
+ AccountType?: number;
9
+ SubscriptionRequestType?: string;
10
+ StandardTrailer: IStandardTrailer;
11
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=account_list_request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account_list_request.js","sourceRoot":"","sources":["../../../../src/types/FIX.5.MOD/quickfix/account_list_request.ts"],"names":[],"mappings":"","sourcesContent":["import { IStandardHeader } from './set/standard_header'\r\nimport { IStandardTrailer } from './set/standard_trailer'\r\n\r\nexport interface IAccountListRequest {\r\n StandardHeader: IStandardHeader// [1] BeginString.8, BodyLength.9 .. CstmApplVerID.1129\r\n AccountRequestID: string// [2] 7110 (String)\r\n AccountListRequestType: number// [3] 7111 (Int)\r\n Account?: string// [4] 1 (String)\r\n AccountType?: number// [5] 581 (Int)\r\n SubscriptionRequestType?: string// [6] 263 (String)\r\n StandardTrailer: IStandardTrailer// [7] SignatureLength.93, Signature.89, CheckSum.10\r\n}\r\n"]}
@@ -0,0 +1,19 @@
1
+ import { IStandardHeader } from './set/standard_header';
2
+ import { IParties } from './set/parties';
3
+ import { IPositionQty } from './set/position_qty';
4
+ import { IInstrument } from './set/instrument';
5
+ import { IStandardTrailer } from './set/standard_trailer';
6
+ export interface IAdjustedPositionReport {
7
+ StandardHeader: IStandardHeader;
8
+ PosMaintRptID: string;
9
+ PosReqType?: number;
10
+ ClearingBusinessDate: Date;
11
+ SettlSessID?: string;
12
+ Parties?: IParties;
13
+ PositionQty?: IPositionQty;
14
+ Instrument?: IInstrument;
15
+ SettlPrice?: number;
16
+ PriorSettlPrice?: number;
17
+ PosMaintRptRefID?: string;
18
+ StandardTrailer: IStandardTrailer;
19
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=adjusted_position_report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adjusted_position_report.js","sourceRoot":"","sources":["../../../../src/types/FIX.5.MOD/quickfix/adjusted_position_report.ts"],"names":[],"mappings":"","sourcesContent":["import { IStandardHeader } from './set/standard_header'\r\nimport { IParties } from './set/parties'\r\nimport { IPositionQty } from './set/position_qty'\r\nimport { IInstrument } from './set/instrument'\r\nimport { IStandardTrailer } from './set/standard_trailer'\r\n\r\nexport interface IAdjustedPositionReport {\r\n StandardHeader: IStandardHeader// [1] BeginString.8, BodyLength.9 .. CstmApplVerID.1129\r\n PosMaintRptID: string// [2] 721 (String)\r\n PosReqType?: number// [3] 724 (Int)\r\n ClearingBusinessDate: Date// [4] 715 (LocalDate)\r\n SettlSessID?: string// [5] 716 (String)\r\n Parties?: IParties// [6] NoPartyIDs.453, PartyID.448 .. PartySubIDType.803\r\n PositionQty?: IPositionQty// [7] NoPositions.702, PosType.703 .. QuantityDate.976\r\n Instrument?: IInstrument// [8] Symbol.55, SymbolSfx.65 .. TradingDeadline.5517\r\n SettlPrice?: number// [9] 730 (Float)\r\n PriorSettlPrice?: number// [10] 734 (Float)\r\n PosMaintRptRefID?: string// [11] 714 (String)\r\n StandardTrailer: IStandardTrailer// [12] SignatureLength.93, Signature.89, CheckSum.10\r\n}\r\n"]}
@@ -0,0 +1,30 @@
1
+ /// <reference types="node" />
2
+ import { IStandardHeader } from './set/standard_header';
3
+ import { IInstrument } from './set/instrument';
4
+ import { IInstrmtLegGrp } from './set/instrmt_leg_grp';
5
+ import { IUndInstrmtGrp } from './set/und_instrmt_grp';
6
+ import { IStandardTrailer } from './set/standard_trailer';
7
+ export interface IAdvertisement {
8
+ StandardHeader: IStandardHeader;
9
+ AdvId: string;
10
+ AdvTransType: string;
11
+ AdvRefID?: string;
12
+ Instrument?: IInstrument;
13
+ InstrmtLegGrp?: IInstrmtLegGrp;
14
+ UndInstrmtGrp?: IUndInstrmtGrp;
15
+ AdvSide: string;
16
+ Quantity: number;
17
+ QtyType?: number;
18
+ Price?: number;
19
+ Currency?: string;
20
+ TradeDate?: Date;
21
+ TransactTime?: Date;
22
+ Text?: string;
23
+ EncodedTextLen?: number;
24
+ EncodedText?: Buffer;
25
+ URLLink?: string;
26
+ LastMkt?: string;
27
+ TradingSessionID?: string;
28
+ TradingSessionSubID?: string;
29
+ StandardTrailer: IStandardTrailer;
30
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=advertisement.js.map