@fintekkers/ledger-models 0.1.67 → 0.1.69
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 +1 -1
- package/node/wrappers/models/portfolio/portfolio.js.map +1 -1
- package/node/wrappers/models/security/security.js +3 -2
- package/node/wrappers/models/security/security.js.map +1 -1
- package/node/wrappers/models/security/security.ts +3 -2
- package/node/wrappers/models/transaction/transaction.js +5 -3
- package/node/wrappers/models/transaction/transaction.js.map +1 -1
- package/node/wrappers/models/transaction/transaction.ts +9 -3
- package/node/wrappers/models/transaction/transaction_type.js.map +1 -1
- package/node/wrappers/models/utils/date.js +5 -1
- package/node/wrappers/models/utils/date.js.map +1 -1
- package/node/wrappers/models/utils/date.ts +5 -1
- package/node/wrappers/models/utils/requestcontext.js.map +1 -1
- package/node/wrappers/models/utils/serialization.js.map +1 -1
- package/node/wrappers/models/utils/serialization.test.js.map +1 -1
- package/node/wrappers/models/utils/serialization.test.ts +1 -1
- package/node/wrappers/models/utils/serialization.util.js.map +1 -1
- package/node/wrappers/services/position-service/position.test.js.map +1 -1
- package/node/wrappers/services/security-service/security.maturityLadder.test.js +19 -10
- package/node/wrappers/services/security-service/security.maturityLadder.test.js.map +1 -1
- package/node/wrappers/services/security-service/security.maturityLadder.test.ts +18 -19
- package/node/wrappers/services/transaction-service/transaction.search.test.js +87 -0
- package/node/wrappers/services/transaction-service/transaction.search.test.js.map +1 -0
- package/node/wrappers/services/transaction-service/transaction.search.test.ts +55 -0
- package/node/wrappers/services/transaction-service/transaction.test.js +75 -30
- package/node/wrappers/services/transaction-service/transaction.test.js.map +1 -1
- package/node/wrappers/services/transaction-service/transaction.test.ts +61 -34
- package/package.json +1 -1
package/.env
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portfolio.js","sourceRoot":"","sources":["portfolio.ts"],"names":[],"mappings":";;AACA,yEAA0E;AAC1E,8CAAkD;AAClD,sCAAqC;AAErC;IAGI,mBAAY,KAAqB;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,+BAA+B;IAC/B,yBAAyB;IACzB,IAAI;IAEJ,yBAAK,GAAL;QACI,OAAO,WAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,2BAAO,GAAP;QACI,OAAO,IAAI,wBAAa,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,oCAAgB,GAAhB;QACI,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;IACzC,CAAC;IAED,6BAAS,GAAT;QACI,OAAO,CAAC,qBAAU,CAAC,EAAE,EAAE,qBAAU,CAAC,SAAS,EAAE,qBAAU,CAAC,YAAY,EAAE,qBAAU,CAAC,cAAc,CAAC,CAAC;IACrG,CAAC;IAED,4BAAQ,GAAR,UAAS,KAAiB;QACtB,QAAQ,KAAK,EAAE;
|
|
1
|
+
{"version":3,"file":"portfolio.js","sourceRoot":"","sources":["portfolio.ts"],"names":[],"mappings":";;AACA,yEAA0E;AAC1E,8CAAkD;AAClD,sCAAqC;AAErC;IAGI,mBAAY,KAAqB;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,+BAA+B;IAC/B,yBAAyB;IACzB,IAAI;IAEJ,yBAAK,GAAL;QACI,OAAO,WAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,2BAAO,GAAP;QACI,OAAO,IAAI,wBAAa,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,oCAAgB,GAAhB;QACI,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;IACzC,CAAC;IAED,6BAAS,GAAT;QACI,OAAO,CAAC,qBAAU,CAAC,EAAE,EAAE,qBAAU,CAAC,SAAS,EAAE,qBAAU,CAAC,YAAY,EAAE,qBAAU,CAAC,cAAc,CAAC,CAAC;IACrG,CAAC;IAED,4BAAQ,GAAR,UAAS,KAAiB;QACtB,QAAQ,KAAK,EAAE,CAAC;YACZ,KAAK,qBAAU,CAAC,EAAE,CAAC;YACnB,KAAK,qBAAU,CAAC,YAAY;gBACxB,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;YACxB,KAAK,qBAAU,CAAC,KAAK;gBACjB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1B,KAAK,qBAAU,CAAC,cAAc;gBAC1B,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACnC;gBACI,MAAM,IAAI,KAAK,CAAC,iDAA0C,KAAK,CAAE,CAAC,CAAC;QAC3E,CAAC;IACL,CAAC;IACL,gBAAC;AAAD,CAAC,AAxCD,IAwCC;AAGD,kBAAe,SAAS,CAAC"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
var field_pb_1 = require("../../../fintekkers/models/position/field_pb");
|
|
4
4
|
var datetime_1 = require("../utils/datetime");
|
|
5
5
|
var uuid_1 = require("../utils/uuid");
|
|
6
|
+
var serialization_1 = require("../utils/serialization");
|
|
6
7
|
var Security = /** @class */ (function () {
|
|
7
8
|
function Security(proto) {
|
|
8
9
|
this.proto = proto;
|
|
@@ -58,11 +59,11 @@ var Security = /** @class */ (function () {
|
|
|
58
59
|
};
|
|
59
60
|
Security.prototype.getIssueDate = function () {
|
|
60
61
|
var date = this.proto.getIssueDate();
|
|
61
|
-
return
|
|
62
|
+
return serialization_1.ProtoSerializationUtil.deserialize(this.proto.getIssueDate());
|
|
62
63
|
};
|
|
63
64
|
Security.prototype.getMaturityDate = function () {
|
|
64
65
|
var date = this.proto.getMaturityDate();
|
|
65
|
-
return
|
|
66
|
+
return serialization_1.ProtoSerializationUtil.deserialize(this.proto.getMaturityDate());
|
|
66
67
|
};
|
|
67
68
|
Security.prototype.getIssuerName = function () {
|
|
68
69
|
return this.proto.getIssuerName();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.js","sourceRoot":"","sources":["security.ts"],"names":[],"mappings":";;AAAA,yEAA0E;AAG1E,8CAAkD;AAClD,sCAAqC;
|
|
1
|
+
{"version":3,"file":"security.js","sourceRoot":"","sources":["security.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { IdentifierProto } from "../../../fintekkers/models/security/identifier/
|
|
|
3
3
|
import { SecurityProto } from "../../../fintekkers/models/security/security_pb";
|
|
4
4
|
import { ZonedDateTime } from "../utils/datetime";
|
|
5
5
|
import { UUID } from "../utils/uuid";
|
|
6
|
+
import { ProtoSerializationUtil } from '../utils/serialization';
|
|
6
7
|
|
|
7
8
|
class Security {
|
|
8
9
|
proto: SecurityProto;
|
|
@@ -71,12 +72,12 @@ class Security {
|
|
|
71
72
|
|
|
72
73
|
getIssueDate(): Date {
|
|
73
74
|
const date = this.proto.getIssueDate();
|
|
74
|
-
return
|
|
75
|
+
return ProtoSerializationUtil.deserialize(this.proto.getIssueDate());
|
|
75
76
|
}
|
|
76
77
|
|
|
77
78
|
getMaturityDate(): Date {
|
|
78
79
|
const date = this.proto.getMaturityDate();
|
|
79
|
-
return
|
|
80
|
+
return ProtoSerializationUtil.deserialize(this.proto.getMaturityDate());
|
|
80
81
|
}
|
|
81
82
|
|
|
82
83
|
getIssuerName(): string {
|
|
@@ -15,15 +15,17 @@ var Transaction = /** @class */ (function () {
|
|
|
15
15
|
}
|
|
16
16
|
Transaction.prototype.toString = function () {
|
|
17
17
|
try {
|
|
18
|
-
var validTo = this.proto.
|
|
18
|
+
var validTo = this.proto.getValidTo() ? this.proto.getValidTo().toString() : "NULL";
|
|
19
|
+
var validFrom = this.proto.getValidFrom() ? this.proto.getValidFrom().toString() : "NULL";
|
|
20
|
+
var strategyAllocation = this.proto.getStrategyAllocation() ? this.getStrategyAllocation().toString() : "NULL";
|
|
19
21
|
return "".concat(/*this.proto.isCancelled()*/ false ? "INVALIDATED: " : "", "TXN[").concat(this.getID().toString(), "], ") +
|
|
20
22
|
"TradeDate[".concat(this.getTradeDate().toString(), "], TxnType[").concat(this.getTransactionType(), "], Price[").concat(this.getPrice(), "], Quantity[").concat(this.getQuantity(), "], ") +
|
|
21
23
|
"AsOf[".concat(this.getAsOf().toString(), "], Portfolio[").concat(this.getPortfolio().getPortfolioName(), "], Issuer[").concat(this.getSecurity().getIssuerName(), "], ") +
|
|
22
|
-
"ValidFrom[".concat(
|
|
24
|
+
"ValidFrom[".concat(validFrom, "], ValidTo[").concat(validTo, "], Strategy[").concat(strategyAllocation, "]");
|
|
23
25
|
}
|
|
24
26
|
catch (e) {
|
|
25
27
|
console.error(e);
|
|
26
|
-
return "
|
|
28
|
+
return "Transaction toString() serialization failed: ".concat(e);
|
|
27
29
|
}
|
|
28
30
|
};
|
|
29
31
|
Transaction.prototype.getFields = function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["transaction.ts"],"names":[],"mappings":";;AAEA,uDAAqD;AAGrD,yEAA0E;AAG1E,iDAA4C;AAC5C,oDAA+C;AAE/C,aAAa;AACb,8CAAkD;AAClD,sCAAqC;AACrC,sCAA0C;AAC1C,yCAAqC;AAErC;IAGE,qBAAY,KAAuB;QACjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,8BAAQ,GAAR;QACE,IAAI;
|
|
1
|
+
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["transaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,15 +25,21 @@ class Transaction {
|
|
|
25
25
|
toString(): string {
|
|
26
26
|
try {
|
|
27
27
|
const validTo: string =
|
|
28
|
-
this.proto.
|
|
28
|
+
this.proto.getValidTo() ? this.proto.getValidTo().toString() : "NULL";
|
|
29
|
+
|
|
30
|
+
const validFrom: string =
|
|
31
|
+
this.proto.getValidFrom() ? this.proto.getValidFrom().toString() : "NULL";
|
|
32
|
+
|
|
33
|
+
const strategyAllocation =
|
|
34
|
+
this.proto.getStrategyAllocation() ? this.getStrategyAllocation().toString() : "NULL";
|
|
29
35
|
|
|
30
36
|
return `${/*this.proto.isCancelled()*/ false ? "INVALIDATED: " : ""}TXN[${this.getID().toString()}], ` +
|
|
31
37
|
`TradeDate[${this.getTradeDate().toString()}], TxnType[${this.getTransactionType()}], Price[${this.getPrice()}], Quantity[${this.getQuantity()}], ` +
|
|
32
38
|
`AsOf[${this.getAsOf().toString()}], Portfolio[${this.getPortfolio().getPortfolioName()}], Issuer[${this.getSecurity().getIssuerName()}], ` +
|
|
33
|
-
`ValidFrom[${
|
|
39
|
+
`ValidFrom[${validFrom}], ValidTo[${validTo}], Strategy[${strategyAllocation}]`;
|
|
34
40
|
} catch (e) {
|
|
35
41
|
console.error(e);
|
|
36
|
-
return
|
|
42
|
+
return `Transaction toString() serialization failed: ${e}`;
|
|
37
43
|
}
|
|
38
44
|
}
|
|
39
45
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction_type.js","sourceRoot":"","sources":["transaction_type.ts"],"names":[],"mappings":";;;AAAA,kGAAkG;AAElG;IAGI,yBAAY,KAA2B;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAYH,gDAAsB,GAAtB;QACI,QAAQ,IAAI,CAAC,KAAK,EAAE;
|
|
1
|
+
{"version":3,"file":"transaction_type.js","sourceRoot":"","sources":["transaction_type.ts"],"names":[],"mappings":";;;AAAA,kGAAkG;AAElG;IAGI,yBAAY,KAA2B;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAYH,gDAAsB,GAAtB;QACI,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;YACjB,KAAK,0CAAoB,CAAC,GAAG,CAAC;YAC9B,KAAK,0CAAoB,CAAC,OAAO,CAAC;YAClC,KAAK,0CAAoB,CAAC,iBAAiB;gBACvC,OAAO,CAAC,CAAC;YACb,KAAK,0CAAoB,CAAC,IAAI,CAAC;YAC/B,KAAK,0CAAoB,CAAC,UAAU,CAAC;YACrC,KAAK,0CAAoB,CAAC,UAAU;gBAChC,OAAO,CAAC,CAAC,CAAC;YACd,KAAK,0CAAoB,CAAC,OAAO;gBAC7B,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtE,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,kCAAQ,GAAR;QACE,OAAO,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IACL,sBAAC;AAAD,CAAC,AA5CD,IA4CC;AA5CY,0CAAe;AASxB;IACI,eAAe,CAAC,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEtD,MAAM,CAAC,IAAI,CAAC,0CAAoB,CAAC,CAAC,OAAO,CAAC,UAAA,GAAG;QACzC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,0CAAoB,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACP,CAAC,GAAA,CAAA"}
|
|
@@ -2,12 +2,16 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LocalDate = void 0;
|
|
4
4
|
var local_date_pb_1 = require("../../../fintekkers/models/util/local_date_pb");
|
|
5
|
+
var serialization_1 = require("./serialization");
|
|
5
6
|
var LocalDate = /** @class */ (function () {
|
|
6
7
|
function LocalDate(proto) {
|
|
7
8
|
this.proto = proto;
|
|
8
9
|
}
|
|
9
10
|
LocalDate.prototype.toDate = function () {
|
|
10
|
-
|
|
11
|
+
//Use the deserialization class which correctly handles month indexing
|
|
12
|
+
//mismatch between Javascript date and other languages, and the proto definition
|
|
13
|
+
//In the Proto 2 means Februrary, but in Javascript it will be read as March
|
|
14
|
+
return serialization_1.ProtoSerializationUtil.deserialize(this.proto);
|
|
11
15
|
};
|
|
12
16
|
LocalDate.prototype.toString = function () {
|
|
13
17
|
return this.proto.getYear() + '-' + this.proto.getMonth() + '-' + this.proto.getDay();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.js","sourceRoot":"","sources":["date.ts"],"names":[],"mappings":";;;AACA,+EAA+E;
|
|
1
|
+
{"version":3,"file":"date.js","sourceRoot":"","sources":["date.ts"],"names":[],"mappings":";;;AACA,+EAA+E;AAC/E,iDAAyD;AAEzD;IAGE,mBAAY,KAAqB;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,0BAAM,GAAN;QACE,sEAAsE;QACtE,gFAAgF;QAChF,4EAA4E;QAC5E,OAAO,sCAAsB,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,4BAAQ,GAAR;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IACxF,CAAC;IAED,2BAAO,GAAP;QACE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEM,eAAK,GAAZ;QACE,IAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACzB,OAAO,IAAI,SAAS,CAClB,IAAI,8BAAc,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CACrG,CAAC;IACJ,CAAC;IACH,gBAAC;AAAD,CAAC,AA5BD,IA4BC;AAEQ,8BAAS"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { assert } from 'console';
|
|
2
2
|
import { LocalDateProto } from '../../../fintekkers/models/util/local_date_pb';
|
|
3
|
+
import { ProtoSerializationUtil } from './serialization';
|
|
3
4
|
|
|
4
5
|
class LocalDate {
|
|
5
6
|
private proto: LocalDateProto;
|
|
@@ -9,7 +10,10 @@ class LocalDate {
|
|
|
9
10
|
}
|
|
10
11
|
|
|
11
12
|
toDate(): Date {
|
|
12
|
-
|
|
13
|
+
//Use the deserialization class which correctly handles month indexing
|
|
14
|
+
//mismatch between Javascript date and other languages, and the proto definition
|
|
15
|
+
//In the Proto 2 means Februrary, but in Javascript it will be read as March
|
|
16
|
+
return ProtoSerializationUtil.deserialize(this.proto);
|
|
13
17
|
}
|
|
14
18
|
|
|
15
19
|
toString(): string {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestcontext.js","sourceRoot":"","sources":["requestcontext.ts"],"names":[],"mappings":";;AAAA,+BAAiC;AACjC,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,oCAAsC;AAEtC;IAAA;IAoCA,CAAC;IAnCkB,mBAAS,GAAxB,UAAyB,GAAW,EAAE,YAAqB;QACvD,IAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"requestcontext.js","sourceRoot":"","sources":["requestcontext.ts"],"names":[],"mappings":";;AAAA,+BAAiC;AACjC,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,oCAAsC;AAEtC;IAAA;IAoCA,CAAC;IAnCkB,mBAAS,GAAxB,UAAyB,GAAW,EAAE,YAAqB;QACvD,IAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,+BAAwB,GAAG,iBAAc,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEL,sBAAW,mBAAM;aAAjB;YACE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;YACpD,yCAAyC;QAC3C,CAAC;;;OAAA;IAOD,sBAAW,mBAAM;QALjB;;;;WAIG;aACH;YACE,IAAM,GAAG,GAAU,SAAS,CAAC,SAAS,CAAC,SAAS,EAAE,oBAAoB,CAAC,GAAG,OAAO,CAAC;YAClF,OAAO,GAAG,CAAC;QACb,CAAC;;;OAAA;IAED,sBAAW,2BAAc;aAAzB;YACE,IAAG,IAAI,CAAC,MAAM,KAAK,gBAAgB,EAAC,CAAC;gBACjC,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;YAC7C,CAAC;iBACI,CAAC;gBACF,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;YACxC,CAAC;QACH,CAAC;;;OAAA;IAEH,gBAAC;AAAD,CAAC,AApCD,IAoCC;AAED,kBAAe,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialization.js","sourceRoot":"","sources":["serialization.ts"],"names":[],"mappings":";;;AAAA,qFAAqF;AACrF,+EAA+E;AAC/E,yFAAyF;AACzF,mEAAoE;AACpE,uCAA2C;AAC3C,+BAA8B;AAO9B;IAAA;IA0CA,CAAC;IAzCQ,gCAAS,GAAhB,UAAiB,GAAQ;QACvB,IAAI,GAAG,YAAY,WAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"serialization.js","sourceRoot":"","sources":["serialization.ts"],"names":[],"mappings":";;;AAAA,qFAAqF;AACrF,+EAA+E;AAC/E,yFAAyF;AACzF,mEAAoE;AACpE,uCAA2C;AAC3C,+BAA8B;AAO9B;IAAA;IA0CA,CAAC;IAzCQ,gCAAS,GAAhB,UAAiB,GAAQ;QACvB,IAAI,GAAG,YAAY,WAAI,EAAE,CAAC;YACxB,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC;QACD,IAAI,GAAG,YAAY,IAAI,EAAE,CAAC;YACxB,OAAO,IAAI,8BAAc,EAAE;iBACxB,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;iBAC1B,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;iBAC5B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,GAAG,YAAY,wBAAa,EAAE,CAAC;YACjC,OAAO,GAAG,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,IAAI,oCAAiB,EAAE,CAAC,0BAA0B,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,6CAAsC,OAAO,GAAG,sBAAY,GAAG,CAAE,CAAC,CAAC;IACrF,CAAC;IAEM,kCAAW,GAAlB,UAAmB,GAAQ;QACzB,IAAI,GAAG,YAAY,mBAAS,EAAE,CAAC;YAC7B,OAAO,WAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,GAAG,YAAY,8BAAc,EAAE,CAAC;YAClC,IAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACvE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,GAAG,YAAY,wCAAmB,EAAE,CAAC;YACvC,OAAO,IAAI,wBAAa,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,kBAAkB,EAAE,CAAC;YAC1D,OAAO,IAAI,CAAC,CAAA,uCAAuC;QACrD,CAAC;QACD,IAAI,GAAG,YAAY,oCAAiB,EAAE,CAAC;YACrC,OAAO,UAAU,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,+CAAwC,OAAO,GAAG,sBAAY,GAAG,CAAE,CAAC,CAAC;IACvF,CAAC;IACH,6BAAC;AAAD,CAAC,AA1CD,IA0CC;AA1CY,wDAAsB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialization.test.js","sourceRoot":"","sources":["serialization.test.ts"],"names":[],"mappings":";;AAEA,iDAAyD;AACzD,+BAA8B;AAE9B,+BAAkC;AAClC,IAAI,CAAC,iCAAiC,EAAE;IACpC,iBAAiB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"serialization.test.js","sourceRoot":"","sources":["serialization.test.ts"],"names":[],"mappings":";;AAEA,iDAAyD;AACzD,+BAA8B;AAE9B,+BAAkC;AAClC,IAAI,CAAC,iCAAiC,EAAE;IACpC,iBAAiB,EAAE,CAAC;AACxB,CAAC,CAAC,CAAC;AAEH,SAAS,iBAAiB;IACtB,SAAS,EAAE,CAAC;IAEZ,IAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,uCAAuC;IAC/E,IAAM,cAAc,GAAQ,sCAAsB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACxE,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAE3D,IAAM,gBAAgB,GAAQ,sCAAsB,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IACjF,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEhE,IAAM,mBAAmB,GAAQ,sCAAsB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7E,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEhE,IAAM,qBAAqB,GAAQ,sCAAsB,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAC3F,MAAM,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,SAAS;IACd,IAAM,IAAI,GAAS,WAAI,CAAC,MAAM,EAAE,CAAC;IACjC,IAAM,cAAc,GAAc,sCAAsB,CAAC,SAAS,CAAC,IAAI,CAAc,CAAC;IACtF,IAAM,QAAQ,GAAS,sCAAsB,CAAC,WAAW,CAAC,cAAc,CAAS,CAAC;IAElF,IAAM,UAAU,GAAW,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3C,IAAM,cAAc,GAAW,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAEnD,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACzC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;AACzD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialization.util.js","sourceRoot":"","sources":["serialization.util.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAC7D,2EAA0E;AAC1E,iDAAyD;AACzD,+EAA+E;AAC/E,uCAA2C;AAC3C,yFAAyF;AACzF,+BAA8B;AAC9B,mEAAoE;AAEpE,SAAS,IAAI,CAAC,KAAU;IACtB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"serialization.util.js","sourceRoot":"","sources":["serialization.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"position.test.js","sourceRoot":"","sources":["position.test.ts"],"names":[],"mappings":";AAAA,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAET,8FAA+F;AAC/F,+EAAuG;AAEvG,6EAA8E;AAG9E,cAAc;AACd,yEAA0E;AAC1E,yFAAqF;AACrF,6FAA6F;AAC7F,wDAA4D;AAE5D,4EAA6D;AAC7D,iEAA6D;AAE7D,qBAAqB;AACrB,sFAAqF;AACrF,mFAAkF;AAClF,6GAA4G;AAC5G,uEAAsE;AAEtE,IAAI,CAAC,yEAAyE,EAAE;;;;oBAC/D,qBAAM,YAAY,EAAE,EAAA;;gBAA7B,MAAM,GAAG,SAAoB;gBACnC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;;;KAC3B,EAAE,KAAK,CAAC,CAAC;AAEV,SAAe,YAAY,CAAC,QAAuB,EACjD,SAAyB,EACzB,QAAwB,EACxB,aAAgC,EAChC,MAAoD,EACpD,kBAAuB,EAAE,KAA2B;IADpD,uBAAA,EAAA,UAAU,qBAAU,CAAC,SAAS,EAAE,qBAAU,CAAC,QAAQ,CAAC;IACpD,mCAAA,EAAA,uBAAuB;IAAE,sBAAA,EAAA,QAAQ,wBAAa,CAAC,GAAG,EAAE;;;;;;oBAC9C,OAAO,GAAG,EAAE,CAAC;oBAEnB,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"position.test.js","sourceRoot":"","sources":["position.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,6 +51,7 @@ test('test the api.fintekkers.org security service by creating a maturity ladder
|
|
|
51
51
|
securityService = new SecurityService_1.SecurityService();
|
|
52
52
|
positionFilter = new positionfilter_1.PositionFilter();
|
|
53
53
|
positionFilter.addEqualsFilter(field_pb_1.FieldProto.ASSET_CLASS, 'Fixed Income');
|
|
54
|
+
positionFilter.addEqualsFilter(field_pb_1.FieldProto.SECURITY_ISSUER_NAME, 'US Government');
|
|
54
55
|
return [4 /*yield*/, securityService.searchSecurityAsOfNow(positionFilter)];
|
|
55
56
|
case 1:
|
|
56
57
|
securities = _a.sent();
|
|
@@ -62,19 +63,27 @@ test('test the api.fintekkers.org security service by creating a maturity ladder
|
|
|
62
63
|
issuanceList = security.proto.getIssuanceInfoList();
|
|
63
64
|
issuance = issuanceList && issuanceList.length > 0 ? issuanceList[0] : null;
|
|
64
65
|
if (issuance) {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
'
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
66
|
+
if (!issuance.getPostAuctionOutstandingQuantity() && security.getMaturityDate().getFullYear() > 2009) {
|
|
67
|
+
console.log("Issed with %s, issuance: %s", security.getSecurityID().getIdentifierValue(), issuance);
|
|
68
|
+
}
|
|
69
|
+
else if (!issuance.getPostAuctionOutstandingQuantity() && security.getMaturityDate().getFullYear() <= 2009) {
|
|
70
|
+
//Swallow this data gap. It's old and we don't mind
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
postAuctionQuantity = serialization_1.ProtoSerializationUtil.deserialize(issuance.getPostAuctionOutstandingQuantity());
|
|
74
|
+
id = security.getSecurityID() ? security.getSecurityID().getIdentifierValue() : security.getID().toString();
|
|
75
|
+
result = {
|
|
76
|
+
'cusip': id,
|
|
77
|
+
'issueDate': security.getIssueDate(),
|
|
78
|
+
'outstandingAmount': postAuctionQuantity,
|
|
79
|
+
'maturityDate': security.getMaturityDate()
|
|
80
|
+
};
|
|
81
|
+
results.push(result);
|
|
82
|
+
}
|
|
74
83
|
}
|
|
75
84
|
}
|
|
85
|
+
expect(results[0]['outstandingAmount']).toBeGreaterThan(0);
|
|
76
86
|
console.log(results);
|
|
77
|
-
console.log("Done");
|
|
78
87
|
return [2 /*return*/];
|
|
79
88
|
}
|
|
80
89
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.maturityLadder.test.js","sourceRoot":"","sources":["security.maturityLadder.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAkC;AAElC,SAAS;AAET,cAAc;AACd,yEAA0E;AAC1E,qDAAoD;AACpD,uEAAsE;AAGtE,kEAA0E;AAE1E,IAAI,CAAC,kGAAkG,EAAE;;;;;gBAE/F,eAAe,GAAG,IAAI,iCAAe,EAAE,CAAC;gBAExC,cAAc,GAAG,IAAI,+BAAc,EAAE,CAAC;gBAC5C,cAAc,CAAC,eAAe,CAAC,qBAAU,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"security.maturityLadder.test.js","sourceRoot":"","sources":["security.maturityLadder.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAkC;AAElC,SAAS;AAET,cAAc;AACd,yEAA0E;AAC1E,qDAAoD;AACpD,uEAAsE;AAGtE,kEAA0E;AAE1E,IAAI,CAAC,kGAAkG,EAAE;;;;;gBAE/F,eAAe,GAAG,IAAI,iCAAe,EAAE,CAAC;gBAExC,cAAc,GAAG,IAAI,+BAAc,EAAE,CAAC;gBAC5C,cAAc,CAAC,eAAe,CAAC,qBAAU,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;gBACvE,cAAc,CAAC,eAAe,CAAC,qBAAU,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;gBAEhE,qBAAM,eAAe,CAAC,qBAAqB,CAAC,cAAc,CAAC,EAAA;;gBAAxE,UAAU,GAAG,SAA2D;gBAE5E,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC1B,OAAO,GAAG,EAAE,CAAC;gBAEjB,+CAA+C;gBAC/C,KAAS,KAAK,IAAI,UAAU,EAAE,CAAC;oBACvB,QAAQ,GAAa,UAAU,CAAC,KAAK,CAAC,CAAC;oBAEvC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;oBACpD,QAAQ,GAAG,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAEhF,IAAI,QAAQ,EAAE,CAAC;wBACX,IAAI,CAAC,QAAQ,CAAC,iCAAiC,EAAE,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC,WAAW,EAAE,GAAG,IAAI,EAAE,CAAC;4BACnG,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,QAAQ,CAAC,aAAa,EAAE,CAAC,kBAAkB,EAAE,EAAE,QAAQ,CAAC,CAAC;wBACxG,CAAC;6BAAM,IAAI,CAAC,QAAQ,CAAC,iCAAiC,EAAE,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC;4BAC3G,mDAAmD;wBACvD,CAAC;6BAAM,CAAC;4BACA,mBAAmB,GAAW,sCAAsB,CAAC,WAAW,CAAC,QAAQ,CAAC,iCAAiC,EAAE,CAAC,CAAC;4BAC/G,EAAE,GAAW,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;4BAEpH,MAAM,GAAG;gCACT,OAAO,EAAE,EAAE;gCACX,WAAW,EAAE,QAAQ,CAAC,YAAY,EAAE;gCACpC,mBAAmB,EAAE,mBAAmB;gCACxC,cAAc,EAAE,QAAQ,CAAC,eAAe,EAAE;6BAC7C,CAAC;4BACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACzB,CAAC;oBACL,CAAC;gBACL,CAAC;gBAED,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gBAC3D,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;;;;KACxB,EAAE,KAAK,CAAC,CAAC"}
|
|
@@ -16,7 +16,7 @@ test('test the api.fintekkers.org security service by creating a maturity ladder
|
|
|
16
16
|
|
|
17
17
|
const positionFilter = new PositionFilter();
|
|
18
18
|
positionFilter.addEqualsFilter(FieldProto.ASSET_CLASS, 'Fixed Income');
|
|
19
|
-
|
|
19
|
+
positionFilter.addEqualsFilter(FieldProto.SECURITY_ISSUER_NAME, 'US Government');
|
|
20
20
|
|
|
21
21
|
var securities = await securityService.searchSecurityAsOfNow(positionFilter);
|
|
22
22
|
|
|
@@ -31,27 +31,26 @@ test('test the api.fintekkers.org security service by creating a maturity ladder
|
|
|
31
31
|
let issuance = issuanceList && issuanceList.length > 0 ? issuanceList[0] : null;
|
|
32
32
|
|
|
33
33
|
if (issuance) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
34
|
+
if (!issuance.getPostAuctionOutstandingQuantity() && security.getMaturityDate().getFullYear() > 2009) {
|
|
35
|
+
console.log("Issed with %s, issuance: %s", security.getSecurityID().getIdentifierValue(), issuance);
|
|
36
|
+
} else if (!issuance.getPostAuctionOutstandingQuantity() && security.getMaturityDate().getFullYear() <= 2009) {
|
|
37
|
+
//Swallow this data gap. It's old and we don't mind
|
|
38
|
+
} else {
|
|
39
|
+
let postAuctionQuantity: number = ProtoSerializationUtil.deserialize(issuance.getPostAuctionOutstandingQuantity());
|
|
40
|
+
let id: string = security.getSecurityID() ? security.getSecurityID().getIdentifierValue() : security.getID().toString();
|
|
41
|
+
|
|
42
|
+
let result = {
|
|
43
|
+
'cusip': id,
|
|
44
|
+
'issueDate': security.getIssueDate(),
|
|
45
|
+
'outstandingAmount': postAuctionQuantity,
|
|
46
|
+
'maturityDate': security.getMaturityDate()
|
|
47
|
+
};
|
|
48
|
+
results.push(result);
|
|
49
|
+
}
|
|
44
50
|
}
|
|
45
51
|
}
|
|
46
52
|
|
|
53
|
+
expect(results[0]['outstandingAmount']).toBeGreaterThan(0);
|
|
47
54
|
console.log(results);
|
|
48
|
-
console.log("Done");
|
|
49
|
-
//TODO: Get oustanding amount of bond
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
//TODO: Loose end. Asset Class is a string. Maybe should be an 'extendible' enum
|
|
55
|
-
//TODO: Loose end. Security coupon rate, need to add validation logic so that coupon rate is a sensible number
|
|
56
55
|
}, 90000);
|
|
57
56
|
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
// Model Utils
|
|
40
|
+
var field_pb_1 = require("../../../fintekkers/models/position/field_pb");
|
|
41
|
+
var dt = require("../../models/utils/datetime");
|
|
42
|
+
var TransactionService_1 = require("./TransactionService");
|
|
43
|
+
var positionfilter_1 = require("../../models/position/positionfilter");
|
|
44
|
+
test('test creating a transaction against the portfolio service', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
45
|
+
var isTrue;
|
|
46
|
+
return __generator(this, function (_a) {
|
|
47
|
+
switch (_a.label) {
|
|
48
|
+
case 0: return [4 /*yield*/, searchListTransactions()];
|
|
49
|
+
case 1:
|
|
50
|
+
isTrue = _a.sent();
|
|
51
|
+
expect(isTrue).toBe(true);
|
|
52
|
+
return [2 /*return*/];
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}); }, 30000);
|
|
56
|
+
function searchListTransactions() {
|
|
57
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
58
|
+
var now, transactionService, positionFilter, transactions, transaction;
|
|
59
|
+
return __generator(this, function (_a) {
|
|
60
|
+
switch (_a.label) {
|
|
61
|
+
case 0:
|
|
62
|
+
now = dt.ZonedDateTime.now();
|
|
63
|
+
transactionService = new TransactionService_1.TransactionService();
|
|
64
|
+
positionFilter = new positionfilter_1.PositionFilter();
|
|
65
|
+
positionFilter.addEqualsFilter(field_pb_1.FieldProto.ASSET_CLASS, 'Fixed Income');
|
|
66
|
+
return [4 /*yield*/, transactionService.searchTransaction(now.toProto(), positionFilter)];
|
|
67
|
+
case 1:
|
|
68
|
+
transactions = _a.sent();
|
|
69
|
+
console.timeEnd("searchTransaction");
|
|
70
|
+
if (transactions === undefined) {
|
|
71
|
+
console.log('No transactions found');
|
|
72
|
+
throw Error('No transactions found');
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
console.log(transactions.length);
|
|
76
|
+
transaction = transactions[0];
|
|
77
|
+
//We can get data straight from the transaction
|
|
78
|
+
transaction.getIssuerName();
|
|
79
|
+
//Or we can get information from the security
|
|
80
|
+
transaction.getSecurity().getAssetClass();
|
|
81
|
+
}
|
|
82
|
+
return [2 /*return*/, true];
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=transaction.search.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.search.test.js","sourceRoot":"","sources":["transaction.search.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,cAAc;AACd,yEAA0E;AAG1E,gDAAkD;AAOlD,2DAA0D;AAK1D,uEAAsE;AAEtE,IAAI,CAAC,2DAA2D,EAAE;;;;oBACjD,qBAAM,sBAAsB,EAAE,EAAA;;gBAAvC,MAAM,GAAG,SAA8B;gBAC7C,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;;;KAC3B,EAAE,KAAK,CAAC,CAAC;AAEV,SAAe,sBAAsB;;;;;;oBAC7B,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;oBAC7B,kBAAkB,GAAG,IAAI,uCAAkB,EAAE,CAAC;oBAE9C,cAAc,GAAG,IAAI,+BAAc,EAAE,CAAC;oBAC5C,cAAc,CAAC,eAAe,CAAC,qBAAU,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;oBAGlD,qBAAM,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,EAAA;;oBAAxF,YAAY,GAAG,SAAyE;oBAC9F,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;oBAErC,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;wBAC/B,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;wBACrC,MAAM,KAAK,CAAC,uBAAuB,CAAC,CAAC;oBACvC,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;wBAE7B,WAAW,GAAgB,YAAY,CAAC,CAAC,CAAC,CAAC;wBAE/C,+CAA+C;wBAC/C,WAAW,CAAC,aAAa,EAAE,CAAC;wBAE5B,6CAA6C;wBAC7C,WAAW,CAAC,WAAW,EAAE,CAAC,aAAa,EAAE,CAAC;oBAC5C,CAAC;oBAED,sBAAO,IAAI,EAAC;;;;CACb"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// Models
|
|
2
|
+
import { DecimalValueProto } from '../../../fintekkers/models/util/decimal_value_pb';
|
|
3
|
+
import { LocalDateProto } from '../../../fintekkers/models/util/local_date_pb';
|
|
4
|
+
|
|
5
|
+
// Model Utils
|
|
6
|
+
import { FieldProto } from '../../../fintekkers/models/position/field_pb';
|
|
7
|
+
|
|
8
|
+
import * as uuid from '../../models/utils/uuid';
|
|
9
|
+
import * as dt from '../../models/utils/datetime';
|
|
10
|
+
|
|
11
|
+
import { SecurityService } from '../security-service/SecurityService';
|
|
12
|
+
import { TransactionTypeProto } from '../../../fintekkers/models/transaction/transaction_type_pb';
|
|
13
|
+
import { TransactionProto } from '../../../fintekkers/models/transaction/transaction_pb';
|
|
14
|
+
import { PriceProto } from '../../../fintekkers/models/price/price_pb';
|
|
15
|
+
import { PortfolioService } from '../portfolio-service/PortfolioService';
|
|
16
|
+
import { TransactionService } from './TransactionService';
|
|
17
|
+
import Transaction from '../../models/transaction/transaction';
|
|
18
|
+
import { CreateTransactionResponseProto } from '../../../fintekkers/requests/transaction/create_transaction_response_pb';
|
|
19
|
+
|
|
20
|
+
import assert = require("assert");
|
|
21
|
+
import { PositionFilter } from '../../models/position/positionfilter';
|
|
22
|
+
|
|
23
|
+
test('test creating a transaction against the portfolio service', async () => {
|
|
24
|
+
const isTrue = await searchListTransactions();
|
|
25
|
+
expect(isTrue).toBe(true);
|
|
26
|
+
}, 30000);
|
|
27
|
+
|
|
28
|
+
async function searchListTransactions(): Promise<boolean> {
|
|
29
|
+
const now = dt.ZonedDateTime.now();
|
|
30
|
+
const transactionService = new TransactionService();
|
|
31
|
+
|
|
32
|
+
const positionFilter = new PositionFilter();
|
|
33
|
+
positionFilter.addEqualsFilter(FieldProto.ASSET_CLASS, 'Fixed Income');
|
|
34
|
+
|
|
35
|
+
// positionFilter.addEqualsFilter(FieldProto.ID, transactionID);
|
|
36
|
+
const transactions = await transactionService.searchTransaction(now.toProto(), positionFilter);
|
|
37
|
+
console.timeEnd("searchTransaction");
|
|
38
|
+
|
|
39
|
+
if (transactions === undefined) {
|
|
40
|
+
console.log('No transactions found');
|
|
41
|
+
throw Error('No transactions found');
|
|
42
|
+
} else {
|
|
43
|
+
console.log(transactions.length);
|
|
44
|
+
|
|
45
|
+
let transaction: Transaction = transactions[0];
|
|
46
|
+
|
|
47
|
+
//We can get data straight from the transaction
|
|
48
|
+
transaction.getIssuerName();
|
|
49
|
+
|
|
50
|
+
//Or we can get information from the security
|
|
51
|
+
transaction.getSecurity().getAssetClass();
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
@@ -52,7 +52,39 @@ var TransactionService_1 = require("./TransactionService");
|
|
|
52
52
|
var transaction_1 = require("../../models/transaction/transaction");
|
|
53
53
|
var assert = require("assert");
|
|
54
54
|
var positionfilter_1 = require("../../models/position/positionfilter");
|
|
55
|
-
test('test
|
|
55
|
+
test('test printing a transaction to string', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
56
|
+
var isTrue;
|
|
57
|
+
return __generator(this, function (_a) {
|
|
58
|
+
switch (_a.label) {
|
|
59
|
+
case 0: return [4 /*yield*/, testToString()];
|
|
60
|
+
case 1:
|
|
61
|
+
isTrue = _a.sent();
|
|
62
|
+
expect(isTrue).toBe(true);
|
|
63
|
+
return [2 /*return*/];
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}); }, 30000);
|
|
67
|
+
function testToString() {
|
|
68
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
69
|
+
var now, today, positionFilter, transactionProto, transaction;
|
|
70
|
+
return __generator(this, function (_a) {
|
|
71
|
+
switch (_a.label) {
|
|
72
|
+
case 0:
|
|
73
|
+
now = dt.ZonedDateTime.now();
|
|
74
|
+
today = new local_date_pb_1.LocalDateProto().setDay(1).setMonth(1).setYear(2021);
|
|
75
|
+
positionFilter = new positionfilter_1.PositionFilter();
|
|
76
|
+
positionFilter.addEqualsFilter(field_pb_1.FieldProto.ASSET_CLASS, 'Fixed Income');
|
|
77
|
+
return [4 /*yield*/, getTransaction(now, positionFilter, today)];
|
|
78
|
+
case 1:
|
|
79
|
+
transactionProto = _a.sent();
|
|
80
|
+
transaction = new transaction_1.default(transactionProto);
|
|
81
|
+
transaction.toString();
|
|
82
|
+
return [2 /*return*/, true];
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
test('test creating a transaction against the transaction service', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
56
88
|
var isTrue;
|
|
57
89
|
return __generator(this, function (_a) {
|
|
58
90
|
switch (_a.label) {
|
|
@@ -66,18 +98,54 @@ test('test creating a transaction against the portfolio service', function () {
|
|
|
66
98
|
}); }, 30000);
|
|
67
99
|
function testTransaction() {
|
|
68
100
|
return __awaiter(this, void 0, void 0, function () {
|
|
69
|
-
var
|
|
101
|
+
var transactionService, now, today, positionFilter, transaction, createTransactionResponse, transactionResponse, transactionID, transactions;
|
|
70
102
|
return __generator(this, function (_a) {
|
|
71
103
|
switch (_a.label) {
|
|
72
104
|
case 0:
|
|
73
|
-
|
|
105
|
+
transactionService = new TransactionService_1.TransactionService();
|
|
74
106
|
now = dt.ZonedDateTime.now();
|
|
75
107
|
today = new local_date_pb_1.LocalDateProto().setDay(1).setMonth(1).setYear(2021);
|
|
76
|
-
securityService = new SecurityService_1.SecurityService();
|
|
77
|
-
portfolioService = new PortfolioService_1.PortfolioService();
|
|
78
|
-
transactionService = new TransactionService_1.TransactionService();
|
|
79
108
|
positionFilter = new positionfilter_1.PositionFilter();
|
|
80
109
|
positionFilter.addEqualsFilter(field_pb_1.FieldProto.ASSET_CLASS, 'Fixed Income');
|
|
110
|
+
return [4 /*yield*/, getTransaction(now, positionFilter, today)];
|
|
111
|
+
case 1:
|
|
112
|
+
transaction = _a.sent();
|
|
113
|
+
// var validationSummary = await transactionService.validateCreateTransaction(new Transaction(transaction));
|
|
114
|
+
// assert(validationSummary.getErrorsList().length == 0, "Validation errors found");
|
|
115
|
+
console.time("createTransaction");
|
|
116
|
+
return [4 /*yield*/, transactionService.createTransaction(new transaction_1.default(transaction))];
|
|
117
|
+
case 2:
|
|
118
|
+
createTransactionResponse = _a.sent();
|
|
119
|
+
transactionResponse = createTransactionResponse.getTransactionResponse();
|
|
120
|
+
assert(transactionResponse, "No transaction response found");
|
|
121
|
+
console.timeEnd("createTransaction");
|
|
122
|
+
console.log("Searching transaction");
|
|
123
|
+
console.time("searchTransaction");
|
|
124
|
+
transactionID = uuid.UUID.fromU8Array(transactionResponse.getUuid().getRawUuid_asU8());
|
|
125
|
+
positionFilter.addEqualsFilter(field_pb_1.FieldProto.ID, transactionID);
|
|
126
|
+
return [4 /*yield*/, transactionService.searchTransaction(now.toProto(), positionFilter)];
|
|
127
|
+
case 3:
|
|
128
|
+
transactions = _a.sent();
|
|
129
|
+
console.timeEnd("searchTransaction");
|
|
130
|
+
if (transactions === undefined) {
|
|
131
|
+
console.log('No transactions found');
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
console.log(transactions.length);
|
|
135
|
+
}
|
|
136
|
+
return [2 /*return*/, true];
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
function getTransaction(now, positionFilter, today) {
|
|
142
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
143
|
+
var securityService, portfolioService, fixedIncomeSecurities, security, portfolios, portfolio, transaction;
|
|
144
|
+
return __generator(this, function (_a) {
|
|
145
|
+
switch (_a.label) {
|
|
146
|
+
case 0:
|
|
147
|
+
securityService = new SecurityService_1.SecurityService();
|
|
148
|
+
portfolioService = new PortfolioService_1.PortfolioService();
|
|
81
149
|
console.time("searchSecurity");
|
|
82
150
|
return [4 /*yield*/, securityService
|
|
83
151
|
.searchSecurity(now.toProto(), positionFilter)
|
|
@@ -118,30 +186,7 @@ function testTransaction() {
|
|
|
118
186
|
transaction.setQuantity(new decimal_value_pb_1.DecimalValueProto().setArbitraryPrecisionValue('10000.00'));
|
|
119
187
|
transaction.setPortfolio(portfolio.proto);
|
|
120
188
|
transaction.setSecurity(security.proto);
|
|
121
|
-
|
|
122
|
-
// assert(validationSummary.getErrorsList().length == 0, "Validation errors found");
|
|
123
|
-
console.time("createTransaction");
|
|
124
|
-
return [4 /*yield*/, transactionService.createTransaction(new transaction_1.default(transaction))];
|
|
125
|
-
case 3:
|
|
126
|
-
createTransactionResponse = _a.sent();
|
|
127
|
-
transactionResponse = createTransactionResponse.getTransactionResponse();
|
|
128
|
-
assert(transactionResponse, "No transaction response found");
|
|
129
|
-
console.timeEnd("createTransaction");
|
|
130
|
-
console.log("Searching transaction");
|
|
131
|
-
console.time("searchTransaction");
|
|
132
|
-
transactionID = uuid.UUID.fromU8Array(transactionResponse.getUuid().getRawUuid_asU8());
|
|
133
|
-
positionFilter.addEqualsFilter(field_pb_1.FieldProto.ID, transactionID);
|
|
134
|
-
return [4 /*yield*/, transactionService.searchTransaction(now.toProto(), positionFilter)];
|
|
135
|
-
case 4:
|
|
136
|
-
transactions = _a.sent();
|
|
137
|
-
console.timeEnd("searchTransaction");
|
|
138
|
-
if (transactions === undefined) {
|
|
139
|
-
console.log('No transactions found');
|
|
140
|
-
}
|
|
141
|
-
else {
|
|
142
|
-
console.log(transactions.length);
|
|
143
|
-
}
|
|
144
|
-
return [2 /*return*/, true];
|
|
189
|
+
return [2 /*return*/, transaction];
|
|
145
190
|
}
|
|
146
191
|
});
|
|
147
192
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.test.js","sourceRoot":"","sources":["transaction.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS;AACT,qFAAqF;AACrF,+EAA+E;AAE/E,cAAc;AACd,yEAA0E;AAE1E,8CAAgD;AAChD,gDAAkD;AAElD,uEAAsE;AACtE,kGAAkG;AAClG,wFAAyF;AACzF,sEAAuE;AACvE,0EAAyE;AACzE,2DAA0D;AAC1D,oEAA+D;AAG/D,+BAAkC;AAClC,uEAAsE;
|
|
1
|
+
{"version":3,"file":"transaction.test.js","sourceRoot":"","sources":["transaction.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,23 +20,76 @@ import { CreateTransactionResponseProto } from '../../../fintekkers/requests/tra
|
|
|
20
20
|
import assert = require("assert");
|
|
21
21
|
import { PositionFilter } from '../../models/position/positionfilter';
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
|
|
24
|
+
test('test printing a transaction to string', async () => {
|
|
25
|
+
const isTrue = await testToString();
|
|
25
26
|
expect(isTrue).toBe(true);
|
|
26
27
|
}, 30000);
|
|
27
28
|
|
|
28
|
-
async function
|
|
29
|
-
const id_proto = uuid.UUID.random().toUUIDProto();
|
|
29
|
+
async function testToString(): Promise<boolean> {
|
|
30
30
|
const now = dt.ZonedDateTime.now();
|
|
31
31
|
const today = new LocalDateProto().setDay(1).setMonth(1).setYear(2021);
|
|
32
32
|
|
|
33
|
-
const
|
|
34
|
-
|
|
33
|
+
const positionFilter = new PositionFilter();
|
|
34
|
+
positionFilter.addEqualsFilter(FieldProto.ASSET_CLASS, 'Fixed Income');
|
|
35
|
+
|
|
36
|
+
const transactionProto: TransactionProto = await getTransaction(now, positionFilter, today);
|
|
37
|
+
const transaction: Transaction = new Transaction(transactionProto);
|
|
38
|
+
|
|
39
|
+
transaction.toString();
|
|
40
|
+
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
test('test creating a transaction against the transaction service', async () => {
|
|
46
|
+
const isTrue = await testTransaction();
|
|
47
|
+
expect(isTrue).toBe(true);
|
|
48
|
+
}, 30000);
|
|
49
|
+
|
|
50
|
+
async function testTransaction(): Promise<boolean> {
|
|
35
51
|
const transactionService = new TransactionService();
|
|
36
52
|
|
|
53
|
+
const now = dt.ZonedDateTime.now();
|
|
54
|
+
const today = new LocalDateProto().setDay(1).setMonth(1).setYear(2021);
|
|
55
|
+
|
|
37
56
|
const positionFilter = new PositionFilter();
|
|
38
57
|
positionFilter.addEqualsFilter(FieldProto.ASSET_CLASS, 'Fixed Income');
|
|
39
58
|
|
|
59
|
+
const transaction = await getTransaction(now, positionFilter, today);
|
|
60
|
+
|
|
61
|
+
// var validationSummary = await transactionService.validateCreateTransaction(new Transaction(transaction));
|
|
62
|
+
// assert(validationSummary.getErrorsList().length == 0, "Validation errors found");
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
console.time("createTransaction");
|
|
66
|
+
var createTransactionResponse: CreateTransactionResponseProto = await transactionService.createTransaction(new Transaction(transaction));
|
|
67
|
+
const transactionResponse = createTransactionResponse.getTransactionResponse();
|
|
68
|
+
assert(transactionResponse, "No transaction response found");
|
|
69
|
+
|
|
70
|
+
console.timeEnd("createTransaction");
|
|
71
|
+
|
|
72
|
+
console.log("Searching transaction");
|
|
73
|
+
|
|
74
|
+
console.time("searchTransaction");
|
|
75
|
+
|
|
76
|
+
const transactionID = uuid.UUID.fromU8Array(transactionResponse.getUuid().getRawUuid_asU8());
|
|
77
|
+
positionFilter.addEqualsFilter(FieldProto.ID, transactionID);
|
|
78
|
+
const transactions = await transactionService.searchTransaction(now.toProto(), positionFilter);
|
|
79
|
+
console.timeEnd("searchTransaction");
|
|
80
|
+
|
|
81
|
+
if (transactions === undefined) {
|
|
82
|
+
console.log('No transactions found');
|
|
83
|
+
} else {
|
|
84
|
+
console.log(transactions.length);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
return true;
|
|
88
|
+
}
|
|
89
|
+
async function getTransaction(now: dt.ZonedDateTime, positionFilter: PositionFilter, today: LocalDateProto) {
|
|
90
|
+
const securityService = new SecurityService();
|
|
91
|
+
const portfolioService = new PortfolioService();
|
|
92
|
+
|
|
40
93
|
console.time("searchSecurity");
|
|
41
94
|
let fixedIncomeSecurities = await securityService
|
|
42
95
|
.searchSecurity(now.toProto(), positionFilter)
|
|
@@ -83,32 +136,6 @@ async function testTransaction(): Promise<boolean> {
|
|
|
83
136
|
transaction.setQuantity(new DecimalValueProto().setArbitraryPrecisionValue('10000.00'));
|
|
84
137
|
transaction.setPortfolio(portfolio.proto);
|
|
85
138
|
transaction.setSecurity(security.proto);
|
|
86
|
-
|
|
87
|
-
// var validationSummary = await transactionService.validateCreateTransaction(new Transaction(transaction));
|
|
88
|
-
// assert(validationSummary.getErrorsList().length == 0, "Validation errors found");
|
|
89
|
-
|
|
90
|
-
|
|
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");
|
|
95
|
-
|
|
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.addEqualsFilter(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
|
-
}
|
|
112
|
-
|
|
113
|
-
return true;
|
|
139
|
+
return transaction;
|
|
114
140
|
}
|
|
141
|
+
|