@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.
- package/.env +3 -0
- package/node/fintekkers/models/position/field_pb.d.ts +1 -0
- package/node/fintekkers/models/position/field_pb.js +1 -0
- package/node/fintekkers/models/security/bond/auction_type_grpc_pb.js +1 -0
- package/node/fintekkers/models/security/bond/auction_type_pb.d.ts +12 -0
- package/node/fintekkers/models/security/bond/auction_type_pb.js +33 -0
- package/node/fintekkers/models/security/bond/issuance_grpc_pb.js +1 -0
- package/node/fintekkers/models/security/bond/issuance_pb.d.ts +85 -0
- package/node/fintekkers/models/security/bond/issuance_pb.js +652 -0
- package/node/fintekkers/models/security/security_pb.d.ts +6 -0
- package/node/fintekkers/models/security/security_pb.js +64 -2
- package/node/fintekkers/requests/transaction/query_transaction_request_pb.d.ts +3 -0
- package/node/fintekkers/requests/transaction/query_transaction_request_pb.js +31 -1
- package/node/fintekkers/requests/transaction/query_transaction_response_pb.d.ts +7 -0
- package/node/fintekkers/requests/transaction/query_transaction_response_pb.js +54 -1
- package/node/wrappers/models/portfolio/portfolio.js +41 -0
- package/node/wrappers/models/portfolio/portfolio.js.map +1 -0
- package/node/wrappers/models/portfolio/portfolio.ts +49 -0
- package/node/wrappers/models/position/position.js +14 -9
- package/node/wrappers/models/position/position.js.map +1 -1
- package/node/wrappers/models/position/position.test.js +43 -0
- package/node/wrappers/models/position/position.test.js.map +1 -0
- package/node/wrappers/models/position/position.test.ts +70 -0
- package/node/wrappers/models/position/position.ts +17 -10
- package/node/wrappers/models/position/positionfilter.js +35 -0
- package/node/wrappers/models/position/positionfilter.js.map +1 -0
- package/node/wrappers/models/position/positionfilter.ts +38 -0
- package/node/wrappers/models/security/security.test.js +33 -0
- package/node/wrappers/models/security/security.test.js.map +1 -0
- package/node/wrappers/models/security/security.test.ts +41 -0
- package/node/wrappers/models/transaction/transaction.js +6 -5
- package/node/wrappers/models/transaction/transaction.js.map +1 -1
- package/node/wrappers/models/transaction/transaction.test.js.map +1 -1
- package/node/wrappers/models/transaction/transaction.test.ts +1 -6
- package/node/wrappers/models/transaction/transaction.ts +31 -31
- package/node/wrappers/models/transaction/transaction_type.js +0 -1
- package/node/wrappers/models/transaction/transaction_type.js.map +1 -1
- package/node/wrappers/models/transaction/transaction_type.ts +1 -1
- package/node/wrappers/models/utils/datetime.js +9 -0
- package/node/wrappers/models/utils/datetime.js.map +1 -1
- package/node/wrappers/models/utils/datetime.ts +16 -4
- package/node/wrappers/models/utils/requestcontext.js +55 -0
- package/node/wrappers/models/utils/requestcontext.js.map +1 -0
- package/node/wrappers/models/utils/requestcontext.ts +44 -0
- package/node/wrappers/models/utils/requestcontext_d.js +1 -0
- package/node/wrappers/models/utils/requestcontext_d.js.map +1 -0
- package/node/wrappers/models/utils/requestcontext_d.ts +7 -0
- package/node/wrappers/models/utils/serialization.js +14 -4
- package/node/wrappers/models/utils/serialization.js.map +1 -1
- package/node/wrappers/models/utils/serialization.test.js +8 -9
- package/node/wrappers/models/utils/serialization.test.js.map +1 -1
- package/node/wrappers/models/utils/serialization.test.ts +8 -10
- package/node/wrappers/models/utils/serialization.ts +46 -38
- package/node/wrappers/models/utils/serialization.util.js +108 -0
- package/node/wrappers/models/utils/serialization.util.js.map +1 -0
- package/node/wrappers/models/utils/serialization.util.test.js +36 -0
- package/node/wrappers/models/utils/serialization.util.test.js.map +1 -0
- package/node/wrappers/models/utils/serialization.util.test.ts +47 -0
- package/node/wrappers/models/utils/serialization.util.ts +121 -0
- package/node/wrappers/services/portfolio-service/PortfolioService.js +8 -16
- package/node/wrappers/services/portfolio-service/PortfolioService.js.map +1 -1
- package/node/wrappers/services/portfolio-service/PortfolioService.ts +14 -24
- package/node/wrappers/services/portfolio-service/portfolio.test.js +30 -34
- package/node/wrappers/services/portfolio-service/portfolio.test.js.map +1 -1
- package/node/wrappers/services/portfolio-service/portfolio.test.ts +9 -13
- package/node/wrappers/services/position-service/PositionService.js +4 -3
- package/node/wrappers/services/position-service/PositionService.js.map +1 -1
- package/node/wrappers/services/position-service/PositionService.ts +4 -19
- package/node/wrappers/services/position-service/position.test.js +24 -9
- package/node/wrappers/services/position-service/position.test.js.map +1 -1
- package/node/wrappers/services/position-service/position.test.ts +57 -51
- package/node/wrappers/services/security-service/SecurityService.js +16 -15
- package/node/wrappers/services/security-service/SecurityService.js.map +1 -1
- package/node/wrappers/services/security-service/SecurityService.ts +15 -18
- package/node/wrappers/services/security-service/security.maturityLadder.test.js +59 -0
- package/node/wrappers/services/security-service/security.maturityLadder.test.js.map +1 -0
- package/node/wrappers/services/security-service/security.maturityLadder.test.ts +39 -0
- package/node/wrappers/services/security-service/security.test.js +19 -7
- package/node/wrappers/services/security-service/security.test.js.map +1 -1
- package/node/wrappers/services/security-service/security.test.ts +11 -7
- package/node/wrappers/services/transaction-service/TransactionService.js +34 -47
- package/node/wrappers/services/transaction-service/TransactionService.js.map +1 -1
- package/node/wrappers/services/transaction-service/TransactionService.ts +16 -23
- package/node/wrappers/services/transaction-service/transaction.test.js +45 -12
- package/node/wrappers/services/transaction-service/transaction.test.js.map +1 -1
- package/node/wrappers/services/transaction-service/transaction.test.ts +48 -21
- package/package.json +2 -1
- package/web/fintekkers/models/position/field_pb.d.ts +1 -0
- package/web/fintekkers/models/position/field_pb.js +1 -0
- package/web/fintekkers/models/security/bond/auction_type_pb.d.ts +8 -0
- package/web/fintekkers/models/security/bond/auction_type_pb.js +27 -0
- package/web/fintekkers/models/security/bond/issuance_pb.d.ts +82 -0
- package/web/fintekkers/models/security/bond/issuance_pb.js +646 -0
- package/web/fintekkers/models/security/security_pb.d.ts +7 -0
- package/web/fintekkers/models/security/security_pb.js +64 -2
- package/web/fintekkers/requests/transaction/query_transaction_request_pb.d.ts +4 -0
- package/web/fintekkers/requests/transaction/query_transaction_request_pb.js +31 -1
- package/web/fintekkers/requests/transaction/query_transaction_response_pb.d.ts +7 -0
- package/web/fintekkers/requests/transaction/query_transaction_response_pb.js +54 -1
- package/node/wrappers/models/utils/util.js +0 -28
- package/node/wrappers/models/utils/util.js.map +0 -1
- 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
|
-
|
|
21
|
-
|
|
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
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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.
|
|
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.
|
|
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
|
-
//
|
|
88
|
+
// assert(validationSummary.getErrorsList().length == 0, "Validation errors found");
|
|
89
|
+
|
|
81
90
|
|
|
82
|
-
|
|
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
|
-
|
|
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.
|
|
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
|
}
|
|
@@ -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
|
+
|