@fintekkers/ledger-models 0.1.61 → 0.1.63

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/.env +3 -0
  2. package/node/fintekkers/models/position/field_pb.d.ts +1 -0
  3. package/node/fintekkers/models/position/field_pb.js +1 -0
  4. package/node/fintekkers/models/security/bond/auction_type_grpc_pb.js +1 -0
  5. package/node/fintekkers/models/security/bond/auction_type_pb.d.ts +12 -0
  6. package/node/fintekkers/models/security/bond/auction_type_pb.js +33 -0
  7. package/node/fintekkers/models/security/bond/issuance_grpc_pb.js +1 -0
  8. package/node/fintekkers/models/security/bond/issuance_pb.d.ts +85 -0
  9. package/node/fintekkers/models/security/bond/issuance_pb.js +652 -0
  10. package/node/fintekkers/models/security/security_pb.d.ts +6 -0
  11. package/node/fintekkers/models/security/security_pb.js +64 -2
  12. package/node/fintekkers/requests/transaction/query_transaction_request_pb.d.ts +3 -0
  13. package/node/fintekkers/requests/transaction/query_transaction_request_pb.js +31 -1
  14. package/node/fintekkers/requests/transaction/query_transaction_response_pb.d.ts +7 -0
  15. package/node/fintekkers/requests/transaction/query_transaction_response_pb.js +54 -1
  16. package/node/wrappers/models/portfolio/portfolio.js +41 -0
  17. package/node/wrappers/models/portfolio/portfolio.js.map +1 -0
  18. package/node/wrappers/models/portfolio/portfolio.ts +49 -0
  19. package/node/wrappers/models/position/position.js +14 -9
  20. package/node/wrappers/models/position/position.js.map +1 -1
  21. package/node/wrappers/models/position/position.test.js +43 -0
  22. package/node/wrappers/models/position/position.test.js.map +1 -0
  23. package/node/wrappers/models/position/position.test.ts +70 -0
  24. package/node/wrappers/models/position/position.ts +17 -10
  25. package/node/wrappers/models/position/positionfilter.js +35 -0
  26. package/node/wrappers/models/position/positionfilter.js.map +1 -0
  27. package/node/wrappers/models/position/positionfilter.ts +38 -0
  28. package/node/wrappers/models/security/security.test.js +33 -0
  29. package/node/wrappers/models/security/security.test.js.map +1 -0
  30. package/node/wrappers/models/security/security.test.ts +41 -0
  31. package/node/wrappers/models/transaction/transaction.js +6 -5
  32. package/node/wrappers/models/transaction/transaction.js.map +1 -1
  33. package/node/wrappers/models/transaction/transaction.test.js.map +1 -1
  34. package/node/wrappers/models/transaction/transaction.test.ts +1 -6
  35. package/node/wrappers/models/transaction/transaction.ts +31 -31
  36. package/node/wrappers/models/transaction/transaction_type.js +0 -1
  37. package/node/wrappers/models/transaction/transaction_type.js.map +1 -1
  38. package/node/wrappers/models/transaction/transaction_type.ts +1 -1
  39. package/node/wrappers/models/utils/datetime.js +9 -0
  40. package/node/wrappers/models/utils/datetime.js.map +1 -1
  41. package/node/wrappers/models/utils/datetime.ts +16 -4
  42. package/node/wrappers/models/utils/requestcontext.js +55 -0
  43. package/node/wrappers/models/utils/requestcontext.js.map +1 -0
  44. package/node/wrappers/models/utils/requestcontext.ts +44 -0
  45. package/node/wrappers/models/utils/requestcontext_d.js +1 -0
  46. package/node/wrappers/models/utils/requestcontext_d.js.map +1 -0
  47. package/node/wrappers/models/utils/requestcontext_d.ts +7 -0
  48. package/node/wrappers/models/utils/serialization.js +14 -4
  49. package/node/wrappers/models/utils/serialization.js.map +1 -1
  50. package/node/wrappers/models/utils/serialization.test.js +8 -9
  51. package/node/wrappers/models/utils/serialization.test.js.map +1 -1
  52. package/node/wrappers/models/utils/serialization.test.ts +8 -10
  53. package/node/wrappers/models/utils/serialization.ts +46 -38
  54. package/node/wrappers/models/utils/serialization.util.js +108 -0
  55. package/node/wrappers/models/utils/serialization.util.js.map +1 -0
  56. package/node/wrappers/models/utils/serialization.util.test.js +36 -0
  57. package/node/wrappers/models/utils/serialization.util.test.js.map +1 -0
  58. package/node/wrappers/models/utils/serialization.util.test.ts +47 -0
  59. package/node/wrappers/models/utils/serialization.util.ts +121 -0
  60. package/node/wrappers/services/portfolio-service/PortfolioService.js +8 -16
  61. package/node/wrappers/services/portfolio-service/PortfolioService.js.map +1 -1
  62. package/node/wrappers/services/portfolio-service/PortfolioService.ts +14 -24
  63. package/node/wrappers/services/portfolio-service/portfolio.test.js +30 -34
  64. package/node/wrappers/services/portfolio-service/portfolio.test.js.map +1 -1
  65. package/node/wrappers/services/portfolio-service/portfolio.test.ts +9 -13
  66. package/node/wrappers/services/position-service/PositionService.js +4 -3
  67. package/node/wrappers/services/position-service/PositionService.js.map +1 -1
  68. package/node/wrappers/services/position-service/PositionService.ts +4 -19
  69. package/node/wrappers/services/position-service/position.test.js +24 -9
  70. package/node/wrappers/services/position-service/position.test.js.map +1 -1
  71. package/node/wrappers/services/position-service/position.test.ts +57 -51
  72. package/node/wrappers/services/security-service/SecurityService.js +16 -15
  73. package/node/wrappers/services/security-service/SecurityService.js.map +1 -1
  74. package/node/wrappers/services/security-service/SecurityService.ts +15 -18
  75. package/node/wrappers/services/security-service/security.maturityLadder.test.js +59 -0
  76. package/node/wrappers/services/security-service/security.maturityLadder.test.js.map +1 -0
  77. package/node/wrappers/services/security-service/security.maturityLadder.test.ts +39 -0
  78. package/node/wrappers/services/security-service/security.test.js +19 -7
  79. package/node/wrappers/services/security-service/security.test.js.map +1 -1
  80. package/node/wrappers/services/security-service/security.test.ts +11 -7
  81. package/node/wrappers/services/transaction-service/TransactionService.js +34 -47
  82. package/node/wrappers/services/transaction-service/TransactionService.js.map +1 -1
  83. package/node/wrappers/services/transaction-service/TransactionService.ts +16 -23
  84. package/node/wrappers/services/transaction-service/transaction.test.js +45 -12
  85. package/node/wrappers/services/transaction-service/transaction.test.js.map +1 -1
  86. package/node/wrappers/services/transaction-service/transaction.test.ts +48 -21
  87. package/package.json +2 -1
  88. package/web/fintekkers/models/position/field_pb.d.ts +1 -0
  89. package/web/fintekkers/models/position/field_pb.js +1 -0
  90. package/web/fintekkers/models/security/bond/auction_type_pb.d.ts +8 -0
  91. package/web/fintekkers/models/security/bond/auction_type_pb.js +27 -0
  92. package/web/fintekkers/models/security/bond/issuance_pb.d.ts +82 -0
  93. package/web/fintekkers/models/security/bond/issuance_pb.js +646 -0
  94. package/web/fintekkers/models/security/security_pb.d.ts +7 -0
  95. package/web/fintekkers/models/security/security_pb.js +64 -2
  96. package/web/fintekkers/requests/transaction/query_transaction_request_pb.d.ts +4 -0
  97. package/web/fintekkers/requests/transaction/query_transaction_request_pb.js +31 -1
  98. package/web/fintekkers/requests/transaction/query_transaction_response_pb.d.ts +7 -0
  99. package/web/fintekkers/requests/transaction/query_transaction_response_pb.js +54 -1
  100. package/node/wrappers/models/utils/util.js +0 -28
  101. package/node/wrappers/models/utils/util.js.map +0 -1
  102. package/node/wrappers/models/utils/util.ts +0 -28
@@ -17,11 +17,13 @@ import { TransactionService } from './TransactionService';
17
17
  import Transaction from '../../models/transaction/transaction';
18
18
  import { CreateTransactionResponseProto } from '../../../fintekkers/requests/transaction/create_transaction_response_pb';
19
19
 
20
- test('test creating a transaction against the api.fintekkers.org portfolio service', () => {
21
- const isTrue = testTransaction();
22
- expect(isTrue).resolves.toBe(true);
23
- }, 30000);
20
+ import assert = require("assert");
21
+ import { PositionFilter } from '../../models/position/positionfilter';
24
22
 
23
+ test('test creating a transaction against the portfolio service', async () => {
24
+ const isTrue = await testTransaction();
25
+ expect(isTrue).toBe(true);
26
+ }, 30000);
25
27
 
26
28
  async function testTransaction(): Promise<boolean> {
27
29
  const id_proto = uuid.UUID.random().toUUIDProto();
@@ -32,26 +34,32 @@ async function testTransaction(): Promise<boolean> {
32
34
  const portfolioService = new PortfolioService();
33
35
  const transactionService = new TransactionService();
34
36
 
37
+ const positionFilter = new PositionFilter();
38
+ positionFilter.addFilter(FieldProto.ASSET_CLASS, 'Fixed Income');
39
+
40
+ console.time("searchSecurity");
35
41
  let fixedIncomeSecurities = await securityService
36
- .searchSecurity(now.to_date_proto(), FieldProto.ASSET_CLASS, 'Fixed Income')
37
- .then((fixedIncomeSecurities) => {
38
- return fixedIncomeSecurities;
39
- });
42
+ .searchSecurity(now.toProto(), positionFilter)
43
+ .then((fixedIncomeSecurities) => {
44
+ return fixedIncomeSecurities;
45
+ });
46
+ console.timeEnd("searchSecurity");
40
47
 
41
48
  let security = fixedIncomeSecurities[0];
42
49
 
50
+ console.time("searchPortfolio");
43
51
  let portfolios = await portfolioService.searchPortfolio(
44
- now.to_date_proto(),
45
- FieldProto.PORTFOLIO_NAME,
46
- 'TEST PORTFOLIO');
47
-
48
- if(portfolios === undefined) {
52
+ now.toProto(),
53
+ new PositionFilter().addFilter(FieldProto.PORTFOLIO_NAME, 'TEST PORTFOLIO'));
54
+ console.timeEnd("searchPortfolio");
55
+
56
+ if (portfolios === undefined) {
49
57
  throw new Error('No portfolios found');
50
58
  }
51
59
 
52
60
  const portfolio = portfolios[0];
53
61
 
54
- if(portfolio.getPortfolioName().includes('Federal')){
62
+ if (portfolio.getPortfolioName().includes('Federal')) {
55
63
  throw new Error('Portfolio is not a test portfolio! Abandoning test');
56
64
  }
57
65
 
@@ -59,29 +67,48 @@ async function testTransaction(): Promise<boolean> {
59
67
  transaction.setObjectClass('Transaction');
60
68
  transaction.setVersion('0.0.1');
61
69
  transaction.setUuid(uuid.UUID.random().toUUIDProto());
62
- transaction.setAsOf(now.to_date_proto());
70
+ transaction.setAsOf(now.toProto());
63
71
  transaction.setTradeDate(today);
64
72
  transaction.setSettlementDate(today); //Same day settlement
65
73
  transaction.setTransactionType(TransactionTypeProto.BUY);
66
74
  transaction.setPrice(
67
75
  new PriceProto()
68
76
  .setObjectClass('Price')
69
- .setAsOf(now.to_date_proto())
77
+ .setAsOf(now.toProto())
70
78
  .setVersion('0.0.1')
71
79
  .setSecurity(security.proto)
72
80
  .setUuid(uuid.UUID.random().toUUIDProto())
73
81
  .setPrice(new DecimalValueProto().setArbitraryPrecisionValue('100.00'))
74
82
  );
75
- transaction.setQuantity(new DecimalValueProto().setArbitraryPrecisionValue('10000.00'));
76
- transaction.setPortfolio(portfolio);
83
+ transaction.setQuantity(new DecimalValueProto().setArbitraryPrecisionValue('10000.00'));
84
+ transaction.setPortfolio(portfolio.proto);
77
85
  transaction.setSecurity(security.proto);
78
86
 
79
87
  // var validationSummary = await transactionService.validateCreateTransaction(new Transaction(transaction));
80
- // console.log(validationSummary);
88
+ // assert(validationSummary.getErrorsList().length == 0, "Validation errors found");
89
+
81
90
 
82
- var createTransactionResponse:CreateTransactionResponseProto = await transactionService.createTransaction(new Transaction(transaction));
91
+ console.time("createTransaction");
92
+ var createTransactionResponse: CreateTransactionResponseProto = await transactionService.createTransaction(new Transaction(transaction));
93
+ const transactionResponse = createTransactionResponse.getTransactionResponse();
94
+ assert(transactionResponse, "No transaction response found");
83
95
 
84
- var searchResults = await transactionService.searchTransaction(now.to_date_proto(), FieldProto.ASSET_CLASS, 'Fixed Income');
96
+ console.timeEnd("createTransaction");
97
+
98
+ console.log("Searching transaction");
99
+
100
+ console.time("searchTransaction");
101
+
102
+ const transactionID = uuid.UUID.fromU8Array(transactionResponse.getUuid().getRawUuid_asU8());
103
+ positionFilter.addFilter(FieldProto.ID, transactionID);
104
+ const transactions = await transactionService.searchTransaction(now.toProto(), positionFilter);
105
+ console.timeEnd("searchTransaction");
106
+
107
+ if (transactions === undefined) {
108
+ console.log('No transactions found');
109
+ } else {
110
+ console.log(transactions.length);
111
+ }
85
112
 
86
113
  return true;
87
114
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fintekkers/ledger-models",
3
3
  "todo": "Replace the version with build script version number",
4
- "version": "0.1.61",
4
+ "version": "0.1.63",
5
5
  "description": "ledger model protos ",
6
6
  "authors": [
7
7
  "David Doherty",
@@ -35,6 +35,7 @@
35
35
  "@grpc/grpc-js": "^1.8.18",
36
36
  "bytebuffer": "^5.0.1",
37
37
  "decimal.js": "^10.4.3",
38
+ "dotenv": "^16.3.1",
38
39
  "luxon": "^3.3.0",
39
40
  "uuid": "^9.0.0"
40
41
  }
@@ -10,6 +10,7 @@ export enum FieldProto {
10
10
  STRATEGY = 11,
11
11
  SECURITY = 12,
12
12
  SECURITY_DESCRIPTION = 61,
13
+ SECURITY_ISSUER_NAME = 62,
13
14
  CASH_IMPACT_SECURITY = 13,
14
15
  ASSET_CLASS = 50,
15
16
  PRODUCT_CLASS = 51,
@@ -27,6 +27,7 @@ proto.fintekkers.models.position.FieldProto = {
27
27
  STRATEGY: 11,
28
28
  SECURITY: 12,
29
29
  SECURITY_DESCRIPTION: 61,
30
+ SECURITY_ISSUER_NAME: 62,
30
31
  CASH_IMPACT_SECURITY: 13,
31
32
  ASSET_CLASS: 50,
32
33
  PRODUCT_CLASS: 51,
@@ -0,0 +1,8 @@
1
+ import * as jspb from 'google-protobuf'
2
+
3
+
4
+
5
+ export enum AuctionTypeProto {
6
+ UNKNOWN_AUCTION_TYPE = 0,
7
+ SINGLE_PRICE = 1,
8
+ }
@@ -0,0 +1,27 @@
1
+ // source: fintekkers/models/security/bond/auction_type.proto
2
+ /**
3
+ * @fileoverview
4
+ * @enhanceable
5
+ * @suppress {missingRequire} reports error on implicit type usages.
6
+ * @suppress {messageConventions} JS Compiler reports an error if a variable or
7
+ * field starts with 'MSG_' and isn't a translatable message.
8
+ * @public
9
+ */
10
+ // GENERATED CODE -- DO NOT EDIT!
11
+ /* eslint-disable */
12
+ // @ts-nocheck
13
+
14
+ var jspb = require('google-protobuf');
15
+ var goog = jspb;
16
+ var global = (function() { return this || window || global || self || Function('return this')(); }).call(null);
17
+
18
+ goog.exportSymbol('proto.fintekkers.models.security.bond.AuctionTypeProto', null, global);
19
+ /**
20
+ * @enum {number}
21
+ */
22
+ proto.fintekkers.models.security.bond.AuctionTypeProto = {
23
+ UNKNOWN_AUCTION_TYPE: 0,
24
+ SINGLE_PRICE: 1
25
+ };
26
+
27
+ goog.object.extend(exports, proto.fintekkers.models.security.bond);
@@ -0,0 +1,82 @@
1
+ import * as jspb from 'google-protobuf'
2
+
3
+ import * as fintekkers_models_security_bond_auction_type_pb from '../../../../fintekkers/models/security/bond/auction_type_pb';
4
+ import * as fintekkers_models_util_decimal_value_pb from '../../../../fintekkers/models/util/decimal_value_pb';
5
+ import * as fintekkers_models_util_local_date_pb from '../../../../fintekkers/models/util/local_date_pb';
6
+ import * as fintekkers_models_util_local_timestamp_pb from '../../../../fintekkers/models/util/local_timestamp_pb';
7
+
8
+
9
+ export class IssuanceProto extends jspb.Message {
10
+ getObjectClass(): string;
11
+ setObjectClass(value: string): IssuanceProto;
12
+
13
+ getVersion(): string;
14
+ setVersion(value: string): IssuanceProto;
15
+
16
+ getAsOf(): fintekkers_models_util_local_timestamp_pb.LocalTimestampProto | undefined;
17
+ setAsOf(value?: fintekkers_models_util_local_timestamp_pb.LocalTimestampProto): IssuanceProto;
18
+ hasAsOf(): boolean;
19
+ clearAsOf(): IssuanceProto;
20
+
21
+ getValidFrom(): fintekkers_models_util_local_timestamp_pb.LocalTimestampProto | undefined;
22
+ setValidFrom(value?: fintekkers_models_util_local_timestamp_pb.LocalTimestampProto): IssuanceProto;
23
+ hasValidFrom(): boolean;
24
+ clearValidFrom(): IssuanceProto;
25
+
26
+ getValidTo(): fintekkers_models_util_local_timestamp_pb.LocalTimestampProto | undefined;
27
+ setValidTo(value?: fintekkers_models_util_local_timestamp_pb.LocalTimestampProto): IssuanceProto;
28
+ hasValidTo(): boolean;
29
+ clearValidTo(): IssuanceProto;
30
+
31
+ getAuctionAnnouncementDate(): fintekkers_models_util_local_date_pb.LocalDateProto | undefined;
32
+ setAuctionAnnouncementDate(value?: fintekkers_models_util_local_date_pb.LocalDateProto): IssuanceProto;
33
+ hasAuctionAnnouncementDate(): boolean;
34
+ clearAuctionAnnouncementDate(): IssuanceProto;
35
+
36
+ getAuctionIssueDate(): fintekkers_models_util_local_date_pb.LocalDateProto | undefined;
37
+ setAuctionIssueDate(value?: fintekkers_models_util_local_date_pb.LocalDateProto): IssuanceProto;
38
+ hasAuctionIssueDate(): boolean;
39
+ clearAuctionIssueDate(): IssuanceProto;
40
+
41
+ getPreauctionOutstandingQuantity(): fintekkers_models_util_decimal_value_pb.DecimalValueProto | undefined;
42
+ setPreauctionOutstandingQuantity(value?: fintekkers_models_util_decimal_value_pb.DecimalValueProto): IssuanceProto;
43
+ hasPreauctionOutstandingQuantity(): boolean;
44
+ clearPreauctionOutstandingQuantity(): IssuanceProto;
45
+
46
+ getAuctionOfferingAmount(): fintekkers_models_util_decimal_value_pb.DecimalValueProto | undefined;
47
+ setAuctionOfferingAmount(value?: fintekkers_models_util_decimal_value_pb.DecimalValueProto): IssuanceProto;
48
+ hasAuctionOfferingAmount(): boolean;
49
+ clearAuctionOfferingAmount(): IssuanceProto;
50
+
51
+ getAuctionType(): fintekkers_models_security_bond_auction_type_pb.AuctionTypeProto;
52
+ setAuctionType(value: fintekkers_models_security_bond_auction_type_pb.AuctionTypeProto): IssuanceProto;
53
+
54
+ getPriceForSinglePriceAuction(): fintekkers_models_util_decimal_value_pb.DecimalValueProto | undefined;
55
+ setPriceForSinglePriceAuction(value?: fintekkers_models_util_decimal_value_pb.DecimalValueProto): IssuanceProto;
56
+ hasPriceForSinglePriceAuction(): boolean;
57
+ clearPriceForSinglePriceAuction(): IssuanceProto;
58
+
59
+ serializeBinary(): Uint8Array;
60
+ toObject(includeInstance?: boolean): IssuanceProto.AsObject;
61
+ static toObject(includeInstance: boolean, msg: IssuanceProto): IssuanceProto.AsObject;
62
+ static serializeBinaryToWriter(message: IssuanceProto, writer: jspb.BinaryWriter): void;
63
+ static deserializeBinary(bytes: Uint8Array): IssuanceProto;
64
+ static deserializeBinaryFromReader(message: IssuanceProto, reader: jspb.BinaryReader): IssuanceProto;
65
+ }
66
+
67
+ export namespace IssuanceProto {
68
+ export type AsObject = {
69
+ objectClass: string,
70
+ version: string,
71
+ asOf?: fintekkers_models_util_local_timestamp_pb.LocalTimestampProto.AsObject,
72
+ validFrom?: fintekkers_models_util_local_timestamp_pb.LocalTimestampProto.AsObject,
73
+ validTo?: fintekkers_models_util_local_timestamp_pb.LocalTimestampProto.AsObject,
74
+ auctionAnnouncementDate?: fintekkers_models_util_local_date_pb.LocalDateProto.AsObject,
75
+ auctionIssueDate?: fintekkers_models_util_local_date_pb.LocalDateProto.AsObject,
76
+ preauctionOutstandingQuantity?: fintekkers_models_util_decimal_value_pb.DecimalValueProto.AsObject,
77
+ auctionOfferingAmount?: fintekkers_models_util_decimal_value_pb.DecimalValueProto.AsObject,
78
+ auctionType: fintekkers_models_security_bond_auction_type_pb.AuctionTypeProto,
79
+ priceForSinglePriceAuction?: fintekkers_models_util_decimal_value_pb.DecimalValueProto.AsObject,
80
+ }
81
+ }
82
+