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.
- package/data/examples/FIX.4.4/fix.txt +50 -50
- package/dist/buffer/ascii/ascii-encoder.js.map +1 -1
- package/dist/buffer/ascii/ascii-parser-state.js.map +1 -1
- package/dist/buffer/ascii/ascii-parser.js +14 -4
- package/dist/buffer/ascii/ascii-parser.js.map +1 -1
- package/dist/buffer/ascii/ascii-segment-parser-error.d.ts +5 -0
- package/dist/buffer/ascii/ascii-segment-parser-error.js +11 -0
- package/dist/buffer/ascii/ascii-segment-parser-error.js.map +1 -0
- package/dist/buffer/ascii/ascii-segment-parser-summary.d.ts +12 -0
- package/dist/buffer/ascii/ascii-segment-parser-summary.js +3 -0
- package/dist/buffer/ascii/ascii-segment-parser-summary.js.map +1 -0
- package/dist/buffer/ascii/ascii-segment-parser.js +27 -8
- package/dist/buffer/ascii/ascii-segment-parser.js.map +1 -1
- package/dist/buffer/ascii/ascii-view.d.ts +1 -0
- package/dist/buffer/ascii/ascii-view.js +3 -0
- package/dist/buffer/ascii/ascii-view.js.map +1 -1
- package/dist/buffer/ascii/time-formatter.js.map +1 -1
- package/dist/buffer/elastic-buffer.js.map +1 -1
- package/dist/buffer/encode-proxy.js.map +1 -1
- package/dist/buffer/encoder-state.js.map +1 -1
- package/dist/buffer/fixml/fixml-encoder.js.map +1 -1
- package/dist/buffer/fixml/fixml-parser.js.map +1 -1
- package/dist/buffer/fixml/fixml-view.js.map +1 -1
- package/dist/buffer/msg-encoder.js.map +1 -1
- package/dist/buffer/msg-view.d.ts +2 -2
- package/dist/buffer/msg-view.js +47 -47
- package/dist/buffer/msg-view.js.map +1 -1
- package/dist/buffer/segment/segment-description.d.ts +1 -0
- package/dist/buffer/segment/segment-description.js +18 -0
- package/dist/buffer/segment/segment-description.js.map +1 -1
- package/dist/buffer/structure.js.map +1 -1
- package/dist/buffer/tag/tag-pos.d.ts +1 -1
- package/dist/buffer/tag/tag-pos.js +12 -12
- package/dist/buffer/tag/tag-pos.js.map +1 -1
- package/dist/buffer/tag/tags.js.map +1 -1
- package/dist/collections/dictionary.js.map +1 -1
- package/dist/dict-parser.js.map +1 -1
- package/dist/dictionary/compiler/compiler-type.js.map +1 -1
- package/dist/dictionary/compiler/enum-compiler.js.map +1 -1
- package/dist/dictionary/compiler/msg-compiler.js.map +1 -1
- package/dist/dictionary/compiler/standard-snippet.js.map +1 -1
- package/dist/dictionary/contained/contained-field-dispatch.js.map +1 -1
- package/dist/dictionary/contained/contained-field-set.d.ts +1 -1
- package/dist/dictionary/contained/contained-field-set.js.map +1 -1
- package/dist/dictionary/contained/contained-group-field.js.map +1 -1
- package/dist/dictionary/contained/fields-dispatch.js.map +1 -1
- package/dist/dictionary/definition/fix-definitions.d.ts +3 -0
- package/dist/dictionary/definition/fix-definitions.js +10 -0
- package/dist/dictionary/definition/fix-definitions.js.map +1 -1
- package/dist/dictionary/definition/fix-version-parser.d.ts +6 -0
- package/dist/dictionary/definition/fix-version-parser.js +54 -0
- package/dist/dictionary/definition/fix-version-parser.js.map +1 -0
- package/dist/dictionary/definition/group-field-definition.js.map +1 -1
- package/dist/dictionary/definition/simple-field-definition.js +2 -0
- package/dist/dictionary/definition/simple-field-definition.js.map +1 -1
- package/dist/dictionary/parser/fix-repository/base-parser.js.map +1 -1
- package/dist/dictionary/parser/fix-repository/repository-xml-parser.js.map +1 -1
- package/dist/dictionary/parser/fix-repository/repository.js +1 -1
- package/dist/dictionary/parser/fix-repository/repository.js.map +1 -1
- package/dist/dictionary/parser/fixml/components-parser.js.map +1 -1
- package/dist/dictionary/parser/fixml/fields-parser.js.map +1 -1
- package/dist/dictionary/parser/fixml/fix-xsd-parser.js.map +1 -1
- package/dist/dictionary/parser/fixml/include-graph.js.map +1 -1
- package/dist/dictionary/parser/fixml/xsd-parser.js.map +1 -1
- package/dist/dictionary/parser/quickfix/field-definition-parser.js.map +1 -1
- package/dist/dictionary/parser/quickfix/field-set-parser.js.map +1 -1
- package/dist/dictionary/parser/quickfix/message-parser.js.map +1 -1
- package/dist/dictionary/parser/quickfix/node-parser.js.map +1 -1
- package/dist/dictionary/parser/quickfix/parse-context.js.map +1 -1
- package/dist/dictionary/parser/quickfix/parse-progress.js.map +1 -1
- package/dist/dictionary/parser/quickfix/quick-fix-xml-file-builder.d.ts +22 -0
- package/dist/dictionary/parser/quickfix/quick-fix-xml-file-builder.js +142 -0
- package/dist/dictionary/parser/quickfix/quick-fix-xml-file-builder.js.map +1 -0
- package/dist/dictionary/parser/quickfix/quick-fix-xml-file-parser.d.ts +3 -2
- package/dist/dictionary/parser/quickfix/quick-fix-xml-file-parser.js +8 -6
- package/dist/dictionary/parser/quickfix/quick-fix-xml-file-parser.js.map +1 -1
- package/dist/dictionary/parser/quickfix/quick-fix-xml-formatter.d.ts +20 -0
- package/dist/dictionary/parser/quickfix/quick-fix-xml-formatter.js +56 -0
- package/dist/dictionary/parser/quickfix/quick-fix-xml-formatter.js.map +1 -0
- package/dist/dictionary/set-reduce.js.map +1 -1
- package/dist/dictionary/version-util.js +19 -29
- package/dist/dictionary/version-util.js.map +1 -1
- package/dist/jsfix-cmd.d.ts +3 -1
- package/dist/jsfix-cmd.js +157 -24
- package/dist/jsfix-cmd.js.map +1 -1
- package/dist/runtime/make-config.js.map +1 -1
- package/dist/runtime/session-container.js.map +1 -1
- package/dist/runtime/session-launcher.d.ts +2 -2
- package/dist/runtime/session-launcher.js +4 -2
- package/dist/runtime/session-launcher.js.map +1 -1
- package/dist/sample/http/oms/app.js.map +1 -1
- package/dist/sample/http/oms/http-client.js.map +1 -1
- package/dist/sample/http/oms/http-server.js.map +1 -1
- package/dist/sample/tcp/qf-md/md-server.js.map +1 -1
- package/dist/sample/tcp/recovering-skeleton/app.js.map +1 -1
- package/dist/sample/tcp/recovering-skeleton/respawn-acceptor.js.map +1 -1
- package/dist/sample/tcp/recovering-skeleton/skeleton-client.js.map +1 -1
- package/dist/sample/tcp/recovering-skeleton/skeleton-server.js.map +1 -1
- package/dist/sample/tcp/skeleton/skeleton-session.js.map +1 -1
- package/dist/sample/tcp/trade-capture/trade-capture-client.js.map +1 -1
- package/dist/sample/tcp/trade-capture/trade-capture-server.js.map +1 -1
- package/dist/sample/tcp/trade-capture/trade-factory.js.map +1 -1
- package/dist/store/fix-msg-ascii-store-resend.d.ts +4 -3
- package/dist/store/fix-msg-ascii-store-resend.js +21 -5
- package/dist/store/fix-msg-ascii-store-resend.js.map +1 -1
- package/dist/store/fix-msg-memory-store.js.map +1 -1
- package/dist/test/ascii/ascii-encoder.test.js.map +1 -1
- package/dist/test/ascii/ascii-parser.test.js +0 -1
- package/dist/test/ascii/ascii-parser.test.js.map +1 -1
- package/dist/test/ascii/ascii-store-replay.test.js +14 -1
- package/dist/test/ascii/ascii-store-replay.test.js.map +1 -1
- package/dist/test/ascii/ascii-tag-pos.test.js.map +1 -1
- package/dist/test/ascii/execution-report.test.js.map +1 -1
- package/dist/test/ascii/fix-log-replay.test.js.map +1 -1
- package/dist/test/ascii/fix-repo-dict.test.js +40 -1
- package/dist/test/ascii/fix-repo-dict.test.js.map +1 -1
- package/dist/test/ascii/logon.test.js.map +1 -1
- package/dist/test/ascii/memory-store.test.js +14 -27
- package/dist/test/ascii/memory-store.test.js.map +1 -1
- package/dist/test/ascii/qf-43-full-msg.test.js +6 -0
- package/dist/test/ascii/qf-43-full-msg.test.js.map +1 -1
- package/dist/test/ascii/qf-44-ascii-parser.test.d.ts +1 -0
- package/dist/test/ascii/qf-44-ascii-parser.test.js +54 -0
- package/dist/test/ascii/qf-44-ascii-parser.test.js.map +1 -0
- package/dist/test/ascii/qf-50sp0-dict.test.d.ts +1 -0
- package/dist/test/ascii/qf-50sp0-dict.test.js +145 -0
- package/dist/test/ascii/qf-50sp0-dict.test.js.map +1 -0
- package/dist/test/ascii/qf-50sp2-dict.test.js +324 -116
- package/dist/test/ascii/qf-50sp2-dict.test.js.map +1 -1
- package/dist/test/ascii/session.test.js +64 -15
- package/dist/test/ascii/session.test.js.map +1 -1
- package/dist/test/ascii/view-decode.test.js.map +1 -1
- package/dist/test/env/LogReplayer.d.ts +16 -0
- package/dist/test/env/LogReplayer.js +51 -0
- package/dist/test/env/LogReplayer.js.map +1 -0
- package/dist/test/env/encoder-test.js.map +1 -1
- package/dist/test/env/experiment.js +1 -1
- package/dist/test/env/experiment.js.map +1 -1
- package/dist/test/env/set-constraint-helper.js +0 -1
- package/dist/test/env/set-constraint-helper.js.map +1 -1
- package/dist/test/env/setup.js +2 -1
- package/dist/test/env/setup.js.map +1 -1
- package/dist/test/env/skeleton-runner.js.map +1 -1
- package/dist/test/env/test-recovery.js.map +1 -1
- package/dist/test/fixml/repo-full-fixml-msg.test.js +7 -0
- package/dist/test/fixml/repo-full-fixml-msg.test.js.map +1 -1
- package/dist/transport/ascii/ascii-msg-transmitter.js.map +1 -1
- package/dist/transport/ascii/ascii-session.js +4 -1
- package/dist/transport/ascii/ascii-session.js.map +1 -1
- package/dist/transport/duplex/fix-duplex.d.ts +1 -0
- package/dist/transport/duplex/fix-duplex.js.map +1 -1
- package/dist/transport/duplex/http-duplex.js.map +1 -1
- package/dist/transport/duplex/string-duplex.d.ts +12 -4
- package/dist/transport/duplex/string-duplex.js +70 -41
- package/dist/transport/duplex/string-duplex.js.map +1 -1
- package/dist/transport/factory/msg-transport.js.map +1 -1
- package/dist/transport/fixml/fixml-msg-transmitter.js.map +1 -1
- package/dist/transport/fixml/fixml-session-msg-factory.js.map +1 -1
- package/dist/transport/fixml/fixml-session.js.map +1 -1
- package/dist/transport/http/http-acceptor-listener.js.map +1 -1
- package/dist/transport/http/http-acceptor.js +1 -1
- package/dist/transport/http/http-acceptor.js.map +1 -1
- package/dist/transport/http/http-initiator.js.map +1 -1
- package/dist/transport/http/http-json-sample-adapter.js.map +1 -1
- package/dist/transport/index.d.ts +1 -7
- package/dist/transport/index.js +1 -7
- package/dist/transport/index.js.map +1 -1
- package/dist/transport/msg-transmitter.js.map +1 -1
- package/dist/transport/session/fix-session-state.js.map +1 -1
- package/dist/transport/session/fix-session.js +2 -4
- package/dist/transport/session/fix-session.js.map +1 -1
- package/dist/transport/session/index.d.ts +8 -0
- package/dist/transport/session/index.js +25 -0
- package/dist/transport/session/index.js.map +1 -0
- package/dist/transport/tcp/recovering-tcp-initiator.js.map +1 -1
- package/dist/transport/tcp/tcp-acceptor-listener.js.map +1 -1
- package/dist/transport/tcp/tcp-acceptor.js.map +1 -1
- package/dist/transport/tcp/tcp-initiator-connector.js.map +1 -1
- package/dist/transport/tcp/tcp-initiator.js.map +1 -1
- package/dist/transport/tcp/tls-options-factory.js.map +1 -1
- package/dist/types/FIX.5.MOD/quickfix/account_list.d.ts +12 -0
- package/dist/types/FIX.5.MOD/quickfix/account_list.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/account_list.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/account_list_incremental.d.ts +9 -0
- package/dist/types/FIX.5.MOD/quickfix/account_list_incremental.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/account_list_incremental.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/account_list_request.d.ts +11 -0
- package/dist/types/FIX.5.MOD/quickfix/account_list_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/account_list_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/adjusted_position_report.d.ts +19 -0
- package/dist/types/FIX.5.MOD/quickfix/adjusted_position_report.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/adjusted_position_report.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/advertisement.d.ts +30 -0
- package/dist/types/FIX.5.MOD/quickfix/advertisement.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/advertisement.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/allocation_instruction.d.ts +93 -0
- package/dist/types/FIX.5.MOD/quickfix/allocation_instruction.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/allocation_instruction.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/allocation_instruction_ack.d.ts +25 -0
- package/dist/types/FIX.5.MOD/quickfix/allocation_instruction_ack.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/allocation_instruction_ack.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/allocation_instruction_alert.d.ts +93 -0
- package/dist/types/FIX.5.MOD/quickfix/allocation_instruction_alert.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/allocation_instruction_alert.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/allocation_report.d.ts +98 -0
- package/dist/types/FIX.5.MOD/quickfix/allocation_report.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/allocation_report.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/allocation_report_ack.d.ts +30 -0
- package/dist/types/FIX.5.MOD/quickfix/allocation_report_ack.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/allocation_report_ack.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/assignment_report.d.ts +41 -0
- package/dist/types/FIX.5.MOD/quickfix/assignment_report.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/assignment_report.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/bid_request.d.ts +38 -0
- package/dist/types/FIX.5.MOD/quickfix/bid_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/bid_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/bid_response.d.ts +10 -0
- package/dist/types/FIX.5.MOD/quickfix/bid_response.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/bid_response.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/business_message_reject.d.ts +14 -0
- package/dist/types/FIX.5.MOD/quickfix/business_message_reject.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/business_message_reject.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_assignment.d.ts +66 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_assignment.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_assignment.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_inquiry.d.ts +63 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_inquiry.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_inquiry.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_inquiry_ack.d.ts +47 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_inquiry_ack.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_inquiry_ack.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_report.d.ts +67 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_report.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_report.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_request.d.ts +61 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_response.d.ts +63 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_response.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_response.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/confirmation.d.ts +88 -0
- package/dist/types/FIX.5.MOD/quickfix/confirmation.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/confirmation.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/confirmation_ack.d.ts +16 -0
- package/dist/types/FIX.5.MOD/quickfix/confirmation_ack.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/confirmation_ack.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/confirmation_request.d.ts +21 -0
- package/dist/types/FIX.5.MOD/quickfix/confirmation_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/confirmation_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/contrary_intention_report.d.ts +23 -0
- package/dist/types/FIX.5.MOD/quickfix/contrary_intention_report.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/contrary_intention_report.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/cross_order_cancel_replace_request.d.ts +77 -0
- package/dist/types/FIX.5.MOD/quickfix/cross_order_cancel_replace_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/cross_order_cancel_replace_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/cross_order_cancel_request.d.ts +23 -0
- package/dist/types/FIX.5.MOD/quickfix/cross_order_cancel_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/cross_order_cancel_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/derivative_security_list.d.ts +15 -0
- package/dist/types/FIX.5.MOD/quickfix/derivative_security_list.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/derivative_security_list.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/derivative_security_list_request.d.ts +19 -0
- package/dist/types/FIX.5.MOD/quickfix/derivative_security_list_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/derivative_security_list_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/dont_know_trade_dk.d.ts +25 -0
- package/dist/types/FIX.5.MOD/quickfix/dont_know_trade_dk.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/dont_know_trade_dk.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/email.d.ts +27 -0
- package/dist/types/FIX.5.MOD/quickfix/email.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/email.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/enum/all-enum.d.ts +3452 -0
- package/dist/types/FIX.5.MOD/quickfix/enum/all-enum.js +3809 -0
- package/dist/types/FIX.5.MOD/quickfix/enum/all-enum.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/enum/index.d.ts +2 -0
- package/dist/types/FIX.5.MOD/quickfix/enum/index.js +19 -0
- package/dist/types/FIX.5.MOD/quickfix/enum/index.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/enum/msg_tag.d.ts +1645 -0
- package/dist/types/FIX.5.MOD/quickfix/enum/msg_tag.js +1650 -0
- package/dist/types/FIX.5.MOD/quickfix/enum/msg_tag.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/execution_acknowledgement.d.ts +31 -0
- package/dist/types/FIX.5.MOD/quickfix/execution_acknowledgement.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/execution_acknowledgement.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/execution_report.d.ts +186 -0
- package/dist/types/FIX.5.MOD/quickfix/execution_report.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/execution_report.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/heartbeat.d.ts +7 -0
- package/dist/types/FIX.5.MOD/quickfix/heartbeat.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/heartbeat.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/index.d.ts +358 -0
- package/dist/types/FIX.5.MOD/quickfix/index.js +375 -0
- package/dist/types/FIX.5.MOD/quickfix/index.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/ioi.d.ts +46 -0
- package/dist/types/FIX.5.MOD/quickfix/ioi.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/ioi.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/list_cancel_request.d.ts +16 -0
- package/dist/types/FIX.5.MOD/quickfix/list_cancel_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/list_cancel_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/list_execute.d.ts +14 -0
- package/dist/types/FIX.5.MOD/quickfix/list_execute.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/list_execute.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/list_status.d.ts +20 -0
- package/dist/types/FIX.5.MOD/quickfix/list_status.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/list_status.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/list_status_request.d.ts +11 -0
- package/dist/types/FIX.5.MOD/quickfix/list_status_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/list_status_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/list_strike_price.d.ts +13 -0
- package/dist/types/FIX.5.MOD/quickfix/list_strike_price.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/list_strike_price.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/logon.d.ts +22 -0
- package/dist/types/FIX.5.MOD/quickfix/logon.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/logon.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/logout.d.ts +10 -0
- package/dist/types/FIX.5.MOD/quickfix/logout.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/logout.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/market_data_incremental_refresh.d.ts +16 -0
- package/dist/types/FIX.5.MOD/quickfix/market_data_incremental_refresh.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/market_data_incremental_refresh.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/market_data_request.d.ts +24 -0
- package/dist/types/FIX.5.MOD/quickfix/market_data_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/market_data_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/market_data_request_reject.d.ts +14 -0
- package/dist/types/FIX.5.MOD/quickfix/market_data_request_reject.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/market_data_request_reject.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/market_data_snapshot_full_refresh.d.ts +28 -0
- package/dist/types/FIX.5.MOD/quickfix/market_data_snapshot_full_refresh.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/market_data_snapshot_full_refresh.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/mass_quote.d.ts +19 -0
- package/dist/types/FIX.5.MOD/quickfix/mass_quote.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/mass_quote.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/mass_quote_acknowledgement.d.ts +23 -0
- package/dist/types/FIX.5.MOD/quickfix/mass_quote_acknowledgement.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/mass_quote_acknowledgement.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/multileg_order_cancel_replace.d.ts +103 -0
- package/dist/types/FIX.5.MOD/quickfix/multileg_order_cancel_replace.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/multileg_order_cancel_replace.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/network_counterparty_system_status_request.d.ts +10 -0
- package/dist/types/FIX.5.MOD/quickfix/network_counterparty_system_status_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/network_counterparty_system_status_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/network_counterparty_system_status_response.d.ts +12 -0
- package/dist/types/FIX.5.MOD/quickfix/network_counterparty_system_status_response.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/network_counterparty_system_status_response.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/new_order_cross.d.ts +74 -0
- package/dist/types/FIX.5.MOD/quickfix/new_order_cross.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/new_order_cross.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/new_order_list.d.ts +29 -0
- package/dist/types/FIX.5.MOD/quickfix/new_order_list.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/new_order_list.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/new_order_multileg.d.ts +102 -0
- package/dist/types/FIX.5.MOD/quickfix/new_order_multileg.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/new_order_multileg.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/new_order_single.d.ts +116 -0
- package/dist/types/FIX.5.MOD/quickfix/new_order_single.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/new_order_single.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/news.d.ts +26 -0
- package/dist/types/FIX.5.MOD/quickfix/news.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/news.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/order_cancel_reject.d.ts +28 -0
- package/dist/types/FIX.5.MOD/quickfix/order_cancel_reject.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/order_cancel_reject.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/order_cancel_replace_request.d.ts +112 -0
- package/dist/types/FIX.5.MOD/quickfix/order_cancel_replace_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/order_cancel_replace_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/order_cancel_request.d.ts +33 -0
- package/dist/types/FIX.5.MOD/quickfix/order_cancel_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/order_cancel_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/order_mass_cancel_report.d.ts +31 -0
- package/dist/types/FIX.5.MOD/quickfix/order_mass_cancel_report.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/order_mass_cancel_report.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/order_mass_cancel_request.d.ts +27 -0
- package/dist/types/FIX.5.MOD/quickfix/order_mass_cancel_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/order_mass_cancel_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/order_mass_status_request.d.ts +19 -0
- package/dist/types/FIX.5.MOD/quickfix/order_mass_status_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/order_mass_status_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/order_status_request.d.ts +22 -0
- package/dist/types/FIX.5.MOD/quickfix/order_status_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/order_status_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/position_maintenance_report.d.ts +45 -0
- package/dist/types/FIX.5.MOD/quickfix/position_maintenance_report.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/position_maintenance_report.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/position_maintenance_request.d.ts +42 -0
- package/dist/types/FIX.5.MOD/quickfix/position_maintenance_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/position_maintenance_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/position_report.d.ts +47 -0
- package/dist/types/FIX.5.MOD/quickfix/position_report.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/position_report.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/quote.d.ts +81 -0
- package/dist/types/FIX.5.MOD/quickfix/quote.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/quote.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_cancel.d.ts +20 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_cancel.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_cancel.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_request.d.ts +17 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_request_reject.d.ts +15 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_request_reject.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_request_reject.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_response.d.ts +80 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_response.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_response.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_status_report.d.ts +81 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_status_report.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_status_report.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_status_request.d.ts +24 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_status_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_status_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/registration_instructions.d.ts +21 -0
- package/dist/types/FIX.5.MOD/quickfix/registration_instructions.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/registration_instructions.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/registration_instructions_response.d.ts +17 -0
- package/dist/types/FIX.5.MOD/quickfix/registration_instructions_response.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/registration_instructions_response.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/reject.d.ts +14 -0
- package/dist/types/FIX.5.MOD/quickfix/reject.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/reject.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/request_for_positions.d.ts +35 -0
- package/dist/types/FIX.5.MOD/quickfix/request_for_positions.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/request_for_positions.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/request_for_positions_ack.d.ts +37 -0
- package/dist/types/FIX.5.MOD/quickfix/request_for_positions_ack.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/request_for_positions_ack.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/resend_request.d.ts +8 -0
- package/dist/types/FIX.5.MOD/quickfix/resend_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/resend_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/rfq_request.d.ts +10 -0
- package/dist/types/FIX.5.MOD/quickfix/rfq_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/rfq_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/security_definition.d.ts +29 -0
- package/dist/types/FIX.5.MOD/quickfix/security_definition.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/security_definition.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/security_definition_request.d.ts +25 -0
- package/dist/types/FIX.5.MOD/quickfix/security_definition_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/security_definition_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/security_definition_update_report.d.ts +29 -0
- package/dist/types/FIX.5.MOD/quickfix/security_definition_update_report.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/security_definition_update_report.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/security_list.d.ts +27 -0
- package/dist/types/FIX.5.MOD/quickfix/security_list.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/security_list.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/security_list_request.d.ts +28 -0
- package/dist/types/FIX.5.MOD/quickfix/security_list_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/security_list_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/security_list_update_report.d.ts +17 -0
- package/dist/types/FIX.5.MOD/quickfix/security_list_update_report.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/security_list_update_report.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/security_status.d.ts +37 -0
- package/dist/types/FIX.5.MOD/quickfix/security_status.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/security_status.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/security_status_request.d.ts +19 -0
- package/dist/types/FIX.5.MOD/quickfix/security_status_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/security_status_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/security_type_request.d.ts +16 -0
- package/dist/types/FIX.5.MOD/quickfix/security_type_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/security_type_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/security_types.d.ts +20 -0
- package/dist/types/FIX.5.MOD/quickfix/security_types.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/security_types.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/sequence_reset.d.ts +8 -0
- package/dist/types/FIX.5.MOD/quickfix/sequence_reset.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/sequence_reset.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/affected_ord_grp.d.ts +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/affected_ord_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/affected_ord_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/alloc_ack_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/alloc_ack_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/alloc_ack_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/alloc_ack_grp_no_allocs.d.ts +18 -0
- package/dist/types/FIX.5.MOD/quickfix/set/alloc_ack_grp_no_allocs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/alloc_ack_grp_no_allocs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/alloc_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/alloc_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/alloc_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/alloc_grp_no_allocs.d.ts +42 -0
- package/dist/types/FIX.5.MOD/quickfix/set/alloc_grp_no_allocs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/alloc_grp_no_allocs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/attrb_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/attrb_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/attrb_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/attrb_grp_no_instr_attrib.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/attrb_grp_no_instr_attrib.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/attrb_grp_no_instr_attrib.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/base_trading_rules.d.ts +18 -0
- package/dist/types/FIX.5.MOD/quickfix/set/base_trading_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/base_trading_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_req_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_req_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_req_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_req_grp_no_bid_components.d.ts +11 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_req_grp_no_bid_components.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_req_grp_no_bid_components.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_rsp_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_rsp_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_rsp_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_rsp_grp_no_bid_components.d.ts +19 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_rsp_grp_no_bid_components.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_rsp_grp_no_bid_components.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_desc_req_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_desc_req_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_desc_req_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_desc_req_grp_no_bid_descriptors.d.ts +13 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_desc_req_grp_no_bid_descriptors.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_desc_req_grp_no_bid_descriptors.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/clr_inst_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/clr_inst_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/clr_inst_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/clr_inst_grp_no_clearing_instructions.d.ts +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/clr_inst_grp_no_clearing_instructions.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/clr_inst_grp_no_clearing_instructions.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/coll_inq_qual_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/coll_inq_qual_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/coll_inq_qual_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/coll_inq_qual_grp_no_coll_inquiry_qualifier.d.ts +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/coll_inq_qual_grp_no_coll_inquiry_qualifier.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/coll_inq_qual_grp_no_coll_inquiry_qualifier.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/commission_data.d.ts +6 -0
- package/dist/types/FIX.5.MOD/quickfix/set/commission_data.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/commission_data.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/comp_id_req_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/comp_id_req_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/comp_id_req_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/comp_id_req_grp_no_comp_i_ds.d.ts +6 -0
- package/dist/types/FIX.5.MOD/quickfix/set/comp_id_req_grp_no_comp_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/comp_id_req_grp_no_comp_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/comp_id_stat_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/comp_id_stat_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/comp_id_stat_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/comp_id_stat_grp_no_comp_i_ds.d.ts +8 -0
- package/dist/types/FIX.5.MOD/quickfix/set/comp_id_stat_grp_no_comp_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/comp_id_stat_grp_no_comp_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/cont_amt_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/cont_amt_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/cont_amt_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/cont_amt_grp_no_cont_amts.d.ts +5 -0
- package/dist/types/FIX.5.MOD/quickfix/set/cont_amt_grp_no_cont_amts.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/cont_amt_grp_no_cont_amts.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/contra_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/contra_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/contra_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/contra_grp_no_contra_brokers.d.ts +7 -0
- package/dist/types/FIX.5.MOD/quickfix/set/contra_grp_no_contra_brokers.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/contra_grp_no_contra_brokers.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/cpcty_conf_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/cpcty_conf_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/cpcty_conf_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/cpcty_conf_grp_no_capacities.d.ts +5 -0
- package/dist/types/FIX.5.MOD/quickfix/set/cpcty_conf_grp_no_capacities.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/cpcty_conf_grp_no_capacities.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/discretion_instructions.d.ts +9 -0
- package/dist/types/FIX.5.MOD/quickfix/set/discretion_instructions.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/discretion_instructions.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/display_instruction.d.ts +10 -0
- package/dist/types/FIX.5.MOD/quickfix/set/display_instruction.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/display_instruction.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/dlvy_inst_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/dlvy_inst_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/dlvy_inst_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/dlvy_inst_grp_no_dlvy_inst.d.ts +6 -0
- package/dist/types/FIX.5.MOD/quickfix/set/dlvy_inst_grp_no_dlvy_inst.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/dlvy_inst_grp_no_dlvy_inst.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/evnt_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/evnt_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/evnt_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/evnt_grp_no_events.d.ts +6 -0
- package/dist/types/FIX.5.MOD/quickfix/set/evnt_grp_no_events.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/evnt_grp_no_events.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_alloc_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_alloc_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_alloc_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_alloc_grp_no_execs.d.ts +10 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_alloc_grp_no_execs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_alloc_grp_no_execs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_coll_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_coll_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_coll_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_coll_grp_no_execs.d.ts +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_coll_grp_no_execs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_coll_grp_no_execs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_inst_rules.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_inst_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_inst_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_inst_rules_no_exec_inst_rules.d.ts +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_inst_rules_no_exec_inst_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_inst_rules_no_exec_inst_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/expiration_qty.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/expiration_qty.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/expiration_qty.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/expiration_qty_no_expiration.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/expiration_qty_no_expiration.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/expiration_qty_no_expiration.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/financing_details.d.ts +11 -0
- package/dist/types/FIX.5.MOD/quickfix/set/financing_details.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/financing_details.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/hop_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/hop_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/hop_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/hop_grp_no_hops.d.ts +5 -0
- package/dist/types/FIX.5.MOD/quickfix/set/hop_grp_no_hops.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/hop_grp_no_hops.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_grp_no_related_sym.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_grp_no_related_sym.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_grp_no_related_sym.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_exec_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_exec_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_exec_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_exec_grp_no_legs.d.ts +22 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_exec_grp_no_legs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_exec_grp_no_legs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_grp_no_legs.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_grp_no_legs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_grp_no_legs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_ioi_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_ioi_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_ioi_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_ioi_grp_no_legs.d.ts +7 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_ioi_grp_no_legs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_ioi_grp_no_legs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_sec_list_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_sec_list_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_sec_list_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_sec_list_grp_no_legs.d.ts +10 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_sec_list_grp_no_legs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_sec_list_grp_no_legs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_md_req_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_md_req_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_md_req_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_md_req_grp_no_related_sym.d.ts +13 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_md_req_grp_no_related_sym.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_md_req_grp_no_related_sym.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_strk_px_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_strk_px_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_strk_px_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_strk_px_grp_no_strikes.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_strk_px_grp_no_strikes.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_strk_px_grp_no_strikes.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument.d.ts +73 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_extension.d.ts +6 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_extension.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_extension.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_leg.d.ts +48 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_leg.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_leg.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_parties.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_parties.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_parties.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_parties_no_instrument_parties.d.ts +7 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_parties_no_instrument_parties.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_parties_no_instrument_parties.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_ptys_sub_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_ptys_sub_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_ptys_sub_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_ptys_sub_grp_no_instrument_party_sub_i_ds.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_ptys_sub_grp_no_instrument_party_sub_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_ptys_sub_grp_no_instrument_party_sub_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ioi_qual_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ioi_qual_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ioi_qual_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ioi_qual_grp_no_ioi_qualifiers.d.ts +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ioi_qual_grp_no_ioi_qualifiers.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ioi_qual_grp_no_ioi_qualifiers.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_benchmark_curve_data.d.ts +7 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_benchmark_curve_data.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_benchmark_curve_data.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_ord_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_ord_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_ord_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_ord_grp_no_legs.d.ts +20 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_ord_grp_no_legs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_ord_grp_no_legs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_pre_alloc_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_pre_alloc_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_pre_alloc_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_pre_alloc_grp_no_leg_allocs.d.ts +9 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_pre_alloc_grp_no_leg_allocs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_pre_alloc_grp_no_leg_allocs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_grp_no_legs.d.ts +21 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_grp_no_legs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_grp_no_legs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_stat_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_stat_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_stat_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_stat_grp_no_legs.d.ts +13 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_stat_grp_no_legs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_stat_grp_no_legs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_sec_alt_id_grp.d.ts +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_sec_alt_id_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_sec_alt_id_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_stipulations.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_stipulations.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_stipulations.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_stipulations_no_leg_stipulations.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_stipulations_no_leg_stipulations.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_stipulations_no_leg_stipulations.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/lines_of_text_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/lines_of_text_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/lines_of_text_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/lines_of_text_grp_no_lines_of_text.d.ts +6 -0
- package/dist/types/FIX.5.MOD/quickfix/set/lines_of_text_grp_no_lines_of_text.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/lines_of_text_grp_no_lines_of_text.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/list_ord_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/list_ord_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/list_ord_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/list_ord_grp_no_orders.d.ts +103 -0
- package/dist/types/FIX.5.MOD/quickfix/set/list_ord_grp_no_orders.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/list_ord_grp_no_orders.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/lot_type_rules.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/lot_type_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/lot_type_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/lot_type_rules_no_lot_type_rules.d.ts +5 -0
- package/dist/types/FIX.5.MOD/quickfix/set/lot_type_rules_no_lot_type_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/lot_type_rules_no_lot_type_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/market_alias.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/market_alias.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/market_alias.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/market_alias_no_market_alias.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/market_alias_no_market_alias.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/market_alias_no_market_alias.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/market_data_feed_types.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/market_data_feed_types.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/market_data_feed_types.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/market_data_feed_types_no_md_feed_types.d.ts +5 -0
- package/dist/types/FIX.5.MOD/quickfix/set/market_data_feed_types_no_md_feed_types.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/market_data_feed_types_no_md_feed_types.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/match_rules.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/match_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/match_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/match_rules_no_match_rules.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/match_rules_no_match_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/match_rules_no_match_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/maturity_rules.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/maturity_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/maturity_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/maturity_rules_no_maturity_rules.d.ts +8 -0
- package/dist/types/FIX.5.MOD/quickfix/set/maturity_rules_no_maturity_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/maturity_rules_no_maturity_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_full_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_full_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_full_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_full_grp_no_md_entries.d.ts +58 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_full_grp_no_md_entries.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_full_grp_no_md_entries.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_inc_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_inc_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_inc_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_inc_grp_no_md_entries.d.ts +67 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_inc_grp_no_md_entries.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_inc_grp_no_md_entries.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_req_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_req_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_req_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_req_grp_no_md_entry_types.d.ts +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_req_grp_no_md_entry_types.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_req_grp_no_md_entry_types.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_rjct_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_rjct_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_rjct_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_rjct_grp_no_alt_md_source.d.ts +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_rjct_grp_no_alt_md_source.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_rjct_grp_no_alt_md_source.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/misc_fees_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/misc_fees_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/misc_fees_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/misc_fees_grp_no_misc_fees.d.ts +6 -0
- package/dist/types/FIX.5.MOD/quickfix/set/misc_fees_grp_no_misc_fees.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/misc_fees_grp_no_misc_fees.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/msg_type_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/msg_type_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/msg_type_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/msg_type_grp_no_msg_types.d.ts +6 -0
- package/dist/types/FIX.5.MOD/quickfix/set/msg_type_grp_no_msg_types.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/msg_type_grp_no_msg_types.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_instrument_attribute.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_instrument_attribute.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_instrument_attribute.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_instrument_attribute_no_nested_instr_attrib.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_instrument_attribute_no_nested_instr_attrib.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_instrument_attribute_no_nested_instr_attrib.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_2.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_2.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_2.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_2_no_nested_2_party_i_ds.d.ts +7 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_2_no_nested_2_party_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_2_no_nested_2_party_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_3.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_3.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_3.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_3_no_nested_3_party_i_ds.d.ts +7 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_3_no_nested_3_party_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_3_no_nested_3_party_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_no_nested_party_i_ds.d.ts +7 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_no_nested_party_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_no_nested_party_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_2_sub_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_2_sub_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_2_sub_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_2_sub_grp_no_nested_2_party_sub_i_ds.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_2_sub_grp_no_nested_2_party_sub_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_2_sub_grp_no_nested_2_party_sub_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_3_sub_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_3_sub_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_3_sub_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_3_sub_grp_no_nested_3_party_sub_i_ds.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_3_sub_grp_no_nested_3_party_sub_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_3_sub_grp_no_nested_3_party_sub_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_sub_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_sub_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_sub_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_sub_grp_no_nested_party_sub_i_ds.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_sub_grp_no_nested_party_sub_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_sub_grp_no_nested_party_sub_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_alloc_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_alloc_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_alloc_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_alloc_grp_no_orders.d.ts +12 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_alloc_grp_no_orders.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_alloc_grp_no_orders.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_list_stat_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_list_stat_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_list_stat_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_list_stat_grp_no_orders.d.ts +15 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_list_stat_grp_no_orders.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_list_stat_grp_no_orders.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_type_rules.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_type_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_type_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_type_rules_no_ord_type_rules.d.ts +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_type_rules_no_ord_type_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_type_rules_no_ord_type_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/order_qty_data.d.ts +7 -0
- package/dist/types/FIX.5.MOD/quickfix/set/order_qty_data.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/order_qty_data.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/parties.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/parties.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/parties.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/parties_no_party_i_ds.d.ts +7 -0
- package/dist/types/FIX.5.MOD/quickfix/set/parties_no_party_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/parties_no_party_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/peg_instructions.d.ts +13 -0
- package/dist/types/FIX.5.MOD/quickfix/set/peg_instructions.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/peg_instructions.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pos_und_instrmt_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pos_und_instrmt_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pos_und_instrmt_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pos_und_instrmt_grp_no_underlyings.d.ts +9 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pos_und_instrmt_grp_no_underlyings.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pos_und_instrmt_grp_no_underlyings.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/position_amount_data.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/position_amount_data.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/position_amount_data.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/position_amount_data_no_pos_amt.d.ts +5 -0
- package/dist/types/FIX.5.MOD/quickfix/set/position_amount_data_no_pos_amt.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/position_amount_data_no_pos_amt.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/position_qty.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/position_qty.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/position_qty.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/position_qty_no_positions.d.ts +9 -0
- package/dist/types/FIX.5.MOD/quickfix/set/position_qty_no_positions.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/position_qty_no_positions.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_grp_no_allocs.d.ts +9 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_grp_no_allocs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_grp_no_allocs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_mleg_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_mleg_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_mleg_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_mleg_grp_no_allocs.d.ts +9 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_mleg_grp_no_allocs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_mleg_grp_no_allocs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/price_limits.d.ts +6 -0
- package/dist/types/FIX.5.MOD/quickfix/set/price_limits.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/price_limits.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ptys_sub_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ptys_sub_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ptys_sub_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ptys_sub_grp_no_party_sub_i_ds.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ptys_sub_grp_no_party_sub_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ptys_sub_grp_no_party_sub_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_cxl_entries_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_cxl_entries_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_cxl_entries_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_cxl_entries_grp_no_quote_entries.d.ts +10 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_cxl_entries_grp_no_quote_entries.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_cxl_entries_grp_no_quote_entries.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_ack_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_ack_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_ack_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_ack_grp_no_quote_entries.d.ts +31 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_ack_grp_no_quote_entries.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_ack_grp_no_quote_entries.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_grp_no_quote_entries.d.ts +30 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_grp_no_quote_entries.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_grp_no_quote_entries.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_qual_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_qual_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_qual_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_qual_grp_no_quote_qualifiers.d.ts +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_qual_grp_no_quote_qualifiers.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_qual_grp_no_quote_qualifiers.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_grp_no_related_sym.d.ts +46 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_grp_no_related_sym.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_grp_no_related_sym.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_legs_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_legs_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_legs_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_legs_grp_no_legs.d.ts +18 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_legs_grp_no_legs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_legs_grp_no_legs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_rjct_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_rjct_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_rjct_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_rjct_grp_no_related_sym.d.ts +45 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_rjct_grp_no_related_sym.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_rjct_grp_no_related_sym.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_set_ack_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_set_ack_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_set_ack_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_set_ack_grp_no_quote_sets.d.ts +9 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_set_ack_grp_no_quote_sets.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_set_ack_grp_no_quote_sets.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_set_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_set_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_set_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_set_grp_no_quote_sets.d.ts +10 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_set_grp_no_quote_sets.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_set_grp_no_quote_sets.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rel_sym_deriv_sec_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rel_sym_deriv_sec_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rel_sym_deriv_sec_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rel_sym_deriv_sec_grp_no_related_sym.d.ts +16 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rel_sym_deriv_sec_grp_no_related_sym.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rel_sym_deriv_sec_grp_no_related_sym.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/related_account.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/related_account.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/related_account.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/related_account_no_related_acc.d.ts +11 -0
- package/dist/types/FIX.5.MOD/quickfix/set/related_account_no_related_acc.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/related_account_no_related_acc.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rfq_req_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rfq_req_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rfq_req_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rfq_req_grp_no_related_sym.d.ts +13 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rfq_req_grp_no_related_sym.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rfq_req_grp_no_related_sym.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rgst_dist_inst_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rgst_dist_inst_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rgst_dist_inst_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rgst_dist_inst_grp_no_distrib_insts.d.ts +10 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rgst_dist_inst_grp_no_distrib_insts.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rgst_dist_inst_grp_no_distrib_insts.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rgst_dtls_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rgst_dtls_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rgst_dtls_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rgst_dtls_grp_no_regist_dtls.d.ts +11 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rgst_dtls_grp_no_regist_dtls.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rgst_dtls_grp_no_regist_dtls.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/root_parties.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/root_parties.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/root_parties.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/root_parties_no_root_party_i_ds.d.ts +7 -0
- package/dist/types/FIX.5.MOD/quickfix/set/root_parties_no_root_party_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/root_parties_no_root_party_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/root_sub_parties.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/root_sub_parties.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/root_sub_parties.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/root_sub_parties_no_root_party_sub_i_ds.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/root_sub_parties_no_root_party_sub_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/root_sub_parties_no_root_party_sub_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/routing_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/routing_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/routing_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/routing_grp_no_routing_i_ds.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/routing_grp_no_routing_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/routing_grp_no_routing_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_alt_id_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_alt_id_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_alt_id_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_alt_id_grp_no_security_alt_id.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_alt_id_grp_no_security_alt_id.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_alt_id_grp_no_security_alt_id.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_list_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_list_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_list_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_list_grp_no_related_sym.d.ts +29 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_list_grp_no_related_sym.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_list_grp_no_related_sym.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_sym_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_sym_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_sym_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_sym_grp_no_related_sym.d.ts +28 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_sym_grp_no_related_sym.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_sym_grp_no_related_sym.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_syms_leg_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_syms_leg_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_syms_leg_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_syms_leg_grp_no_legs.d.ts +10 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_syms_leg_grp_no_legs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_syms_leg_grp_no_legs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_types_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_types_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_types_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_types_grp_no_security_types.d.ts +6 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_types_grp_no_security_types.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_types_grp_no_security_types.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/security_trading_rules.d.ts +8 -0
- package/dist/types/FIX.5.MOD/quickfix/set/security_trading_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/security_trading_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_inst_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_inst_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_inst_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_inst_grp_no_settl_inst.d.ts +26 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_inst_grp_no_settl_inst.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_inst_grp_no_settl_inst.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_instructions_data.d.ts +8 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_instructions_data.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_instructions_data.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_parties.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_parties.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_parties.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_parties_no_settl_party_i_ds.d.ts +7 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_parties_no_settl_party_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_parties_no_settl_party_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_ptys_sub_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_ptys_sub_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_ptys_sub_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_ptys_sub_grp_no_settl_party_sub_i_ds.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_ptys_sub_grp_no_settl_party_sub_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_ptys_sub_grp_no_settl_party_sub_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_cxl_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_cxl_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_cxl_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_cxl_grp_no_sides.d.ts +19 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_cxl_grp_no_sides.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_cxl_grp_no_sides.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_mod_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_mod_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_mod_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_mod_grp_no_sides.d.ts +42 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_mod_grp_no_sides.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_mod_grp_no_sides.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_trd_reg_ts.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_trd_reg_ts.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_trd_reg_ts.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_trd_reg_ts_no_side_trd_reg_ts.d.ts +5 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_trd_reg_ts_no_side_trd_reg_ts.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_trd_reg_ts_no_side_trd_reg_ts.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/spread_or_benchmark_curve_data.d.ts +10 -0
- package/dist/types/FIX.5.MOD/quickfix/set/spread_or_benchmark_curve_data.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/spread_or_benchmark_curve_data.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/standard_header.d.ts +33 -0
- package/dist/types/FIX.5.MOD/quickfix/set/standard_header.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/standard_header.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/standard_trailer.d.ts +6 -0
- package/dist/types/FIX.5.MOD/quickfix/set/standard_trailer.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/standard_trailer.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/stipulations.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/stipulations.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/stipulations.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/stipulations_no_stipulations.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/stipulations_no_stipulations.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/stipulations_no_stipulations.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/strategy_parameters_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/strategy_parameters_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/strategy_parameters_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/strategy_parameters_grp_no_strategy_parameters.d.ts +5 -0
- package/dist/types/FIX.5.MOD/quickfix/set/strategy_parameters_grp_no_strategy_parameters.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/strategy_parameters_grp_no_strategy_parameters.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/strike_rules.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/strike_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/strike_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/strike_rules_no_strike_rules.d.ts +9 -0
- package/dist/types/FIX.5.MOD/quickfix/set/strike_rules_no_strike_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/strike_rules_no_strike_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/tick_rules.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/tick_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/tick_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/tick_rules_no_tick_rules.d.ts +6 -0
- package/dist/types/FIX.5.MOD/quickfix/set/tick_rules_no_tick_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/tick_rules_no_tick_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/time_in_force_rules.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/time_in_force_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/time_in_force_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/time_in_force_rules_no_time_in_force_rules.d.ts +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/time_in_force_rules_no_time_in_force_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/time_in_force_rules_no_time_in_force_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules.d.ts +12 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules_grp_no_trading_session_rules.d.ts +6 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules_grp_no_trading_session_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules_grp_no_trading_session_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_alloc_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_alloc_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_alloc_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_alloc_grp_no_allocs.d.ts +13 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_alloc_grp_no_allocs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_alloc_grp_no_allocs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_dt_grp.d.ts +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_dt_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_dt_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_ack_side_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_ack_side_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_ack_side_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_ack_side_grp_no_sides.d.ts +74 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_ack_side_grp_no_sides.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_ack_side_grp_no_sides.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_side_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_side_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_side_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_side_grp_no_sides.d.ts +80 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_side_grp_no_sides.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_side_grp_no_sides.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_coll_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_coll_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_coll_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_coll_grp_no_trades.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_coll_grp_no_trades.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_coll_grp_no_trades.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_instrmt_leg_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_instrmt_leg_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_instrmt_leg_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_instrmt_leg_grp_no_legs.d.ts +22 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_instrmt_leg_grp_no_legs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_instrmt_leg_grp_no_legs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_reg_timestamps.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_reg_timestamps.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_reg_timestamps.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_reg_timestamps_no_trd_reg_timestamps.d.ts +8 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_reg_timestamps_no_trd_reg_timestamps.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_reg_timestamps_no_trd_reg_timestamps.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_sess_lst_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_sess_lst_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_sess_lst_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_sess_lst_grp_no_trading_sessions.d.ts +20 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_sess_lst_grp_no_trading_sessions.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_sess_lst_grp_no_trading_sessions.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trdg_ses_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trdg_ses_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trdg_ses_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trdg_ses_grp_no_trading_sessions.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trdg_ses_grp_no_trading_sessions.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trdg_ses_grp_no_trading_sessions.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/triggering_instruction.d.ts +17 -0
- package/dist/types/FIX.5.MOD/quickfix/set/triggering_instruction.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/triggering_instruction.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_coll_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_coll_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_coll_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_coll_grp_no_underlyings.d.ts +5 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_coll_grp_no_underlyings.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_coll_grp_no_underlyings.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_grp_no_underlyings.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_grp_no_underlyings.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_grp_no_underlyings.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_strk_px_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_strk_px_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_strk_px_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_strk_px_grp_no_underlyings.d.ts +14 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_strk_px_grp_no_underlyings.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_strk_px_grp_no_underlyings.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_sec_alt_id_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_sec_alt_id_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_sec_alt_id_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_sec_alt_id_grp_no_underlying_security_alt_id.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_sec_alt_id_grp_no_underlying_security_alt_id.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_sec_alt_id_grp_no_underlying_security_alt_id.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/underlying_amount.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/underlying_amount.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/underlying_amount.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/underlying_amount_no_underlying_amounts.d.ts +6 -0
- package/dist/types/FIX.5.MOD/quickfix/set/underlying_amount_no_underlying_amounts.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/underlying_amount_no_underlying_amounts.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/underlying_instrument.d.ts +64 -0
- package/dist/types/FIX.5.MOD/quickfix/set/underlying_instrument.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/underlying_instrument.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/underlying_stipulations.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/underlying_stipulations.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/underlying_stipulations.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/underlying_stipulations_no_underlying_stips.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/underlying_stipulations_no_underlying_stips.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/underlying_stipulations_no_underlying_stips.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_parties.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_parties.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_parties.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_parties_no_undly_instrument_parties.d.ts +7 -0
- package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_parties_no_undly_instrument_parties.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_parties_no_undly_instrument_parties.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_ptys_sub_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_ptys_sub_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_ptys_sub_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_ptys_sub_grp_no_undly_instrument_party_sub_i_ds.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_ptys_sub_grp_no_undly_instrument_party_sub_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_ptys_sub_grp_no_undly_instrument_party_sub_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/yield_data.d.ts +8 -0
- package/dist/types/FIX.5.MOD/quickfix/set/yield_data.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/yield_data.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/settlement_instruction_request.d.ts +23 -0
- package/dist/types/FIX.5.MOD/quickfix/settlement_instruction_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/settlement_instruction_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/settlement_instructions.d.ts +18 -0
- package/dist/types/FIX.5.MOD/quickfix/settlement_instructions.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/settlement_instructions.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/test_request.d.ts +7 -0
- package/dist/types/FIX.5.MOD/quickfix/test_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/test_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/trade_capture_report.d.ts +102 -0
- package/dist/types/FIX.5.MOD/quickfix/trade_capture_report.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/trade_capture_report.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_ack.d.ts +92 -0
- package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_ack.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_ack.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_request.d.ts +56 -0
- package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_request_ack.d.ts +30 -0
- package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_request_ack.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_request_ack.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/trading_session_list.d.ts +9 -0
- package/dist/types/FIX.5.MOD/quickfix/trading_session_list.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/trading_session_list.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/trading_session_list_request.d.ts +13 -0
- package/dist/types/FIX.5.MOD/quickfix/trading_session_list_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/trading_session_list_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/trading_session_status.d.ts +28 -0
- package/dist/types/FIX.5.MOD/quickfix/trading_session_status.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/trading_session_status.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/trading_session_status_request.d.ts +15 -0
- package/dist/types/FIX.5.MOD/quickfix/trading_session_status_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/trading_session_status_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/user_request.d.ts +14 -0
- package/dist/types/FIX.5.MOD/quickfix/user_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/user_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/user_response.d.ts +10 -0
- package/dist/types/FIX.5.MOD/quickfix/user_response.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/user_response.js.map +1 -0
- package/dist/util/definition-factory.js +2 -1
- package/dist/util/definition-factory.js.map +1 -1
- package/dist/util/json-helper.js.map +1 -1
- package/dist/util/message-generator.js.map +1 -1
- package/dist/util/replay.js +2 -2
- package/dist/util/replay.js.map +1 -1
- package/package.json +24 -22
- package/src/buffer/ascii/ascii-parser.ts +18 -9
- package/src/buffer/ascii/ascii-segment-parser-error.ts +7 -0
- package/src/buffer/ascii/ascii-segment-parser-summary.ts +13 -0
- package/src/buffer/ascii/ascii-segment-parser.ts +28 -8
- package/src/buffer/ascii/ascii-view.ts +4 -0
- package/src/buffer/msg-view.ts +2 -2
- package/src/buffer/segment/segment-description.ts +18 -0
- package/src/buffer/tag/tag-pos.ts +1 -1
- package/src/dictionary/contained/contained-field-set.ts +1 -1
- package/src/dictionary/definition/fix-definitions.ts +13 -0
- package/src/dictionary/definition/fix-version-parser.ts +57 -0
- package/src/dictionary/definition/simple-field-definition.ts +1 -0
- package/src/dictionary/parser/fix-repository/repository.ts +1 -1
- package/src/dictionary/parser/quickfix/quick-fix-xml-file-builder.ts +179 -0
- package/src/dictionary/parser/quickfix/quick-fix-xml-file-parser.ts +8 -4
- package/src/dictionary/parser/quickfix/quick-fix-xml-formatter.ts +67 -0
- package/src/dictionary/version-util.ts +10 -21
- package/src/jsfix-cmd.ts +194 -23
- package/src/runtime/session-launcher.ts +8 -4
- package/src/store/fix-msg-ascii-store-resend.ts +64 -8
- package/src/transport/ascii/ascii-session.ts +5 -1
- package/src/transport/duplex/fix-duplex.ts +2 -0
- package/src/transport/duplex/http-duplex.ts +1 -1
- package/src/transport/duplex/string-duplex.ts +72 -41
- package/src/transport/http/http-acceptor.ts +3 -3
- package/src/transport/http/http-json-sample-adapter.ts +1 -1
- package/src/transport/index.ts +1 -7
- package/src/transport/session/fix-session.ts +2 -2
- package/src/transport/session/index.ts +8 -0
- package/src/types/FIX.5.MOD/quickfix/account_list.ts +13 -0
- package/src/types/FIX.5.MOD/quickfix/account_list_incremental.ts +10 -0
- package/src/types/FIX.5.MOD/quickfix/account_list_request.ts +12 -0
- package/src/types/FIX.5.MOD/quickfix/adjusted_position_report.ts +20 -0
- package/src/types/FIX.5.MOD/quickfix/advertisement.ts +30 -0
- package/src/types/FIX.5.MOD/quickfix/allocation_instruction.ts +93 -0
- package/src/types/FIX.5.MOD/quickfix/allocation_instruction_ack.ts +25 -0
- package/src/types/FIX.5.MOD/quickfix/allocation_instruction_alert.ts +93 -0
- package/src/types/FIX.5.MOD/quickfix/allocation_report.ts +98 -0
- package/src/types/FIX.5.MOD/quickfix/allocation_report_ack.ts +30 -0
- package/src/types/FIX.5.MOD/quickfix/assignment_report.ts +41 -0
- package/src/types/FIX.5.MOD/quickfix/bid_request.ts +38 -0
- package/src/types/FIX.5.MOD/quickfix/bid_response.ts +11 -0
- package/src/types/FIX.5.MOD/quickfix/business_message_reject.ts +14 -0
- package/src/types/FIX.5.MOD/quickfix/collateral_assignment.ts +66 -0
- package/src/types/FIX.5.MOD/quickfix/collateral_inquiry.ts +63 -0
- package/src/types/FIX.5.MOD/quickfix/collateral_inquiry_ack.ts +47 -0
- package/src/types/FIX.5.MOD/quickfix/collateral_report.ts +67 -0
- package/src/types/FIX.5.MOD/quickfix/collateral_request.ts +61 -0
- package/src/types/FIX.5.MOD/quickfix/collateral_response.ts +63 -0
- package/src/types/FIX.5.MOD/quickfix/confirmation.ts +88 -0
- package/src/types/FIX.5.MOD/quickfix/confirmation_ack.ts +16 -0
- package/src/types/FIX.5.MOD/quickfix/confirmation_request.ts +21 -0
- package/src/types/FIX.5.MOD/quickfix/contrary_intention_report.ts +23 -0
- package/src/types/FIX.5.MOD/quickfix/cross_order_cancel_replace_request.ts +78 -0
- package/src/types/FIX.5.MOD/quickfix/cross_order_cancel_request.ts +24 -0
- package/src/types/FIX.5.MOD/quickfix/derivative_security_list.ts +16 -0
- package/src/types/FIX.5.MOD/quickfix/derivative_security_list_request.ts +19 -0
- package/src/types/FIX.5.MOD/quickfix/dont_know_trade_dk.ts +25 -0
- package/src/types/FIX.5.MOD/quickfix/email.ts +27 -0
- package/src/types/FIX.5.MOD/quickfix/enum/all-enum.ts +3799 -0
- package/src/types/FIX.5.MOD/quickfix/enum/index.ts +2 -0
- package/src/types/FIX.5.MOD/quickfix/enum/msg_tag.ts +1645 -0
- package/src/types/FIX.5.MOD/quickfix/execution_acknowledgement.ts +31 -0
- package/src/types/FIX.5.MOD/quickfix/execution_report.ts +186 -0
- package/src/types/FIX.5.MOD/quickfix/heartbeat.ts +8 -0
- package/src/types/FIX.5.MOD/quickfix/index.ts +358 -0
- package/src/types/FIX.5.MOD/quickfix/ioi.ts +46 -0
- package/src/types/FIX.5.MOD/quickfix/list_cancel_request.ts +16 -0
- package/src/types/FIX.5.MOD/quickfix/list_execute.ts +14 -0
- package/src/types/FIX.5.MOD/quickfix/list_status.ts +20 -0
- package/src/types/FIX.5.MOD/quickfix/list_status_request.ts +11 -0
- package/src/types/FIX.5.MOD/quickfix/list_strike_price.ts +14 -0
- package/src/types/FIX.5.MOD/quickfix/logon.ts +22 -0
- package/src/types/FIX.5.MOD/quickfix/logout.ts +10 -0
- package/src/types/FIX.5.MOD/quickfix/market_data_incremental_refresh.ts +17 -0
- package/src/types/FIX.5.MOD/quickfix/market_data_request.ts +25 -0
- package/src/types/FIX.5.MOD/quickfix/market_data_request_reject.ts +14 -0
- package/src/types/FIX.5.MOD/quickfix/market_data_snapshot_full_refresh.ts +29 -0
- package/src/types/FIX.5.MOD/quickfix/mass_quote.ts +20 -0
- package/src/types/FIX.5.MOD/quickfix/mass_quote_acknowledgement.ts +23 -0
- package/src/types/FIX.5.MOD/quickfix/multileg_order_cancel_replace.ts +103 -0
- package/src/types/FIX.5.MOD/quickfix/network_counterparty_system_status_request.ts +11 -0
- package/src/types/FIX.5.MOD/quickfix/network_counterparty_system_status_response.ts +13 -0
- package/src/types/FIX.5.MOD/quickfix/new_order_cross.ts +75 -0
- package/src/types/FIX.5.MOD/quickfix/new_order_list.ts +29 -0
- package/src/types/FIX.5.MOD/quickfix/new_order_multileg.ts +102 -0
- package/src/types/FIX.5.MOD/quickfix/new_order_single.ts +116 -0
- package/src/types/FIX.5.MOD/quickfix/news.ts +26 -0
- package/src/types/FIX.5.MOD/quickfix/order_cancel_reject.ts +28 -0
- package/src/types/FIX.5.MOD/quickfix/order_cancel_replace_request.ts +112 -0
- package/src/types/FIX.5.MOD/quickfix/order_cancel_request.ts +33 -0
- package/src/types/FIX.5.MOD/quickfix/order_mass_cancel_report.ts +31 -0
- package/src/types/FIX.5.MOD/quickfix/order_mass_cancel_request.ts +27 -0
- package/src/types/FIX.5.MOD/quickfix/order_mass_status_request.ts +20 -0
- package/src/types/FIX.5.MOD/quickfix/order_status_request.ts +23 -0
- package/src/types/FIX.5.MOD/quickfix/position_maintenance_report.ts +45 -0
- package/src/types/FIX.5.MOD/quickfix/position_maintenance_request.ts +42 -0
- package/src/types/FIX.5.MOD/quickfix/position_report.ts +47 -0
- package/src/types/FIX.5.MOD/quickfix/quote.ts +81 -0
- package/src/types/FIX.5.MOD/quickfix/quote_cancel.ts +21 -0
- package/src/types/FIX.5.MOD/quickfix/quote_request.ts +17 -0
- package/src/types/FIX.5.MOD/quickfix/quote_request_reject.ts +15 -0
- package/src/types/FIX.5.MOD/quickfix/quote_response.ts +80 -0
- package/src/types/FIX.5.MOD/quickfix/quote_status_report.ts +81 -0
- package/src/types/FIX.5.MOD/quickfix/quote_status_request.ts +25 -0
- package/src/types/FIX.5.MOD/quickfix/registration_instructions.ts +22 -0
- package/src/types/FIX.5.MOD/quickfix/registration_instructions_response.ts +18 -0
- package/src/types/FIX.5.MOD/quickfix/reject.ts +14 -0
- package/src/types/FIX.5.MOD/quickfix/request_for_positions.ts +35 -0
- package/src/types/FIX.5.MOD/quickfix/request_for_positions_ack.ts +37 -0
- package/src/types/FIX.5.MOD/quickfix/resend_request.ts +9 -0
- package/src/types/FIX.5.MOD/quickfix/rfq_request.ts +11 -0
- package/src/types/FIX.5.MOD/quickfix/security_definition.ts +29 -0
- package/src/types/FIX.5.MOD/quickfix/security_definition_request.ts +25 -0
- package/src/types/FIX.5.MOD/quickfix/security_definition_update_report.ts +29 -0
- package/src/types/FIX.5.MOD/quickfix/security_list.ts +27 -0
- package/src/types/FIX.5.MOD/quickfix/security_list_request.ts +28 -0
- package/src/types/FIX.5.MOD/quickfix/security_list_update_report.ts +18 -0
- package/src/types/FIX.5.MOD/quickfix/security_status.ts +37 -0
- package/src/types/FIX.5.MOD/quickfix/security_status_request.ts +20 -0
- package/src/types/FIX.5.MOD/quickfix/security_type_request.ts +16 -0
- package/src/types/FIX.5.MOD/quickfix/security_types.ts +20 -0
- package/src/types/FIX.5.MOD/quickfix/sequence_reset.ts +9 -0
- package/src/types/FIX.5.MOD/quickfix/set/affected_ord_grp.ts +3 -0
- package/src/types/FIX.5.MOD/quickfix/set/alloc_ack_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/alloc_ack_grp_no_allocs.ts +18 -0
- package/src/types/FIX.5.MOD/quickfix/set/alloc_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/alloc_grp_no_allocs.ts +42 -0
- package/src/types/FIX.5.MOD/quickfix/set/attrb_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/attrb_grp_no_instr_attrib.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/base_trading_rules.ts +19 -0
- package/src/types/FIX.5.MOD/quickfix/set/bid_comp_req_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/bid_comp_req_grp_no_bid_components.ts +11 -0
- package/src/types/FIX.5.MOD/quickfix/set/bid_comp_rsp_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/bid_comp_rsp_grp_no_bid_components.ts +19 -0
- package/src/types/FIX.5.MOD/quickfix/set/bid_desc_req_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/bid_desc_req_grp_no_bid_descriptors.ts +13 -0
- package/src/types/FIX.5.MOD/quickfix/set/clr_inst_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/clr_inst_grp_no_clearing_instructions.ts +3 -0
- package/src/types/FIX.5.MOD/quickfix/set/coll_inq_qual_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/coll_inq_qual_grp_no_coll_inquiry_qualifier.ts +3 -0
- package/src/types/FIX.5.MOD/quickfix/set/commission_data.ts +6 -0
- package/src/types/FIX.5.MOD/quickfix/set/comp_id_req_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/comp_id_req_grp_no_comp_i_ds.ts +6 -0
- package/src/types/FIX.5.MOD/quickfix/set/comp_id_stat_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/comp_id_stat_grp_no_comp_i_ds.ts +8 -0
- package/src/types/FIX.5.MOD/quickfix/set/cont_amt_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/cont_amt_grp_no_cont_amts.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/contra_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/contra_grp_no_contra_brokers.ts +7 -0
- package/src/types/FIX.5.MOD/quickfix/set/cpcty_conf_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/cpcty_conf_grp_no_capacities.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/discretion_instructions.ts +9 -0
- package/src/types/FIX.5.MOD/quickfix/set/display_instruction.ts +10 -0
- package/src/types/FIX.5.MOD/quickfix/set/dlvy_inst_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/dlvy_inst_grp_no_dlvy_inst.ts +7 -0
- package/src/types/FIX.5.MOD/quickfix/set/evnt_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/evnt_grp_no_events.ts +6 -0
- package/src/types/FIX.5.MOD/quickfix/set/exec_alloc_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/exec_alloc_grp_no_execs.ts +10 -0
- package/src/types/FIX.5.MOD/quickfix/set/exec_coll_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/exec_coll_grp_no_execs.ts +3 -0
- package/src/types/FIX.5.MOD/quickfix/set/exec_inst_rules.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/exec_inst_rules_no_exec_inst_rules.ts +3 -0
- package/src/types/FIX.5.MOD/quickfix/set/expiration_qty.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/expiration_qty_no_expiration.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/financing_details.ts +11 -0
- package/src/types/FIX.5.MOD/quickfix/set/hop_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/hop_grp_no_hops.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrmt_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrmt_grp_no_related_sym.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrmt_leg_exec_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrmt_leg_exec_grp_no_legs.ts +23 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrmt_leg_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrmt_leg_grp_no_legs.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrmt_leg_ioi_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrmt_leg_ioi_grp_no_legs.ts +8 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrmt_leg_sec_list_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrmt_leg_sec_list_grp_no_legs.ts +11 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrmt_md_req_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrmt_md_req_grp_no_related_sym.ts +14 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrmt_strk_px_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrmt_strk_px_grp_no_strikes.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrument.ts +73 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrument_extension.ts +7 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrument_leg.ts +48 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrument_parties.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrument_parties_no_instrument_parties.ts +8 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrument_ptys_sub_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrument_ptys_sub_grp_no_instrument_party_sub_i_ds.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/ioi_qual_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/ioi_qual_grp_no_ioi_qualifiers.ts +3 -0
- package/src/types/FIX.5.MOD/quickfix/set/leg_benchmark_curve_data.ts +7 -0
- package/src/types/FIX.5.MOD/quickfix/set/leg_ord_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/leg_ord_grp_no_legs.ts +21 -0
- package/src/types/FIX.5.MOD/quickfix/set/leg_pre_alloc_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/leg_pre_alloc_grp_no_leg_allocs.ts +10 -0
- package/src/types/FIX.5.MOD/quickfix/set/leg_quot_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/leg_quot_grp_no_legs.ts +22 -0
- package/src/types/FIX.5.MOD/quickfix/set/leg_quot_stat_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/leg_quot_stat_grp_no_legs.ts +14 -0
- package/src/types/FIX.5.MOD/quickfix/set/leg_sec_alt_id_grp.ts +3 -0
- package/src/types/FIX.5.MOD/quickfix/set/leg_stipulations.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/leg_stipulations_no_leg_stipulations.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/lines_of_text_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/lines_of_text_grp_no_lines_of_text.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/list_ord_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/list_ord_grp_no_orders.ts +103 -0
- package/src/types/FIX.5.MOD/quickfix/set/lot_type_rules.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/lot_type_rules_no_lot_type_rules.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/market_alias.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/market_alias_no_market_alias.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/market_data_feed_types.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/market_data_feed_types_no_md_feed_types.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/match_rules.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/match_rules_no_match_rules.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/maturity_rules.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/maturity_rules_no_maturity_rules.ts +8 -0
- package/src/types/FIX.5.MOD/quickfix/set/md_full_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/md_full_grp_no_md_entries.ts +58 -0
- package/src/types/FIX.5.MOD/quickfix/set/md_inc_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/md_inc_grp_no_md_entries.ts +67 -0
- package/src/types/FIX.5.MOD/quickfix/set/md_req_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/md_req_grp_no_md_entry_types.ts +3 -0
- package/src/types/FIX.5.MOD/quickfix/set/md_rjct_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/md_rjct_grp_no_alt_md_source.ts +3 -0
- package/src/types/FIX.5.MOD/quickfix/set/misc_fees_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/misc_fees_grp_no_misc_fees.ts +6 -0
- package/src/types/FIX.5.MOD/quickfix/set/msg_type_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/msg_type_grp_no_msg_types.ts +6 -0
- package/src/types/FIX.5.MOD/quickfix/set/nested_instrument_attribute.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/nested_instrument_attribute_no_nested_instr_attrib.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/nested_parties.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/nested_parties_2.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/nested_parties_2_no_nested_2_party_i_ds.ts +8 -0
- package/src/types/FIX.5.MOD/quickfix/set/nested_parties_3.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/nested_parties_3_no_nested_3_party_i_ds.ts +8 -0
- package/src/types/FIX.5.MOD/quickfix/set/nested_parties_no_nested_party_i_ds.ts +8 -0
- package/src/types/FIX.5.MOD/quickfix/set/nstd_ptys_2_sub_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/nstd_ptys_2_sub_grp_no_nested_2_party_sub_i_ds.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/nstd_ptys_3_sub_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/nstd_ptys_3_sub_grp_no_nested_3_party_sub_i_ds.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/nstd_ptys_sub_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/nstd_ptys_sub_grp_no_nested_party_sub_i_ds.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/ord_alloc_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/ord_alloc_grp_no_orders.ts +13 -0
- package/src/types/FIX.5.MOD/quickfix/set/ord_list_stat_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/ord_list_stat_grp_no_orders.ts +14 -0
- package/src/types/FIX.5.MOD/quickfix/set/ord_type_rules.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/ord_type_rules_no_ord_type_rules.ts +3 -0
- package/src/types/FIX.5.MOD/quickfix/set/order_qty_data.ts +7 -0
- package/src/types/FIX.5.MOD/quickfix/set/parties.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/parties_no_party_i_ds.ts +8 -0
- package/src/types/FIX.5.MOD/quickfix/set/peg_instructions.ts +13 -0
- package/src/types/FIX.5.MOD/quickfix/set/pos_und_instrmt_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/pos_und_instrmt_grp_no_underlyings.ts +10 -0
- package/src/types/FIX.5.MOD/quickfix/set/position_amount_data.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/position_amount_data_no_pos_amt.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/position_qty.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/position_qty_no_positions.ts +10 -0
- package/src/types/FIX.5.MOD/quickfix/set/pre_alloc_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/pre_alloc_grp_no_allocs.ts +10 -0
- package/src/types/FIX.5.MOD/quickfix/set/pre_alloc_mleg_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/pre_alloc_mleg_grp_no_allocs.ts +10 -0
- package/src/types/FIX.5.MOD/quickfix/set/price_limits.ts +6 -0
- package/src/types/FIX.5.MOD/quickfix/set/ptys_sub_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/ptys_sub_grp_no_party_sub_i_ds.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_cxl_entries_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_cxl_entries_grp_no_quote_entries.ts +11 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_entry_ack_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_entry_ack_grp_no_quote_entries.ts +32 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_entry_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_entry_grp_no_quote_entries.ts +31 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_qual_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_qual_grp_no_quote_qualifiers.ts +3 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_req_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_req_grp_no_related_sym.ts +47 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_req_legs_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_req_legs_grp_no_legs.ts +19 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_req_rjct_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_req_rjct_grp_no_related_sym.ts +46 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_set_ack_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_set_ack_grp_no_quote_sets.ts +10 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_set_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_set_grp_no_quote_sets.ts +11 -0
- package/src/types/FIX.5.MOD/quickfix/set/rel_sym_deriv_sec_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/rel_sym_deriv_sec_grp_no_related_sym.ts +16 -0
- package/src/types/FIX.5.MOD/quickfix/set/related_account.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/related_account_no_related_acc.ts +12 -0
- package/src/types/FIX.5.MOD/quickfix/set/rfq_req_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/rfq_req_grp_no_related_sym.ts +14 -0
- package/src/types/FIX.5.MOD/quickfix/set/rgst_dist_inst_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/rgst_dist_inst_grp_no_distrib_insts.ts +10 -0
- package/src/types/FIX.5.MOD/quickfix/set/rgst_dtls_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/rgst_dtls_grp_no_regist_dtls.ts +12 -0
- package/src/types/FIX.5.MOD/quickfix/set/root_parties.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/root_parties_no_root_party_i_ds.ts +8 -0
- package/src/types/FIX.5.MOD/quickfix/set/root_sub_parties.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/root_sub_parties_no_root_party_sub_i_ds.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/routing_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/routing_grp_no_routing_i_ds.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/sec_alt_id_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/sec_alt_id_grp_no_security_alt_id.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/sec_list_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/sec_list_grp_no_related_sym.ts +29 -0
- package/src/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_sym_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_sym_grp_no_related_sym.ts +28 -0
- package/src/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_syms_leg_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_syms_leg_grp_no_legs.ts +11 -0
- package/src/types/FIX.5.MOD/quickfix/set/sec_types_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/sec_types_grp_no_security_types.ts +6 -0
- package/src/types/FIX.5.MOD/quickfix/set/security_trading_rules.ts +9 -0
- package/src/types/FIX.5.MOD/quickfix/set/settl_inst_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/settl_inst_grp_no_settl_inst.ts +27 -0
- package/src/types/FIX.5.MOD/quickfix/set/settl_instructions_data.ts +9 -0
- package/src/types/FIX.5.MOD/quickfix/set/settl_parties.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/settl_parties_no_settl_party_i_ds.ts +8 -0
- package/src/types/FIX.5.MOD/quickfix/set/settl_ptys_sub_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/settl_ptys_sub_grp_no_settl_party_sub_i_ds.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/side_cross_ord_cxl_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/side_cross_ord_cxl_grp_no_sides.ts +19 -0
- package/src/types/FIX.5.MOD/quickfix/set/side_cross_ord_mod_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/side_cross_ord_mod_grp_no_sides.ts +42 -0
- package/src/types/FIX.5.MOD/quickfix/set/side_trd_reg_ts.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/side_trd_reg_ts_no_side_trd_reg_ts.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/spread_or_benchmark_curve_data.ts +10 -0
- package/src/types/FIX.5.MOD/quickfix/set/standard_header.ts +33 -0
- package/src/types/FIX.5.MOD/quickfix/set/standard_trailer.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/stipulations.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/stipulations_no_stipulations.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/strategy_parameters_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/strategy_parameters_grp_no_strategy_parameters.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/strike_rules.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/strike_rules_no_strike_rules.ts +10 -0
- package/src/types/FIX.5.MOD/quickfix/set/tick_rules.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/tick_rules_no_tick_rules.ts +6 -0
- package/src/types/FIX.5.MOD/quickfix/set/time_in_force_rules.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/time_in_force_rules_no_time_in_force_rules.ts +3 -0
- package/src/types/FIX.5.MOD/quickfix/set/trading_session_rules.ts +13 -0
- package/src/types/FIX.5.MOD/quickfix/set/trading_session_rules_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/trading_session_rules_grp_no_trading_session_rules.ts +7 -0
- package/src/types/FIX.5.MOD/quickfix/set/trd_alloc_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/trd_alloc_grp_no_allocs.ts +14 -0
- package/src/types/FIX.5.MOD/quickfix/set/trd_cap_dt_grp.ts +3 -0
- package/src/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_ack_side_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_ack_side_grp_no_sides.ts +75 -0
- package/src/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_side_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_side_grp_no_sides.ts +80 -0
- package/src/types/FIX.5.MOD/quickfix/set/trd_coll_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/trd_coll_grp_no_trades.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/trd_instrmt_leg_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/trd_instrmt_leg_grp_no_legs.ts +23 -0
- package/src/types/FIX.5.MOD/quickfix/set/trd_reg_timestamps.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/trd_reg_timestamps_no_trd_reg_timestamps.ts +8 -0
- package/src/types/FIX.5.MOD/quickfix/set/trd_sess_lst_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/trd_sess_lst_grp_no_trading_sessions.ts +19 -0
- package/src/types/FIX.5.MOD/quickfix/set/trdg_ses_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/trdg_ses_grp_no_trading_sessions.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/triggering_instruction.ts +17 -0
- package/src/types/FIX.5.MOD/quickfix/set/und_instrmt_coll_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/und_instrmt_coll_grp_no_underlyings.ts +6 -0
- package/src/types/FIX.5.MOD/quickfix/set/und_instrmt_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/und_instrmt_grp_no_underlyings.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/und_instrmt_strk_px_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/und_instrmt_strk_px_grp_no_underlyings.ts +14 -0
- package/src/types/FIX.5.MOD/quickfix/set/und_sec_alt_id_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/und_sec_alt_id_grp_no_underlying_security_alt_id.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/underlying_amount.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/underlying_amount_no_underlying_amounts.ts +6 -0
- package/src/types/FIX.5.MOD/quickfix/set/underlying_instrument.ts +64 -0
- package/src/types/FIX.5.MOD/quickfix/set/underlying_stipulations.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/underlying_stipulations_no_underlying_stips.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/undly_instrument_parties.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/undly_instrument_parties_no_undly_instrument_parties.ts +8 -0
- package/src/types/FIX.5.MOD/quickfix/set/undly_instrument_ptys_sub_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/undly_instrument_ptys_sub_grp_no_undly_instrument_party_sub_i_ds.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/yield_data.ts +8 -0
- package/src/types/FIX.5.MOD/quickfix/settlement_instruction_request.ts +24 -0
- package/src/types/FIX.5.MOD/quickfix/settlement_instructions.ts +18 -0
- package/src/types/FIX.5.MOD/quickfix/test_request.ts +8 -0
- package/src/types/FIX.5.MOD/quickfix/trade_capture_report.ts +103 -0
- package/src/types/FIX.5.MOD/quickfix/trade_capture_report_ack.ts +92 -0
- package/src/types/FIX.5.MOD/quickfix/trade_capture_report_request.ts +56 -0
- package/src/types/FIX.5.MOD/quickfix/trade_capture_report_request_ack.ts +30 -0
- package/src/types/FIX.5.MOD/quickfix/trading_session_list.ts +10 -0
- package/src/types/FIX.5.MOD/quickfix/trading_session_list_request.ts +14 -0
- package/src/types/FIX.5.MOD/quickfix/trading_session_status.ts +28 -0
- package/src/types/FIX.5.MOD/quickfix/trading_session_status_request.ts +16 -0
- package/src/types/FIX.5.MOD/quickfix/user_request.ts +14 -0
- package/src/types/FIX.5.MOD/quickfix/user_response.ts +11 -0
- package/src/util/definition-factory.ts +2 -1
- package/src/util/replay.ts +2 -2
- 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;
|
|
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":";;;;;;;;;;;;;;;AAAA,sCAAqC;AACrC,wCAAyC;AACzC,kDAA6C;AAE7C,6BAAqE;AACrE,6BAA4E;AAC5E,+DAAyD;AACzD,uCAA6C;AAC7C,uDAAkD;AAG3C,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,0BAAW;IAK1C,YAA4C,MAAoC;;QAC9E,KAAK,CAAC,MAAA,MAAM,CAAC,WAAW,CAAC,WAAW,mCAAI,IAAI,CAAC,CAAA;QADa,WAAM,GAAN,MAAM,CAAc;QAFxE,WAAM,GAAW,CAAC,CAAA;QAIxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,MAAA,MAAM,CAAC,WAAW,CAAC,WAAW,0CAAE,IAAI,cAAc,CAAC,CAAA;QAC7F,MAAM,UAAU,GAAsB,IAAI,CAAC,UAAU,EAAE,CAAA;QACvD,IAAI,UAAU,EAAE;
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;AAEA,mDAA8C;AAG9C,uCAA6C;AAC7C,uDAAkD;AAClD,8CAAyC;AAGlC,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,sBAAS;IAClD,YAA4D,MAAoB;QAC9E,KAAK,CAAC,MAAM,CAAC,CAAA;QAD6C,WAAM,GAAN,MAAM,CAAc;IAEhF,CAAC;IAEK,KAAK,CAAE,mBAA2B,CAAC;;YAEvC,OAAO,MAAM,IAAI,OAAO,CAAM,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;gBACtD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;gBACzD,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAA;gBACrD,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,oBAAQ,CAAC,UAAU,CAAC,EAAE;
|
|
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":"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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
|
+
{"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":";;;AAGA,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAC5B,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAExB,MAAa,iBAAiB;IAC5B,MAAM,CAAC,IAAI,CAAE,QAAgB;QAC3B,MAAM,IAAI,GAAW,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC1C,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,EAC7B;YACE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;SAC5B,CAAC,CAAA;IACN,CAAC;IAED,MAAM,CAAC,aAAa,CAAE,GAAgB;QACpC,IAAI,UAAU,GAAsB,IAAI,CAAA;QACxC,IAAI,GAAG,EAAE;
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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
|
+
}
|