@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"price-wrapper.test.js","sourceRoot":"","sources":["price-wrapper.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAA8C;AAC9C,qEAA6C;AAC7C,yEAAsE;AAEtE,kDAA+C;AAC/C,gEAAkD;AAClD,oDAAsC;AACtC,+BAAiC;AACjC,4GAA+F;AAC/F,sGAAmG;AAEnG,2CAAqC;AAErC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAC3C,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,iBAAiB,CAAC;AAC3C,MAAM,YAAY,GAAG,IAAI,2BAAY,EAAE,CAAC;AAExC,QAAQ,CAAC,GAAG,EAAE;IACZ,YAAY,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,SAAe,yBAAyB;;QACtC,MAAM,MAAM,GAAG,IAAI,mCAAW,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC;QAErF,MAAM,WAAW,GAAG,IAAI,+CAAsB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"price-wrapper.test.js","sourceRoot":"","sources":["price-wrapper.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,8 +26,6 @@ async function getSecurityUuidWithPrices(): Promise<{ uuid: UUID; client: PriceC
|
|
|
26
26
|
const client = new PriceClient(PRICE_SERVICE_URL, grpc.credentials.createInsecure());
|
|
27
27
|
|
|
28
28
|
const listRequest = new QueryPriceRequestProto();
|
|
29
|
-
listRequest.setObjectClass('PriceRequest');
|
|
30
|
-
listRequest.setVersion('0.0.1');
|
|
31
29
|
|
|
32
30
|
const listIdsAsync = promisify(client.listIds.bind(client));
|
|
33
31
|
const listResponse = await listIdsAsync(listRequest) as QueryPriceResponseProto;
|
|
@@ -35,8 +33,6 @@ async function getSecurityUuidWithPrices(): Promise<{ uuid: UUID; client: PriceC
|
|
|
35
33
|
expect(priceUuids.length).toBeGreaterThan(0);
|
|
36
34
|
|
|
37
35
|
const getRequest = new QueryPriceRequestProto();
|
|
38
|
-
getRequest.setObjectClass('PriceRequest');
|
|
39
|
-
getRequest.setVersion('0.0.1');
|
|
40
36
|
getRequest.setUuidsList([priceUuids[0].getUuid()!]);
|
|
41
37
|
|
|
42
38
|
const getByIdsAsync = promisify(client.getByIds.bind(client));
|
|
@@ -74,8 +70,8 @@ test('createOrUpdate accepts a Price wrapper object', async () => {
|
|
|
74
70
|
const response = await priceService.createOrUpdate(price);
|
|
75
71
|
|
|
76
72
|
expect(response).toBeTruthy();
|
|
77
|
-
expect(response.
|
|
78
|
-
console.log(`createOrUpdate (wrapper) response: ${response.
|
|
73
|
+
expect(response.getObjectType()).toBeTruthy();
|
|
74
|
+
console.log(`createOrUpdate (wrapper) response: ${response.getObjectType()}`);
|
|
79
75
|
|
|
80
76
|
// Verify via search
|
|
81
77
|
const results = await priceService.searchBySecurityId(securityUuid.toString());
|
|
@@ -42,9 +42,9 @@ const grpc = __importStar(require("@grpc/grpc-js"));
|
|
|
42
42
|
const price_service_grpc_pb_1 = require("../../../fintekkers/services/price-service/price_service_grpc_pb");
|
|
43
43
|
const query_price_request_pb_1 = require("../../../fintekkers/requests/price/query_price_request_pb");
|
|
44
44
|
const price_pb_1 = require("../../../fintekkers/models/price/price_pb");
|
|
45
|
-
const decimal_value_pb_1 = require("../../../fintekkers/models/util/decimal_value_pb");
|
|
46
45
|
const security_pb_1 = require("../../../fintekkers/models/security/security_pb");
|
|
47
46
|
const price_type_pb_1 = require("../../../fintekkers/models/price/price_type_pb");
|
|
47
|
+
const decimal_1 = require("../../models/utils/decimal");
|
|
48
48
|
const PRICE_SERVICE_URL = 'localhost:8083';
|
|
49
49
|
const priceService = new PriceService_1.PriceService(PRICE_SERVICE_URL);
|
|
50
50
|
afterAll(() => {
|
|
@@ -58,16 +58,12 @@ function getSecurityUuidWithPrices() {
|
|
|
58
58
|
const client = new price_service_grpc_pb_1.PriceClient(PRICE_SERVICE_URL, grpc.credentials.createInsecure());
|
|
59
59
|
// ListIds to get a price UUID
|
|
60
60
|
const listRequest = new query_price_request_pb_1.QueryPriceRequestProto();
|
|
61
|
-
listRequest.setObjectClass('PriceRequest');
|
|
62
|
-
listRequest.setVersion('0.0.1');
|
|
63
61
|
const listIdsAsync = (0, util_1.promisify)(client.listIds.bind(client));
|
|
64
62
|
const listResponse = yield listIdsAsync(listRequest);
|
|
65
63
|
const priceUuids = listResponse.getPriceResponseList();
|
|
66
64
|
expect(priceUuids.length).toBeGreaterThan(0);
|
|
67
65
|
// GetByIds for the first price to get its security UUID
|
|
68
66
|
const getRequest = new query_price_request_pb_1.QueryPriceRequestProto();
|
|
69
|
-
getRequest.setObjectClass('PriceRequest');
|
|
70
|
-
getRequest.setVersion('0.0.1');
|
|
71
67
|
getRequest.setUuidsList([priceUuids[0].getUuid()]);
|
|
72
68
|
const getByIdsAsync = (0, util_1.promisify)(client.getByIds.bind(client));
|
|
73
69
|
const getResponse = yield getByIdsAsync(getRequest);
|
|
@@ -89,7 +85,6 @@ test('search with empty filter returns prices', () => __awaiter(void 0, void 0,
|
|
|
89
85
|
expect(firstPrice.getSecurity()).toBeTruthy();
|
|
90
86
|
}), 120000);
|
|
91
87
|
test('search by SECURITY_ID returns prices for a known security', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
92
|
-
var _a;
|
|
93
88
|
// First discover a security UUID that actually has prices
|
|
94
89
|
const { uuid: securityUuid, client } = yield getSecurityUuidWithPrices();
|
|
95
90
|
client.close();
|
|
@@ -102,11 +97,10 @@ test('search by SECURITY_ID returns prices for a known security', () => __awaite
|
|
|
102
97
|
expect(prices.length).toBeGreaterThan(0);
|
|
103
98
|
for (const price of prices) {
|
|
104
99
|
expect(price.getSecurity()).toBeTruthy();
|
|
105
|
-
expect((
|
|
100
|
+
expect((0, decimal_1.toCanonicalString)((0, decimal_1.decodeDecimal)(price.getPrice()))).toBeTruthy();
|
|
106
101
|
}
|
|
107
102
|
}), 120000);
|
|
108
103
|
test('search for CUSIP 91282CPZ8 (UUID 18e8c4e6-3da0-47c9-b26d-c5ea8b8dce95) returns prices', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
109
|
-
var _b;
|
|
110
104
|
const now = dt.ZonedDateTime.now();
|
|
111
105
|
const securityUuid = new uuid_1.UUID(uuid_1.UUID.fromString('18e8c4e6-3da0-47c9-b26d-c5ea8b8dce95'));
|
|
112
106
|
const filter = new positionfilter_1.PositionFilter()
|
|
@@ -119,7 +113,7 @@ test('search for CUSIP 91282CPZ8 (UUID 18e8c4e6-3da0-47c9-b26d-c5ea8b8dce95) ret
|
|
|
119
113
|
if (prices.length > 0) {
|
|
120
114
|
for (const price of prices) {
|
|
121
115
|
expect(price.getSecurity()).toBeTruthy();
|
|
122
|
-
const priceValue = (
|
|
116
|
+
const priceValue = (0, decimal_1.toCanonicalString)((0, decimal_1.decodeDecimal)(price.getPrice()));
|
|
123
117
|
expect(priceValue).toBeTruthy();
|
|
124
118
|
console.log(` Price: ${priceValue}`);
|
|
125
119
|
}
|
|
@@ -134,12 +128,9 @@ test('search for CUSIP 91282CPZ8 (UUID 18e8c4e6-3da0-47c9-b26d-c5ea8b8dce95) ret
|
|
|
134
128
|
function buildPriceProto(securityUuid, priceValue) {
|
|
135
129
|
const now = dt.ZonedDateTime.now();
|
|
136
130
|
const price = new price_pb_1.PriceProto();
|
|
137
|
-
price.setObjectClass('Price');
|
|
138
|
-
price.setVersion('0.0.1');
|
|
139
131
|
price.setUuid(uuid_1.UUID.random().toUUIDProto());
|
|
140
132
|
price.setAsOf(now.toProto());
|
|
141
|
-
const decimalValue =
|
|
142
|
-
decimalValue.setArbitraryPrecisionValue(priceValue);
|
|
133
|
+
const decimalValue = (0, decimal_1.encodeDecimal)((0, decimal_1.parseDecimalString)(priceValue));
|
|
143
134
|
price.setPrice(decimalValue);
|
|
144
135
|
// Set security as a link reference
|
|
145
136
|
const security = new security_pb_1.SecurityProto();
|
|
@@ -157,14 +148,14 @@ test('createOrUpdate inserts a price via the gRPC API', () => __awaiter(void 0,
|
|
|
157
148
|
const response = yield priceService.createOrUpdate(priceProto);
|
|
158
149
|
// The RPC must succeed and return a valid response
|
|
159
150
|
expect(response).toBeTruthy();
|
|
160
|
-
expect(response.
|
|
161
|
-
console.log(`createOrUpdate response
|
|
151
|
+
expect(response.getObjectType()).toBeTruthy();
|
|
152
|
+
console.log(`createOrUpdate response object_type: ${response.getObjectType()}`);
|
|
162
153
|
// Verify the price was persisted by searching for it
|
|
163
154
|
const now = dt.ZonedDateTime.now();
|
|
164
155
|
const filter = new positionfilter_1.PositionFilter()
|
|
165
156
|
.addEqualsFilter(field_pb_1.FieldProto.SECURITY_ID, securityUuid);
|
|
166
157
|
const prices = yield priceService.searchPrice(now.toProto(), filter);
|
|
167
|
-
const priceValues = prices.map(p =>
|
|
158
|
+
const priceValues = prices.map(p => (0, decimal_1.toCanonicalString)((0, decimal_1.decodeDecimal)(p.getPrice())));
|
|
168
159
|
expect(priceValues).toContain('99.875');
|
|
169
160
|
}), 120000);
|
|
170
161
|
test('validateCreateOrUpdate returns no errors for a valid price', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -191,7 +182,7 @@ test('createOrUpdate price can be retrieved via search', () => __awaiter(void 0,
|
|
|
191
182
|
.addEqualsFilter(field_pb_1.FieldProto.SECURITY_ID, securityUuid);
|
|
192
183
|
const prices = yield priceService.searchPrice(now.toProto(), filter);
|
|
193
184
|
expect(prices.length).toBeGreaterThan(0);
|
|
194
|
-
const priceValues = prices.map(p =>
|
|
185
|
+
const priceValues = prices.map(p => (0, decimal_1.toCanonicalString)((0, decimal_1.decodeDecimal)(p.getPrice())));
|
|
195
186
|
console.log(`Found ${prices.length} prices for security, values: ${priceValues.join(', ')}`);
|
|
196
187
|
expect(priceValues).toContain('101.5');
|
|
197
188
|
}), 120000);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"price.test.js","sourceRoot":"","sources":["price.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAiC;AACjC,iDAA8C;AAC9C,yEAAsE;AACtE,2EAA0E;AAC1E,kDAA+C;AAC/C,gEAAkD;AAClD,oDAAsC;AACtC,4GAA+F;AAC/F,sGAAmG;AAEnG,wEAAuE;
|
|
1
|
+
{"version":3,"file":"price.test.js","sourceRoot":"","sources":["price.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ import { PriceProto } from '../../../fintekkers/models/price/price_pb';
|
|
|
12
12
|
import { DecimalValueProto } from '../../../fintekkers/models/util/decimal_value_pb';
|
|
13
13
|
import { SecurityProto } from '../../../fintekkers/models/security/security_pb';
|
|
14
14
|
import { PriceTypeProto } from '../../../fintekkers/models/price/price_type_pb';
|
|
15
|
+
import { decodeDecimal, encodeDecimal, parseDecimalString, toCanonicalString } from '../../models/utils/decimal';
|
|
15
16
|
|
|
16
17
|
const PRICE_SERVICE_URL = 'localhost:8083';
|
|
17
18
|
|
|
@@ -29,8 +30,6 @@ async function getSecurityUuidWithPrices(): Promise<{ uuid: UUID; client: PriceC
|
|
|
29
30
|
|
|
30
31
|
// ListIds to get a price UUID
|
|
31
32
|
const listRequest = new QueryPriceRequestProto();
|
|
32
|
-
listRequest.setObjectClass('PriceRequest');
|
|
33
|
-
listRequest.setVersion('0.0.1');
|
|
34
33
|
|
|
35
34
|
const listIdsAsync = promisify(client.listIds.bind(client));
|
|
36
35
|
const listResponse = await listIdsAsync(listRequest) as QueryPriceResponseProto;
|
|
@@ -39,8 +38,6 @@ async function getSecurityUuidWithPrices(): Promise<{ uuid: UUID; client: PriceC
|
|
|
39
38
|
|
|
40
39
|
// GetByIds for the first price to get its security UUID
|
|
41
40
|
const getRequest = new QueryPriceRequestProto();
|
|
42
|
-
getRequest.setObjectClass('PriceRequest');
|
|
43
|
-
getRequest.setVersion('0.0.1');
|
|
44
41
|
getRequest.setUuidsList([priceUuids[0].getUuid()!]);
|
|
45
42
|
|
|
46
43
|
const getByIdsAsync = promisify(client.getByIds.bind(client));
|
|
@@ -85,7 +82,7 @@ test('search by SECURITY_ID returns prices for a known security', async () => {
|
|
|
85
82
|
|
|
86
83
|
for (const price of prices) {
|
|
87
84
|
expect(price.getSecurity()).toBeTruthy();
|
|
88
|
-
expect(price.getPrice()
|
|
85
|
+
expect(toCanonicalString(decodeDecimal(price.getPrice()!))).toBeTruthy();
|
|
89
86
|
}
|
|
90
87
|
}, 120000);
|
|
91
88
|
|
|
@@ -107,7 +104,7 @@ test('search for CUSIP 91282CPZ8 (UUID 18e8c4e6-3da0-47c9-b26d-c5ea8b8dce95) ret
|
|
|
107
104
|
if (prices.length > 0) {
|
|
108
105
|
for (const price of prices) {
|
|
109
106
|
expect(price.getSecurity()).toBeTruthy();
|
|
110
|
-
const priceValue = price.getPrice()
|
|
107
|
+
const priceValue = toCanonicalString(decodeDecimal(price.getPrice()!));
|
|
111
108
|
expect(priceValue).toBeTruthy();
|
|
112
109
|
console.log(` Price: ${priceValue}`);
|
|
113
110
|
}
|
|
@@ -123,13 +120,10 @@ function buildPriceProto(securityUuid: UUID, priceValue: string): PriceProto {
|
|
|
123
120
|
const now = dt.ZonedDateTime.now();
|
|
124
121
|
|
|
125
122
|
const price = new PriceProto();
|
|
126
|
-
price.setObjectClass('Price');
|
|
127
|
-
price.setVersion('0.0.1');
|
|
128
123
|
price.setUuid(UUID.random().toUUIDProto());
|
|
129
124
|
price.setAsOf(now.toProto());
|
|
130
125
|
|
|
131
|
-
const decimalValue =
|
|
132
|
-
decimalValue.setArbitraryPrecisionValue(priceValue);
|
|
126
|
+
const decimalValue = encodeDecimal(parseDecimalString(priceValue));
|
|
133
127
|
price.setPrice(decimalValue);
|
|
134
128
|
|
|
135
129
|
// Set security as a link reference
|
|
@@ -154,8 +148,8 @@ test('createOrUpdate inserts a price via the gRPC API', async () => {
|
|
|
154
148
|
|
|
155
149
|
// The RPC must succeed and return a valid response
|
|
156
150
|
expect(response).toBeTruthy();
|
|
157
|
-
expect(response.
|
|
158
|
-
console.log(`createOrUpdate response
|
|
151
|
+
expect(response.getObjectType()).toBeTruthy();
|
|
152
|
+
console.log(`createOrUpdate response object_type: ${response.getObjectType()}`);
|
|
159
153
|
|
|
160
154
|
// Verify the price was persisted by searching for it
|
|
161
155
|
const now = dt.ZonedDateTime.now();
|
|
@@ -163,7 +157,7 @@ test('createOrUpdate inserts a price via the gRPC API', async () => {
|
|
|
163
157
|
.addEqualsFilter(FieldProto.SECURITY_ID, securityUuid);
|
|
164
158
|
|
|
165
159
|
const prices = await priceService.searchPrice(now.toProto(), filter);
|
|
166
|
-
const priceValues = prices.map(p => p.getPrice()
|
|
160
|
+
const priceValues = prices.map(p => toCanonicalString(decodeDecimal(p.getPrice()!)));
|
|
167
161
|
expect(priceValues).toContain('99.875');
|
|
168
162
|
}, 120000);
|
|
169
163
|
|
|
@@ -199,7 +193,7 @@ test('createOrUpdate price can be retrieved via search', async () => {
|
|
|
199
193
|
const prices = await priceService.searchPrice(now.toProto(), filter);
|
|
200
194
|
expect(prices.length).toBeGreaterThan(0);
|
|
201
195
|
|
|
202
|
-
const priceValues = prices.map(p => p.getPrice()
|
|
196
|
+
const priceValues = prices.map(p => toCanonicalString(decodeDecimal(p.getPrice()!)));
|
|
203
197
|
console.log(`Found ${prices.length} prices for security, values: ${priceValues.join(', ')}`);
|
|
204
198
|
expect(priceValues).toContain('101.5');
|
|
205
199
|
}, 120000);
|
|
@@ -43,9 +43,9 @@ const positionfilter_1 = require("../models/position/positionfilter");
|
|
|
43
43
|
const dt = __importStar(require("../models/utils/datetime"));
|
|
44
44
|
const security_pb_1 = require("../../fintekkers/models/security/security_pb");
|
|
45
45
|
const price_pb_1 = require("../../fintekkers/models/price/price_pb");
|
|
46
|
-
const decimal_value_pb_1 = require("../../fintekkers/models/util/decimal_value_pb");
|
|
47
46
|
const identifier_pb_1 = require("../../fintekkers/models/security/identifier/identifier_pb");
|
|
48
47
|
const query_security_response_pb_1 = require("../../fintekkers/requests/security/query_security_response_pb");
|
|
48
|
+
const decimal_1 = require("../models/utils/decimal");
|
|
49
49
|
/**
|
|
50
50
|
* End-to-end test: priceService.searchWithSecurities resolves all link
|
|
51
51
|
* securities embedded in the returned Prices via a single batched
|
|
@@ -53,8 +53,6 @@ const query_security_response_pb_1 = require("../../fintekkers/requests/security
|
|
|
53
53
|
*/
|
|
54
54
|
function fullSecurity(uuid, issuerName) {
|
|
55
55
|
const proto = new security_pb_1.SecurityProto();
|
|
56
|
-
proto.setObjectClass('Security');
|
|
57
|
-
proto.setVersion('0.0.1');
|
|
58
56
|
proto.setUuid(uuid.toUUIDProto());
|
|
59
57
|
proto.setIsLink(false);
|
|
60
58
|
proto.setIssuerName(issuerName);
|
|
@@ -68,12 +66,9 @@ function linkPriceProto(securityUuid, priceValue) {
|
|
|
68
66
|
linkSec.setUuid(securityUuid.toUUIDProto());
|
|
69
67
|
linkSec.setIsLink(true);
|
|
70
68
|
const priceProto = new price_pb_1.PriceProto();
|
|
71
|
-
priceProto.setObjectClass('Price');
|
|
72
|
-
priceProto.setVersion('0.0.1');
|
|
73
69
|
priceProto.setUuid(uuid_1.UUID.random().toUUIDProto());
|
|
74
70
|
priceProto.setSecurity(linkSec);
|
|
75
|
-
const dv =
|
|
76
|
-
dv.setArbitraryPrecisionValue(priceValue);
|
|
71
|
+
const dv = (0, decimal_1.encodeDecimal)((0, decimal_1.parseDecimalString)(priceValue));
|
|
77
72
|
priceProto.setPrice(dv);
|
|
78
73
|
return priceProto;
|
|
79
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchWithSecurities.test.js","sourceRoot":"","sources":["searchWithSecurities.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAA4D;AAC5D,0EAAiD;AACjD,kEAA0C;AAC1C,+CAA4C;AAC5C,sEAAmE;AACnE,6DAA+C;AAE/C,8EAA6E;AAC7E,qEAAoE;
|
|
1
|
+
{"version":3,"file":"searchWithSecurities.test.js","sourceRoot":"","sources":["searchWithSecurities.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ import { DecimalValueProto } from '../../fintekkers/models/util/decimal_value_pb
|
|
|
11
11
|
import { IdentifierProto } from '../../fintekkers/models/security/identifier/identifier_pb';
|
|
12
12
|
import { QuerySecurityResponseProto } from '../../fintekkers/requests/security/query_security_response_pb';
|
|
13
13
|
import { QuerySecurityRequestProto } from '../../fintekkers/requests/security/query_security_request_pb';
|
|
14
|
+
import { encodeDecimal, parseDecimalString } from '../models/utils/decimal';
|
|
14
15
|
|
|
15
16
|
/**
|
|
16
17
|
* End-to-end test: priceService.searchWithSecurities resolves all link
|
|
@@ -20,8 +21,6 @@ import { QuerySecurityRequestProto } from '../../fintekkers/requests/security/qu
|
|
|
20
21
|
|
|
21
22
|
function fullSecurity(uuid: UUID, issuerName: string): SecurityProto {
|
|
22
23
|
const proto = new SecurityProto();
|
|
23
|
-
proto.setObjectClass('Security');
|
|
24
|
-
proto.setVersion('0.0.1');
|
|
25
24
|
proto.setUuid(uuid.toUUIDProto());
|
|
26
25
|
proto.setIsLink(false);
|
|
27
26
|
proto.setIssuerName(issuerName);
|
|
@@ -37,12 +36,9 @@ function linkPriceProto(securityUuid: UUID, priceValue: string): PriceProto {
|
|
|
37
36
|
linkSec.setIsLink(true);
|
|
38
37
|
|
|
39
38
|
const priceProto = new PriceProto();
|
|
40
|
-
priceProto.setObjectClass('Price');
|
|
41
|
-
priceProto.setVersion('0.0.1');
|
|
42
39
|
priceProto.setUuid(UUID.random().toUUIDProto());
|
|
43
40
|
priceProto.setSecurity(linkSec);
|
|
44
|
-
const dv =
|
|
45
|
-
dv.setArbitraryPrecisionValue(priceValue);
|
|
41
|
+
const dv = encodeDecimal(parseDecimalString(priceValue));
|
|
46
42
|
priceProto.setPrice(dv);
|
|
47
43
|
return priceProto;
|
|
48
44
|
}
|
|
@@ -73,7 +73,7 @@ class SecurityService {
|
|
|
73
73
|
// ModelValidationError before the gRPC round-trip.
|
|
74
74
|
(0, security_rules_1.requireValid)(security);
|
|
75
75
|
const createRequest = new create_security_request_pb_1.CreateSecurityRequestProto();
|
|
76
|
-
(0, object_types_1.stamp)(createRequest, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_SECURITY_REQUEST
|
|
76
|
+
(0, object_types_1.stamp)(createRequest, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_SECURITY_REQUEST);
|
|
77
77
|
createRequest.setSecurityInput(security);
|
|
78
78
|
const validateCreateOrUpdateAsync = (0, util_1.promisify)(this.client.validateCreateOrUpdate.bind(this.client));
|
|
79
79
|
const response = yield validateCreateOrUpdateAsync(createRequest);
|
|
@@ -86,7 +86,7 @@ class SecurityService {
|
|
|
86
86
|
(0, identifier_1.validateIdentifiersForCreate)(security);
|
|
87
87
|
(0, security_rules_1.requireValid)(security);
|
|
88
88
|
const createRequest = new create_security_request_pb_1.CreateSecurityRequestProto();
|
|
89
|
-
(0, object_types_1.stamp)(createRequest, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_SECURITY_REQUEST
|
|
89
|
+
(0, object_types_1.stamp)(createRequest, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_SECURITY_REQUEST);
|
|
90
90
|
createRequest.setSecurityInput(security);
|
|
91
91
|
const createSecurityAsync = (0, util_1.promisify)(this.client.createOrUpdate.bind(this.client));
|
|
92
92
|
const response = yield createSecurityAsync(createRequest);
|
|
@@ -114,7 +114,7 @@ class SecurityService {
|
|
|
114
114
|
searchSecurity(asOf, positionFilter) {
|
|
115
115
|
return __awaiter(this, void 0, void 0, function* () {
|
|
116
116
|
const searchRequest = new query_security_request_pb_1.QuerySecurityRequestProto();
|
|
117
|
-
(0, object_types_1.stamp)(searchRequest, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_SECURITY_REQUEST
|
|
117
|
+
(0, object_types_1.stamp)(searchRequest, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_SECURITY_REQUEST);
|
|
118
118
|
searchRequest.setAsOf(asOf);
|
|
119
119
|
searchRequest.setSearchSecurityInput(positionFilter.toProto());
|
|
120
120
|
const tmpClient = this.client;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecurityService.js","sourceRoot":"","sources":["SecurityService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAiC;AAMjC,8EAAsD;AAItD,gEAAkD;AAClD,iEAAgF;AAChF,yEAAoE;AAEpE,sBAAsB;AACtB,qHAAwG;AACxG,+GAA4G;AAE5G,iHAA8G;AAG9G,uFAA0D;AAC1D,8DAAoD;AACpD,kDAA+C;AAC/C,0DAA4D;AAC5D,uEAAyD;AACzD,mFAAiF;AACjF,0DAAgD;AAEhD,MAAM,eAAe;IAGnB,YAAY,MAAe;QACzB,IAAI,MAAM,EAAE;YACV,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,wBAAS,CAAC,6BAA6B,CAAC,MAAM,EAAE,wBAAO,CAAC,QAAQ,CAAC,CAAC;YACxG,IAAI,CAAC,MAAM,GAAG,IAAI,yCAAc,CAAC,wBAAS,CAAC,MAAM,CAAC,wBAAO,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;SACrG;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,IAAI,yCAAc,CAAC,wBAAS,CAAC,MAAM,CAAC,wBAAO,CAAC,QAAQ,CAAC,EAAE,wBAAS,CAAC,cAAc,CAAC,wBAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;SAClH;IACH,CAAC;IAEK,sBAAsB,CAAC,QAAuB;;YAClD,qEAAqE;YACrE,qEAAqE;YACrE,uEAAuE;YACvE,mDAAmD;YACnD,IAAA,yCAA4B,EAAC,QAAQ,CAAC,CAAC;YACvC,+DAA+D;YAC/D,mDAAmD;YACnD,IAAA,6BAAY,EAAC,QAAQ,CAAC,CAAC;YAEvB,MAAM,aAAa,GAAG,IAAI,uDAA0B,EAAE,CAAC;YACvD,IAAA,oBAAK,EAAC,aAAa,EAAE,gCAAe,CAAC,mCAAmC,
|
|
1
|
+
{"version":3,"file":"SecurityService.js","sourceRoot":"","sources":["SecurityService.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,7 +50,7 @@ class SecurityService {
|
|
|
50
50
|
requireValid(security);
|
|
51
51
|
|
|
52
52
|
const createRequest = new CreateSecurityRequestProto();
|
|
53
|
-
stamp(createRequest, ObjectTypeProto.OBJECT_TYPE_CREATE_SECURITY_REQUEST
|
|
53
|
+
stamp(createRequest, ObjectTypeProto.OBJECT_TYPE_CREATE_SECURITY_REQUEST);
|
|
54
54
|
createRequest.setSecurityInput(security);
|
|
55
55
|
|
|
56
56
|
const validateCreateOrUpdateAsync = promisify(this.client.validateCreateOrUpdate.bind(this.client));
|
|
@@ -64,7 +64,7 @@ class SecurityService {
|
|
|
64
64
|
requireValid(security);
|
|
65
65
|
|
|
66
66
|
const createRequest = new CreateSecurityRequestProto();
|
|
67
|
-
stamp(createRequest, ObjectTypeProto.OBJECT_TYPE_CREATE_SECURITY_REQUEST
|
|
67
|
+
stamp(createRequest, ObjectTypeProto.OBJECT_TYPE_CREATE_SECURITY_REQUEST);
|
|
68
68
|
createRequest.setSecurityInput(security);
|
|
69
69
|
|
|
70
70
|
const createSecurityAsync = promisify(this.client.createOrUpdate.bind(this.client));
|
|
@@ -91,7 +91,7 @@ class SecurityService {
|
|
|
91
91
|
|
|
92
92
|
async searchSecurity(asOf: LocalTimestampProto, positionFilter: PositionFilter): Promise<Security[]> {
|
|
93
93
|
const searchRequest = new QuerySecurityRequestProto();
|
|
94
|
-
stamp(searchRequest, ObjectTypeProto.OBJECT_TYPE_QUERY_SECURITY_REQUEST
|
|
94
|
+
stamp(searchRequest, ObjectTypeProto.OBJECT_TYPE_QUERY_SECURITY_REQUEST);
|
|
95
95
|
searchRequest.setAsOf(asOf);
|
|
96
96
|
|
|
97
97
|
searchRequest.setSearchSecurityInput(positionFilter.toProto());
|
|
@@ -35,7 +35,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
35
35
|
// Models
|
|
36
36
|
const security_pb_1 = require("../../../fintekkers/models/security/security_pb");
|
|
37
37
|
const coupon_frequency_pb_1 = require("../../../fintekkers/models/security/coupon_frequency_pb");
|
|
38
|
-
const decimal_value_pb_1 = require("../../../fintekkers/models/util/decimal_value_pb");
|
|
39
38
|
const coupon_type_pb_1 = require("../../../fintekkers/models/security/coupon_type_pb");
|
|
40
39
|
const product_type_pb_1 = require("../../../fintekkers/models/security/product_type_pb");
|
|
41
40
|
const local_date_pb_1 = require("../../../fintekkers/models/util/local_date_pb");
|
|
@@ -47,6 +46,7 @@ const SecurityService_1 = require("./SecurityService");
|
|
|
47
46
|
const positionfilter_1 = require("../../models/position/positionfilter");
|
|
48
47
|
const issuance_pb_1 = require("../../../fintekkers/models/security/bond/issuance_pb");
|
|
49
48
|
const serialization_1 = require("../../models/utils/serialization");
|
|
49
|
+
const decimal_1 = require("../../models/utils/decimal");
|
|
50
50
|
test('test creating a security against the api.fintekkers.org security service', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
51
51
|
const isTrue = yield testSecurity();
|
|
52
52
|
expect(isTrue).toBe(true);
|
|
@@ -62,8 +62,6 @@ function testSecurity() {
|
|
|
62
62
|
return securities[0];
|
|
63
63
|
});
|
|
64
64
|
const security = new security_pb_1.SecurityProto();
|
|
65
|
-
security.setObjectClass('Security');
|
|
66
|
-
security.setVersion('0.0.1');
|
|
67
65
|
security.setUuid(id_proto);
|
|
68
66
|
security.setSettlementCurrency(usd_security.proto);
|
|
69
67
|
security.setAsOf(now.toProto());
|
|
@@ -72,11 +70,9 @@ function testSecurity() {
|
|
|
72
70
|
const bond = new security_pb_1.BondDetailsProto();
|
|
73
71
|
bond.setCouponFrequency(coupon_frequency_pb_1.CouponFrequencyProto.SEMIANNUALLY);
|
|
74
72
|
bond.setCouponType(coupon_type_pb_1.CouponTypeProto.FIXED);
|
|
75
|
-
const faceValue =
|
|
76
|
-
faceValue.setArbitraryPrecisionValue('1000.00');
|
|
73
|
+
const faceValue = (0, decimal_1.encodeDecimal)((0, decimal_1.parseDecimalString)('1000.00'));
|
|
77
74
|
bond.setFaceValue(faceValue);
|
|
78
|
-
const couponRate =
|
|
79
|
-
couponRate.setArbitraryPrecisionValue('0.05');
|
|
75
|
+
const couponRate = (0, decimal_1.encodeDecimal)((0, decimal_1.parseDecimalString)('0.05'));
|
|
80
76
|
bond.setCouponRate(couponRate); // Fixed a typo here. It was security.setFaceValue(couponRate);
|
|
81
77
|
const issueDate = new local_date_pb_1.LocalDateProto();
|
|
82
78
|
issueDate.setYear(2023);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.test.js","sourceRoot":"","sources":["security.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS;AACT,iFAAkG;AAClG,iGAA+F;
|
|
1
|
+
{"version":3,"file":"security.test.js","sourceRoot":"","sources":["security.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ import { SecurityService } from './SecurityService';
|
|
|
17
17
|
import { PositionFilter } from '../../models/position/positionfilter';
|
|
18
18
|
import { IssuanceProto } from '../../../fintekkers/models/security/bond/issuance_pb';
|
|
19
19
|
import { ProtoSerializationUtil } from '../../models/utils/serialization';
|
|
20
|
+
import { encodeDecimal, parseDecimalString } from '../../models/utils/decimal';
|
|
20
21
|
|
|
21
22
|
test('test creating a security against the api.fintekkers.org security service', async () => {
|
|
22
23
|
const isTrue = await testSecurity();
|
|
@@ -36,8 +37,6 @@ async function testSecurity(): Promise<boolean> {
|
|
|
36
37
|
});
|
|
37
38
|
|
|
38
39
|
const security = new SecurityProto();
|
|
39
|
-
security.setObjectClass('Security');
|
|
40
|
-
security.setVersion('0.0.1');
|
|
41
40
|
security.setUuid(id_proto);
|
|
42
41
|
security.setSettlementCurrency(usd_security.proto);
|
|
43
42
|
security.setAsOf(now.toProto());
|
|
@@ -48,12 +47,10 @@ async function testSecurity(): Promise<boolean> {
|
|
|
48
47
|
bond.setCouponFrequency(CouponFrequencyProto.SEMIANNUALLY);
|
|
49
48
|
bond.setCouponType(CouponTypeProto.FIXED);
|
|
50
49
|
|
|
51
|
-
const faceValue =
|
|
52
|
-
faceValue.setArbitraryPrecisionValue('1000.00');
|
|
50
|
+
const faceValue = encodeDecimal(parseDecimalString('1000.00'));
|
|
53
51
|
bond.setFaceValue(faceValue);
|
|
54
52
|
|
|
55
|
-
const couponRate =
|
|
56
|
-
couponRate.setArbitraryPrecisionValue('0.05');
|
|
53
|
+
const couponRate = encodeDecimal(parseDecimalString('0.05'));
|
|
57
54
|
bond.setCouponRate(couponRate); // Fixed a typo here. It was security.setFaceValue(couponRate);
|
|
58
55
|
|
|
59
56
|
const issueDate = new LocalDateProto();
|
|
@@ -65,7 +65,7 @@ class TransactionService {
|
|
|
65
65
|
validateCreateTransaction(transaction) {
|
|
66
66
|
return __awaiter(this, void 0, void 0, function* () {
|
|
67
67
|
const createRequest = new create_transaction_request_pb_1.CreateTransactionRequestProto();
|
|
68
|
-
(0, object_types_1.stamp)(createRequest, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_TRANSACTION_REQUEST
|
|
68
|
+
(0, object_types_1.stamp)(createRequest, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_TRANSACTION_REQUEST);
|
|
69
69
|
createRequest.setCreateTransactionInput(transaction.proto);
|
|
70
70
|
const validateCreateOrUpdateAsync = (0, util_1.promisify)(this.client.validateCreateOrUpdate.bind(this.client));
|
|
71
71
|
const response = yield validateCreateOrUpdateAsync(createRequest);
|
|
@@ -75,7 +75,7 @@ class TransactionService {
|
|
|
75
75
|
createTransaction(transaction) {
|
|
76
76
|
return __awaiter(this, void 0, void 0, function* () {
|
|
77
77
|
const createRequest = new create_transaction_request_pb_1.CreateTransactionRequestProto();
|
|
78
|
-
(0, object_types_1.stamp)(createRequest, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_TRANSACTION_REQUEST
|
|
78
|
+
(0, object_types_1.stamp)(createRequest, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_TRANSACTION_REQUEST);
|
|
79
79
|
createRequest.setCreateTransactionInput(transaction.proto);
|
|
80
80
|
const createTransactionAsync = (0, util_1.promisify)(this.client.createOrUpdate.bind(this.client));
|
|
81
81
|
const response = yield createTransactionAsync(createRequest);
|
|
@@ -94,7 +94,7 @@ class TransactionService {
|
|
|
94
94
|
}
|
|
95
95
|
searchTransaction(asOf, positionFilter, maxResults = 100) {
|
|
96
96
|
const searchRequest = new query_transaction_request_pb_1.QueryTransactionRequestProto();
|
|
97
|
-
(0, object_types_1.stamp)(searchRequest, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_TRANSACTION_REQUEST
|
|
97
|
+
(0, object_types_1.stamp)(searchRequest, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_TRANSACTION_REQUEST);
|
|
98
98
|
searchRequest.setAsOf(asOf);
|
|
99
99
|
searchRequest.setSearchTransactionInput(positionFilter.toProto());
|
|
100
100
|
searchRequest.setLimit(maxResults);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransactionService.js","sourceRoot":"","sources":["TransactionService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAiC;AAEjC,SAAS;AACT,uFAA+D;AAK/D,cAAc;AAEd,sBAAsB;AACtB,8HAAiH;AACjH,0HAAuH;AAEvH,wHAAqH;AAErH,uFAA0D;AAC1D,8DAAoD;AACpD,6EAAoD;AACpD,uEAAyD;AACzD,kDAA+C;AAC/C,0DAA4D;AAC5D,mFAAiF;AACjF,0DAAgD;AAGhD,MAAM,kBAAkB;IAGtB,YAAY,MAAe;QACzB,IAAI,MAAM,EAAE;YACV,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,wBAAS,CAAC,6BAA6B,CAAC,MAAM,EAAE,wBAAO,CAAC,WAAW,CAAC,CAAC;YAC3G,IAAI,CAAC,MAAM,GAAG,IAAI,+CAAiB,CAAC,wBAAS,CAAC,MAAM,CAAC,wBAAO,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;SAC3G;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,IAAI,+CAAiB,CAAC,wBAAS,CAAC,MAAM,CAAC,wBAAO,CAAC,WAAW,CAAC,EAAE,wBAAS,CAAC,cAAc,CAAC,wBAAO,CAAC,WAAW,CAAC,CAAC,CAAC;SAC3H;IACH,CAAC;IAEK,yBAAyB,CAAC,WAAwB;;YACtD,MAAM,aAAa,GAAG,IAAI,6DAA6B,EAAE,CAAC;YAC1D,IAAA,oBAAK,EAAC,aAAa,EAAE,gCAAe,CAAC,sCAAsC,
|
|
1
|
+
{"version":3,"file":"TransactionService.js","sourceRoot":"","sources":["TransactionService.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,7 +38,7 @@ class TransactionService {
|
|
|
38
38
|
|
|
39
39
|
async validateCreateTransaction(transaction: Transaction): Promise<SummaryProto> {
|
|
40
40
|
const createRequest = new CreateTransactionRequestProto();
|
|
41
|
-
stamp(createRequest, ObjectTypeProto.OBJECT_TYPE_CREATE_TRANSACTION_REQUEST
|
|
41
|
+
stamp(createRequest, ObjectTypeProto.OBJECT_TYPE_CREATE_TRANSACTION_REQUEST);
|
|
42
42
|
createRequest.setCreateTransactionInput(transaction.proto);
|
|
43
43
|
|
|
44
44
|
const validateCreateOrUpdateAsync = promisify(this.client.validateCreateOrUpdate.bind(this.client));
|
|
@@ -48,7 +48,7 @@ class TransactionService {
|
|
|
48
48
|
|
|
49
49
|
async createTransaction(transaction: Transaction): Promise<CreateTransactionResponseProto> {
|
|
50
50
|
const createRequest = new CreateTransactionRequestProto();
|
|
51
|
-
stamp(createRequest, ObjectTypeProto.OBJECT_TYPE_CREATE_TRANSACTION_REQUEST
|
|
51
|
+
stamp(createRequest, ObjectTypeProto.OBJECT_TYPE_CREATE_TRANSACTION_REQUEST);
|
|
52
52
|
createRequest.setCreateTransactionInput(transaction.proto);
|
|
53
53
|
|
|
54
54
|
const createTransactionAsync = promisify(this.client.createOrUpdate.bind(this.client));
|
|
@@ -69,7 +69,7 @@ class TransactionService {
|
|
|
69
69
|
searchTransaction(asOf: LocalTimestampProto, positionFilter: PositionFilter, maxResults: number = 100):
|
|
70
70
|
Promise<Transaction[]> {
|
|
71
71
|
const searchRequest = new QueryTransactionRequestProto();
|
|
72
|
-
stamp(searchRequest, ObjectTypeProto.OBJECT_TYPE_QUERY_TRANSACTION_REQUEST
|
|
72
|
+
stamp(searchRequest, ObjectTypeProto.OBJECT_TYPE_QUERY_TRANSACTION_REQUEST);
|
|
73
73
|
searchRequest.setAsOf(asOf);
|
|
74
74
|
|
|
75
75
|
searchRequest.setSearchTransactionInput(positionFilter.toProto());
|