@fintekkers/ledger-models 0.4.42 → 0.4.44
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/node/fintekkers/models/portfolio/portfolio_pb.d.ts +7 -15
- package/node/fintekkers/models/portfolio/portfolio_pb.js +35 -132
- package/node/fintekkers/models/position/position_filter_pb.d.ts +7 -15
- package/node/fintekkers/models/position/position_filter_pb.js +35 -132
- package/node/fintekkers/models/position/position_pb.d.ts +7 -15
- package/node/fintekkers/models/position/position_pb.js +35 -132
- package/node/fintekkers/models/price/price_pb.d.ts +7 -15
- package/node/fintekkers/models/price/price_pb.js +35 -132
- package/node/fintekkers/models/security/bond/issuance_pb.d.ts +7 -15
- package/node/fintekkers/models/security/bond/issuance_pb.js +35 -132
- package/node/fintekkers/models/security/identifier/identifier_pb.d.ts +7 -15
- package/node/fintekkers/models/security/identifier/identifier_pb.js +35 -132
- package/node/fintekkers/models/security/index_composition_pb.d.ts +7 -15
- package/node/fintekkers/models/security/index_composition_pb.js +35 -132
- package/node/fintekkers/models/security/security_pb.d.ts +7 -15
- package/node/fintekkers/models/security/security_pb.js +35 -132
- package/node/fintekkers/models/security/security_pb.test.js +4 -8
- package/node/fintekkers/models/security/security_pb.test.js.map +1 -1
- package/node/fintekkers/models/security/security_pb.test.ts +4 -5
- package/node/fintekkers/models/security/tenor_pb.d.ts +7 -15
- package/node/fintekkers/models/security/tenor_pb.js +35 -132
- package/node/fintekkers/models/strategy/strategy_allocation_pb.d.ts +7 -15
- package/node/fintekkers/models/strategy/strategy_allocation_pb.js +35 -132
- package/node/fintekkers/models/strategy/strategy_pb.d.ts +7 -15
- package/node/fintekkers/models/strategy/strategy_pb.js +35 -132
- package/node/fintekkers/models/transaction/transaction_pb.d.ts +7 -15
- package/node/fintekkers/models/transaction/transaction_pb.js +35 -132
- package/node/fintekkers/models/util/api/api_key_pb.d.ts +7 -15
- package/node/fintekkers/models/util/api/api_key_pb.js +35 -132
- package/node/fintekkers/models/util/date_range_pb.d.ts +7 -15
- package/node/fintekkers/models/util/date_range_pb.js +35 -132
- package/node/fintekkers/models/util/decimal_value_pb.d.ts +0 -5
- package/node/fintekkers/models/util/decimal_value_pb.js +0 -30
- package/node/fintekkers/models/util/lock/node_partition_pb.d.ts +7 -15
- package/node/fintekkers/models/util/lock/node_partition_pb.js +35 -132
- package/node/fintekkers/models/util/lock/node_state_pb.d.ts +7 -15
- package/node/fintekkers/models/util/lock/node_state_pb.js +35 -132
- package/node/fintekkers/models/util/object_type_pb.d.ts +0 -3
- package/node/fintekkers/models/util/object_type_pb.js +0 -28
- package/node/fintekkers/models/util/version_grpc_pb.js +1 -0
- package/node/fintekkers/models/util/version_pb.d.ts +33 -0
- package/node/fintekkers/models/util/version_pb.js +236 -0
- package/node/fintekkers/requests/index_composition/create_index_composition_request_pb.d.ts +13 -30
- package/node/fintekkers/requests/index_composition/create_index_composition_request_pb.js +68 -264
- package/node/fintekkers/requests/index_composition/get_index_composition_request_pb.d.ts +13 -30
- package/node/fintekkers/requests/index_composition/get_index_composition_request_pb.js +68 -264
- package/node/fintekkers/requests/portfolio/create_portfolio_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/portfolio/create_portfolio_request_pb.js +35 -132
- package/node/fintekkers/requests/portfolio/create_portfolio_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/portfolio/create_portfolio_response_pb.js +35 -132
- package/node/fintekkers/requests/portfolio/query_portfolio_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/portfolio/query_portfolio_request_pb.js +35 -132
- package/node/fintekkers/requests/portfolio/query_portfolio_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/portfolio/query_portfolio_response_pb.js +35 -132
- package/node/fintekkers/requests/position/query_position_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/position/query_position_request_pb.js +35 -132
- package/node/fintekkers/requests/position/query_position_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/position/query_position_response_pb.js +35 -132
- package/node/fintekkers/requests/price/create_price_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/price/create_price_request_pb.js +35 -132
- package/node/fintekkers/requests/price/create_price_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/price/create_price_response_pb.js +35 -132
- package/node/fintekkers/requests/price/query_price_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/price/query_price_request_pb.js +35 -132
- package/node/fintekkers/requests/price/query_price_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/price/query_price_response_pb.js +35 -132
- package/node/fintekkers/requests/security/create_security_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/security/create_security_request_pb.js +35 -132
- package/node/fintekkers/requests/security/create_security_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/security/create_security_response_pb.js +35 -132
- package/node/fintekkers/requests/security/get_field_values_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/security/get_field_values_request_pb.js +35 -132
- package/node/fintekkers/requests/security/get_field_values_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/security/get_field_values_response_pb.js +35 -132
- package/node/fintekkers/requests/security/get_fields_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/security/get_fields_response_pb.js +35 -132
- package/node/fintekkers/requests/security/query_security_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/security/query_security_request_pb.js +35 -132
- package/node/fintekkers/requests/security/query_security_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/security/query_security_response_pb.js +35 -132
- package/node/fintekkers/requests/transaction/create_transaction_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/transaction/create_transaction_request_pb.js +35 -132
- package/node/fintekkers/requests/transaction/create_transaction_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/transaction/create_transaction_response_pb.js +35 -132
- package/node/fintekkers/requests/transaction/query_transaction_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/transaction/query_transaction_request_pb.js +35 -132
- package/node/fintekkers/requests/transaction/query_transaction_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/transaction/query_transaction_response_pb.js +35 -132
- package/node/fintekkers/requests/util/delete_request_pb.d.ts +13 -30
- package/node/fintekkers/requests/util/delete_request_pb.js +68 -264
- package/node/fintekkers/requests/util/lock/lock_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/util/lock/lock_request_pb.js +35 -132
- package/node/fintekkers/requests/util/lock/lock_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/util/lock/lock_response_pb.js +35 -132
- package/node/fintekkers/requests/valuation/curve_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/valuation/curve_request_pb.js +35 -132
- package/node/fintekkers/requests/valuation/curve_response_pb.d.ts +19 -15
- package/node/fintekkers/requests/valuation/curve_response_pb.js +138 -133
- package/node/fintekkers/requests/valuation/product_inputs.test.js +10 -17
- package/node/fintekkers/requests/valuation/product_inputs.test.js.map +1 -1
- package/node/fintekkers/requests/valuation/product_inputs.test.ts +10 -16
- package/node/fintekkers/requests/valuation/valuation_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/valuation/valuation_request_pb.js +35 -132
- package/node/fintekkers/requests/valuation/valuation_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/valuation/valuation_response_pb.js +35 -132
- package/node/wrappers/models/portfolio/portfolio.test.js +0 -2
- package/node/wrappers/models/portfolio/portfolio.test.js.map +1 -1
- package/node/wrappers/models/portfolio/portfolio.test.ts +0 -2
- package/node/wrappers/models/portfolio-price-transaction.lazy-hydrate.test.js +2 -3
- package/node/wrappers/models/portfolio-price-transaction.lazy-hydrate.test.js.map +1 -1
- package/node/wrappers/models/portfolio-price-transaction.lazy-hydrate.test.ts +2 -2
- package/node/wrappers/models/position/position.test.js +5 -6
- package/node/wrappers/models/position/position.test.js.map +1 -1
- package/node/wrappers/models/position/position.test.ts +5 -4
- package/node/wrappers/models/position/positionfilter.js +1 -1
- package/node/wrappers/models/position/positionfilter.js.map +1 -1
- package/node/wrappers/models/position/positionfilter.test.js +4 -2
- package/node/wrappers/models/position/positionfilter.test.js.map +1 -1
- package/node/wrappers/models/position/positionfilter.test.ts +3 -2
- package/node/wrappers/models/position/positionfilter.ts +1 -1
- package/node/wrappers/models/price/Price.cash.test.js +4 -5
- package/node/wrappers/models/price/Price.cash.test.js.map +1 -1
- package/node/wrappers/models/price/Price.cash.test.ts +2 -3
- package/node/wrappers/models/price/Price.js +2 -2
- package/node/wrappers/models/price/Price.js.map +1 -1
- package/node/wrappers/models/price/Price.test.js +4 -2
- package/node/wrappers/models/price/Price.test.js.map +1 -1
- package/node/wrappers/models/price/Price.test.ts +4 -2
- package/node/wrappers/models/price/Price.ts +2 -2
- package/node/wrappers/models/price/price_rules.test.js +9 -4
- package/node/wrappers/models/price/price_rules.test.js.map +1 -1
- package/node/wrappers/models/price/price_rules.test.ts +9 -4
- package/node/wrappers/models/security/BondSecurity.priceScale.test.js +2 -4
- package/node/wrappers/models/security/BondSecurity.priceScale.test.js.map +1 -1
- package/node/wrappers/models/security/BondSecurity.priceScale.test.ts +2 -3
- package/node/wrappers/models/security/BondSecurity.test.js +7 -13
- package/node/wrappers/models/security/BondSecurity.test.js.map +1 -1
- package/node/wrappers/models/security/BondSecurity.test.ts +7 -12
- package/node/wrappers/models/security/IndexSecurity.test.js +0 -8
- package/node/wrappers/models/security/IndexSecurity.test.js.map +1 -1
- package/node/wrappers/models/security/IndexSecurity.test.ts +0 -8
- package/node/wrappers/models/security/Issuance.test.js +6 -6
- package/node/wrappers/models/security/Issuance.test.js.map +1 -1
- package/node/wrappers/models/security/Issuance.test.ts +6 -5
- package/node/wrappers/models/security/MortgageBackedSecurity.fromPricerInputs.test.js +13 -14
- package/node/wrappers/models/security/MortgageBackedSecurity.fromPricerInputs.test.js.map +1 -1
- package/node/wrappers/models/security/MortgageBackedSecurity.fromPricerInputs.test.ts +13 -12
- package/node/wrappers/models/security/security-roundtrip.test.js +9 -21
- package/node/wrappers/models/security/security-roundtrip.test.js.map +1 -1
- package/node/wrappers/models/security/security-roundtrip.test.ts +9 -20
- package/node/wrappers/models/security/security.identifiers.test.js +0 -2
- package/node/wrappers/models/security/security.identifiers.test.js.map +1 -1
- package/node/wrappers/models/security/security.identifiers.test.ts +0 -2
- package/node/wrappers/models/security/security.tbillCoupon.test.js +3 -2
- package/node/wrappers/models/security/security.tbillCoupon.test.js.map +1 -1
- package/node/wrappers/models/security/security.tbillCoupon.test.ts +3 -2
- package/node/wrappers/models/security/security.test.js +14 -14
- package/node/wrappers/models/security/security.test.js.map +1 -1
- package/node/wrappers/models/security/security.test.ts +14 -13
- package/node/wrappers/models/transaction/transaction.derived.test.js +3 -9
- package/node/wrappers/models/transaction/transaction.derived.test.js.map +1 -1
- package/node/wrappers/models/transaction/transaction.derived.test.ts +3 -8
- package/node/wrappers/models/transaction/transaction.js +2 -2
- package/node/wrappers/models/transaction/transaction.js.map +1 -1
- package/node/wrappers/models/transaction/transaction.test.js +3 -3
- package/node/wrappers/models/transaction/transaction.test.js.map +1 -1
- package/node/wrappers/models/transaction/transaction.test.ts +3 -2
- package/node/wrappers/models/transaction/transaction.ts +2 -2
- package/node/wrappers/models/transaction/transaction_constructor.test.js +6 -9
- package/node/wrappers/models/transaction/transaction_constructor.test.js.map +1 -1
- package/node/wrappers/models/transaction/transaction_constructor.test.ts +6 -7
- package/node/wrappers/models/transaction/transaction_price_defaults.test.js +2 -10
- package/node/wrappers/models/transaction/transaction_price_defaults.test.js.map +1 -1
- package/node/wrappers/models/transaction/transaction_price_defaults.test.ts +2 -9
- package/node/wrappers/models/transaction/transaction_security_defaults.test.js +0 -6
- package/node/wrappers/models/transaction/transaction_security_defaults.test.js.map +1 -1
- package/node/wrappers/models/transaction/transaction_security_defaults.test.ts +0 -6
- package/node/wrappers/models/utils/date.test.js +0 -2
- package/node/wrappers/models/utils/date.test.js.map +1 -1
- package/node/wrappers/models/utils/date.test.ts +0 -2
- package/node/wrappers/models/utils/datetime.test.js +0 -2
- package/node/wrappers/models/utils/datetime.test.js.map +1 -1
- package/node/wrappers/models/utils/datetime.test.ts +0 -2
- package/node/wrappers/models/utils/decimal.d.ts +9 -28
- package/node/wrappers/models/utils/decimal.js +13 -52
- package/node/wrappers/models/utils/decimal.js.map +1 -1
- package/node/wrappers/models/utils/decimal.test.js +12 -68
- package/node/wrappers/models/utils/decimal.test.js.map +1 -1
- package/node/wrappers/models/utils/decimal.test.ts +14 -76
- package/node/wrappers/models/utils/decimal.ts +12 -60
- package/node/wrappers/models/utils/serialization.test.js +0 -4
- package/node/wrappers/models/utils/serialization.test.js.map +1 -1
- package/node/wrappers/models/utils/serialization.test.ts +0 -4
- package/node/wrappers/requests/position/QueryPositionRequest.js +1 -1
- package/node/wrappers/requests/position/QueryPositionRequest.js.map +1 -1
- package/node/wrappers/requests/position/QueryPositionRequest.ts +1 -1
- package/node/wrappers/requests/query-paging.test.js +4 -28
- package/node/wrappers/requests/query-paging.test.js.map +1 -1
- package/node/wrappers/requests/query-paging.test.ts +3 -36
- package/node/wrappers/services/portfolio-service/PortfolioService.js +3 -3
- package/node/wrappers/services/portfolio-service/PortfolioService.js.map +1 -1
- package/node/wrappers/services/portfolio-service/PortfolioService.ts +3 -3
- package/node/wrappers/services/portfolio-service/portfolioService.test.js +0 -2
- package/node/wrappers/services/portfolio-service/portfolioService.test.js.map +1 -1
- package/node/wrappers/services/portfolio-service/portfolioService.test.ts +0 -2
- package/node/wrappers/services/price-service/PriceService.js +3 -3
- package/node/wrappers/services/price-service/PriceService.js.map +1 -1
- package/node/wrappers/services/price-service/PriceService.ts +3 -3
- package/node/wrappers/services/price-service/price-wrapper.test.js +2 -6
- package/node/wrappers/services/price-service/price-wrapper.test.js.map +1 -1
- package/node/wrappers/services/price-service/price-wrapper.test.ts +2 -6
- package/node/wrappers/services/price-service/price.test.js +8 -17
- package/node/wrappers/services/price-service/price.test.js.map +1 -1
- package/node/wrappers/services/price-service/price.test.ts +8 -14
- package/node/wrappers/services/searchWithSecurities.test.js +2 -7
- package/node/wrappers/services/searchWithSecurities.test.js.map +1 -1
- package/node/wrappers/services/searchWithSecurities.test.ts +2 -6
- package/node/wrappers/services/security-service/SecurityService.js +3 -3
- package/node/wrappers/services/security-service/SecurityService.js.map +1 -1
- package/node/wrappers/services/security-service/SecurityService.ts +3 -3
- package/node/wrappers/services/security-service/security.test.js +3 -7
- package/node/wrappers/services/security-service/security.test.js.map +1 -1
- package/node/wrappers/services/security-service/security.test.ts +3 -6
- package/node/wrappers/services/transaction-service/TransactionService.js +3 -3
- package/node/wrappers/services/transaction-service/TransactionService.js.map +1 -1
- package/node/wrappers/services/transaction-service/TransactionService.ts +3 -3
- package/node/wrappers/services/transaction-service/transaction.test.js +3 -8
- package/node/wrappers/services/transaction-service/transaction.test.js.map +1 -1
- package/node/wrappers/services/transaction-service/transaction.test.ts +3 -6
- package/node/wrappers/util/link-resolver.js +3 -3
- package/node/wrappers/util/link-resolver.js.map +1 -1
- package/node/wrappers/util/link-resolver.test.js +4 -13
- package/node/wrappers/util/link-resolver.test.js.map +1 -1
- package/node/wrappers/util/link-resolver.test.ts +4 -12
- package/node/wrappers/util/link-resolver.ts +3 -3
- package/node/wrappers/util/object-types.d.ts +21 -47
- package/node/wrappers/util/object-types.js +19 -178
- package/node/wrappers/util/object-types.js.map +1 -1
- package/node/wrappers/util/object-types.test.js +50 -151
- package/node/wrappers/util/object-types.test.js.map +1 -1
- package/node/wrappers/util/object-types.test.ts +55 -170
- package/node/wrappers/util/object-types.ts +28 -182
- package/package.json +1 -1
- package/node/wrappers/models/position/position.test copy.js +0 -107
- package/node/wrappers/models/position/position.test copy.js.map +0 -1
- package/node/wrappers/models/utils/decimal.legacy.test.d.ts +0 -1
- package/node/wrappers/models/utils/decimal.legacy.test.js +0 -174
- package/node/wrappers/models/utils/decimal.legacy.test.js.map +0 -1
- package/node/wrappers/models/utils/decimal.legacy.test.ts +0 -158
- package/node/wrappers/models/utils/decimal.typings.test.d.ts +0 -1
- package/node/wrappers/models/utils/decimal.typings.test.js +0 -39
- package/node/wrappers/models/utils/decimal.typings.test.js.map +0 -1
- package/node/wrappers/models/utils/decimal.typings.test.ts +0 -16
- package/node/wrappers/util/object-type-legacy.json +0 -21
|
@@ -11,7 +11,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
const uuid_1 = require("../utils/uuid");
|
|
13
13
|
const any_pb_1 = require("google-protobuf/google/protobuf/any_pb");
|
|
14
|
-
const decimal_value_pb_1 = require("../../../fintekkers/models/util/decimal_value_pb");
|
|
15
14
|
const position_pb_1 = require("../../../fintekkers/models/position/position_pb");
|
|
16
15
|
const position_util_pb_1 = require("../../../fintekkers/models/position/position_util_pb");
|
|
17
16
|
const field_pb_1 = require("../../../fintekkers/models/position/field_pb");
|
|
@@ -26,6 +25,7 @@ const price_pb_1 = require("../../../fintekkers/models/price/price_pb");
|
|
|
26
25
|
const tenor_pb_1 = require("../../../fintekkers/models/security/tenor_pb");
|
|
27
26
|
const tenor_type_pb_1 = require("../../../fintekkers/models/security/tenor_type_pb");
|
|
28
27
|
const term_1 = require("../security/term");
|
|
28
|
+
const decimal_1 = require("../utils/decimal");
|
|
29
29
|
test('test the enum Serialization', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
30
30
|
let isTrue = yield testEnumSerialization();
|
|
31
31
|
expect(isTrue).toBe(true);
|
|
@@ -48,7 +48,7 @@ function testEnumSerialization() {
|
|
|
48
48
|
positionProto.setFieldsList([
|
|
49
49
|
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.POSITION_STATUS).setEnumValue(position_status_pb_1.PositionStatusProto.EXECUTED)
|
|
50
50
|
]);
|
|
51
|
-
let measureValue =
|
|
51
|
+
let measureValue = (0, decimal_1.encodeDecimal)((0, decimal_1.parseDecimalString)("1.55"));
|
|
52
52
|
positionProto.setMeasuresList([
|
|
53
53
|
new position_util_pb_1.MeasureMapEntry().setMeasure(measure_pb_1.MeasureProto.DIRECTED_QUANTITY).setMeasureDecimalValue(measureValue)
|
|
54
54
|
]);
|
|
@@ -132,7 +132,6 @@ function testAdjustedTenorSerialization() {
|
|
|
132
132
|
});
|
|
133
133
|
}
|
|
134
134
|
function testSerialization() {
|
|
135
|
-
var _a;
|
|
136
135
|
return __awaiter(this, void 0, void 0, function* () {
|
|
137
136
|
let { position, tradeDate, security, portfolio, productType, id } = getPosition(false);
|
|
138
137
|
let tradeDatePosition = position.getFieldValue(field_pb_1.FieldProto.TRADE_DATE);
|
|
@@ -154,7 +153,7 @@ function testSerialization() {
|
|
|
154
153
|
expect(position.getFieldValue(field_pb_1.FieldProto.POSITION_STATUS).toString()).toBe("EXECUTED");
|
|
155
154
|
expect(position.getMeasureValue(measure_pb_1.MeasureProto.DIRECTED_QUANTITY).toString()).toBe("1");
|
|
156
155
|
let price = position.getFieldValue(field_pb_1.FieldProto.PRICE);
|
|
157
|
-
expect((
|
|
156
|
+
expect((0, decimal_1.toCanonicalString)((0, decimal_1.decodeDecimal)(price.getPrice()))).toBe("1.0");
|
|
158
157
|
let tenor = position.getFieldValue(field_pb_1.FieldProto.TENOR);
|
|
159
158
|
expect(tenor.getTenorDescription()).toBe("3M");
|
|
160
159
|
return true;
|
|
@@ -174,7 +173,7 @@ function getPosition(includeUnknownEnumValue) {
|
|
|
174
173
|
let productType = "Test product type";
|
|
175
174
|
let id = new uuid_1.UUID(uuid_1.UUID.random().toBytes());
|
|
176
175
|
let price = new price_pb_1.PriceProto()
|
|
177
|
-
.setPrice(
|
|
176
|
+
.setPrice((0, decimal_1.encodeDecimal)((0, decimal_1.parseDecimalString)("1.0")))
|
|
178
177
|
.setUuid(id.toUUIDProto())
|
|
179
178
|
.setSecurity(security);
|
|
180
179
|
let tenor = new tenor_pb_1.TenorProto()
|
|
@@ -182,7 +181,7 @@ function getPosition(includeUnknownEnumValue) {
|
|
|
182
181
|
.setTermValue("3M");
|
|
183
182
|
;
|
|
184
183
|
let measure = measure_pb_1.MeasureProto.DIRECTED_QUANTITY;
|
|
185
|
-
let measureValue =
|
|
184
|
+
let measureValue = (0, decimal_1.encodeDecimal)((0, decimal_1.parseDecimalString)("1.0"));
|
|
186
185
|
const tradeDatePacked = new any_pb_1.Any();
|
|
187
186
|
tradeDatePacked.setTypeUrl(`DUMMYTYPE_DATE`);
|
|
188
187
|
tradeDatePacked.setValue(date_1.LocalDate.from(tradeDate).toProto().serializeBinary());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"position.test.js","sourceRoot":"","sources":["position.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"position.test.js","sourceRoot":"","sources":["position.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ import { PriceProto } from '../../../fintekkers/models/price/price_pb';
|
|
|
17
17
|
import { TenorProto } from '../../../fintekkers/models/security/tenor_pb';
|
|
18
18
|
import { TenorTypeProto } from '../../../fintekkers/models/security/tenor_type_pb';
|
|
19
19
|
import { Tenor } from '../security/term';
|
|
20
|
+
import { decodeDecimal, encodeDecimal, parseDecimalString, toCanonicalString } from '../utils/decimal';
|
|
20
21
|
|
|
21
22
|
test('test the enum Serialization', async () => {
|
|
22
23
|
let isTrue = await testEnumSerialization();
|
|
@@ -45,7 +46,7 @@ async function testEnumSerialization(): Promise<boolean> {
|
|
|
45
46
|
new FieldMapEntry().setField(FieldProto.POSITION_STATUS).setEnumValue(PositionStatusProto.EXECUTED)
|
|
46
47
|
]);
|
|
47
48
|
|
|
48
|
-
let measureValue =
|
|
49
|
+
let measureValue = encodeDecimal(parseDecimalString("1.55"));
|
|
49
50
|
positionProto.setMeasuresList([
|
|
50
51
|
new MeasureMapEntry().setMeasure(MeasureProto.DIRECTED_QUANTITY).setMeasureDecimalValue(measureValue)
|
|
51
52
|
]);
|
|
@@ -177,7 +178,7 @@ async function testSerialization(): Promise<boolean> {
|
|
|
177
178
|
expect(position.getMeasureValue(MeasureProto.DIRECTED_QUANTITY).toString()).toBe("1");
|
|
178
179
|
|
|
179
180
|
let price: PriceProto = position.getFieldValue(FieldProto.PRICE);
|
|
180
|
-
expect(price.getPrice()
|
|
181
|
+
expect(toCanonicalString(decodeDecimal(price.getPrice()!))).toBe("1.0");
|
|
181
182
|
|
|
182
183
|
let tenor = position.getFieldValue(FieldProto.TENOR);
|
|
183
184
|
expect(tenor.getTenorDescription()).toBe("3M");
|
|
@@ -200,7 +201,7 @@ function getPosition(includeUnknownEnumValue: boolean) {
|
|
|
200
201
|
let id = new UUID(UUID.random().toBytes());
|
|
201
202
|
|
|
202
203
|
let price = new PriceProto()
|
|
203
|
-
.setPrice(
|
|
204
|
+
.setPrice(encodeDecimal(parseDecimalString("1.0")))
|
|
204
205
|
.setUuid(id.toUUIDProto())
|
|
205
206
|
.setSecurity(security);
|
|
206
207
|
|
|
@@ -209,7 +210,7 @@ function getPosition(includeUnknownEnumValue: boolean) {
|
|
|
209
210
|
.setTermValue("3M");;
|
|
210
211
|
|
|
211
212
|
let measure = MeasureProto.DIRECTED_QUANTITY;
|
|
212
|
-
let measureValue =
|
|
213
|
+
let measureValue = encodeDecimal(parseDecimalString("1.0"));
|
|
213
214
|
|
|
214
215
|
const tradeDatePacked = new Any();
|
|
215
216
|
tradeDatePacked.setTypeUrl(`DUMMYTYPE_DATE`);
|
|
@@ -68,7 +68,7 @@ class PositionFilter {
|
|
|
68
68
|
}
|
|
69
69
|
toProto() {
|
|
70
70
|
const positionFilterProto = new position_filter_pb_1.PositionFilterProto();
|
|
71
|
-
(0, object_types_1.stamp)(positionFilterProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_POSITION_FILTER
|
|
71
|
+
(0, object_types_1.stamp)(positionFilterProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_POSITION_FILTER);
|
|
72
72
|
positionFilterProto.setFiltersList(this.filters);
|
|
73
73
|
return positionFilterProto;
|
|
74
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"positionfilter.js","sourceRoot":"","sources":["positionfilter.ts"],"names":[],"mappings":";;;AAAA,2FAA6G;AAE7G,oEAAmD;AACnD,+FAA6F;AAE7F,mFAAiF;AACjF,0DAAgD;AAEhD,MAAa,cAAc;IAGvB;QACI,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,qBAAqB,CAAC,KAAiB,EAAE,gBAAwB;QAC7D,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,yCAAsB,CAAC,MAAM,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACxF,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,KAAiB,EAAE,UAAe;QAC9C,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;YAChC,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,UAAoB,CAAC,CAAC;SAClE;aAAM;YACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,yCAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;SACtF;IACL,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,KAAiB,EAAE,QAAgC,EAAE,UAAgB,EAAE,gBAAyB;QACtG,MAAM,aAAa,GAAG,IAAI,gCAAa,EAAE,CAAC;QAC1C,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9B,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEpC,IAAI,gBAAgB;YAChB,aAAa,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;aAC9C,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS,EAAE;YACtD,uCAAuC;YACvC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;gBAChC,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;aAC1C;iBAAM;gBACH,aAAa,CAAC,mBAAmB,CAAC,IAAA,yBAAI,EAAC,UAAU,CAAC,CAAC,CAAC;aACvD;SACJ;aAAM;YACH,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;SAC/E;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,qCAAqC;IACrC,eAAe,CAAC,KAAiB,EAAE,MAAkB;QACjD,MAAM,aAAa,GAAG,IAAI,gCAAa,EAAE,CAAC;QAC1C,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9B,aAAa,CAAC,WAAW,CAAC,yCAAsB,CAAC,MAAM,CAAC,CAAC;QACzD,aAAa,CAAC,mBAAmB,CAAC,IAAA,yBAAI,EAAC,MAAM,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,OAAO;QACH,MAAM,mBAAmB,GAAG,IAAI,wCAAmB,EAAE,CAAC;QACtD,IAAA,oBAAK,EAAC,mBAAmB,EAAE,gCAAe,CAAC,2BAA2B,
|
|
1
|
+
{"version":3,"file":"positionfilter.js","sourceRoot":"","sources":["positionfilter.ts"],"names":[],"mappings":";;;AAAA,2FAA6G;AAE7G,oEAAmD;AACnD,+FAA6F;AAE7F,mFAAiF;AACjF,0DAAgD;AAEhD,MAAa,cAAc;IAGvB;QACI,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,qBAAqB,CAAC,KAAiB,EAAE,gBAAwB;QAC7D,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,yCAAsB,CAAC,MAAM,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACxF,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,KAAiB,EAAE,UAAe;QAC9C,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;YAChC,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,UAAoB,CAAC,CAAC;SAClE;aAAM;YACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,yCAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;SACtF;IACL,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,KAAiB,EAAE,QAAgC,EAAE,UAAgB,EAAE,gBAAyB;QACtG,MAAM,aAAa,GAAG,IAAI,gCAAa,EAAE,CAAC;QAC1C,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9B,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEpC,IAAI,gBAAgB;YAChB,aAAa,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;aAC9C,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS,EAAE;YACtD,uCAAuC;YACvC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;gBAChC,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;aAC1C;iBAAM;gBACH,aAAa,CAAC,mBAAmB,CAAC,IAAA,yBAAI,EAAC,UAAU,CAAC,CAAC,CAAC;aACvD;SACJ;aAAM;YACH,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;SAC/E;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,qCAAqC;IACrC,eAAe,CAAC,KAAiB,EAAE,MAAkB;QACjD,MAAM,aAAa,GAAG,IAAI,gCAAa,EAAE,CAAC;QAC1C,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9B,aAAa,CAAC,WAAW,CAAC,yCAAsB,CAAC,MAAM,CAAC,CAAC;QACzD,aAAa,CAAC,mBAAmB,CAAC,IAAA,yBAAI,EAAC,MAAM,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,OAAO;QACH,MAAM,mBAAmB,GAAG,IAAI,wCAAmB,EAAE,CAAC;QACtD,IAAA,oBAAK,EAAC,mBAAmB,EAAE,gCAAe,CAAC,2BAA2B,CAAC,CAAC;QACxE,mBAAmB,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEjD,OAAO,mBAAmB,CAAC;IAC/B,CAAC;CACJ;AA1ED,wCA0EC"}
|
|
@@ -9,6 +9,7 @@ const identifier_pb_1 = require("../../../fintekkers/models/security/identifier/
|
|
|
9
9
|
const identifier_type_pb_1 = require("../../../fintekkers/models/security/identifier/identifier_type_pb");
|
|
10
10
|
const serialization_util_1 = require("../utils/serialization.util");
|
|
11
11
|
const transaction_type_pb_1 = require("../../../fintekkers/models/transaction/transaction_type_pb");
|
|
12
|
+
const object_type_pb_1 = require("../../../fintekkers/models/util/object_type_pb");
|
|
12
13
|
test('test PositionFilter.addEqualsStringFilter adds string filter', () => {
|
|
13
14
|
testAddEqualsStringFilter();
|
|
14
15
|
});
|
|
@@ -108,13 +109,14 @@ function testGetFilters() {
|
|
|
108
109
|
assert(filters[1].getField() === field_pb_1.FieldProto.PRODUCT_TYPE, 'Second filter should be PRODUCT_TYPE');
|
|
109
110
|
}
|
|
110
111
|
function testToProto() {
|
|
112
|
+
var _a;
|
|
111
113
|
const filter = new positionfilter_1.PositionFilter();
|
|
112
114
|
filter.addEqualsStringFilter(field_pb_1.FieldProto.ASSET_CLASS, 'FixedIncome');
|
|
113
115
|
filter.addEqualsStringFilter(field_pb_1.FieldProto.PRODUCT_TYPE, 'Bond');
|
|
114
116
|
const proto = filter.toProto();
|
|
115
117
|
assert(proto !== null && proto !== undefined, 'Should return a PositionFilterProto');
|
|
116
|
-
assert(proto.
|
|
117
|
-
assert(proto.getVersion() ===
|
|
118
|
+
assert(proto.getObjectType() === object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_POSITION_FILTER, 'Object type should be OBJECT_TYPE_POSITION_FILTER');
|
|
119
|
+
assert(((_a = proto.getVersion()) === null || _a === void 0 ? void 0 : _a.getPatch()) === 1, 'Version should be 0.0.1');
|
|
118
120
|
const filtersList = proto.getFiltersList();
|
|
119
121
|
assert(filtersList.length === 2, 'Should have two filters in proto');
|
|
120
122
|
assert(filtersList[0].getField() === field_pb_1.FieldProto.ASSET_CLASS, 'First filter should be ASSET_CLASS');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"positionfilter.test.js","sourceRoot":"","sources":["positionfilter.test.ts"],"names":[],"mappings":";;AAAA,iCAAkC;AAClC,qDAAkD;AAClD,2EAA0E;AAC1E,2FAA8F;AAC9F,uDAAoD;AACpD,gGAA+F;AAC/F,0GAAwG;AACxG,oEAAqD;AAErD,oGAAkG;
|
|
1
|
+
{"version":3,"file":"positionfilter.test.js","sourceRoot":"","sources":["positionfilter.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ import { IdentifierTypeProto } from '../../../fintekkers/models/security/identif
|
|
|
8
8
|
import { unpack } from '../utils/serialization.util';
|
|
9
9
|
import { Any } from 'google-protobuf/google/protobuf/any_pb';
|
|
10
10
|
import { TransactionTypeProto } from '../../../fintekkers/models/transaction/transaction_type_pb';
|
|
11
|
+
import { ObjectTypeProto } from '../../../fintekkers/models/util/object_type_pb';
|
|
11
12
|
|
|
12
13
|
test('test PositionFilter.addEqualsStringFilter adds string filter', () => {
|
|
13
14
|
testAddEqualsStringFilter();
|
|
@@ -145,8 +146,8 @@ function testToProto(): void {
|
|
|
145
146
|
|
|
146
147
|
const proto = filter.toProto();
|
|
147
148
|
assert(proto !== null && proto !== undefined, 'Should return a PositionFilterProto');
|
|
148
|
-
assert(proto.
|
|
149
|
-
assert(proto.getVersion() ===
|
|
149
|
+
assert(proto.getObjectType() === ObjectTypeProto.OBJECT_TYPE_POSITION_FILTER, 'Object type should be OBJECT_TYPE_POSITION_FILTER');
|
|
150
|
+
assert(proto.getVersion()?.getPatch() === 1, 'Version should be 0.0.1');
|
|
150
151
|
|
|
151
152
|
const filtersList = proto.getFiltersList();
|
|
152
153
|
assert(filtersList.length === 2, 'Should have two filters in proto');
|
|
@@ -75,7 +75,7 @@ export class PositionFilter {
|
|
|
75
75
|
|
|
76
76
|
toProto(): PositionFilterProto {
|
|
77
77
|
const positionFilterProto = new PositionFilterProto();
|
|
78
|
-
stamp(positionFilterProto, ObjectTypeProto.OBJECT_TYPE_POSITION_FILTER
|
|
78
|
+
stamp(positionFilterProto, ObjectTypeProto.OBJECT_TYPE_POSITION_FILTER);
|
|
79
79
|
positionFilterProto.setFiltersList(this.filters);
|
|
80
80
|
|
|
81
81
|
return positionFilterProto;
|
|
@@ -11,27 +11,26 @@ const product_type_pb_1 = require("../../../fintekkers/models/security/product_t
|
|
|
11
11
|
const uuid_1 = require("../utils/uuid");
|
|
12
12
|
const datetime_1 = require("../utils/datetime");
|
|
13
13
|
const decimal_js_1 = require("decimal.js");
|
|
14
|
+
const decimal_1 = require("../utils/decimal");
|
|
14
15
|
test('test Price getCashPrice', () => {
|
|
15
16
|
testGetCashPrice();
|
|
16
17
|
});
|
|
17
18
|
function testGetCashPrice() {
|
|
18
|
-
var _a
|
|
19
|
+
var _a;
|
|
19
20
|
const cashSecurity = createDummyCashSecurity();
|
|
20
21
|
const asOf = datetime_1.ZonedDateTime.now();
|
|
21
22
|
const cashPrice = Price_1.default.getCashPrice(cashSecurity, asOf);
|
|
22
23
|
// Cash price should be 1.0 (Decimal normalizes to '1')
|
|
23
|
-
const priceValue = (
|
|
24
|
+
const priceValue = (0, decimal_1.toCanonicalString)((0, decimal_1.decodeDecimal)(cashPrice.proto.getPrice()));
|
|
24
25
|
const priceDecimal = new decimal_js_1.Decimal(priceValue || '0');
|
|
25
26
|
assert(priceDecimal.equals(new decimal_js_1.Decimal('1.0')), `Expected cash price 1.0, got ${priceValue}`);
|
|
26
27
|
// Security should match
|
|
27
28
|
assert(cashPrice.proto.getSecurity() === cashSecurity.proto, 'Security should match');
|
|
28
29
|
// AsOf should match
|
|
29
|
-
assert(((
|
|
30
|
+
assert(((_a = cashPrice.proto.getAsOf()) === null || _a === void 0 ? void 0 : _a.getTimeZone()) === asOf.toProto().getTimeZone(), 'AsOf timezone should match');
|
|
30
31
|
}
|
|
31
32
|
function createDummyCashSecurity() {
|
|
32
33
|
const securityProto = new security_pb_1.SecurityProto();
|
|
33
|
-
securityProto.setObjectClass('Security');
|
|
34
|
-
securityProto.setVersion('0.0.1');
|
|
35
34
|
securityProto.setUuid(uuid_1.UUID.random().toUUIDProto());
|
|
36
35
|
securityProto.setProductType(product_type_pb_1.ProductTypeProto.CURRENCY);
|
|
37
36
|
securityProto.setAsOf(datetime_1.ZonedDateTime.now().toProto());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Price.cash.test.js","sourceRoot":"","sources":["Price.cash.test.ts"],"names":[],"mappings":";;;;;AAAA,iCAAkC;AAClC,oDAA4B;AAC5B,oEAA4C;AAC5C,iFAAkG;AAClG,yFAAuF;AACvF,wCAAqC;AACrC,gDAAkD;AAClD,2CAAqC;
|
|
1
|
+
{"version":3,"file":"Price.cash.test.js","sourceRoot":"","sources":["Price.cash.test.ts"],"names":[],"mappings":";;;;;AAAA,iCAAkC;AAClC,oDAA4B;AAC5B,oEAA4C;AAC5C,iFAAkG;AAClG,yFAAuF;AACvF,wCAAqC;AACrC,gDAAkD;AAClD,2CAAqC;AACrC,8CAAoE;AAEpE,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACjC,gBAAgB,EAAE,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,SAAS,gBAAgB;;IACrB,MAAM,YAAY,GAAG,uBAAuB,EAAE,CAAC;IAC/C,MAAM,IAAI,GAAG,wBAAa,CAAC,GAAG,EAAE,CAAC;IAEjC,MAAM,SAAS,GAAG,eAAK,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAEzD,uDAAuD;IACvD,MAAM,UAAU,GAAG,IAAA,2BAAiB,EAAC,IAAA,uBAAa,EAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAG,CAAC,CAAC,CAAC;IACjF,MAAM,YAAY,GAAG,IAAI,oBAAO,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC;IACpD,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,oBAAO,CAAC,KAAK,CAAC,CAAC,EAAE,gCAAgC,UAAU,EAAE,CAAC,CAAC;IAE9F,wBAAwB;IACxB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;IAEtF,oBAAoB;IACpB,MAAM,CAAC,CAAA,MAAA,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,0CAAE,WAAW,EAAE,MAAK,IAAI,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,EAAE,4BAA4B,CAAC,CAAC;AACpH,CAAC;AAED,SAAS,uBAAuB;IAC5B,MAAM,aAAa,GAAG,IAAI,2BAAa,EAAE,CAAC;IAC1C,aAAa,CAAC,OAAO,CAAC,WAAI,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IACnD,aAAa,CAAC,cAAc,CAAC,kCAAgB,CAAC,QAAQ,CAAC,CAAC;IACxD,aAAa,CAAC,OAAO,CAAC,wBAAa,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IACrD,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACpC,aAAa,CAAC,cAAc,CAAC,IAAI,8BAAgB,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAEtE,OAAO,kBAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -6,6 +6,7 @@ import { ProductTypeProto } from "../../../fintekkers/models/security/product_ty
|
|
|
6
6
|
import { UUID } from '../utils/uuid';
|
|
7
7
|
import { ZonedDateTime } from '../utils/datetime';
|
|
8
8
|
import { Decimal } from 'decimal.js';
|
|
9
|
+
import { decodeDecimal, toCanonicalString } from '../utils/decimal';
|
|
9
10
|
|
|
10
11
|
test('test Price getCashPrice', () => {
|
|
11
12
|
testGetCashPrice();
|
|
@@ -18,7 +19,7 @@ function testGetCashPrice(): void {
|
|
|
18
19
|
const cashPrice = Price.getCashPrice(cashSecurity, asOf);
|
|
19
20
|
|
|
20
21
|
// Cash price should be 1.0 (Decimal normalizes to '1')
|
|
21
|
-
const priceValue = cashPrice.proto.getPrice()
|
|
22
|
+
const priceValue = toCanonicalString(decodeDecimal(cashPrice.proto.getPrice()!));
|
|
22
23
|
const priceDecimal = new Decimal(priceValue || '0');
|
|
23
24
|
assert(priceDecimal.equals(new Decimal('1.0')), `Expected cash price 1.0, got ${priceValue}`);
|
|
24
25
|
|
|
@@ -31,8 +32,6 @@ function testGetCashPrice(): void {
|
|
|
31
32
|
|
|
32
33
|
function createDummyCashSecurity(): Security {
|
|
33
34
|
const securityProto = new SecurityProto();
|
|
34
|
-
securityProto.setObjectClass('Security');
|
|
35
|
-
securityProto.setVersion('0.0.1');
|
|
36
35
|
securityProto.setUuid(UUID.random().toUUIDProto());
|
|
37
36
|
securityProto.setProductType(ProductTypeProto.CURRENCY);
|
|
38
37
|
securityProto.setAsOf(ZonedDateTime.now().toProto());
|
|
@@ -57,7 +57,7 @@ class Price {
|
|
|
57
57
|
securityProto.setUuid(new uuid_1.UUID(uuid_1.UUID.fromString(securityId)).toUUIDProto());
|
|
58
58
|
securityProto.setIsLink(true);
|
|
59
59
|
const priceProto = new price_pb_1.PriceProto();
|
|
60
|
-
(0, object_types_1.stamp)(priceProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_PRICE
|
|
60
|
+
(0, object_types_1.stamp)(priceProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_PRICE);
|
|
61
61
|
priceProto.setUuid(uuid_1.UUID.random().toUUIDProto());
|
|
62
62
|
priceProto.setAsOf(datetime_1.ZonedDateTime.from(date).toProto());
|
|
63
63
|
priceProto.setPrice(decimalValueProto);
|
|
@@ -72,7 +72,7 @@ class Price {
|
|
|
72
72
|
const decimalValueProto = (0, decimal_1.encodeDecimal)((0, decimal_1.fromDecimalJs)(price));
|
|
73
73
|
const priceProto = new price_pb_1.PriceProto();
|
|
74
74
|
priceProto.setPrice(decimalValueProto);
|
|
75
|
-
(0, object_types_1.stamp)(priceProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_PRICE
|
|
75
|
+
(0, object_types_1.stamp)(priceProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_PRICE);
|
|
76
76
|
priceProto.setAsOf(asOf.toProto());
|
|
77
77
|
priceProto.setUuid(uuid_1.UUID.random().toUUIDProto());
|
|
78
78
|
priceProto.setSecurity(security.proto);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Price.js","sourceRoot":"","sources":["Price.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wEAAuE;AACvE,kFAAgF;AAEhF,iFAAgF;AAChF,oEAA4C;AAC5C,gDAAkD;AAClD,wCAAqC;AACrC,2CAAqC;AACrC,uEAAyD;AACzD,8CAA8J;AAC9J,mFAAiF;AACjF,0DAAgD;AAEhD,MAAM,KAAK;IAGP,YAAY,KAAiB;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,UAAU,CACb,UAAkB,EAClB,KAAa,EACb,IAAU,EACV,YAA4B,8BAAc,CAAC,UAAU;QAErD,MAAM,iBAAiB,GAAG,IAAA,uBAAa,EAAC,IAAA,4BAAkB,EAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAE9E,MAAM,aAAa,GAAG,IAAI,2BAAa,EAAE,CAAC;QAC1C,aAAa,CAAC,OAAO,CAAC,IAAI,WAAI,CAAC,WAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC3E,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE9B,MAAM,UAAU,GAAG,IAAI,qBAAU,EAAE,CAAC;QACpC,IAAA,oBAAK,EAAC,UAAU,EAAE,gCAAe,CAAC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"Price.js","sourceRoot":"","sources":["Price.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,8 @@ const Price_1 = __importDefault(require("./Price"));
|
|
|
7
7
|
const price_type_pb_1 = require("../../../fintekkers/models/price/price_type_pb");
|
|
8
8
|
const decimal_js_1 = require("decimal.js");
|
|
9
9
|
const errors_1 = require("../errors");
|
|
10
|
+
const object_type_pb_1 = require("../../../fintekkers/models/util/object_type_pb");
|
|
11
|
+
const object_types_1 = require("../../util/object-types");
|
|
10
12
|
const TEST_UUID = '18e8c4e6-3da0-47c9-b26d-c5ea8b8dce95';
|
|
11
13
|
test('Price.fromSimple creates a Price with correct values', () => {
|
|
12
14
|
const date = new Date('2026-03-15T12:00:00Z');
|
|
@@ -46,8 +48,8 @@ test('Price.getID returns a valid UUID', () => {
|
|
|
46
48
|
test('Price proto has all required fields set', () => {
|
|
47
49
|
const date = new Date();
|
|
48
50
|
const price = Price_1.default.fromSimple(TEST_UUID, 50.0, date);
|
|
49
|
-
expect(price.proto.
|
|
50
|
-
expect(price.proto
|
|
51
|
+
expect(price.proto.getObjectType()).toBe(object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_PRICE);
|
|
52
|
+
expect((0, object_types_1.readVersion)(price.proto)).toEqual([0, 0, 1]);
|
|
51
53
|
expect(price.proto.getUuid()).toBeTruthy();
|
|
52
54
|
expect(price.proto.getAsOf()).toBeTruthy();
|
|
53
55
|
expect(price.proto.getPrice()).toBeTruthy();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Price.test.js","sourceRoot":"","sources":["Price.test.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAC5B,kFAAgF;AAChF,2CAAqC;AACrC,sCAAiD;
|
|
1
|
+
{"version":3,"file":"Price.test.js","sourceRoot":"","sources":["Price.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,8 @@ import Price from './Price';
|
|
|
2
2
|
import { PriceTypeProto } from '../../../fintekkers/models/price/price_type_pb';
|
|
3
3
|
import { Decimal } from 'decimal.js';
|
|
4
4
|
import { ModelValidationError } from '../errors';
|
|
5
|
+
import { ObjectTypeProto } from '../../../fintekkers/models/util/object_type_pb';
|
|
6
|
+
import { readVersion } from '../../util/object-types';
|
|
5
7
|
|
|
6
8
|
const TEST_UUID = '18e8c4e6-3da0-47c9-b26d-c5ea8b8dce95';
|
|
7
9
|
|
|
@@ -55,8 +57,8 @@ test('Price proto has all required fields set', () => {
|
|
|
55
57
|
const date = new Date();
|
|
56
58
|
const price = Price.fromSimple(TEST_UUID, 50.0, date);
|
|
57
59
|
|
|
58
|
-
expect(price.proto.
|
|
59
|
-
expect(price.proto
|
|
60
|
+
expect(price.proto.getObjectType()).toBe(ObjectTypeProto.OBJECT_TYPE_PRICE);
|
|
61
|
+
expect(readVersion(price.proto)).toEqual([0, 0, 1]);
|
|
60
62
|
expect(price.proto.getUuid()).toBeTruthy();
|
|
61
63
|
expect(price.proto.getAsOf()).toBeTruthy();
|
|
62
64
|
expect(price.proto.getPrice()).toBeTruthy();
|
|
@@ -41,7 +41,7 @@ class Price {
|
|
|
41
41
|
securityProto.setIsLink(true);
|
|
42
42
|
|
|
43
43
|
const priceProto = new PriceProto();
|
|
44
|
-
stamp(priceProto, ObjectTypeProto.OBJECT_TYPE_PRICE
|
|
44
|
+
stamp(priceProto, ObjectTypeProto.OBJECT_TYPE_PRICE);
|
|
45
45
|
priceProto.setUuid(UUID.random().toUUIDProto());
|
|
46
46
|
priceProto.setAsOf(ZonedDateTime.from(date).toProto());
|
|
47
47
|
priceProto.setPrice(decimalValueProto);
|
|
@@ -59,7 +59,7 @@ class Price {
|
|
|
59
59
|
|
|
60
60
|
const priceProto = new PriceProto();
|
|
61
61
|
priceProto.setPrice(decimalValueProto);
|
|
62
|
-
stamp(priceProto, ObjectTypeProto.OBJECT_TYPE_PRICE
|
|
62
|
+
stamp(priceProto, ObjectTypeProto.OBJECT_TYPE_PRICE);
|
|
63
63
|
priceProto.setAsOf(asOf.toProto());
|
|
64
64
|
priceProto.setUuid(UUID.random().toUUIDProto());
|
|
65
65
|
priceProto.setSecurity(security.proto);
|
|
@@ -9,10 +9,11 @@ const uuid_pb_1 = require("../../../fintekkers/models/util/uuid_pb");
|
|
|
9
9
|
const errors_1 = require("../errors");
|
|
10
10
|
const uuid_1 = require("../utils/uuid");
|
|
11
11
|
const price_rules_1 = require("./price_rules");
|
|
12
|
+
const decimal_1 = require("../utils/decimal");
|
|
12
13
|
const PRICE_ID = '6a1d2c3e-4b5f-4a6d-8e7f-9a0b1c2d3e4f';
|
|
13
14
|
const SECURITY_ID = '1f0e8a4c-58b1-4d0e-9a3c-7d2b6e5f4a10';
|
|
14
15
|
function decimal(value) {
|
|
15
|
-
return
|
|
16
|
+
return (0, decimal_1.encodeDecimal)((0, decimal_1.parseDecimalString)(value));
|
|
16
17
|
}
|
|
17
18
|
/** A price that passes every rule. */
|
|
18
19
|
function valid() {
|
|
@@ -45,13 +46,17 @@ describe('price_rules.validate', () => {
|
|
|
45
46
|
expect(fields(validWith(p => p.clearPrice()))).toEqual(['price']);
|
|
46
47
|
});
|
|
47
48
|
test('empty price gives one violation on price', () => {
|
|
48
|
-
expect(fields(valid().setPrice(
|
|
49
|
+
expect(fields(valid().setPrice(new decimal_value_pb_1.DecimalValueProto()))).toEqual(['price']);
|
|
49
50
|
});
|
|
50
51
|
test('zero price is valid', () => {
|
|
51
52
|
expect(fields(valid().setPrice(decimal('0')))).toEqual([]);
|
|
52
53
|
});
|
|
53
|
-
test.each([
|
|
54
|
-
|
|
54
|
+
test.each([
|
|
55
|
+
['negative', decimal('-1')],
|
|
56
|
+
// Over the scale cap: set, but it does not decode.
|
|
57
|
+
['over_cap', new decimal_value_pb_1.DecimalValueProto().setUnscaledValue(new Uint8Array([1])).setScale(5000)],
|
|
58
|
+
])('price value %s is not checked', (_name, value) => {
|
|
59
|
+
expect(fields(valid().setPrice(value))).toEqual([]);
|
|
55
60
|
});
|
|
56
61
|
test('UNKNOWN_PRICE_TYPE gives one violation on price_type', () => {
|
|
57
62
|
expect(fields(valid().setPriceType(price_type_pb_1.PriceTypeProto.UNKNOWN_PRICE_TYPE))).toEqual(['price_type']);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"price_rules.test.js","sourceRoot":"","sources":["price_rules.test.ts"],"names":[],"mappings":";AAAA,mFAAmF;;AAEnF,wEAAuE;AACvE,kFAAgF;AAChF,iFAAgF;AAChF,uFAAqF;AACrF,qEAAoE;AACpE,sCAAiD;AACjD,wCAAqC;AACrC,+CAAuD;
|
|
1
|
+
{"version":3,"file":"price_rules.test.js","sourceRoot":"","sources":["price_rules.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,12 +8,13 @@ import { UUIDProto } from '../../../fintekkers/models/util/uuid_pb';
|
|
|
8
8
|
import { ModelValidationError } from '../errors';
|
|
9
9
|
import { UUID } from '../utils/uuid';
|
|
10
10
|
import { requireValid, validate } from './price_rules';
|
|
11
|
+
import { encodeDecimal, parseDecimalString } from '../utils/decimal';
|
|
11
12
|
|
|
12
13
|
const PRICE_ID = '6a1d2c3e-4b5f-4a6d-8e7f-9a0b1c2d3e4f';
|
|
13
14
|
const SECURITY_ID = '1f0e8a4c-58b1-4d0e-9a3c-7d2b6e5f4a10';
|
|
14
15
|
|
|
15
16
|
function decimal(value: string): DecimalValueProto {
|
|
16
|
-
return
|
|
17
|
+
return encodeDecimal(parseDecimalString(value));
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
/** A price that passes every rule. */
|
|
@@ -54,15 +55,19 @@ describe('price_rules.validate', () => {
|
|
|
54
55
|
});
|
|
55
56
|
|
|
56
57
|
test('empty price gives one violation on price', () => {
|
|
57
|
-
expect(fields(valid().setPrice(
|
|
58
|
+
expect(fields(valid().setPrice(new DecimalValueProto()))).toEqual(['price']);
|
|
58
59
|
});
|
|
59
60
|
|
|
60
61
|
test('zero price is valid', () => {
|
|
61
62
|
expect(fields(valid().setPrice(decimal('0')))).toEqual([]);
|
|
62
63
|
});
|
|
63
64
|
|
|
64
|
-
test.each([
|
|
65
|
-
|
|
65
|
+
test.each([
|
|
66
|
+
['negative', decimal('-1')],
|
|
67
|
+
// Over the scale cap: set, but it does not decode.
|
|
68
|
+
['over_cap', new DecimalValueProto().setUnscaledValue(new Uint8Array([1])).setScale(5000)],
|
|
69
|
+
])('price value %s is not checked', (_name, value) => {
|
|
70
|
+
expect(fields(valid().setPrice(value))).toEqual([]);
|
|
66
71
|
});
|
|
67
72
|
|
|
68
73
|
test('UNKNOWN_PRICE_TYPE gives one violation on price_type', () => {
|
|
@@ -7,11 +7,11 @@ const assert = require("assert");
|
|
|
7
7
|
const BondSecurity_1 = __importDefault(require("./BondSecurity"));
|
|
8
8
|
const security_pb_1 = require("../../../fintekkers/models/security/security_pb");
|
|
9
9
|
const product_type_pb_1 = require("../../../fintekkers/models/security/product_type_pb");
|
|
10
|
-
const decimal_value_pb_1 = require("../../../fintekkers/models/util/decimal_value_pb");
|
|
11
10
|
const local_date_pb_1 = require("../../../fintekkers/models/util/local_date_pb");
|
|
12
11
|
const uuid_1 = require("../utils/uuid");
|
|
13
12
|
const datetime_1 = require("../utils/datetime");
|
|
14
13
|
const decimal_js_1 = require("decimal.js");
|
|
14
|
+
const decimal_1 = require("../utils/decimal");
|
|
15
15
|
test('test BondSecurity getPriceScaleFactor', () => {
|
|
16
16
|
testGetPriceScaleFactor();
|
|
17
17
|
});
|
|
@@ -23,13 +23,11 @@ function testGetPriceScaleFactor() {
|
|
|
23
23
|
}
|
|
24
24
|
function createDummyBondSecurity() {
|
|
25
25
|
const securityProto = new security_pb_1.SecurityProto();
|
|
26
|
-
securityProto.setObjectClass('Security');
|
|
27
|
-
securityProto.setVersion('0.0.1');
|
|
28
26
|
securityProto.setUuid(uuid_1.UUID.random().toUUIDProto());
|
|
29
27
|
securityProto.setProductType(product_type_pb_1.ProductTypeProto.TREASURY_NOTE);
|
|
30
28
|
securityProto.setAsOf(datetime_1.ZonedDateTime.now().toProto());
|
|
31
29
|
const bond = new security_pb_1.BondDetailsProto();
|
|
32
|
-
bond.setFaceValue(
|
|
30
|
+
bond.setFaceValue((0, decimal_1.encodeDecimal)((0, decimal_1.parseDecimalString)('1000.00')));
|
|
33
31
|
bond.setIssueDate(new local_date_pb_1.LocalDateProto().setYear(2021).setMonth(1).setDay(1));
|
|
34
32
|
bond.setMaturityDate(new local_date_pb_1.LocalDateProto().setYear(2031).setMonth(1).setDay(1));
|
|
35
33
|
securityProto.setBondDetails(bond);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BondSecurity.priceScale.test.js","sourceRoot":"","sources":["BondSecurity.priceScale.test.ts"],"names":[],"mappings":";;;;;AAAA,iCAAkC;AAClC,kEAA0C;AAC1C,iFAAkG;AAClG,yFAAuF;
|
|
1
|
+
{"version":3,"file":"BondSecurity.priceScale.test.js","sourceRoot":"","sources":["BondSecurity.priceScale.test.ts"],"names":[],"mappings":";;;;;AAAA,iCAAkC;AAClC,kEAA0C;AAC1C,iFAAkG;AAClG,yFAAuF;AAEvF,iFAA+E;AAC/E,wCAAqC;AACrC,gDAAkD;AAClD,2CAAqC;AACrC,8CAAqE;AAErE,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE;IAC/C,uBAAuB,EAAE,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEH,SAAS,uBAAuB;IAC5B,MAAM,YAAY,GAAG,uBAAuB,EAAE,CAAC;IAC/C,MAAM,gBAAgB,GAAG,YAAY,CAAC,mBAAmB,EAAE,CAAC;IAE5D,8CAA8C;IAC9C,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,oBAAO,CAAC,MAAM,CAAC,CAAC,EAC/C,yCAAyC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,uBAAuB;IAC5B,MAAM,aAAa,GAAG,IAAI,2BAAa,EAAE,CAAC;IAC1C,aAAa,CAAC,OAAO,CAAC,WAAI,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IACnD,aAAa,CAAC,cAAc,CAAC,kCAAgB,CAAC,aAAa,CAAC,CAAC;IAC7D,aAAa,CAAC,OAAO,CAAC,wBAAa,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,IAAI,8BAAgB,EAAE,CAAC;IACpC,IAAI,CAAC,YAAY,CAAC,IAAA,uBAAa,EAAC,IAAA,4BAAkB,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAChE,IAAI,CAAC,YAAY,CAAC,IAAI,8BAAc,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,IAAI,CAAC,eAAe,CAAC,IAAI,8BAAc,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAEnC,OAAO,IAAI,sBAAY,CAAC,aAAa,CAAC,CAAC;AAC3C,CAAC"}
|