jspurefix 2.0.2 → 2.0.5
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/appveyor.yml +1 -0
- package/dist/buffer/ascii/index.js +5 -1
- package/dist/buffer/ascii/index.js.map +1 -1
- package/dist/buffer/fixml/index.js +5 -1
- package/dist/buffer/fixml/index.js.map +1 -1
- package/dist/buffer/index.js +5 -1
- package/dist/buffer/index.js.map +1 -1
- package/dist/collections/index.js +5 -1
- package/dist/collections/index.js.map +1 -1
- package/dist/config/index.js +5 -1
- package/dist/config/index.js.map +1 -1
- package/dist/dictionary/compiler/index.js +5 -1
- package/dist/dictionary/compiler/index.js.map +1 -1
- package/dist/dictionary/contained/index.js +5 -1
- package/dist/dictionary/contained/index.js.map +1 -1
- package/dist/dictionary/definition/index.js +5 -1
- package/dist/dictionary/definition/index.js.map +1 -1
- package/dist/dictionary/index.js +5 -1
- package/dist/dictionary/index.js.map +1 -1
- package/dist/dictionary/parser/fix-repository/index.js +5 -1
- package/dist/dictionary/parser/fix-repository/index.js.map +1 -1
- package/dist/dictionary/parser/fixml/index.js +5 -1
- package/dist/dictionary/parser/fixml/index.js.map +1 -1
- package/dist/dictionary/parser/index.js +5 -1
- package/dist/dictionary/parser/index.js.map +1 -1
- package/dist/dictionary/parser/quickfix/index.js +5 -1
- package/dist/dictionary/parser/quickfix/index.js.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/runtime/index.js +5 -1
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/session-launcher.js +2 -2
- package/dist/runtime/session-launcher.js.map +1 -1
- package/dist/sample/tcp/skeleton/jsfix.test_client.txt +6 -0
- package/dist/sample/tcp/skeleton/jsfix.test_server.txt +6 -0
- package/dist/sample/tcp/trade-capture/index.js +5 -1
- package/dist/sample/tcp/trade-capture/index.js.map +1 -1
- package/dist/sample/tcp/trade-capture/jsfix.test_client.txt +16 -11
- package/dist/sample/tcp/trade-capture/jsfix.test_server.txt +16 -10
- package/dist/store/index.js +5 -1
- package/dist/store/index.js.map +1 -1
- package/dist/transport/ascii/index.js +5 -1
- package/dist/transport/ascii/index.js.map +1 -1
- package/dist/transport/duplex/index.js +5 -1
- package/dist/transport/duplex/index.js.map +1 -1
- package/dist/transport/factory/index.js +5 -1
- package/dist/transport/factory/index.js.map +1 -1
- package/dist/transport/fixml/index.js +5 -1
- package/dist/transport/fixml/index.js.map +1 -1
- package/dist/transport/http/index.js +5 -1
- package/dist/transport/http/index.js.map +1 -1
- package/dist/transport/index.js +5 -1
- package/dist/transport/index.js.map +1 -1
- package/dist/transport/tcp/index.js +5 -1
- package/dist/transport/tcp/index.js.map +1 -1
- package/dist/transport/tcp/tls-options-factory.js +11 -7
- package/dist/transport/tcp/tls-options-factory.js.map +1 -1
- package/dist/types/FIX.5.0SP2/repo/enum/index.js +5 -1
- package/dist/types/FIX.5.0SP2/repo/enum/index.js.map +1 -1
- package/dist/types/FIX.5.0SP2/repo/index.js +5 -1
- package/dist/types/FIX.5.0SP2/repo/index.js.map +1 -1
- package/dist/types/FIX4.0/repo/enum/index.js +5 -1
- package/dist/types/FIX4.0/repo/enum/index.js.map +1 -1
- package/dist/types/FIX4.0/repo/index.js +5 -1
- package/dist/types/FIX4.0/repo/index.js.map +1 -1
- package/dist/types/FIX4.1/repo/enum/index.js +5 -1
- package/dist/types/FIX4.1/repo/enum/index.js.map +1 -1
- package/dist/types/FIX4.1/repo/index.js +5 -1
- package/dist/types/FIX4.1/repo/index.js.map +1 -1
- package/dist/types/FIX4.2/repo/enum/index.js +5 -1
- package/dist/types/FIX4.2/repo/enum/index.js.map +1 -1
- package/dist/types/FIX4.2/repo/index.js +5 -1
- package/dist/types/FIX4.2/repo/index.js.map +1 -1
- package/dist/types/FIX4.3/repo/enum/index.js +5 -1
- package/dist/types/FIX4.3/repo/enum/index.js.map +1 -1
- package/dist/types/FIX4.3/repo/index.js +5 -1
- package/dist/types/FIX4.3/repo/index.js.map +1 -1
- package/dist/types/FIX4.4/quickfix/enum/index.js +5 -1
- package/dist/types/FIX4.4/quickfix/enum/index.js.map +1 -1
- package/dist/types/FIX4.4/quickfix/index.js +5 -1
- package/dist/types/FIX4.4/quickfix/index.js.map +1 -1
- package/dist/types/FIX4.4/repo/enum/index.js +5 -1
- package/dist/types/FIX4.4/repo/enum/index.js.map +1 -1
- package/dist/types/FIX4.4/repo/index.js +5 -1
- package/dist/types/FIX4.4/repo/index.js.map +1 -1
- package/dist/types/FIXML50SP2/enum/index.js +5 -1
- package/dist/types/FIXML50SP2/enum/index.js.map +1 -1
- package/dist/types/FIXML50SP2/index.js +5 -1
- package/dist/types/FIXML50SP2/index.js.map +1 -1
- package/dist/types/enum/index.js +5 -1
- package/dist/types/enum/index.js.map +1 -1
- package/dist/types/index.js +5 -1
- package/dist/types/index.js.map +1 -1
- package/dist/util/index.js +5 -1
- package/dist/util/index.js.map +1 -1
- package/package.json +14 -14
- package/src/runtime/session-launcher.ts +2 -2
- package/src/transport/tcp/tls-options-factory.ts +13 -7
- package/.eslintrc.js +0 -6
- package/dist/a-session-msg-factory.d.ts +0 -0
- package/dist/a-session-msg-factory.js +0 -1
- package/dist/a-session-msg-factory.js.map +0 -1
- package/dist/ascii-encoder.test.d.ts +0 -0
- package/dist/ascii-encoder.test.js +0 -1
- package/dist/ascii-encoder.test.js.map +0 -1
- package/dist/ascii-parser.test.d.ts +0 -0
- package/dist/ascii-parser.test.js +0 -1
- package/dist/ascii-parser.test.js.map +0 -1
- package/dist/ascii-segment.test.d.ts +0 -0
- package/dist/ascii-segment.test.js +0 -1
- package/dist/ascii-segment.test.js.map +0 -1
- package/dist/ascii-store-replay.test.d.ts +0 -0
- package/dist/ascii-store-replay.test.js +0 -1
- package/dist/ascii-store-replay.test.js.map +0 -1
- package/dist/ascii-tag-pos.test.d.ts +0 -0
- package/dist/ascii-tag-pos.test.js +0 -1
- package/dist/ascii-tag-pos.test.js.map +0 -1
- package/dist/buffer/segment-description.d.ts +0 -26
- package/dist/buffer/segment-description.js +0 -72
- package/dist/buffer/segment-description.js.map +0 -1
- package/dist/buffer/segment-summary.d.ts +0 -13
- package/dist/buffer/segment-summary.js +0 -20
- package/dist/buffer/segment-summary.js.map +0 -1
- package/dist/buffer/segment-type.d.ts +0 -8
- package/dist/buffer/segment-type.js +0 -13
- package/dist/buffer/segment-type.js.map +0 -1
- package/dist/buffer/tag-pos.d.ts +0 -12
- package/dist/buffer/tag-pos.js +0 -55
- package/dist/buffer/tag-pos.js.map +0 -1
- package/dist/buffer/tag-type.d.ts +0 -13
- package/dist/buffer/tag-type.js +0 -18
- package/dist/buffer/tag-type.js.map +0 -1
- package/dist/buffer/tags.d.ts +0 -21
- package/dist/buffer/tags.js +0 -122
- package/dist/buffer/tags.js.map +0 -1
- package/dist/dictionary/parser/fix-repository/repository-msg.d.ts +0 -0
- package/dist/dictionary/parser/fix-repository/repository-msg.js +0 -1
- package/dist/dictionary/parser/fix-repository/repository-msg.js.map +0 -1
- package/dist/execution-report.test.d.ts +0 -0
- package/dist/execution-report.test.js +0 -1
- package/dist/execution-report.test.js.map +0 -1
- package/dist/experiment.d.ts +0 -0
- package/dist/experiment.js +0 -1
- package/dist/experiment.js.map +0 -1
- package/dist/fix-repo-dict.test.d.ts +0 -0
- package/dist/fix-repo-dict.test.js +0 -1
- package/dist/fix-repo-dict.test.js.map +0 -1
- package/dist/fix-session-state-args.d.ts +0 -0
- package/dist/fix-session-state-args.js +0 -1
- package/dist/fix-session-state-args.js.map +0 -1
- package/dist/fix-session-state.d.ts +0 -0
- package/dist/fix-session-state.js +0 -1
- package/dist/fix-session-state.js.map +0 -1
- package/dist/fix-session.d.ts +0 -0
- package/dist/fix-session.js +0 -1
- package/dist/fix-session.js.map +0 -1
- package/dist/fix.txt +0 -1
- package/dist/fixml-alloc-parse.test.d.ts +0 -0
- package/dist/fixml-alloc-parse.test.js +0 -1
- package/dist/fixml-alloc-parse.test.js.map +0 -1
- package/dist/fixml-mkt-data-fut-parse.test.d.ts +0 -0
- package/dist/fixml-mkt-data-fut-parse.test.js +0 -1
- package/dist/fixml-mkt-data-fut-parse.test.js.map +0 -1
- package/dist/fixml-mkt-data-settle-parse.test.d.ts +0 -0
- package/dist/fixml-mkt-data-settle-parse.test.js +0 -1
- package/dist/fixml-mkt-data-settle-parse.test.js.map +0 -1
- package/dist/fixml-tc-bi-lateral-parse.test.d.ts +0 -0
- package/dist/fixml-tc-bi-lateral-parse.test.js +0 -1
- package/dist/fixml-tc-bi-lateral-parse.test.js.map +0 -1
- package/dist/includes.test.d.ts +0 -0
- package/dist/includes.test.js +0 -1
- package/dist/includes.test.js.map +0 -1
- package/dist/launcher.d.ts +0 -0
- package/dist/launcher.js +0 -1
- package/dist/launcher.js.map +0 -1
- package/dist/logon.test.d.ts +0 -0
- package/dist/logon.test.js +0 -1
- package/dist/logon.test.js.map +0 -1
- package/dist/make-fix-session.d.ts +0 -0
- package/dist/make-fix-session.js +0 -1
- package/dist/make-fix-session.js.map +0 -1
- package/dist/memory-store.test.d.ts +0 -0
- package/dist/memory-store.test.js +0 -1
- package/dist/memory-store.test.js.map +0 -1
- package/dist/object.json +0 -691
- package/dist/qf-full-msg.test.d.ts +0 -0
- package/dist/qf-full-msg.test.js +0 -1
- package/dist/qf-full-msg.test.js.map +0 -1
- package/dist/repo-full-ascii-msg.test.d.ts +0 -0
- package/dist/repo-full-ascii-msg.test.js +0 -1
- package/dist/repo-full-ascii-msg.test.js.map +0 -1
- package/dist/runtime/DITokens.d.ts +0 -20
- package/dist/runtime/DITokens.js +0 -25
- package/dist/runtime/DITokens.js.map +0 -1
- package/dist/runtime/app-launcher.d.ts +0 -27
- package/dist/runtime/app-launcher.js +0 -131
- package/dist/runtime/app-launcher.js.map +0 -1
- package/dist/runtime/launcher.d.ts +0 -29
- package/dist/runtime/launcher.js +0 -131
- package/dist/runtime/launcher.js.map +0 -1
- package/dist/sample/launcher.d.ts +0 -29
- package/dist/sample/launcher.js +0 -131
- package/dist/sample/launcher.js.map +0 -1
- package/dist/sample/tcp/trade-capture/app-launher.d.ts +0 -0
- package/dist/sample/tcp/trade-capture/app-launher.js +0 -1
- package/dist/sample/tcp/trade-capture/app-launher.js.map +0 -1
- package/dist/segment-description.d.ts +0 -0
- package/dist/segment-description.js +0 -1
- package/dist/segment-description.js.map +0 -1
- package/dist/segment-summary.d.ts +0 -0
- package/dist/segment-summary.js +0 -1
- package/dist/segment-summary.js.map +0 -1
- package/dist/segment-type.d.ts +0 -0
- package/dist/segment-type.js +0 -1
- package/dist/segment-type.js.map +0 -1
- package/dist/session-description.d.ts +0 -0
- package/dist/session-description.js +0 -1
- package/dist/session-description.js.map +0 -1
- package/dist/session-msg-factory.d.ts +0 -0
- package/dist/session-msg-factory.js +0 -1
- package/dist/session-msg-factory.js.map +0 -1
- package/dist/session-state.d.ts +0 -0
- package/dist/session-state.js +0 -1
- package/dist/session-state.js.map +0 -1
- package/dist/session-state.test.d.ts +0 -0
- package/dist/session-state.test.js +0 -1
- package/dist/session-state.test.js.map +0 -1
- package/dist/session.test.d.ts +0 -0
- package/dist/session.test.js +0 -1
- package/dist/session.test.js.map +0 -1
- package/dist/setup.d.ts +0 -0
- package/dist/setup.js +0 -1
- package/dist/setup.js.map +0 -1
- package/dist/skeleton-runner.d.ts +0 -0
- package/dist/skeleton-runner.js +0 -1
- package/dist/skeleton-runner.js.map +0 -1
- package/dist/structure.json +0 -631
- package/dist/tag-pos.d.ts +0 -0
- package/dist/tag-pos.js +0 -1
- package/dist/tag-pos.js.map +0 -1
- package/dist/tag-type.d.ts +0 -0
- package/dist/tag-type.js +0 -1
- package/dist/tag-type.js.map +0 -1
- package/dist/tags.d.ts +0 -0
- package/dist/tags.js +0 -1
- package/dist/tags.js.map +0 -1
- package/dist/test/ascii-encoder.test.d.ts +0 -1
- package/dist/test/ascii-encoder.test.js +0 -508
- package/dist/test/ascii-encoder.test.js.map +0 -1
- package/dist/test/ascii-parser.test.d.ts +0 -1
- package/dist/test/ascii-parser.test.js +0 -123
- package/dist/test/ascii-parser.test.js.map +0 -1
- package/dist/test/ascii-segment.test.d.ts +0 -1
- package/dist/test/ascii-segment.test.js +0 -86
- package/dist/test/ascii-segment.test.js.map +0 -1
- package/dist/test/ascii-store-replay.test.d.ts +0 -1
- package/dist/test/ascii-store-replay.test.js +0 -92
- package/dist/test/ascii-store-replay.test.js.map +0 -1
- package/dist/test/ascii-tag-pos.test.d.ts +0 -1
- package/dist/test/ascii-tag-pos.test.js +0 -105
- package/dist/test/ascii-tag-pos.test.js.map +0 -1
- package/dist/test/execution-report.test.d.ts +0 -1
- package/dist/test/execution-report.test.js +0 -494
- package/dist/test/execution-report.test.js.map +0 -1
- package/dist/test/experiment.d.ts +0 -23
- package/dist/test/experiment.js +0 -33
- package/dist/test/experiment.js.map +0 -1
- package/dist/test/expieriment.d.ts +0 -23
- package/dist/test/expieriment.js +0 -33
- package/dist/test/expieriment.js.map +0 -1
- package/dist/test/fix-log-replay.test.d.ts +0 -1
- package/dist/test/fix-log-replay.test.js +0 -47
- package/dist/test/fix-log-replay.test.js.map +0 -1
- package/dist/test/fix-repo-dict.test.d.ts +0 -1
- package/dist/test/fix-repo-dict.test.js +0 -128
- package/dist/test/fix-repo-dict.test.js.map +0 -1
- package/dist/test/fixml-alloc-parse.test.d.ts +0 -1
- package/dist/test/fixml-alloc-parse.test.js +0 -161
- package/dist/test/fixml-alloc-parse.test.js.map +0 -1
- package/dist/test/fixml-mkt-data-fut-parse.test.d.ts +0 -1
- package/dist/test/fixml-mkt-data-fut-parse.test.js +0 -61
- package/dist/test/fixml-mkt-data-fut-parse.test.js.map +0 -1
- package/dist/test/fixml-mkt-data-settle-parse.test.d.ts +0 -1
- package/dist/test/fixml-mkt-data-settle-parse.test.js +0 -34
- package/dist/test/fixml-mkt-data-settle-parse.test.js.map +0 -1
- package/dist/test/fixml-tc-bi-lateral-parse.test.d.ts +0 -1
- package/dist/test/fixml-tc-bi-lateral-parse.test.js +0 -97
- package/dist/test/fixml-tc-bi-lateral-parse.test.js.map +0 -1
- package/dist/test/includes.test.d.ts +0 -1
- package/dist/test/includes.test.js +0 -43
- package/dist/test/includes.test.js.map +0 -1
- package/dist/test/logon.test.d.ts +0 -1
- package/dist/test/logon.test.js +0 -93
- package/dist/test/logon.test.js.map +0 -1
- package/dist/test/memory-store.test.d.ts +0 -1
- package/dist/test/memory-store.test.js +0 -78
- package/dist/test/memory-store.test.js.map +0 -1
- package/dist/test/qf-full-msg.test.d.ts +0 -1
- package/dist/test/qf-full-msg.test.js +0 -81
- package/dist/test/qf-full-msg.test.js.map +0 -1
- package/dist/test/repo-full-ascii-msg.test.d.ts +0 -1
- package/dist/test/repo-full-ascii-msg.test.js +0 -87
- package/dist/test/repo-full-ascii-msg.test.js.map +0 -1
- package/dist/test/repo-full-fixml-msg.test.d.ts +0 -1
- package/dist/test/repo-full-fixml-msg.test.js +0 -139
- package/dist/test/repo-full-fixml-msg.test.js.map +0 -1
- package/dist/test/session-state.test.d.ts +0 -1
- package/dist/test/session-state.test.js +0 -73
- package/dist/test/session-state.test.js.map +0 -1
- package/dist/test/session.test.d.ts +0 -1
- package/dist/test/session.test.js +0 -280
- package/dist/test/session.test.js.map +0 -1
- package/dist/test/setup.d.ts +0 -45
- package/dist/test/setup.js +0 -102
- package/dist/test/setup.js.map +0 -1
- package/dist/test/skeleton-runner.d.ts +0 -15
- package/dist/test/skeleton-runner.js +0 -108
- package/dist/test/skeleton-runner.js.map +0 -1
- package/dist/test/time-formatter.test.d.ts +0 -1
- package/dist/test/time-formatter.test.js +0 -80
- package/dist/test/time-formatter.test.js.map +0 -1
- package/dist/test/to-views.d.ts +0 -11
- package/dist/test/to-views.js +0 -56
- package/dist/test/to-views.js.map +0 -1
- package/dist/test/view-decode.test.d.ts +0 -1
- package/dist/test/view-decode.test.js +0 -183
- package/dist/test/view-decode.test.js.map +0 -1
- package/dist/time-formatter.test.d.ts +0 -0
- package/dist/time-formatter.test.js +0 -1
- package/dist/time-formatter.test.js.map +0 -1
- package/dist/to-views.d.ts +0 -0
- package/dist/to-views.js +0 -1
- package/dist/to-views.js.map +0 -1
- package/dist/token.txt +0 -248
- package/dist/transport/FixEntity.d.ts +0 -8
- package/dist/transport/FixEntity.js +0 -12
- package/dist/transport/FixEntity.js.map +0 -1
- package/dist/transport/a-session-msg-factory.d.ts +0 -23
- package/dist/transport/a-session-msg-factory.js +0 -58
- package/dist/transport/a-session-msg-factory.js.map +0 -1
- package/dist/transport/fix-msg-factory.d.ts +0 -15
- package/dist/transport/fix-msg-factory.js +0 -3
- package/dist/transport/fix-msg-factory.js.map +0 -1
- package/dist/transport/fix-session-state-args.d.ts +0 -8
- package/dist/transport/fix-session-state-args.js +0 -3
- package/dist/transport/fix-session-state-args.js.map +0 -1
- package/dist/transport/fix-session-state.d.ts +0 -32
- package/dist/transport/fix-session-state.js +0 -133
- package/dist/transport/fix-session-state.js.map +0 -1
- package/dist/transport/fix-session.d.ts +0 -50
- package/dist/transport/fix-session.js +0 -291
- package/dist/transport/fix-session.js.map +0 -1
- package/dist/transport/make-fix-session.d.ts +0 -5
- package/dist/transport/make-fix-session.js +0 -3
- package/dist/transport/make-fix-session.js.map +0 -1
- package/dist/transport/session-description.d.ts +0 -17
- package/dist/transport/session-description.js +0 -3
- package/dist/transport/session-description.js.map +0 -1
- package/dist/transport/session-msg-factory.d.ts +0 -15
- package/dist/transport/session-msg-factory.js +0 -3
- package/dist/transport/session-msg-factory.js.map +0 -1
- package/dist/transport/session-state.d.ts +0 -25
- package/dist/transport/session-state.js +0 -30
- package/dist/transport/session-state.js.map +0 -1
package/dist/token.txt
DELETED
|
@@ -1,248 +0,0 @@
|
|
|
1
|
-
[0] 8 (BeginString) = FIX4.4, [1] 9 (BodyLength) = 0004996
|
|
2
|
-
[2] 35 (MsgType) = AE[TradeCaptureReport], [3] 49 (SenderCompID) = init-comp
|
|
3
|
-
[4] 56 (TargetCompID) = accept-comp, [5] 34 (MsgSeqNum) = 1
|
|
4
|
-
[6] 57 (TargetSubID) = fix, [7] 52 (SendingTime) = 20211227-14:01:51.366
|
|
5
|
-
[8] 571 (TradeReportID) = Lorem, [9] 856 (TradeReportType) = 3[Decline]
|
|
6
|
-
[10] 568 (TradeRequestID) = ipsum, [11] 828 (TrdType) = 1[BlockTrade]
|
|
7
|
-
[12] 829 (TrdSubType) = 78693, [13] 830 (TransferReason) = dolor
|
|
8
|
-
[14] 150 (ExecType) = D[Restated], [15] 748 (TotNumTradeReports) = 50836
|
|
9
|
-
[16] 912 (LastRptRequested) = Y, [17] 263 (SubscriptionRequestType) = 2[DisablePreviousSnapshot]
|
|
10
|
-
[18] 572 (TradeReportRefID) = sit, [19] 881 (SecondaryTradeReportRefID) = amet,
|
|
11
|
-
[20] 818 (SecondaryTradeReportID) = consectetur, [21] 820 (TradeLinkID) = adipiscing
|
|
12
|
-
[22] 880 (TrdMatchID) = elit., [23] 17 (ExecID) = Nunc
|
|
13
|
-
[24] 39 (OrdStatus) = B[Calculated], [25] 527 (SecondaryExecID) = odio
|
|
14
|
-
[26] 378 (ExecRestatementReason) = 2[VerbalChange], [27] 570 (PreviouslyReported) = Y[PerviouslyReportedToCounterparty]
|
|
15
|
-
[28] 423 (PriceType) = 2[PerUnit], [29] 55 (Symbol) = orci,
|
|
16
|
-
[30] 65 (SymbolSfx) = blandit, [31] 22 (SecurityIDSource) = 4[IsinNumber]
|
|
17
|
-
[32] 454 (NoSecurityAltID) = 1, [33] 455 (SecurityAltID) = vel
|
|
18
|
-
[34] 456 (SecurityAltIDSource) = semper, [35] 460 (Product) = 10[Mortgage]
|
|
19
|
-
[36] 461 (CFICode) = sed,, [37] 762 (SecuritySubType) = bibendum
|
|
20
|
-
[38] 200 (MaturityMonthYear) = cursus, [39] 541 (MaturityDate) = 20211227
|
|
21
|
-
[40] 201 (PutOrCall) = 1[Call], [41] 224 (CouponPaymentDate) = 20211227
|
|
22
|
-
[42] 225 (IssueDate) = 20211227, [43] 239 (RepoCollateralSecurityType) = lectus.
|
|
23
|
-
[44] 226 (RepurchaseTerm) = 45548, [45] 227 (RepurchaseRate) = 92.28
|
|
24
|
-
[46] 228 (Factor) = 0.8766, [47] 255 (CreditRating) = Aenean
|
|
25
|
-
[48] 543 (InstrRegistry) = vel, [49] 470 (CountryOfIssue) = diam
|
|
26
|
-
[50] 471 (StateOrProvinceOfIssue) = magna., [51] 472 (LocaleOfIssue) = Aenean
|
|
27
|
-
[52] 240 (RedemptionDate) = 20211227, [53] 202 (StrikePrice) = 0.0054226
|
|
28
|
-
[54] 231 (ContractMultiplier) = 0.0008984, [55] 223 (CouponRate) = 0.0053331
|
|
29
|
-
[56] 207 (SecurityExchange) = et, [57] 106 (Issuer) = viverra
|
|
30
|
-
[58] 348 (EncodedIssuerLen) = 90757, [59] 107 (SecurityDesc) = leo,
|
|
31
|
-
[60] 350 (EncodedSecurityDescLen) = 59375, [61] 691 (Pool) = non
|
|
32
|
-
[62] 875 (CPProgram) = 2[Program42], [63] 876 (CPRegType) = iaculis
|
|
33
|
-
[64] 864 (NoEvents) = 1, [65] 865 (EventType) = 3[Tender]
|
|
34
|
-
[66] 866 (EventDate) = 20211227, [67] 867 (EventPx) = 41.183
|
|
35
|
-
[68] 868 (EventText) = neque., [69] 874 (InterestAccrualDate) = 20211227
|
|
36
|
-
[70] 913 (AgreementDesc) = Nullam, [71] 914 (AgreementID) = arcu
|
|
37
|
-
[72] 915 (AgreementDate) = 20211227, [73] 918 (AgreementCurrency) = lectus,
|
|
38
|
-
[74] 916 (StartDate) = 20211227, [75] 917 (EndDate) = 20211227
|
|
39
|
-
[76] 919 (DeliveryType) = 0[VersusPayment], [77] 898 (MarginRatio) = -3.4301
|
|
40
|
-
[78] 38 (OrderQty) = -0.0007189, [79] 516 (OrderPercent) = 9.7936
|
|
41
|
-
[80] 469 (RoundingModulus) = 6317.9, [81] 854 (QtyType) = 1[Contracts]
|
|
42
|
-
[82] 235 (YieldType) = SIMPLE[SimpleYield], [83] 236 (Yield) = 2.3533
|
|
43
|
-
[84] 701 (YieldCalcDate) = 20211227, [85] 698 (YieldRedemptionPriceType) = 65958
|
|
44
|
-
[86] 711 (NoUnderlyings) = 3, [87] 311 (UnderlyingSymbol) = dignissim
|
|
45
|
-
[88] 312 (UnderlyingSymbolSfx) = eget, [89] 305 (UnderlyingSecurityIDSource) = auctor
|
|
46
|
-
[90] 457 (NoUnderlyingSecurityAltID) = 3, [91] 458 (UnderlyingSecurityAltID) = vitae,
|
|
47
|
-
[92] 459 (UnderlyingSecurityAltIDSource) = maximus, [93] 458 (UnderlyingSecurityAltID) = ac
|
|
48
|
-
[94] 459 (UnderlyingSecurityAltIDSource) = quam., [95] 458 (UnderlyingSecurityAltID) = Quisque
|
|
49
|
-
[96] 462 (UnderlyingProduct) = 40726, [97] 463 (UnderlyingCFICode) = varius
|
|
50
|
-
[98] 313 (UnderlyingMaturityMonthYear) = tincidunt, [99] 315 (UnderlyingPutOrCall) = 38931
|
|
51
|
-
[100] 242 (UnderlyingIssueDate) = 20211227, [101] 243 (UnderlyingRepoCollateralSecurityType) = auctor.
|
|
52
|
-
[102] 244 (UnderlyingRepurchaseTerm) = 61916, [103] 245 (UnderlyingRepurchaseRate) = 0.0007039
|
|
53
|
-
[104] 256 (UnderlyingCreditRating) = Class, [105] 595 (UnderlyingInstrRegistry) = aptent
|
|
54
|
-
[106] 592 (UnderlyingCountryOfIssue) = taciti, [107] 593 (UnderlyingStateOrProvinceOfIssue) = sociosqu
|
|
55
|
-
[108] 247 (UnderlyingRedemptionDate) = 20211227, [109] 316 (UnderlyingStrikePrice) = 50.65
|
|
56
|
-
[110] 941 (UnderlyingStrikeCurrency) = ad, [111] 317 (UnderlyingOptAttribute) = litora
|
|
57
|
-
[112] 436 (UnderlyingContractMultiplier) = 85.628, [113] 435 (UnderlyingCouponRate) = -0.31303
|
|
58
|
-
[114] 308 (UnderlyingSecurityExchange) = torquent, [115] 306 (UnderlyingIssuer) = per
|
|
59
|
-
[116] 364 (EncodedUnderlyingSecurityDescLen) = 93974, [117] 878 (UnderlyingCPRegType) = conubia
|
|
60
|
-
[118] 318 (UnderlyingCurrency) = nostra,, [119] 879 (UnderlyingQty) = 0.0006515
|
|
61
|
-
[120] 810 (UnderlyingPx) = -0.0001727, [121] 883 (UnderlyingEndPrice) = 0.011643
|
|
62
|
-
[122] 884 (UnderlyingStartValue) = 12.53, [123] 886 (UnderlyingEndValue) = 88.145
|
|
63
|
-
[124] 887 (NoUnderlyingStips) = 2, [125] 888 (UnderlyingStipType) = per
|
|
64
|
-
[126] 889 (UnderlyingStipValue) = inceptos, [127] 888 (UnderlyingStipType) = himenaeos.
|
|
65
|
-
[128] 889 (UnderlyingStipValue) = Pellentesque, [129] 311 (UnderlyingSymbol) = eu
|
|
66
|
-
[130] 312 (UnderlyingSymbolSfx) = luctus, [131] 309 (UnderlyingSecurityID) = risus,
|
|
67
|
-
[132] 305 (UnderlyingSecurityIDSource) = et, [133] 457 (NoUnderlyingSecurityAltID) = 1
|
|
68
|
-
[134] 458 (UnderlyingSecurityAltID) = tincidunt, [135] 463 (UnderlyingCFICode) = nunc.
|
|
69
|
-
[136] 310 (UnderlyingSecurityType) = Morbi, [137] 763 (UnderlyingSecuritySubType) = tellus
|
|
70
|
-
[138] 313 (UnderlyingMaturityMonthYear) = mi,, [139] 542 (UnderlyingMaturityDate) = 20211227
|
|
71
|
-
[140] 315 (UnderlyingPutOrCall) = 3523, [141] 242 (UnderlyingIssueDate) = 20211227
|
|
72
|
-
[142] 243 (UnderlyingRepoCollateralSecurityType) = feugiat, [143] 244 (UnderlyingRepurchaseTerm) = 94140
|
|
73
|
-
[144] 245 (UnderlyingRepurchaseRate) = 0.048706, [145] 246 (UnderlyingFactor) = 0.082392
|
|
74
|
-
[146] 595 (UnderlyingInstrRegistry) = vel, [147] 593 (UnderlyingStateOrProvinceOfIssue) = dictum
|
|
75
|
-
[148] 594 (UnderlyingLocaleOfIssue) = ac,, [149] 247 (UnderlyingRedemptionDate) = 20211227
|
|
76
|
-
[150] 316 (UnderlyingStrikePrice) = 0.0004474, [151] 941 (UnderlyingStrikeCurrency) = posuere
|
|
77
|
-
[152] 317 (UnderlyingOptAttribute) = non, [153] 436 (UnderlyingContractMultiplier) = 0.11404
|
|
78
|
-
[154] 435 (UnderlyingCouponRate) = 0.0752, [155] 306 (UnderlyingIssuer) = nibh.
|
|
79
|
-
[156] 362 (EncodedUnderlyingIssuerLen) = 67554, [157] 364 (EncodedUnderlyingSecurityDescLen) = 6124
|
|
80
|
-
[158] 877 (UnderlyingCPProgram) = Pellentesque, [159] 878 (UnderlyingCPRegType) = ornare,
|
|
81
|
-
[160] 879 (UnderlyingQty) = -19.382, [161] 810 (UnderlyingPx) = 518.56
|
|
82
|
-
[162] 882 (UnderlyingDirtyPrice) = -0.0009747, [163] 883 (UnderlyingEndPrice) = 0.42528
|
|
83
|
-
[164] 884 (UnderlyingStartValue) = 24.846, [165] 885 (UnderlyingCurrentValue) = -0.0539
|
|
84
|
-
[166] 886 (UnderlyingEndValue) = -6509.3, [167] 887 (NoUnderlyingStips) = 1
|
|
85
|
-
[168] 888 (UnderlyingStipType) = lorem, [169] 889 (UnderlyingStipValue) = semper
|
|
86
|
-
[170] 311 (UnderlyingSymbol) = consequat, [171] 312 (UnderlyingSymbolSfx) = laoreet,
|
|
87
|
-
[172] 309 (UnderlyingSecurityID) = sapien, [173] 305 (UnderlyingSecurityIDSource) = odio
|
|
88
|
-
[174] 457 (NoUnderlyingSecurityAltID) = 1, [175] 458 (UnderlyingSecurityAltID) = tempor
|
|
89
|
-
[176] 462 (UnderlyingProduct) = 64791, [177] 463 (UnderlyingCFICode) = velit,
|
|
90
|
-
[178] 310 (UnderlyingSecurityType) = a, [179] 763 (UnderlyingSecuritySubType) = sollicitudin
|
|
91
|
-
[180] 313 (UnderlyingMaturityMonthYear) = purus, [181] 542 (UnderlyingMaturityDate) = 20211227
|
|
92
|
-
[182] 315 (UnderlyingPutOrCall) = 55547, [183] 241 (UnderlyingCouponPaymentDate) = 20211227
|
|
93
|
-
[184] 243 (UnderlyingRepoCollateralSecurityType) = augue, [185] 244 (UnderlyingRepurchaseTerm) = 29082
|
|
94
|
-
[186] 245 (UnderlyingRepurchaseRate) = 0.018622, [187] 246 (UnderlyingFactor) = -0.0099393
|
|
95
|
-
[188] 256 (UnderlyingCreditRating) = ut, [189] 595 (UnderlyingInstrRegistry) = odio.
|
|
96
|
-
[190] 592 (UnderlyingCountryOfIssue) = Proin, [191] 593 (UnderlyingStateOrProvinceOfIssue) = tempor
|
|
97
|
-
[192] 594 (UnderlyingLocaleOfIssue) = justo, [193] 247 (UnderlyingRedemptionDate) = 20211227
|
|
98
|
-
[194] 317 (UnderlyingOptAttribute) = nisi,, [195] 436 (UnderlyingContractMultiplier) = 719.84
|
|
99
|
-
[196] 435 (UnderlyingCouponRate) = 0.5477, [197] 308 (UnderlyingSecurityExchange) = ut
|
|
100
|
-
[198] 306 (UnderlyingIssuer) = euismod, [199] 362 (EncodedUnderlyingIssuerLen) = 94466
|
|
101
|
-
[200] 307 (UnderlyingSecurityDesc) = nibh, [201] 364 (EncodedUnderlyingSecurityDescLen) = 40167
|
|
102
|
-
[202] 877 (UnderlyingCPProgram) = convallis, [203] 878 (UnderlyingCPRegType) = at.
|
|
103
|
-
[204] 318 (UnderlyingCurrency) = Donec, [205] 879 (UnderlyingQty) = -0.73901
|
|
104
|
-
[206] 882 (UnderlyingDirtyPrice) = 934.11, [207] 883 (UnderlyingEndPrice) = 0.026
|
|
105
|
-
[208] 885 (UnderlyingCurrentValue) = 0.04018, [209] 886 (UnderlyingEndValue) = -0.0008814
|
|
106
|
-
[210] 887 (NoUnderlyingStips) = 2, [211] 888 (UnderlyingStipType) = fermentum
|
|
107
|
-
[212] 889 (UnderlyingStipValue) = erat, [213] 888 (UnderlyingStipType) = risus,
|
|
108
|
-
[214] 822 (UnderlyingTradingSessionID) = vel, [215] 823 (UnderlyingTradingSessionSubID) = placerat
|
|
109
|
-
[216] 32 (LastQty) = -0.0019538, [217] 31 (LastPx) = -0.078948
|
|
110
|
-
[218] 669 (LastParPx) = -0.006833, [219] 194 (LastSpotRate) = -4.468
|
|
111
|
-
[220] 715 (ClearingBusinessDate) = 20211227, [221] 6 (AvgPx) = 9.827
|
|
112
|
-
[222] 218 (Spread) = 4.4614, [223] 220 (BenchmarkCurveCurrency) = nulla
|
|
113
|
-
[224] 221 (BenchmarkCurveName) = luctus, [225] 222 (BenchmarkCurvePoint) = ac.
|
|
114
|
-
[226] 663 (BenchmarkPriceType) = 51942, [227] 699 (BenchmarkSecurityID) = Vivamus
|
|
115
|
-
[228] 761 (BenchmarkSecurityIDSource) = vel, [229] 819 (AvgPxIndicator) = 2[LastTrade]
|
|
116
|
-
[230] 753 (NoPosAmt) = 1, [231] 707 (PosAmtType) = CASH[CashAmount]
|
|
117
|
-
[232] 708 (PosAmt) = -0.64577, [233] 442 (MultiLegReportingType) = 1[SingleSecurity]
|
|
118
|
-
[234] 824 (TradeLegRefID) = mi, [235] 555 (NoLegs) = 2
|
|
119
|
-
[236] 600 (LegSymbol) = eros., [237] 601 (LegSymbolSfx) = Nam
|
|
120
|
-
[238] 602 (LegSecurityID) = arcu, [239] 603 (LegSecurityIDSource) = urna,
|
|
121
|
-
[240] 604 (NoLegSecurityAltID) = 3, [241] 605 (LegSecurityAltID) = rhoncus
|
|
122
|
-
[242] 606 (LegSecurityAltIDSource) = sit, [243] 605 (LegSecurityAltID) = amet
|
|
123
|
-
[244] 606 (LegSecurityAltIDSource) = bibendum, [245] 605 (LegSecurityAltID) = sit
|
|
124
|
-
[246] 608 (LegCFICode) = amet,, [247] 609 (LegSecurityType) = eleifend
|
|
125
|
-
[248] 764 (LegSecuritySubType) = non, [249] 610 (LegMaturityMonthYear) = massa.
|
|
126
|
-
[250] 611 (LegMaturityDate) = 20211227, [251] 248 (LegCouponPaymentDate) = 20211227
|
|
127
|
-
[252] 249 (LegIssueDate) = 20211227, [253] 250 (LegRepoCollateralSecurityType) = Nam
|
|
128
|
-
[254] 251 (LegRepurchaseTerm) = 17316, [255] 253 (LegFactor) = -0.07926
|
|
129
|
-
[256] 257 (LegCreditRating) = metus, [257] 597 (LegStateOrProvinceOfIssue) = mi,
|
|
130
|
-
[258] 598 (LegLocaleOfIssue) = maximus, [259] 612 (LegStrikePrice) = -1.1535
|
|
131
|
-
[260] 942 (LegStrikeCurrency) = et, [261] 614 (LegContractMultiplier) = -7.3717
|
|
132
|
-
[262] 615 (LegCouponRate) = 0.0004804, [263] 616 (LegSecurityExchange) = facilisis
|
|
133
|
-
[264] 617 (LegIssuer) = in,, [265] 621 (EncodedLegSecurityDescLen) = 82498
|
|
134
|
-
[266] 624 (LegSide) = ornare, [267] 556 (LegCurrency) = sed
|
|
135
|
-
[268] 739 (LegDatedDate) = 20211227, [269] 955 (LegContractSettlMonth) = magna.
|
|
136
|
-
[270] 956 (LegInterestAccrualDate) = 20211227, [271] 687 (LegQty) = -0.000424
|
|
137
|
-
[272] 683 (NoLegStipulations) = 1, [273] 688 (LegStipulationType) = Nulla
|
|
138
|
-
[274] 689 (LegStipulationValue) = non, [275] 564 (LegPositionEffect) = leo
|
|
139
|
-
[276] 565 (LegCoveredOrUncovered) = 34942, [277] 539 (NoNestedPartyIDs) = 3
|
|
140
|
-
[278] 524 (NestedPartyID) = at, [279] 525 (NestedPartyIDSource) = odio
|
|
141
|
-
[280] 538 (NestedPartyRole) = 99446, [281] 804 (NoNestedPartySubIDs) = 3
|
|
142
|
-
[282] 545 (NestedPartySubID) = hendrerit, [283] 805 (NestedPartySubIDType) = 56692
|
|
143
|
-
[284] 545 (NestedPartySubID) = placerat., [285] 805 (NestedPartySubIDType) = 67960
|
|
144
|
-
[286] 545 (NestedPartySubID) = Pellentesque, [287] 805 (NestedPartySubIDType) = 54921
|
|
145
|
-
[288] 524 (NestedPartyID) = felis, [289] 525 (NestedPartyIDSource) = arcu,
|
|
146
|
-
[290] 804 (NoNestedPartySubIDs) = 2, [291] 545 (NestedPartySubID) = elementum
|
|
147
|
-
[292] 805 (NestedPartySubIDType) = 1367, [293] 545 (NestedPartySubID) = eu
|
|
148
|
-
[294] 805 (NestedPartySubIDType) = 53286, [295] 524 (NestedPartyID) = mollis
|
|
149
|
-
[296] 538 (NestedPartyRole) = 53107, [297] 804 (NoNestedPartySubIDs) = 1
|
|
150
|
-
[298] 545 (NestedPartySubID) = vitae,, [299] 805 (NestedPartySubIDType) = 12864
|
|
151
|
-
[300] 654 (LegRefID) = euismod, [301] 566 (LegPrice) = -770.02
|
|
152
|
-
[302] 587 (LegSettlType) = ut, [303] 588 (LegSettlDate) = 20211227
|
|
153
|
-
[304] 637 (LegLastPx) = -164.81, [305] 600 (LegSymbol) = diam.
|
|
154
|
-
[306] 602 (LegSecurityID) = Aliquam, [307] 603 (LegSecurityIDSource) = porttitor
|
|
155
|
-
[308] 604 (NoLegSecurityAltID) = 2, [309] 605 (LegSecurityAltID) = erat
|
|
156
|
-
[310] 606 (LegSecurityAltIDSource) = eget, [311] 605 (LegSecurityAltID) = tellus
|
|
157
|
-
[312] 606 (LegSecurityAltIDSource) = cursus,, [313] 607 (LegProduct) = 75829
|
|
158
|
-
[314] 608 (LegCFICode) = in, [315] 764 (LegSecuritySubType) = hendrerit
|
|
159
|
-
[316] 610 (LegMaturityMonthYear) = nisi, [317] 611 (LegMaturityDate) = 20211227
|
|
160
|
-
[318] 248 (LegCouponPaymentDate) = 20211227, [319] 250 (LegRepoCollateralSecurityType) = tempus.
|
|
161
|
-
[320] 251 (LegRepurchaseTerm) = 3329, [321] 252 (LegRepurchaseRate) = -277.56
|
|
162
|
-
[322] 253 (LegFactor) = -18.8, [323] 257 (LegCreditRating) = Interdum
|
|
163
|
-
[324] 599 (LegInstrRegistry) = et, [325] 596 (LegCountryOfIssue) = malesuada
|
|
164
|
-
[326] 597 (LegStateOrProvinceOfIssue) = fames, [327] 598 (LegLocaleOfIssue) = ac
|
|
165
|
-
[328] 254 (LegRedemptionDate) = 20211227, [329] 612 (LegStrikePrice) = -7816.2
|
|
166
|
-
[330] 942 (LegStrikeCurrency) = ante, [331] 613 (LegOptAttribute) = ipsum
|
|
167
|
-
[332] 614 (LegContractMultiplier) = 416.66, [333] 617 (LegIssuer) = primis
|
|
168
|
-
[334] 620 (LegSecurityDesc) = in, [335] 621 (EncodedLegSecurityDescLen) = 15061
|
|
169
|
-
[336] 623 (LegRatioQty) = 0.0027833, [337] 624 (LegSide) = faucibus.
|
|
170
|
-
[338] 556 (LegCurrency) = Ut, [339] 740 (LegPool) = egestas
|
|
171
|
-
[340] 739 (LegDatedDate) = 20211227, [341] 955 (LegContractSettlMonth) = massa
|
|
172
|
-
[342] 956 (LegInterestAccrualDate) = 20211227, [343] 687 (LegQty) = -0.0006061
|
|
173
|
-
[344] 690 (LegSwapType) = 1[ParForPar], [345] 683 (NoLegStipulations) = 1
|
|
174
|
-
[346] 688 (LegStipulationType) = ac, [347] 564 (LegPositionEffect) = cursus
|
|
175
|
-
[348] 565 (LegCoveredOrUncovered) = 36419, [349] 539 (NoNestedPartyIDs) = 1
|
|
176
|
-
[350] 524 (NestedPartyID) = semper., [351] 525 (NestedPartyIDSource) = Vivamus
|
|
177
|
-
[352] 804 (NoNestedPartySubIDs) = 2, [353] 545 (NestedPartySubID) = rhoncus
|
|
178
|
-
[354] 805 (NestedPartySubIDType) = 5487, [355] 545 (NestedPartySubID) = convallis
|
|
179
|
-
[356] 805 (NestedPartySubIDType) = 10644, [357] 654 (LegRefID) = nulla,
|
|
180
|
-
[358] 566 (LegPrice) = 8887.6, [359] 587 (LegSettlType) = nec
|
|
181
|
-
[360] 637 (LegLastPx) = 75.646, [361] 768 (NoTrdRegTimestamps) = 1
|
|
182
|
-
[362] 769 (TrdRegTimestamp) = 20211227-14:01:51.000, [363] 770 (TrdRegTimestampType) = 1[ExecutionTime]
|
|
183
|
-
[364] 771 (TrdRegTimestampOrigin) = ornare, [365] 64 (SettlDate) = 20211227
|
|
184
|
-
[366] 573 (MatchStatus) = 2[AdvisoryOrAlert], [367] 574 (MatchType) = M4[ActDefaultTrade]
|
|
185
|
-
[368] 552 (NoSides) = 1[OneSide], [369] 54 (Side) = B[AsDefined]
|
|
186
|
-
[370] 11 (ClOrdID) = urna, [371] 66 (ListID) = iaculis
|
|
187
|
-
[372] 453 (NoPartyIDs) = 1, [373] 448 (PartyID) = vitae.
|
|
188
|
-
[374] 447 (PartyIDSource) = C[GeneralIdentifier], [375] 452 (PartyRole) = 36[EnteringTrader]
|
|
189
|
-
[376] 802 (NoPartySubIDs) = 1, [377] 523 (PartySubID) = Aliquam
|
|
190
|
-
[378] 803 (PartySubIDType) = 16[Bic], [379] 1 (Account) = erat
|
|
191
|
-
[380] 660 (AcctIDSource) = 5[DtccCode], [381] 581 (AccountType) = 4[FloorTrader]
|
|
192
|
-
[382] 81 (ProcessCode) = 1[SoftDollar], [383] 576 (NoClearingInstructions) = 1
|
|
193
|
-
[384] 577 (ClearingInstruction) = 12[CustomerTrade], [385] 579 (TradeInputDevice) = volutpat.
|
|
194
|
-
[386] 15 (Currency) = In, [387] 376 (ComplianceID) = condimentum
|
|
195
|
-
[388] 529 (OrderRestrictions) = 1[ProgramTrade], [389] 582 (CustOrderCapacity) = 3[MemberTradingForAnotherMember]
|
|
196
|
-
[390] 40 (OrdType) = 8[LimitWithOrWithout], [391] 18 (ExecInst) = K[CancelOnTradingHalt]
|
|
197
|
-
[392] 336 (TradingSessionID) = feugiat, [393] 625 (TradingSessionSubID) = sem
|
|
198
|
-
[394] 943 (TimeBracket) = ut, [395] 12 (Commission) = -0.041751
|
|
199
|
-
[396] 13 (CommType) = 5[PercentageWaivedEnhancedUnits], [397] 479 (CommCurrency) = porttitor.
|
|
200
|
-
[398] 497 (FundRenewWaiv) = Y[Yes], [399] 230 (ExDate) = 20211227
|
|
201
|
-
[400] 159 (AccruedInterestAmt) = 0.17864, [401] 738 (InterestAtMaturity) = 0.0013132
|
|
202
|
-
[402] 920 (EndAccruedInterestAmt) = -120.39, [403] 921 (StartCash) = -0.046515
|
|
203
|
-
[404] 922 (EndCash) = -0.5049, [405] 238 (Concession) = 0.018766
|
|
204
|
-
[406] 237 (TotalTakedown) = 0.078006, [407] 118 (NetMoney) = 43.944
|
|
205
|
-
[408] 119 (SettlCurrAmt) = 0.0050687, [409] 120 (SettlCurrency) = Quisque
|
|
206
|
-
[410] 155 (SettlCurrFxRate) = -119.23, [411] 156 (SettlCurrFxRateCalc) = D[Divide]
|
|
207
|
-
[412] 77 (PositionEffect) = R[Rolled], [413] 58 (Text) = pellentesque
|
|
208
|
-
[414] 752 (SideMultiLegReportingType) = 1[SingleSecurity], [415] 518 (NoContAmts) = 1
|
|
209
|
-
[416] 519 (ContAmtType) = 14[FundBasedRenewalCommissionOnFund], [417] 520 (ContAmtValue) = 6883.9
|
|
210
|
-
[418] 521 (ContAmtCurr) = tortor, [419] 232 (NoStipulations) = 3
|
|
211
|
-
[420] 233 (StipulationType) = MINQTY[MinimumQuantity], [421] 234 (StipulationValue) = eget
|
|
212
|
-
[422] 233 (StipulationType) = PMAX[PoolsMaximum], [423] 234 (StipulationValue) = est
|
|
213
|
-
[424] 233 (StipulationType) = PROD[ProductionYear], [425] 136 (NoMiscFees) = 1
|
|
214
|
-
[426] 137 (MiscFeeAmt) = 27.84, [427] 891 (MiscFeeBasis) = 1[PerUnit]
|
|
215
|
-
[428] 825 (ExchangeRule) = tincidunt, [429] 826 (TradeAllocIndicator) = 2[UseAllocationProvidedWithTheTrade]
|
|
216
|
-
[430] 70 (AllocID) = Lorem, [431] 78 (NoAllocs) = 2
|
|
217
|
-
[432] 79 (AllocAccount) = ipsum, [433] 661 (AllocAcctIDSource) = 49642
|
|
218
|
-
[434] 467 (IndividualAllocID) = dolor, [435] 756 (NoNested2PartyIDs) = 3
|
|
219
|
-
[436] 757 (Nested2PartyID) = sit, [437] 759 (Nested2PartyRole) = 99017
|
|
220
|
-
[438] 806 (NoNested2PartySubIDs) = 3, [439] 760 (Nested2PartySubID) = amet,
|
|
221
|
-
[440] 807 (Nested2PartySubIDType) = 209, [441] 760 (Nested2PartySubID) = consectetur
|
|
222
|
-
[442] 760 (Nested2PartySubID) = adipiscing, [443] 807 (Nested2PartySubIDType) = 25708
|
|
223
|
-
[444] 757 (Nested2PartyID) = elit., [445] 758 (Nested2PartyIDSource) = Nunc
|
|
224
|
-
[446] 759 (Nested2PartyRole) = 6005, [447] 806 (NoNested2PartySubIDs) = 3
|
|
225
|
-
[448] 760 (Nested2PartySubID) = odio, [449] 807 (Nested2PartySubIDType) = 52234
|
|
226
|
-
[450] 760 (Nested2PartySubID) = orci,, [451] 807 (Nested2PartySubIDType) = 21855
|
|
227
|
-
[452] 760 (Nested2PartySubID) = blandit, [453] 807 (Nested2PartySubIDType) = 60040
|
|
228
|
-
[454] 757 (Nested2PartyID) = vel, [455] 758 (Nested2PartyIDSource) = semper
|
|
229
|
-
[456] 806 (NoNested2PartySubIDs) = 3, [457] 760 (Nested2PartySubID) = sed,
|
|
230
|
-
[458] 807 (Nested2PartySubIDType) = 57098, [459] 760 (Nested2PartySubID) = bibendum
|
|
231
|
-
[460] 807 (Nested2PartySubIDType) = 26711, [461] 760 (Nested2PartySubID) = cursus
|
|
232
|
-
[462] 80 (AllocQty) = 8958.7, [463] 79 (AllocAccount) = lectus.
|
|
233
|
-
[464] 661 (AllocAcctIDSource) = 97104, [465] 756 (NoNested2PartyIDs) = 3
|
|
234
|
-
[466] 757 (Nested2PartyID) = Aenean, [467] 758 (Nested2PartyIDSource) = vel
|
|
235
|
-
[468] 759 (Nested2PartyRole) = 56444, [469] 806 (NoNested2PartySubIDs) = 3
|
|
236
|
-
[470] 760 (Nested2PartySubID) = diam, [471] 807 (Nested2PartySubIDType) = 430
|
|
237
|
-
[472] 760 (Nested2PartySubID) = magna., [473] 807 (Nested2PartySubIDType) = 58029
|
|
238
|
-
[474] 760 (Nested2PartySubID) = Aenean, [475] 807 (Nested2PartySubIDType) = 79888
|
|
239
|
-
[476] 757 (Nested2PartyID) = et, [477] 758 (Nested2PartyIDSource) = viverra
|
|
240
|
-
[478] 759 (Nested2PartyRole) = 37017, [479] 806 (NoNested2PartySubIDs) = 1
|
|
241
|
-
[480] 760 (Nested2PartySubID) = leo,, [481] 807 (Nested2PartySubIDType) = 56444
|
|
242
|
-
[482] 757 (Nested2PartyID) = non, [483] 758 (Nested2PartyIDSource) = iaculis
|
|
243
|
-
[484] 759 (Nested2PartyRole) = 76525, [485] 806 (NoNested2PartySubIDs) = 3
|
|
244
|
-
[486] 760 (Nested2PartySubID) = neque., [487] 807 (Nested2PartySubIDType) = 85781
|
|
245
|
-
[488] 760 (Nested2PartySubID) = Nullam, [489] 807 (Nested2PartySubIDType) = 20498
|
|
246
|
-
[490] 760 (Nested2PartySubID) = arcu, [491] 807 (Nested2PartySubIDType) = 903
|
|
247
|
-
[492] 80 (AllocQty) = -0.99254, [493] 852 (PublishTrdIndicator) = Y[ReportTrade]
|
|
248
|
-
[494] 853 (ShortSaleReason) = 4[QualifiedServiceRepresentative], [495] 10 (CheckSum) = 163
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { IJsFixConfig } from '../config';
|
|
3
|
-
import * as events from 'events';
|
|
4
|
-
export declare abstract class FixEntity extends events.EventEmitter {
|
|
5
|
-
readonly config: IJsFixConfig;
|
|
6
|
-
abstract start(): Promise<any>;
|
|
7
|
-
constructor(config: IJsFixConfig);
|
|
8
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FixEntity = void 0;
|
|
4
|
-
const events = require("events");
|
|
5
|
-
class FixEntity extends events.EventEmitter {
|
|
6
|
-
constructor(config) {
|
|
7
|
-
super();
|
|
8
|
-
this.config = config;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
exports.FixEntity = FixEntity;
|
|
12
|
-
//# sourceMappingURL=FixEntity.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FixEntity.js","sourceRoot":"","sources":["../../src/transport/FixEntity.ts"],"names":[],"mappings":";;;AACA,iCAAgC;AAEhC,MAAsB,SAAU,SAAQ,MAAM,CAAC,YAAY;IAEzD,YAA6B,MAAoB;QAC/C,KAAK,EAAE,CAAA;QADoB,WAAM,GAAN,MAAM,CAAc;IAEjD,CAAC;CACF;AALD,8BAKC","sourcesContent":["import { IJsFixConfig } from '../config'\r\nimport * as events from 'events'\r\n\r\nexport abstract class FixEntity extends events.EventEmitter {\r\n abstract start (): Promise<any>\r\n constructor (public readonly config: IJsFixConfig) {\r\n super()\r\n }\r\n}\r\n"]}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { ISessionMsgFactory } from './session/session-msg-factory';
|
|
2
|
-
import { ISessionDescription } from './session/session-description';
|
|
3
|
-
import { ILooseObject } from '../collections/collection';
|
|
4
|
-
import { IStandardHeader } from '../types/FIX4.4/repo';
|
|
5
|
-
export interface ObjectMutator {
|
|
6
|
-
(description: ISessionDescription, type: string, o: ILooseObject): ILooseObject;
|
|
7
|
-
}
|
|
8
|
-
export declare abstract class ASessionMsgFactory implements ISessionMsgFactory {
|
|
9
|
-
readonly description: ISessionDescription;
|
|
10
|
-
mutator: ObjectMutator;
|
|
11
|
-
isAscii: boolean;
|
|
12
|
-
constructor(description: ISessionDescription, mutator?: ObjectMutator);
|
|
13
|
-
reject(msgType: string, seqNo: number, msg: string, reason: number): ILooseObject;
|
|
14
|
-
abstract logon(userRequestId: string, isResponse: boolean): ILooseObject;
|
|
15
|
-
abstract logout(msgType: string, text: string): ILooseObject;
|
|
16
|
-
abstract header(msgType: string, seqNum: number, time: Date, overrideData?: Partial<IStandardHeader>): ILooseObject;
|
|
17
|
-
protected mutate(o: ILooseObject, type: string): ILooseObject;
|
|
18
|
-
testRequest(reqId?: string): ILooseObject;
|
|
19
|
-
heartbeat(testReqId: string): ILooseObject;
|
|
20
|
-
resendRequest(from: number, to: number): ILooseObject;
|
|
21
|
-
sequenceReset(newSeqNo: number, gapFill?: boolean): ILooseObject;
|
|
22
|
-
trailer(checksum: number): ILooseObject;
|
|
23
|
-
}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ASessionMsgFactory = void 0;
|
|
4
|
-
const types_1 = require("../types");
|
|
5
|
-
class ASessionMsgFactory {
|
|
6
|
-
constructor(description, mutator = null) {
|
|
7
|
-
this.description = description;
|
|
8
|
-
this.mutator = mutator;
|
|
9
|
-
}
|
|
10
|
-
reject(msgType, seqNo, msg, reason) {
|
|
11
|
-
const o = {
|
|
12
|
-
RefMsgType: msgType,
|
|
13
|
-
SessionRejectReason: reason,
|
|
14
|
-
RefSeqNum: seqNo,
|
|
15
|
-
Text: msg
|
|
16
|
-
};
|
|
17
|
-
return this.mutator ? this.mutator(this.description, types_1.MsgType.Reject, o) : o;
|
|
18
|
-
}
|
|
19
|
-
mutate(o, type) {
|
|
20
|
-
return this.mutator ? this.mutator(this.description, type, o) : o;
|
|
21
|
-
}
|
|
22
|
-
testRequest(reqId = `ping-${new Date().toUTCString()}`) {
|
|
23
|
-
const o = {
|
|
24
|
-
TestReqID: reqId
|
|
25
|
-
};
|
|
26
|
-
return this.mutate(o, types_1.MsgType.TestRequest);
|
|
27
|
-
}
|
|
28
|
-
heartbeat(testReqId) {
|
|
29
|
-
const o = {
|
|
30
|
-
TestReqID: testReqId
|
|
31
|
-
};
|
|
32
|
-
return this.mutate(o, types_1.MsgType.Heartbeat);
|
|
33
|
-
}
|
|
34
|
-
resendRequest(from, to) {
|
|
35
|
-
const o = {
|
|
36
|
-
BeginSeqNo: from,
|
|
37
|
-
EndSeqNo: to
|
|
38
|
-
};
|
|
39
|
-
return this.mutate(o, types_1.MsgType.ResendRequest);
|
|
40
|
-
}
|
|
41
|
-
sequenceReset(newSeqNo, gapFill) {
|
|
42
|
-
const o = {
|
|
43
|
-
GapFillFlag: gapFill === true,
|
|
44
|
-
NewSeqNo: newSeqNo
|
|
45
|
-
};
|
|
46
|
-
return this.mutate(o, types_1.MsgType.SequenceReset);
|
|
47
|
-
}
|
|
48
|
-
trailer(checksum) {
|
|
49
|
-
const s = checksum.toString();
|
|
50
|
-
const padded = s.padStart(3, '0');
|
|
51
|
-
const o = {
|
|
52
|
-
CheckSum: padded
|
|
53
|
-
};
|
|
54
|
-
return this.mutate(o, 'StandardTrailer');
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
exports.ASessionMsgFactory = ASessionMsgFactory;
|
|
58
|
-
//# sourceMappingURL=a-session-msg-factory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"a-session-msg-factory.js","sourceRoot":"","sources":["../../src/transport/a-session-msg-factory.ts"],"names":[],"mappings":";;;AAGA,oCAAkC;AAelC,MAAsB,kBAAkB;IAEtC,YAA6B,WAAgC,EAAS,UAAyB,IAAI;QAAtE,gBAAW,GAAX,WAAW,CAAqB;QAAS,YAAO,GAAP,OAAO,CAAsB;IACnG,CAAC;IAEM,MAAM,CAAE,OAAe,EAAE,KAAa,EAAE,GAAW,EAAE,MAAc;QACxE,MAAM,CAAC,GAAY;YACjB,UAAU,EAAE,OAAO;YACnB,mBAAmB,EAAE,MAAM;YAC3B,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,GAAG;SACC,CAAA;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,eAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7E,CAAC;IAOS,MAAM,CAAE,CAAe,EAAE,IAAY;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACnE,CAAC;IAEM,WAAW,CAAE,QAAgB,QAAQ,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;QACpE,MAAM,CAAC,GAAiB;YACtB,SAAS,EAAE,KAAK;SACD,CAAA;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,eAAO,CAAC,WAAW,CAAC,CAAA;IAC5C,CAAC;IAEM,SAAS,CAAE,SAAiB;QACjC,MAAM,CAAC,GAAe;YACpB,SAAS,EAAE,SAAS;SACP,CAAA;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,eAAO,CAAC,SAAS,CAAC,CAAA;IAC1C,CAAC;IAEM,aAAa,CAAE,IAAY,EAAE,EAAU;QAC5C,MAAM,CAAC,GAAmB;YACxB,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,EAAE;SACK,CAAA;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,eAAO,CAAC,aAAa,CAAC,CAAA;IAC9C,CAAC;IAEM,aAAa,CAAE,QAAgB,EAAE,OAAiB;QACvD,MAAM,CAAC,GAAmB;YACxB,WAAW,EAAE,OAAO,KAAK,IAAI;YAC7B,QAAQ,EAAE,QAAQ;SACD,CAAA;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,eAAO,CAAC,aAAa,CAAC,CAAA;IAC9C,CAAC;IAEM,OAAO,CAAE,QAAgB;QAC9B,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAA;QAC7B,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QACjC,MAAM,CAAC,GAAG;YACR,QAAQ,EAAE,MAAM;SACG,CAAA;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAA;IAC1C,CAAC;CACF;AA9DD,gDA8DC","sourcesContent":["import { ISessionMsgFactory } from './session/session-msg-factory'\r\nimport { ISessionDescription } from './session/session-description'\r\nimport { ILooseObject } from '../collections/collection'\r\nimport { MsgType } from '../types'\r\n\r\nimport {\r\n IHeartbeat,\r\n IReject,\r\n IResendRequest,\r\n ISequenceReset,\r\n IStandardHeader,\r\n IStandardTrailer,\r\n ITestRequest\r\n} from '../types/FIX4.4/repo'\r\n\r\nexport interface ObjectMutator { (description: ISessionDescription, type: string, o: ILooseObject): ILooseObject\r\n}\r\n\r\nexport abstract class ASessionMsgFactory implements ISessionMsgFactory {\r\n public isAscii: boolean\r\n constructor (public readonly description: ISessionDescription, public mutator: ObjectMutator = null) {\r\n }\r\n\r\n public reject (msgType: string, seqNo: number, msg: string, reason: number): ILooseObject {\r\n const o: IReject = {\r\n RefMsgType: msgType,\r\n SessionRejectReason: reason,\r\n RefSeqNum: seqNo,\r\n Text: msg\r\n } as IReject\r\n return this.mutator ? this.mutator(this.description, MsgType.Reject, o) : o\r\n }\r\n\r\n // see implementations Ascii and Fixml\r\n public abstract logon (userRequestId: string, isResponse: boolean): ILooseObject\r\n public abstract logout (msgType: string, text: string): ILooseObject\r\n public abstract header (msgType: string, seqNum: number, time: Date, overrideData?: Partial<IStandardHeader>): ILooseObject\r\n\r\n protected mutate (o: ILooseObject, type: string): ILooseObject {\r\n return this.mutator ? this.mutator(this.description, type, o) : o\r\n }\r\n\r\n public testRequest (reqId: string = `ping-${new Date().toUTCString()}`): ILooseObject {\r\n const o: ITestRequest = {\r\n TestReqID: reqId\r\n } as ITestRequest\r\n return this.mutate(o, MsgType.TestRequest)\r\n }\r\n\r\n public heartbeat (testReqId: string): ILooseObject {\r\n const o: IHeartbeat = {\r\n TestReqID: testReqId\r\n } as IHeartbeat\r\n return this.mutate(o, MsgType.Heartbeat)\r\n }\r\n\r\n public resendRequest (from: number, to: number): ILooseObject {\r\n const o: IResendRequest = {\r\n BeginSeqNo: from,\r\n EndSeqNo: to\r\n } as IResendRequest\r\n return this.mutate(o, MsgType.ResendRequest)\r\n }\r\n\r\n public sequenceReset (newSeqNo: number, gapFill?: boolean): ILooseObject {\r\n const o: ISequenceReset = {\r\n GapFillFlag: gapFill === true,\r\n NewSeqNo: newSeqNo\r\n } as ISequenceReset\r\n return this.mutate(o, MsgType.SequenceReset)\r\n }\r\n\r\n public trailer (checksum: number): ILooseObject {\r\n const s = checksum.toString()\r\n const padded = s.padStart(3, '0')\r\n const o = {\r\n CheckSum: padded\r\n } as IStandardTrailer\r\n return this.mutate(o, 'StandardTrailer')\r\n }\r\n}\r\n"]}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { ILooseObject } from '../collections/collection';
|
|
2
|
-
import { IStandardHeader } from '../types/FIX4.4/repo';
|
|
3
|
-
import { ISessionDescription } from './session/session-description';
|
|
4
|
-
export interface ISessionMsgFactory {
|
|
5
|
-
description: ISessionDescription;
|
|
6
|
-
reject(msgType: string, seqNo: number, msg: string, reason: number): ILooseObject;
|
|
7
|
-
logout(msgType: string, text: string): ILooseObject;
|
|
8
|
-
logon(userRequestId?: string, isResponse?: boolean): ILooseObject;
|
|
9
|
-
testRequest(reqId?: string): ILooseObject;
|
|
10
|
-
resendRequest(from: number, to: number): ILooseObject;
|
|
11
|
-
sequenceReset(newSeq: number, gapFill?: boolean): ILooseObject;
|
|
12
|
-
heartbeat(testReqId: string): ILooseObject;
|
|
13
|
-
header(msgType?: string, seqNum?: number, time?: Date, overrideData?: Partial<IStandardHeader>): ILooseObject;
|
|
14
|
-
trailer(checksum: number): ILooseObject;
|
|
15
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fix-msg-factory.js","sourceRoot":"","sources":["../../src/transport/fix-msg-factory.ts"],"names":[],"mappings":"","sourcesContent":["import { ILooseObject } from '../collections/collection'\r\nimport { IStandardHeader } from '../types/FIX4.4/repo'\r\nimport { ISessionDescription } from './session/session-description'\r\n\r\nexport interface ISessionMsgFactory {\r\n description: ISessionDescription\r\n reject (msgType: string, seqNo: number, msg: string, reason: number): ILooseObject\r\n logout (msgType: string, text: string): ILooseObject\r\n logon (userRequestId?: string, isResponse?: boolean): ILooseObject\r\n testRequest (reqId?: string): ILooseObject\r\n resendRequest (from: number, to: number): ILooseObject\r\n sequenceReset (newSeq: number, gapFill?: boolean): ILooseObject\r\n heartbeat (testReqId: string): ILooseObject\r\n header (msgType?: string, seqNum?: number, time?: Date, overrideData?: Partial<IStandardHeader>): ILooseObject\r\n trailer (checksum: number): ILooseObject\r\n}\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fix-session-state-args.js","sourceRoot":"","sources":["../../src/transport/fix-session-state-args.ts"],"names":[],"mappings":"","sourcesContent":["import { SessionState } from './session-state'\r\n\r\nexport interface IFixSessionStateArgs {\r\n heartBeat: number\r\n state?: SessionState\r\n waitLogoutConfirmSeconds?: number\r\n stopSeconds?: number\r\n lastPeerMsgSeqNum?: number\r\n}\r\n"]}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { TickAction } from './tick-action';
|
|
2
|
-
import { IFixSessionStateArgs } from './fix-session-state-args';
|
|
3
|
-
import { SessionState } from './session-state';
|
|
4
|
-
export declare class FixSessionState {
|
|
5
|
-
nextTickAction: TickAction;
|
|
6
|
-
lastReceivedAt: Date;
|
|
7
|
-
LastSentAt: Date;
|
|
8
|
-
lastTestRequestAt: Date;
|
|
9
|
-
logoutSentAt: Date;
|
|
10
|
-
now: Date;
|
|
11
|
-
compId: string;
|
|
12
|
-
peerCompId: string;
|
|
13
|
-
peerHeartBeatSecs: number;
|
|
14
|
-
lastPeerMsgSeqNum: number;
|
|
15
|
-
readonly heartBeat: number;
|
|
16
|
-
state: SessionState;
|
|
17
|
-
readonly waitLogoutConfirmSeconds: number;
|
|
18
|
-
readonly stopSeconds: number;
|
|
19
|
-
private secondsSinceLogoutSent;
|
|
20
|
-
private secondsSinceSent;
|
|
21
|
-
private secondsSinceReceive;
|
|
22
|
-
reset(resetSeqNo: boolean): void;
|
|
23
|
-
constructor({ heartBeat, state, waitLogoutConfirmSeconds, stopSeconds, lastPeerMsgSeqNum }: IFixSessionStateArgs);
|
|
24
|
-
private static dateAsString;
|
|
25
|
-
toString(): string;
|
|
26
|
-
calcAction(now: Date): TickAction;
|
|
27
|
-
timeToDie(): boolean;
|
|
28
|
-
timeToHeartbeat(): boolean;
|
|
29
|
-
timeToTerminate(): boolean;
|
|
30
|
-
timeToTestRequest(): boolean;
|
|
31
|
-
private calcState;
|
|
32
|
-
}
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FixSessionState = void 0;
|
|
4
|
-
const buffer_1 = require("../buffer");
|
|
5
|
-
const moment = require("moment");
|
|
6
|
-
const tick_action_1 = require("./tick-action");
|
|
7
|
-
const session_state_1 = require("./session-state");
|
|
8
|
-
class FixSessionState {
|
|
9
|
-
constructor({ heartBeat, state = session_state_1.SessionState.Idle, waitLogoutConfirmSeconds = 5, stopSeconds = 2, lastPeerMsgSeqNum = 0 }) {
|
|
10
|
-
this.nextTickAction = tick_action_1.TickAction.Nothing;
|
|
11
|
-
this.lastReceivedAt = null;
|
|
12
|
-
this.LastSentAt = null;
|
|
13
|
-
this.lastTestRequestAt = null;
|
|
14
|
-
this.logoutSentAt = null;
|
|
15
|
-
this.now = new Date();
|
|
16
|
-
this.compId = '';
|
|
17
|
-
this.peerCompId = '';
|
|
18
|
-
this.peerHeartBeatSecs = 0;
|
|
19
|
-
this.secondsSinceLogoutSent = -1;
|
|
20
|
-
this.secondsSinceSent = -1;
|
|
21
|
-
this.secondsSinceReceive = -1;
|
|
22
|
-
this.heartBeat = heartBeat;
|
|
23
|
-
this.state = state;
|
|
24
|
-
this.waitLogoutConfirmSeconds = waitLogoutConfirmSeconds;
|
|
25
|
-
this.stopSeconds = stopSeconds;
|
|
26
|
-
this.lastPeerMsgSeqNum = lastPeerMsgSeqNum;
|
|
27
|
-
}
|
|
28
|
-
reset(resetSeqNo) {
|
|
29
|
-
this.lastReceivedAt = null;
|
|
30
|
-
this.LastSentAt = null;
|
|
31
|
-
this.lastTestRequestAt = null;
|
|
32
|
-
this.secondsSinceLogoutSent = -1;
|
|
33
|
-
this.secondsSinceSent = -1;
|
|
34
|
-
this.secondsSinceReceive = -1;
|
|
35
|
-
this.peerHeartBeatSecs = 0;
|
|
36
|
-
this.logoutSentAt = null;
|
|
37
|
-
this.nextTickAction = tick_action_1.TickAction.Nothing;
|
|
38
|
-
if (resetSeqNo) {
|
|
39
|
-
this.lastPeerMsgSeqNum = 0;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
static dateAsString(d) {
|
|
43
|
-
if (!d) {
|
|
44
|
-
return 'null';
|
|
45
|
-
}
|
|
46
|
-
return moment(d).format('HH:mm:ss.SSS');
|
|
47
|
-
}
|
|
48
|
-
toString() {
|
|
49
|
-
const buffer = new buffer_1.ElasticBuffer(1024);
|
|
50
|
-
buffer.writeString(`compId = ${this.compId}, `);
|
|
51
|
-
buffer.writeString(`heartBeat = ${this.heartBeat}, `);
|
|
52
|
-
buffer.writeString(`state = ${session_state_1.SessionState[this.state]} (${this.state}), `);
|
|
53
|
-
buffer.writeString(`nextTickAction = ${tick_action_1.TickAction[this.nextTickAction]} (${this.nextTickAction}), `);
|
|
54
|
-
buffer.writeString(`now = ${FixSessionState.dateAsString(this.now)}, `);
|
|
55
|
-
buffer.writeString(`timeToDie = ${this.timeToDie()}, `);
|
|
56
|
-
buffer.writeString(`timeToHeartbeat = ${this.timeToHeartbeat()}, `);
|
|
57
|
-
buffer.writeString(`timeToTerminate = ${this.timeToTerminate()}, `);
|
|
58
|
-
buffer.writeString(`timeToTestRequest = ${this.timeToTestRequest()}, `);
|
|
59
|
-
buffer.writeString(`lastReceivedAt = ${FixSessionState.dateAsString(this.lastReceivedAt)}, `);
|
|
60
|
-
buffer.writeString(`LastSentAt = ${FixSessionState.dateAsString(this.LastSentAt)}, `);
|
|
61
|
-
buffer.writeString(`lastTestRequestAt = ${FixSessionState.dateAsString(this.lastTestRequestAt)}, `);
|
|
62
|
-
buffer.writeString(`logoutSentAt = ${FixSessionState.dateAsString(this.logoutSentAt)}, `);
|
|
63
|
-
buffer.writeString(`peerHeartBeatSecs = ${this.peerHeartBeatSecs}, `);
|
|
64
|
-
buffer.writeString(`peerCompId = ${this.peerCompId}, `);
|
|
65
|
-
buffer.writeString(`lastPeerMsgSeqNum = ${this.lastPeerMsgSeqNum}, `);
|
|
66
|
-
buffer.writeString(`secondsSinceLogoutSent = ${this.secondsSinceLogoutSent}, `);
|
|
67
|
-
buffer.writeString(`secondsSinceSent = ${this.secondsSinceSent}, `);
|
|
68
|
-
buffer.writeString(`secondsSinceReceive = ${this.secondsSinceReceive}`);
|
|
69
|
-
return buffer.toString();
|
|
70
|
-
}
|
|
71
|
-
calcAction(now) {
|
|
72
|
-
this.now = now;
|
|
73
|
-
this.calcState();
|
|
74
|
-
switch (this.state) {
|
|
75
|
-
case session_state_1.SessionState.PeerLogonRejected: {
|
|
76
|
-
if (this.secondsSinceSent >= this.stopSeconds) {
|
|
77
|
-
this.nextTickAction = tick_action_1.TickAction.Stop;
|
|
78
|
-
}
|
|
79
|
-
break;
|
|
80
|
-
}
|
|
81
|
-
case session_state_1.SessionState.WaitingLogoutConfirm:
|
|
82
|
-
case session_state_1.SessionState.ConfirmingLogout: {
|
|
83
|
-
if (this.timeToDie()) {
|
|
84
|
-
this.nextTickAction = tick_action_1.TickAction.Stop;
|
|
85
|
-
}
|
|
86
|
-
break;
|
|
87
|
-
}
|
|
88
|
-
case session_state_1.SessionState.ActiveNormalSession:
|
|
89
|
-
case session_state_1.SessionState.AwaitingProcessingResponseToTestRequest:
|
|
90
|
-
case session_state_1.SessionState.InitiationLogonReceived:
|
|
91
|
-
case session_state_1.SessionState.InitiationLogonResponse: {
|
|
92
|
-
if (this.timeToHeartbeat()) {
|
|
93
|
-
this.nextTickAction = tick_action_1.TickAction.Heartbeat;
|
|
94
|
-
}
|
|
95
|
-
else {
|
|
96
|
-
if (this.timeToTerminate()) {
|
|
97
|
-
this.nextTickAction = tick_action_1.TickAction.TerminateOnError;
|
|
98
|
-
}
|
|
99
|
-
else if (this.timeToTestRequest()) {
|
|
100
|
-
if (!this.lastTestRequestAt) {
|
|
101
|
-
this.nextTickAction = tick_action_1.TickAction.TestRequest;
|
|
102
|
-
this.lastTestRequestAt = this.now;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
break;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
return this.nextTickAction;
|
|
110
|
-
}
|
|
111
|
-
timeToDie() {
|
|
112
|
-
return this.secondsSinceLogoutSent > this.waitLogoutConfirmSeconds ||
|
|
113
|
-
this.secondsSinceLogoutSent > this.stopSeconds;
|
|
114
|
-
}
|
|
115
|
-
timeToHeartbeat() {
|
|
116
|
-
return this.secondsSinceSent >= this.heartBeat;
|
|
117
|
-
}
|
|
118
|
-
timeToTerminate() {
|
|
119
|
-
return this.secondsSinceReceive >= 2.5 * this.peerHeartBeatSecs;
|
|
120
|
-
}
|
|
121
|
-
timeToTestRequest() {
|
|
122
|
-
return this.secondsSinceReceive >= 1.5 * this.peerHeartBeatSecs;
|
|
123
|
-
}
|
|
124
|
-
calcState() {
|
|
125
|
-
const time = this.now.getTime();
|
|
126
|
-
this.nextTickAction = tick_action_1.TickAction.Nothing;
|
|
127
|
-
this.secondsSinceLogoutSent = this.logoutSentAt ? (time - this.logoutSentAt.getTime()) / 1000 : -1;
|
|
128
|
-
this.secondsSinceSent = (time - this.LastSentAt.getTime()) / 1000;
|
|
129
|
-
this.secondsSinceReceive = (time - this.lastReceivedAt.getTime()) / 1000;
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
exports.FixSessionState = FixSessionState;
|
|
133
|
-
//# sourceMappingURL=fix-session-state.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fix-session-state.js","sourceRoot":"","sources":["../../src/transport/fix-session-state.ts"],"names":[],"mappings":"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","sourcesContent":["import { ElasticBuffer } from '../buffer'\r\nimport moment = require('moment')\r\nimport { TickAction } from './tick-action'\r\nimport { IFixSessionStateArgs } from './fix-session-state-args'\r\nimport { SessionState } from './session-state'\r\n\r\nexport class FixSessionState {\r\n public nextTickAction: TickAction = TickAction.Nothing\r\n\r\n public lastReceivedAt: Date = null\r\n public LastSentAt: Date = null\r\n public lastTestRequestAt: Date = null\r\n public logoutSentAt: Date = null\r\n public now: Date = new Date()\r\n public compId: string = ''\r\n public peerCompId: string = ''\r\n public peerHeartBeatSecs: number = 0\r\n public lastPeerMsgSeqNum: number\r\n public readonly heartBeat: number\r\n public state: SessionState\r\n public readonly waitLogoutConfirmSeconds: number\r\n public readonly stopSeconds: number\r\n\r\n private secondsSinceLogoutSent: number = -1\r\n private secondsSinceSent: number = -1\r\n private secondsSinceReceive: number = -1\r\n\r\n public reset (resetSeqNo: boolean): void {\r\n this.lastReceivedAt = null\r\n this.LastSentAt = null\r\n this.lastTestRequestAt = null\r\n this.secondsSinceLogoutSent = -1\r\n this.secondsSinceSent = -1\r\n this.secondsSinceReceive = -1\r\n this.peerHeartBeatSecs = 0\r\n this.logoutSentAt = null\r\n this.nextTickAction = TickAction.Nothing\r\n if (resetSeqNo) {\r\n this.lastPeerMsgSeqNum = 0\r\n }\r\n }\r\n\r\n public constructor ({ heartBeat,\r\n state = SessionState.Idle,\r\n waitLogoutConfirmSeconds = 5,\r\n stopSeconds = 2,\r\n lastPeerMsgSeqNum = 0 }: IFixSessionStateArgs) {\r\n this.heartBeat = heartBeat\r\n this.state = state\r\n this.waitLogoutConfirmSeconds = waitLogoutConfirmSeconds\r\n this.stopSeconds = stopSeconds\r\n this.lastPeerMsgSeqNum = lastPeerMsgSeqNum\r\n }\r\n\r\n private static dateAsString (d: Date) {\r\n if (!d) {\r\n return 'null'\r\n }\r\n return moment(d).format('HH:mm:ss.SSS')\r\n }\r\n\r\n public toString (): string {\r\n\r\n const buffer = new ElasticBuffer(1024)\r\n\r\n buffer.writeString(`compId = ${this.compId}, `)\r\n buffer.writeString(`heartBeat = ${this.heartBeat}, `)\r\n buffer.writeString(`state = ${SessionState[this.state]} (${this.state}), `)\r\n buffer.writeString(`nextTickAction = ${TickAction[this.nextTickAction]} (${this.nextTickAction}), `)\r\n buffer.writeString(`now = ${FixSessionState.dateAsString(this.now)}, `)\r\n buffer.writeString(`timeToDie = ${this.timeToDie()}, `)\r\n buffer.writeString(`timeToHeartbeat = ${this.timeToHeartbeat()}, `)\r\n buffer.writeString(`timeToTerminate = ${this.timeToTerminate()}, `)\r\n buffer.writeString(`timeToTestRequest = ${this.timeToTestRequest()}, `)\r\n buffer.writeString(`lastReceivedAt = ${FixSessionState.dateAsString(this.lastReceivedAt)}, `)\r\n buffer.writeString(`LastSentAt = ${FixSessionState.dateAsString(this.LastSentAt)}, `)\r\n buffer.writeString(`lastTestRequestAt = ${FixSessionState.dateAsString(this.lastTestRequestAt)}, `)\r\n buffer.writeString(`logoutSentAt = ${FixSessionState.dateAsString(this.logoutSentAt)}, `)\r\n buffer.writeString(`peerHeartBeatSecs = ${this.peerHeartBeatSecs}, `)\r\n buffer.writeString(`peerCompId = ${this.peerCompId}, `)\r\n buffer.writeString(`lastPeerMsgSeqNum = ${this.lastPeerMsgSeqNum}, `)\r\n buffer.writeString(`secondsSinceLogoutSent = ${this.secondsSinceLogoutSent}, `)\r\n buffer.writeString(`secondsSinceSent = ${this.secondsSinceSent}, `)\r\n buffer.writeString(`secondsSinceReceive = ${this.secondsSinceReceive}`)\r\n\r\n return buffer.toString()\r\n }\r\n\r\n public calcAction (now: Date): TickAction {\r\n this.now = now\r\n this.calcState()\r\n\r\n switch (this.state) {\r\n\r\n case SessionState.PeerLogonRejected: {\r\n if (this.secondsSinceSent >= this.stopSeconds) {\r\n this.nextTickAction = TickAction.Stop\r\n }\r\n break\r\n }\r\n\r\n case SessionState.WaitingLogoutConfirm:\r\n case SessionState.ConfirmingLogout: {\r\n if (this.timeToDie()) {\r\n this.nextTickAction = TickAction.Stop\r\n }\r\n break\r\n }\r\n\r\n case SessionState.ActiveNormalSession:\r\n case SessionState.AwaitingProcessingResponseToTestRequest:\r\n case SessionState.InitiationLogonReceived:\r\n case SessionState.InitiationLogonResponse : {\r\n if (this.timeToHeartbeat()) {\r\n // have not sent anything for heartbeat period so let other side know still alive.\r\n this.nextTickAction = TickAction.Heartbeat\r\n } else {\r\n // console.log(`${application.name}: secondsSinceSent = ${secondsSinceSent} secondsSinceReceive = ${secondsSinceReceive}`)\r\n if (this.timeToTerminate()) {\r\n this.nextTickAction = TickAction.TerminateOnError\r\n } else if (this.timeToTestRequest()) {\r\n if (!this.lastTestRequestAt) {\r\n // not received anything from peer\r\n this.nextTickAction = TickAction.TestRequest\r\n this.lastTestRequestAt = this.now\r\n }\r\n }\r\n }\r\n break\r\n }\r\n }\r\n\r\n return this.nextTickAction\r\n }\r\n\r\n public timeToDie (): boolean {\r\n return this.secondsSinceLogoutSent > this.waitLogoutConfirmSeconds ||\r\n this.secondsSinceLogoutSent > this.stopSeconds\r\n }\r\n\r\n public timeToHeartbeat (): boolean {\r\n return this.secondsSinceSent >= this.heartBeat\r\n }\r\n\r\n public timeToTerminate (): boolean {\r\n return this.secondsSinceReceive >= 2.5 * this.peerHeartBeatSecs\r\n }\r\n\r\n public timeToTestRequest (): boolean {\r\n return this.secondsSinceReceive >= 1.5 * this.peerHeartBeatSecs\r\n }\r\n\r\n private calcState (): void {\r\n const time = this.now.getTime()\r\n this.nextTickAction = TickAction.Nothing\r\n this.secondsSinceLogoutSent = this.logoutSentAt ? (time - this.logoutSentAt.getTime()) / 1000 : -1\r\n this.secondsSinceSent = (time - this.LastSentAt.getTime()) / 1000\r\n this.secondsSinceReceive = (time - this.lastReceivedAt.getTime()) / 1000\r\n }\r\n}\r\n"]}
|