@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.
Files changed (254) hide show
  1. package/node/fintekkers/models/portfolio/portfolio_pb.d.ts +7 -15
  2. package/node/fintekkers/models/portfolio/portfolio_pb.js +35 -132
  3. package/node/fintekkers/models/position/position_filter_pb.d.ts +7 -15
  4. package/node/fintekkers/models/position/position_filter_pb.js +35 -132
  5. package/node/fintekkers/models/position/position_pb.d.ts +7 -15
  6. package/node/fintekkers/models/position/position_pb.js +35 -132
  7. package/node/fintekkers/models/price/price_pb.d.ts +7 -15
  8. package/node/fintekkers/models/price/price_pb.js +35 -132
  9. package/node/fintekkers/models/security/bond/issuance_pb.d.ts +7 -15
  10. package/node/fintekkers/models/security/bond/issuance_pb.js +35 -132
  11. package/node/fintekkers/models/security/identifier/identifier_pb.d.ts +7 -15
  12. package/node/fintekkers/models/security/identifier/identifier_pb.js +35 -132
  13. package/node/fintekkers/models/security/index_composition_pb.d.ts +7 -15
  14. package/node/fintekkers/models/security/index_composition_pb.js +35 -132
  15. package/node/fintekkers/models/security/security_pb.d.ts +7 -15
  16. package/node/fintekkers/models/security/security_pb.js +35 -132
  17. package/node/fintekkers/models/security/security_pb.test.js +4 -8
  18. package/node/fintekkers/models/security/security_pb.test.js.map +1 -1
  19. package/node/fintekkers/models/security/security_pb.test.ts +4 -5
  20. package/node/fintekkers/models/security/tenor_pb.d.ts +7 -15
  21. package/node/fintekkers/models/security/tenor_pb.js +35 -132
  22. package/node/fintekkers/models/strategy/strategy_allocation_pb.d.ts +7 -15
  23. package/node/fintekkers/models/strategy/strategy_allocation_pb.js +35 -132
  24. package/node/fintekkers/models/strategy/strategy_pb.d.ts +7 -15
  25. package/node/fintekkers/models/strategy/strategy_pb.js +35 -132
  26. package/node/fintekkers/models/transaction/transaction_pb.d.ts +7 -15
  27. package/node/fintekkers/models/transaction/transaction_pb.js +35 -132
  28. package/node/fintekkers/models/util/api/api_key_pb.d.ts +7 -15
  29. package/node/fintekkers/models/util/api/api_key_pb.js +35 -132
  30. package/node/fintekkers/models/util/date_range_pb.d.ts +7 -15
  31. package/node/fintekkers/models/util/date_range_pb.js +35 -132
  32. package/node/fintekkers/models/util/decimal_value_pb.d.ts +0 -5
  33. package/node/fintekkers/models/util/decimal_value_pb.js +0 -30
  34. package/node/fintekkers/models/util/lock/node_partition_pb.d.ts +7 -15
  35. package/node/fintekkers/models/util/lock/node_partition_pb.js +35 -132
  36. package/node/fintekkers/models/util/lock/node_state_pb.d.ts +7 -15
  37. package/node/fintekkers/models/util/lock/node_state_pb.js +35 -132
  38. package/node/fintekkers/models/util/object_type_pb.d.ts +0 -3
  39. package/node/fintekkers/models/util/object_type_pb.js +0 -28
  40. package/node/fintekkers/models/util/version_grpc_pb.js +1 -0
  41. package/node/fintekkers/models/util/version_pb.d.ts +33 -0
  42. package/node/fintekkers/models/util/version_pb.js +236 -0
  43. package/node/fintekkers/requests/index_composition/create_index_composition_request_pb.d.ts +13 -30
  44. package/node/fintekkers/requests/index_composition/create_index_composition_request_pb.js +68 -264
  45. package/node/fintekkers/requests/index_composition/get_index_composition_request_pb.d.ts +13 -30
  46. package/node/fintekkers/requests/index_composition/get_index_composition_request_pb.js +68 -264
  47. package/node/fintekkers/requests/portfolio/create_portfolio_request_pb.d.ts +7 -15
  48. package/node/fintekkers/requests/portfolio/create_portfolio_request_pb.js +35 -132
  49. package/node/fintekkers/requests/portfolio/create_portfolio_response_pb.d.ts +7 -15
  50. package/node/fintekkers/requests/portfolio/create_portfolio_response_pb.js +35 -132
  51. package/node/fintekkers/requests/portfolio/query_portfolio_request_pb.d.ts +7 -15
  52. package/node/fintekkers/requests/portfolio/query_portfolio_request_pb.js +35 -132
  53. package/node/fintekkers/requests/portfolio/query_portfolio_response_pb.d.ts +7 -15
  54. package/node/fintekkers/requests/portfolio/query_portfolio_response_pb.js +35 -132
  55. package/node/fintekkers/requests/position/query_position_request_pb.d.ts +7 -15
  56. package/node/fintekkers/requests/position/query_position_request_pb.js +35 -132
  57. package/node/fintekkers/requests/position/query_position_response_pb.d.ts +7 -15
  58. package/node/fintekkers/requests/position/query_position_response_pb.js +35 -132
  59. package/node/fintekkers/requests/price/create_price_request_pb.d.ts +7 -15
  60. package/node/fintekkers/requests/price/create_price_request_pb.js +35 -132
  61. package/node/fintekkers/requests/price/create_price_response_pb.d.ts +7 -15
  62. package/node/fintekkers/requests/price/create_price_response_pb.js +35 -132
  63. package/node/fintekkers/requests/price/query_price_request_pb.d.ts +7 -15
  64. package/node/fintekkers/requests/price/query_price_request_pb.js +35 -132
  65. package/node/fintekkers/requests/price/query_price_response_pb.d.ts +7 -15
  66. package/node/fintekkers/requests/price/query_price_response_pb.js +35 -132
  67. package/node/fintekkers/requests/security/create_security_request_pb.d.ts +7 -15
  68. package/node/fintekkers/requests/security/create_security_request_pb.js +35 -132
  69. package/node/fintekkers/requests/security/create_security_response_pb.d.ts +7 -15
  70. package/node/fintekkers/requests/security/create_security_response_pb.js +35 -132
  71. package/node/fintekkers/requests/security/get_field_values_request_pb.d.ts +7 -15
  72. package/node/fintekkers/requests/security/get_field_values_request_pb.js +35 -132
  73. package/node/fintekkers/requests/security/get_field_values_response_pb.d.ts +7 -15
  74. package/node/fintekkers/requests/security/get_field_values_response_pb.js +35 -132
  75. package/node/fintekkers/requests/security/get_fields_response_pb.d.ts +7 -15
  76. package/node/fintekkers/requests/security/get_fields_response_pb.js +35 -132
  77. package/node/fintekkers/requests/security/query_security_request_pb.d.ts +7 -15
  78. package/node/fintekkers/requests/security/query_security_request_pb.js +35 -132
  79. package/node/fintekkers/requests/security/query_security_response_pb.d.ts +7 -15
  80. package/node/fintekkers/requests/security/query_security_response_pb.js +35 -132
  81. package/node/fintekkers/requests/transaction/create_transaction_request_pb.d.ts +7 -15
  82. package/node/fintekkers/requests/transaction/create_transaction_request_pb.js +35 -132
  83. package/node/fintekkers/requests/transaction/create_transaction_response_pb.d.ts +7 -15
  84. package/node/fintekkers/requests/transaction/create_transaction_response_pb.js +35 -132
  85. package/node/fintekkers/requests/transaction/query_transaction_request_pb.d.ts +7 -15
  86. package/node/fintekkers/requests/transaction/query_transaction_request_pb.js +35 -132
  87. package/node/fintekkers/requests/transaction/query_transaction_response_pb.d.ts +7 -15
  88. package/node/fintekkers/requests/transaction/query_transaction_response_pb.js +35 -132
  89. package/node/fintekkers/requests/util/delete_request_pb.d.ts +13 -30
  90. package/node/fintekkers/requests/util/delete_request_pb.js +68 -264
  91. package/node/fintekkers/requests/util/lock/lock_request_pb.d.ts +7 -15
  92. package/node/fintekkers/requests/util/lock/lock_request_pb.js +35 -132
  93. package/node/fintekkers/requests/util/lock/lock_response_pb.d.ts +7 -15
  94. package/node/fintekkers/requests/util/lock/lock_response_pb.js +35 -132
  95. package/node/fintekkers/requests/valuation/curve_request_pb.d.ts +7 -15
  96. package/node/fintekkers/requests/valuation/curve_request_pb.js +35 -132
  97. package/node/fintekkers/requests/valuation/curve_response_pb.d.ts +19 -15
  98. package/node/fintekkers/requests/valuation/curve_response_pb.js +138 -133
  99. package/node/fintekkers/requests/valuation/product_inputs.test.js +10 -17
  100. package/node/fintekkers/requests/valuation/product_inputs.test.js.map +1 -1
  101. package/node/fintekkers/requests/valuation/product_inputs.test.ts +10 -16
  102. package/node/fintekkers/requests/valuation/valuation_request_pb.d.ts +7 -15
  103. package/node/fintekkers/requests/valuation/valuation_request_pb.js +35 -132
  104. package/node/fintekkers/requests/valuation/valuation_response_pb.d.ts +7 -15
  105. package/node/fintekkers/requests/valuation/valuation_response_pb.js +35 -132
  106. package/node/wrappers/models/portfolio/portfolio.test.js +0 -2
  107. package/node/wrappers/models/portfolio/portfolio.test.js.map +1 -1
  108. package/node/wrappers/models/portfolio/portfolio.test.ts +0 -2
  109. package/node/wrappers/models/portfolio-price-transaction.lazy-hydrate.test.js +2 -3
  110. package/node/wrappers/models/portfolio-price-transaction.lazy-hydrate.test.js.map +1 -1
  111. package/node/wrappers/models/portfolio-price-transaction.lazy-hydrate.test.ts +2 -2
  112. package/node/wrappers/models/position/position.test.js +5 -6
  113. package/node/wrappers/models/position/position.test.js.map +1 -1
  114. package/node/wrappers/models/position/position.test.ts +5 -4
  115. package/node/wrappers/models/position/positionfilter.js +1 -1
  116. package/node/wrappers/models/position/positionfilter.js.map +1 -1
  117. package/node/wrappers/models/position/positionfilter.test.js +4 -2
  118. package/node/wrappers/models/position/positionfilter.test.js.map +1 -1
  119. package/node/wrappers/models/position/positionfilter.test.ts +3 -2
  120. package/node/wrappers/models/position/positionfilter.ts +1 -1
  121. package/node/wrappers/models/price/Price.cash.test.js +4 -5
  122. package/node/wrappers/models/price/Price.cash.test.js.map +1 -1
  123. package/node/wrappers/models/price/Price.cash.test.ts +2 -3
  124. package/node/wrappers/models/price/Price.js +2 -2
  125. package/node/wrappers/models/price/Price.js.map +1 -1
  126. package/node/wrappers/models/price/Price.test.js +4 -2
  127. package/node/wrappers/models/price/Price.test.js.map +1 -1
  128. package/node/wrappers/models/price/Price.test.ts +4 -2
  129. package/node/wrappers/models/price/Price.ts +2 -2
  130. package/node/wrappers/models/price/price_rules.test.js +9 -4
  131. package/node/wrappers/models/price/price_rules.test.js.map +1 -1
  132. package/node/wrappers/models/price/price_rules.test.ts +9 -4
  133. package/node/wrappers/models/security/BondSecurity.priceScale.test.js +2 -4
  134. package/node/wrappers/models/security/BondSecurity.priceScale.test.js.map +1 -1
  135. package/node/wrappers/models/security/BondSecurity.priceScale.test.ts +2 -3
  136. package/node/wrappers/models/security/BondSecurity.test.js +7 -13
  137. package/node/wrappers/models/security/BondSecurity.test.js.map +1 -1
  138. package/node/wrappers/models/security/BondSecurity.test.ts +7 -12
  139. package/node/wrappers/models/security/IndexSecurity.test.js +0 -8
  140. package/node/wrappers/models/security/IndexSecurity.test.js.map +1 -1
  141. package/node/wrappers/models/security/IndexSecurity.test.ts +0 -8
  142. package/node/wrappers/models/security/Issuance.test.js +6 -6
  143. package/node/wrappers/models/security/Issuance.test.js.map +1 -1
  144. package/node/wrappers/models/security/Issuance.test.ts +6 -5
  145. package/node/wrappers/models/security/MortgageBackedSecurity.fromPricerInputs.test.js +13 -14
  146. package/node/wrappers/models/security/MortgageBackedSecurity.fromPricerInputs.test.js.map +1 -1
  147. package/node/wrappers/models/security/MortgageBackedSecurity.fromPricerInputs.test.ts +13 -12
  148. package/node/wrappers/models/security/security-roundtrip.test.js +9 -21
  149. package/node/wrappers/models/security/security-roundtrip.test.js.map +1 -1
  150. package/node/wrappers/models/security/security-roundtrip.test.ts +9 -20
  151. package/node/wrappers/models/security/security.identifiers.test.js +0 -2
  152. package/node/wrappers/models/security/security.identifiers.test.js.map +1 -1
  153. package/node/wrappers/models/security/security.identifiers.test.ts +0 -2
  154. package/node/wrappers/models/security/security.tbillCoupon.test.js +3 -2
  155. package/node/wrappers/models/security/security.tbillCoupon.test.js.map +1 -1
  156. package/node/wrappers/models/security/security.tbillCoupon.test.ts +3 -2
  157. package/node/wrappers/models/security/security.test.js +14 -14
  158. package/node/wrappers/models/security/security.test.js.map +1 -1
  159. package/node/wrappers/models/security/security.test.ts +14 -13
  160. package/node/wrappers/models/transaction/transaction.derived.test.js +3 -9
  161. package/node/wrappers/models/transaction/transaction.derived.test.js.map +1 -1
  162. package/node/wrappers/models/transaction/transaction.derived.test.ts +3 -8
  163. package/node/wrappers/models/transaction/transaction.js +2 -2
  164. package/node/wrappers/models/transaction/transaction.js.map +1 -1
  165. package/node/wrappers/models/transaction/transaction.test.js +3 -3
  166. package/node/wrappers/models/transaction/transaction.test.js.map +1 -1
  167. package/node/wrappers/models/transaction/transaction.test.ts +3 -2
  168. package/node/wrappers/models/transaction/transaction.ts +2 -2
  169. package/node/wrappers/models/transaction/transaction_constructor.test.js +6 -9
  170. package/node/wrappers/models/transaction/transaction_constructor.test.js.map +1 -1
  171. package/node/wrappers/models/transaction/transaction_constructor.test.ts +6 -7
  172. package/node/wrappers/models/transaction/transaction_price_defaults.test.js +2 -10
  173. package/node/wrappers/models/transaction/transaction_price_defaults.test.js.map +1 -1
  174. package/node/wrappers/models/transaction/transaction_price_defaults.test.ts +2 -9
  175. package/node/wrappers/models/transaction/transaction_security_defaults.test.js +0 -6
  176. package/node/wrappers/models/transaction/transaction_security_defaults.test.js.map +1 -1
  177. package/node/wrappers/models/transaction/transaction_security_defaults.test.ts +0 -6
  178. package/node/wrappers/models/utils/date.test.js +0 -2
  179. package/node/wrappers/models/utils/date.test.js.map +1 -1
  180. package/node/wrappers/models/utils/date.test.ts +0 -2
  181. package/node/wrappers/models/utils/datetime.test.js +0 -2
  182. package/node/wrappers/models/utils/datetime.test.js.map +1 -1
  183. package/node/wrappers/models/utils/datetime.test.ts +0 -2
  184. package/node/wrappers/models/utils/decimal.d.ts +9 -28
  185. package/node/wrappers/models/utils/decimal.js +13 -52
  186. package/node/wrappers/models/utils/decimal.js.map +1 -1
  187. package/node/wrappers/models/utils/decimal.test.js +12 -68
  188. package/node/wrappers/models/utils/decimal.test.js.map +1 -1
  189. package/node/wrappers/models/utils/decimal.test.ts +14 -76
  190. package/node/wrappers/models/utils/decimal.ts +12 -60
  191. package/node/wrappers/models/utils/serialization.test.js +0 -4
  192. package/node/wrappers/models/utils/serialization.test.js.map +1 -1
  193. package/node/wrappers/models/utils/serialization.test.ts +0 -4
  194. package/node/wrappers/requests/position/QueryPositionRequest.js +1 -1
  195. package/node/wrappers/requests/position/QueryPositionRequest.js.map +1 -1
  196. package/node/wrappers/requests/position/QueryPositionRequest.ts +1 -1
  197. package/node/wrappers/requests/query-paging.test.js +4 -28
  198. package/node/wrappers/requests/query-paging.test.js.map +1 -1
  199. package/node/wrappers/requests/query-paging.test.ts +3 -36
  200. package/node/wrappers/services/portfolio-service/PortfolioService.js +3 -3
  201. package/node/wrappers/services/portfolio-service/PortfolioService.js.map +1 -1
  202. package/node/wrappers/services/portfolio-service/PortfolioService.ts +3 -3
  203. package/node/wrappers/services/portfolio-service/portfolioService.test.js +0 -2
  204. package/node/wrappers/services/portfolio-service/portfolioService.test.js.map +1 -1
  205. package/node/wrappers/services/portfolio-service/portfolioService.test.ts +0 -2
  206. package/node/wrappers/services/price-service/PriceService.js +3 -3
  207. package/node/wrappers/services/price-service/PriceService.js.map +1 -1
  208. package/node/wrappers/services/price-service/PriceService.ts +3 -3
  209. package/node/wrappers/services/price-service/price-wrapper.test.js +2 -6
  210. package/node/wrappers/services/price-service/price-wrapper.test.js.map +1 -1
  211. package/node/wrappers/services/price-service/price-wrapper.test.ts +2 -6
  212. package/node/wrappers/services/price-service/price.test.js +8 -17
  213. package/node/wrappers/services/price-service/price.test.js.map +1 -1
  214. package/node/wrappers/services/price-service/price.test.ts +8 -14
  215. package/node/wrappers/services/searchWithSecurities.test.js +2 -7
  216. package/node/wrappers/services/searchWithSecurities.test.js.map +1 -1
  217. package/node/wrappers/services/searchWithSecurities.test.ts +2 -6
  218. package/node/wrappers/services/security-service/SecurityService.js +3 -3
  219. package/node/wrappers/services/security-service/SecurityService.js.map +1 -1
  220. package/node/wrappers/services/security-service/SecurityService.ts +3 -3
  221. package/node/wrappers/services/security-service/security.test.js +3 -7
  222. package/node/wrappers/services/security-service/security.test.js.map +1 -1
  223. package/node/wrappers/services/security-service/security.test.ts +3 -6
  224. package/node/wrappers/services/transaction-service/TransactionService.js +3 -3
  225. package/node/wrappers/services/transaction-service/TransactionService.js.map +1 -1
  226. package/node/wrappers/services/transaction-service/TransactionService.ts +3 -3
  227. package/node/wrappers/services/transaction-service/transaction.test.js +3 -8
  228. package/node/wrappers/services/transaction-service/transaction.test.js.map +1 -1
  229. package/node/wrappers/services/transaction-service/transaction.test.ts +3 -6
  230. package/node/wrappers/util/link-resolver.js +3 -3
  231. package/node/wrappers/util/link-resolver.js.map +1 -1
  232. package/node/wrappers/util/link-resolver.test.js +4 -13
  233. package/node/wrappers/util/link-resolver.test.js.map +1 -1
  234. package/node/wrappers/util/link-resolver.test.ts +4 -12
  235. package/node/wrappers/util/link-resolver.ts +3 -3
  236. package/node/wrappers/util/object-types.d.ts +21 -47
  237. package/node/wrappers/util/object-types.js +19 -178
  238. package/node/wrappers/util/object-types.js.map +1 -1
  239. package/node/wrappers/util/object-types.test.js +50 -151
  240. package/node/wrappers/util/object-types.test.js.map +1 -1
  241. package/node/wrappers/util/object-types.test.ts +55 -170
  242. package/node/wrappers/util/object-types.ts +28 -182
  243. package/package.json +1 -1
  244. package/node/wrappers/models/position/position.test copy.js +0 -107
  245. package/node/wrappers/models/position/position.test copy.js.map +0 -1
  246. package/node/wrappers/models/utils/decimal.legacy.test.d.ts +0 -1
  247. package/node/wrappers/models/utils/decimal.legacy.test.js +0 -174
  248. package/node/wrappers/models/utils/decimal.legacy.test.js.map +0 -1
  249. package/node/wrappers/models/utils/decimal.legacy.test.ts +0 -158
  250. package/node/wrappers/models/utils/decimal.typings.test.d.ts +0 -1
  251. package/node/wrappers/models/utils/decimal.typings.test.js +0 -39
  252. package/node/wrappers/models/utils/decimal.typings.test.js.map +0 -1
  253. package/node/wrappers/models/utils/decimal.typings.test.ts +0 -16
  254. package/node/wrappers/util/object-type-legacy.json +0 -21
@@ -7,6 +7,7 @@ import { LocalDateProto } from '../../../fintekkers/models/util/local_date_pb';
7
7
  import { UUID } from '../utils/uuid';
8
8
  import { ZonedDateTime } from '../utils/datetime';
9
9
  import { Decimal } from 'decimal.js';
10
+ import { encodeDecimal, parseDecimalString } from '../utils/decimal';
10
11
 
11
12
  test('test BondSecurity getPriceScaleFactor', () => {
12
13
  testGetPriceScaleFactor();
@@ -23,13 +24,11 @@ function testGetPriceScaleFactor(): void {
23
24
 
24
25
  function createDummyBondSecurity(): BondSecurity {
25
26
  const securityProto = new SecurityProto();
26
- securityProto.setObjectClass('Security');
27
- securityProto.setVersion('0.0.1');
28
27
  securityProto.setUuid(UUID.random().toUUIDProto());
29
28
  securityProto.setProductType(ProductTypeProto.TREASURY_NOTE);
30
29
  securityProto.setAsOf(ZonedDateTime.now().toProto());
31
30
  const bond = new BondDetailsProto();
32
- bond.setFaceValue(new DecimalValueProto().setArbitraryPrecisionValue('1000.00'));
31
+ bond.setFaceValue(encodeDecimal(parseDecimalString('1000.00')));
33
32
  bond.setIssueDate(new LocalDateProto().setYear(2021).setMonth(1).setDay(1));
34
33
  bond.setMaturityDate(new LocalDateProto().setYear(2031).setMonth(1).setDay(1));
35
34
  securityProto.setBondDetails(bond);
@@ -11,9 +11,9 @@ const product_type_pb_1 = require("../../../fintekkers/models/security/product_t
11
11
  const coupon_type_pb_1 = require("../../../fintekkers/models/security/coupon_type_pb");
12
12
  const coupon_frequency_pb_1 = require("../../../fintekkers/models/security/coupon_frequency_pb");
13
13
  const local_date_pb_1 = require("../../../fintekkers/models/util/local_date_pb");
14
- const decimal_value_pb_1 = require("../../../fintekkers/models/util/decimal_value_pb");
15
14
  const uuid_1 = require("../utils/uuid");
16
15
  const tenor_type_pb_1 = require("../../../fintekkers/models/security/tenor_type_pb");
16
+ const decimal_1 = require("../utils/decimal");
17
17
  test('test Security.create returns BondSecurity with correct coupon type and frequency', () => {
18
18
  testBondSecurityCreation();
19
19
  });
@@ -26,8 +26,6 @@ test('test BondSecurity.getTenor() returns correct Tenor for 10-year bond with a
26
26
  function testBondSecurityCreation() {
27
27
  // Create a SecurityProto with BOND_SECURITY type, coupon type, and coupon frequency
28
28
  const securityProto = new security_pb_1.SecurityProto();
29
- securityProto.setObjectClass('Security');
30
- securityProto.setVersion('0.0.1');
31
29
  securityProto.setUuid(uuid_1.UUID.random().toUUIDProto());
32
30
  securityProto.setProductType(product_type_pb_1.ProductTypeProto.TREASURY_NOTE);
33
31
  securityProto.setAssetClass('FixedIncome');
@@ -35,8 +33,8 @@ function testBondSecurityCreation() {
35
33
  const bond = new security_pb_1.BondDetailsProto();
36
34
  bond.setCouponType(coupon_type_pb_1.CouponTypeProto.FIXED);
37
35
  bond.setCouponFrequency(coupon_frequency_pb_1.CouponFrequencyProto.SEMIANNUALLY);
38
- bond.setCouponRate(new decimal_value_pb_1.DecimalValueProto().setArbitraryPrecisionValue('0.05'));
39
- bond.setFaceValue(new decimal_value_pb_1.DecimalValueProto().setArbitraryPrecisionValue('1000.00'));
36
+ bond.setCouponRate((0, decimal_1.encodeDecimal)((0, decimal_1.parseDecimalString)('0.05')));
37
+ bond.setFaceValue((0, decimal_1.encodeDecimal)((0, decimal_1.parseDecimalString)('1000.00')));
40
38
  bond.setIssueDate(new local_date_pb_1.LocalDateProto().setYear(2021).setMonth(1).setDay(1));
41
39
  bond.setMaturityDate(new local_date_pb_1.LocalDateProto().setYear(2031).setMonth(1).setDay(1));
42
40
  securityProto.setBondDetails(bond);
@@ -56,8 +54,6 @@ function testBondSecurityCreation() {
56
54
  function testBondSecurityTenor() {
57
55
  // Create a SecurityProto with BOND_SECURITY type and dates for a 10-year bond
58
56
  const securityProto = new security_pb_1.SecurityProto();
59
- securityProto.setObjectClass('Security');
60
- securityProto.setVersion('0.0.1');
61
57
  securityProto.setUuid(uuid_1.UUID.random().toUUIDProto());
62
58
  securityProto.setProductType(product_type_pb_1.ProductTypeProto.TREASURY_NOTE);
63
59
  securityProto.setAssetClass('FixedIncome');
@@ -65,8 +61,8 @@ function testBondSecurityTenor() {
65
61
  const bond = new security_pb_1.BondDetailsProto();
66
62
  bond.setCouponType(coupon_type_pb_1.CouponTypeProto.FIXED);
67
63
  bond.setCouponFrequency(coupon_frequency_pb_1.CouponFrequencyProto.SEMIANNUALLY);
68
- bond.setCouponRate(new decimal_value_pb_1.DecimalValueProto().setArbitraryPrecisionValue('0.05'));
69
- bond.setFaceValue(new decimal_value_pb_1.DecimalValueProto().setArbitraryPrecisionValue('1000.00'));
64
+ bond.setCouponRate((0, decimal_1.encodeDecimal)((0, decimal_1.parseDecimalString)('0.05')));
65
+ bond.setFaceValue((0, decimal_1.encodeDecimal)((0, decimal_1.parseDecimalString)('1000.00')));
70
66
  // Set issue date: January 1, 2021
71
67
  bond.setIssueDate(new local_date_pb_1.LocalDateProto().setYear(2021).setMonth(1).setDay(1));
72
68
  // Set maturity date: January 1, 2031 (exactly 10 years later)
@@ -96,8 +92,6 @@ function testBondSecurityTenor() {
96
92
  assert(tenorString === 'TERM: 10Y', `Expected "TERM: 10Y", got "${tenorString}"`);
97
93
  // Test with a bond that has months and days
98
94
  const securityProto2 = new security_pb_1.SecurityProto();
99
- securityProto2.setObjectClass('Security');
100
- securityProto2.setVersion('0.0.1');
101
95
  securityProto2.setUuid(uuid_1.UUID.random().toUUIDProto());
102
96
  securityProto2.setProductType(product_type_pb_1.ProductTypeProto.TREASURY_NOTE);
103
97
  securityProto2.setAssetClass('FixedIncome');
@@ -105,8 +99,8 @@ function testBondSecurityTenor() {
105
99
  const bond2 = new security_pb_1.BondDetailsProto();
106
100
  bond2.setCouponType(coupon_type_pb_1.CouponTypeProto.FIXED);
107
101
  bond2.setCouponFrequency(coupon_frequency_pb_1.CouponFrequencyProto.SEMIANNUALLY);
108
- bond2.setCouponRate(new decimal_value_pb_1.DecimalValueProto().setArbitraryPrecisionValue('0.05'));
109
- bond2.setFaceValue(new decimal_value_pb_1.DecimalValueProto().setArbitraryPrecisionValue('1000.00'));
102
+ bond2.setCouponRate((0, decimal_1.encodeDecimal)((0, decimal_1.parseDecimalString)('0.05')));
103
+ bond2.setFaceValue((0, decimal_1.encodeDecimal)((0, decimal_1.parseDecimalString)('1000.00')));
110
104
  // Set issue date: January 15, 2021
111
105
  bond2.setIssueDate(new local_date_pb_1.LocalDateProto().setYear(2021).setMonth(1).setDay(15));
112
106
  // Set maturity date: July 20, 2023 (2 years, 6 months, 5 days)
@@ -1 +1 @@
1
- {"version":3,"file":"BondSecurity.test.js","sourceRoot":"","sources":["BondSecurity.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BondSecurity.test.js","sourceRoot":"","sources":["BondSecurity.test.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ import { DecimalValueProto } from '../../../fintekkers/models/util/decimal_value
10
10
  import { UUID } from '../utils/uuid';
11
11
  import { CouponType } from './coupon_type';
12
12
  import { TenorTypeProto } from '../../../fintekkers/models/security/tenor_type_pb';
13
+ import { encodeDecimal, parseDecimalString } from '../utils/decimal';
13
14
 
14
15
  test('test Security.create returns BondSecurity with correct coupon type and frequency', () => {
15
16
  testBondSecurityCreation();
@@ -26,8 +27,6 @@ test('test BondSecurity.getTenor() returns correct Tenor for 10-year bond with a
26
27
  function testBondSecurityCreation(): void {
27
28
  // Create a SecurityProto with BOND_SECURITY type, coupon type, and coupon frequency
28
29
  const securityProto = new SecurityProto();
29
- securityProto.setObjectClass('Security');
30
- securityProto.setVersion('0.0.1');
31
30
  securityProto.setUuid(UUID.random().toUUIDProto());
32
31
  securityProto.setProductType(ProductTypeProto.TREASURY_NOTE);
33
32
  securityProto.setAssetClass('FixedIncome');
@@ -35,8 +34,8 @@ function testBondSecurityCreation(): void {
35
34
  const bond = new BondDetailsProto();
36
35
  bond.setCouponType(CouponTypeProto.FIXED);
37
36
  bond.setCouponFrequency(CouponFrequencyProto.SEMIANNUALLY);
38
- bond.setCouponRate(new DecimalValueProto().setArbitraryPrecisionValue('0.05'));
39
- bond.setFaceValue(new DecimalValueProto().setArbitraryPrecisionValue('1000.00'));
37
+ bond.setCouponRate(encodeDecimal(parseDecimalString('0.05')));
38
+ bond.setFaceValue(encodeDecimal(parseDecimalString('1000.00')));
40
39
  bond.setIssueDate(new LocalDateProto().setYear(2021).setMonth(1).setDay(1));
41
40
  bond.setMaturityDate(new LocalDateProto().setYear(2031).setMonth(1).setDay(1));
42
41
  securityProto.setBondDetails(bond);
@@ -61,8 +60,6 @@ function testBondSecurityCreation(): void {
61
60
  function testBondSecurityTenor(): void {
62
61
  // Create a SecurityProto with BOND_SECURITY type and dates for a 10-year bond
63
62
  const securityProto = new SecurityProto();
64
- securityProto.setObjectClass('Security');
65
- securityProto.setVersion('0.0.1');
66
63
  securityProto.setUuid(UUID.random().toUUIDProto());
67
64
  securityProto.setProductType(ProductTypeProto.TREASURY_NOTE);
68
65
  securityProto.setAssetClass('FixedIncome');
@@ -70,8 +67,8 @@ function testBondSecurityTenor(): void {
70
67
  const bond = new BondDetailsProto();
71
68
  bond.setCouponType(CouponTypeProto.FIXED);
72
69
  bond.setCouponFrequency(CouponFrequencyProto.SEMIANNUALLY);
73
- bond.setCouponRate(new DecimalValueProto().setArbitraryPrecisionValue('0.05'));
74
- bond.setFaceValue(new DecimalValueProto().setArbitraryPrecisionValue('1000.00'));
70
+ bond.setCouponRate(encodeDecimal(parseDecimalString('0.05')));
71
+ bond.setFaceValue(encodeDecimal(parseDecimalString('1000.00')));
75
72
 
76
73
  // Set issue date: January 1, 2021
77
74
  bond.setIssueDate(new LocalDateProto().setYear(2021).setMonth(1).setDay(1));
@@ -108,8 +105,6 @@ function testBondSecurityTenor(): void {
108
105
 
109
106
  // Test with a bond that has months and days
110
107
  const securityProto2 = new SecurityProto();
111
- securityProto2.setObjectClass('Security');
112
- securityProto2.setVersion('0.0.1');
113
108
  securityProto2.setUuid(UUID.random().toUUIDProto());
114
109
  securityProto2.setProductType(ProductTypeProto.TREASURY_NOTE);
115
110
  securityProto2.setAssetClass('FixedIncome');
@@ -117,8 +112,8 @@ function testBondSecurityTenor(): void {
117
112
  const bond2 = new BondDetailsProto();
118
113
  bond2.setCouponType(CouponTypeProto.FIXED);
119
114
  bond2.setCouponFrequency(CouponFrequencyProto.SEMIANNUALLY);
120
- bond2.setCouponRate(new DecimalValueProto().setArbitraryPrecisionValue('0.05'));
121
- bond2.setFaceValue(new DecimalValueProto().setArbitraryPrecisionValue('1000.00'));
115
+ bond2.setCouponRate(encodeDecimal(parseDecimalString('0.05')));
116
+ bond2.setFaceValue(encodeDecimal(parseDecimalString('1000.00')));
122
117
 
123
118
  // Set issue date: January 15, 2021
124
119
  bond2.setIssueDate(new LocalDateProto().setYear(2021).setMonth(1).setDay(15));
@@ -11,8 +11,6 @@ const index_type_pb_1 = require("../../../fintekkers/models/security/index/index
11
11
  const uuid_1 = require("../utils/uuid");
12
12
  test('Security.create routes CPI_SERIES to IndexSecurity', () => {
13
13
  const proto = new security_pb_1.SecurityProto()
14
- .setObjectClass('Security')
15
- .setVersion('0.0.1')
16
14
  .setUuid(uuid_1.UUID.random().toUUIDProto())
17
15
  .setProductType(product_type_pb_1.ProductTypeProto.CPI_SERIES)
18
16
  .setAssetClass('Index');
@@ -23,8 +21,6 @@ test('Security.create routes CPI_SERIES to IndexSecurity', () => {
23
21
  });
24
22
  test('Security.create routes SOFR_SERIES to IndexSecurity', () => {
25
23
  const proto = new security_pb_1.SecurityProto()
26
- .setObjectClass('Security')
27
- .setVersion('0.0.1')
28
24
  .setUuid(uuid_1.UUID.random().toUUIDProto())
29
25
  .setProductType(product_type_pb_1.ProductTypeProto.SOFR_SERIES)
30
26
  .setAssetClass('Index');
@@ -37,8 +33,6 @@ test('IndexSecurity.getIndexType returns UNKNOWN when index_details is unset', (
37
33
  // Force-construct without populating index_details so we exercise the
38
34
  // null-safe branch in the getter.
39
35
  const proto = new security_pb_1.SecurityProto()
40
- .setObjectClass('Security')
41
- .setVersion('0.0.1')
42
36
  .setUuid(uuid_1.UUID.random().toUUIDProto())
43
37
  .setProductType(product_type_pb_1.ProductTypeProto.CPI_SERIES)
44
38
  .setAssetClass('Index');
@@ -47,8 +41,6 @@ test('IndexSecurity.getIndexType returns UNKNOWN when index_details is unset', (
47
41
  });
48
42
  test('IndexSecurity extends Security (not BondSecurity)', () => {
49
43
  const proto = new security_pb_1.SecurityProto()
50
- .setObjectClass('Security')
51
- .setVersion('0.0.1')
52
44
  .setUuid(uuid_1.UUID.random().toUUIDProto())
53
45
  .setProductType(product_type_pb_1.ProductTypeProto.EQUITY_INDEX);
54
46
  proto.setIndexDetails(new security_pb_1.IndexDetailsProto().setIndexType(index_type_pb_1.IndexTypeProto.US_TREASURY));
@@ -1 +1 @@
1
- {"version":3,"file":"IndexSecurity.test.js","sourceRoot":"","sources":["IndexSecurity.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IndexSecurity.test.js","sourceRoot":"","sources":["IndexSecurity.test.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,6 @@ import { UUID } from '../utils/uuid';
7
7
 
8
8
  test('Security.create routes CPI_SERIES to IndexSecurity', () => {
9
9
  const proto = new SecurityProto()
10
- .setObjectClass('Security')
11
- .setVersion('0.0.1')
12
10
  .setUuid(UUID.random().toUUIDProto())
13
11
  .setProductType(ProductTypeProto.CPI_SERIES)
14
12
  .setAssetClass('Index');
@@ -21,8 +19,6 @@ test('Security.create routes CPI_SERIES to IndexSecurity', () => {
21
19
 
22
20
  test('Security.create routes SOFR_SERIES to IndexSecurity', () => {
23
21
  const proto = new SecurityProto()
24
- .setObjectClass('Security')
25
- .setVersion('0.0.1')
26
22
  .setUuid(UUID.random().toUUIDProto())
27
23
  .setProductType(ProductTypeProto.SOFR_SERIES)
28
24
  .setAssetClass('Index');
@@ -37,8 +33,6 @@ test('IndexSecurity.getIndexType returns UNKNOWN when index_details is unset', (
37
33
  // Force-construct without populating index_details so we exercise the
38
34
  // null-safe branch in the getter.
39
35
  const proto = new SecurityProto()
40
- .setObjectClass('Security')
41
- .setVersion('0.0.1')
42
36
  .setUuid(UUID.random().toUUIDProto())
43
37
  .setProductType(ProductTypeProto.CPI_SERIES)
44
38
  .setAssetClass('Index');
@@ -48,8 +42,6 @@ test('IndexSecurity.getIndexType returns UNKNOWN when index_details is unset', (
48
42
 
49
43
  test('IndexSecurity extends Security (not BondSecurity)', () => {
50
44
  const proto = new SecurityProto()
51
- .setObjectClass('Security')
52
- .setVersion('0.0.1')
53
45
  .setUuid(UUID.random().toUUIDProto())
54
46
  .setProductType(ProductTypeProto.EQUITY_INDEX);
55
47
  proto.setIndexDetails(new IndexDetailsProto().setIndexType(IndexTypeProto.US_TREASURY));
@@ -6,18 +6,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const Issuance_1 = __importDefault(require("./Issuance"));
7
7
  const issuance_pb_1 = require("../../../fintekkers/models/security/bond/issuance_pb");
8
8
  const auction_type_pb_1 = require("../../../fintekkers/models/security/bond/auction_type_pb");
9
- const decimal_value_pb_1 = require("../../../fintekkers/models/util/decimal_value_pb");
10
9
  const local_date_pb_1 = require("../../../fintekkers/models/util/local_date_pb");
11
10
  const decimal_js_1 = __importDefault(require("decimal.js"));
11
+ const decimal_1 = require("../utils/decimal");
12
12
  function buildProto() {
13
13
  const p = new issuance_pb_1.IssuanceProto();
14
14
  p.setAuctionIssueDate(new local_date_pb_1.LocalDateProto().setYear(2023).setMonth(2).setDay(15));
15
15
  p.setAuctionAnnouncementDate(new local_date_pb_1.LocalDateProto().setYear(2023).setMonth(2).setDay(8));
16
- p.setAuctionOfferingAmount(new decimal_value_pb_1.DecimalValueProto().setArbitraryPrecisionValue('45000000000'));
17
- p.setTotalAccepted(new decimal_value_pb_1.DecimalValueProto().setArbitraryPrecisionValue('44999500000'));
18
- p.setPostAuctionOutstandingQuantity(new decimal_value_pb_1.DecimalValueProto().setArbitraryPrecisionValue('44999500000'));
19
- p.setMatureSecurityAmount(new decimal_value_pb_1.DecimalValueProto().setArbitraryPrecisionValue('0'));
20
- p.setPriceForSinglePriceAuction(new decimal_value_pb_1.DecimalValueProto().setArbitraryPrecisionValue('99.875'));
16
+ p.setAuctionOfferingAmount((0, decimal_1.encodeDecimal)((0, decimal_1.parseDecimalString)('45000000000')));
17
+ p.setTotalAccepted((0, decimal_1.encodeDecimal)((0, decimal_1.parseDecimalString)('44999500000')));
18
+ p.setPostAuctionOutstandingQuantity((0, decimal_1.encodeDecimal)((0, decimal_1.parseDecimalString)('44999500000')));
19
+ p.setMatureSecurityAmount((0, decimal_1.encodeDecimal)((0, decimal_1.parseDecimalString)('0')));
20
+ p.setPriceForSinglePriceAuction((0, decimal_1.encodeDecimal)((0, decimal_1.parseDecimalString)('99.875')));
21
21
  p.setAuctionType(auction_type_pb_1.AuctionTypeProto.SINGLE_PRICE);
22
22
  return p;
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Issuance.test.js","sourceRoot":"","sources":["Issuance.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Issuance.test.js","sourceRoot":"","sources":["Issuance.test.ts"],"names":[],"mappings":"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"}
@@ -4,16 +4,17 @@ import { AuctionTypeProto } from '../../../fintekkers/models/security/bond/aucti
4
4
  import { DecimalValueProto } from '../../../fintekkers/models/util/decimal_value_pb';
5
5
  import { LocalDateProto } from '../../../fintekkers/models/util/local_date_pb';
6
6
  import Decimal from 'decimal.js';
7
+ import { encodeDecimal, parseDecimalString } from '../utils/decimal';
7
8
 
8
9
  function buildProto(): IssuanceProto {
9
10
  const p = new IssuanceProto();
10
11
  p.setAuctionIssueDate(new LocalDateProto().setYear(2023).setMonth(2).setDay(15));
11
12
  p.setAuctionAnnouncementDate(new LocalDateProto().setYear(2023).setMonth(2).setDay(8));
12
- p.setAuctionOfferingAmount(new DecimalValueProto().setArbitraryPrecisionValue('45000000000'));
13
- p.setTotalAccepted(new DecimalValueProto().setArbitraryPrecisionValue('44999500000'));
14
- p.setPostAuctionOutstandingQuantity(new DecimalValueProto().setArbitraryPrecisionValue('44999500000'));
15
- p.setMatureSecurityAmount(new DecimalValueProto().setArbitraryPrecisionValue('0'));
16
- p.setPriceForSinglePriceAuction(new DecimalValueProto().setArbitraryPrecisionValue('99.875'));
13
+ p.setAuctionOfferingAmount(encodeDecimal(parseDecimalString('45000000000')));
14
+ p.setTotalAccepted(encodeDecimal(parseDecimalString('44999500000')));
15
+ p.setPostAuctionOutstandingQuantity(encodeDecimal(parseDecimalString('44999500000')));
16
+ p.setMatureSecurityAmount(encodeDecimal(parseDecimalString('0')));
17
+ p.setPriceForSinglePriceAuction(encodeDecimal(parseDecimalString('99.875')));
17
18
  p.setAuctionType(AuctionTypeProto.SINGLE_PRICE);
18
19
  return p;
19
20
  }
@@ -12,6 +12,7 @@ const coupon_type_pb_1 = require("../../../fintekkers/models/security/coupon_typ
12
12
  const coupon_frequency_pb_1 = require("../../../fintekkers/models/security/coupon_frequency_pb");
13
13
  const agency_pb_1 = require("../../../fintekkers/models/security/bond/agency_pb");
14
14
  const decimal_js_1 = require("decimal.js");
15
+ const decimal_1 = require("../utils/decimal");
15
16
  function makeDate(y, m, d) {
16
17
  const date = new Date(y, m - 1, d);
17
18
  date.setHours(0, 0, 0, 0);
@@ -27,7 +28,6 @@ const baseInputs = {
27
28
  };
28
29
  const mbsInputs = Object.assign(Object.assign({}, baseInputs), { poolNumber: 'FN AS1234', agency: agency_pb_1.AgencyProto.FNMA, wac: new decimal_js_1.Decimal('0.045'), wam: 358, passThroughRate: new decimal_js_1.Decimal('0.04'), currentFactor: new decimal_js_1.Decimal('0.95'), originalFaceValue: new decimal_js_1.Decimal('250000000'), currentUpb: new decimal_js_1.Decimal('237500000'), psaSpeed: new decimal_js_1.Decimal('150') });
29
30
  test('MortgageBackedSecurity.fromPricerInputs populates bond_details and mbs_extension', () => {
30
- var _a, _b, _c, _d, _e, _f;
31
31
  const proto = MortgageBackedSecurity_1.default.fromPricerInputs(mbsInputs);
32
32
  expect(proto.getProductType()).toBe(product_type_pb_1.ProductTypeProto.MORTGAGE_BACKED);
33
33
  expect(proto.hasBondDetails()).toBe(true);
@@ -35,16 +35,15 @@ test('MortgageBackedSecurity.fromPricerInputs populates bond_details and mbs_ext
35
35
  const ext = proto.getMbsExtension();
36
36
  expect(ext.getPoolNumber()).toBe('FN AS1234');
37
37
  expect(ext.getAgency()).toBe(agency_pb_1.AgencyProto.FNMA);
38
- expect((_a = ext.getWac()) === null || _a === void 0 ? void 0 : _a.getArbitraryPrecisionValue()).toBe('0.045');
38
+ expect((0, decimal_1.toCanonicalString)((0, decimal_1.decodeDecimal)(ext.getWac()))).toBe('0.045');
39
39
  expect(ext.getWam()).toBe(358);
40
- expect((_b = ext.getPassThroughRate()) === null || _b === void 0 ? void 0 : _b.getArbitraryPrecisionValue()).toBe('0.04');
41
- expect((_c = ext.getCurrentFactor()) === null || _c === void 0 ? void 0 : _c.getArbitraryPrecisionValue()).toBe('0.95');
42
- expect((_d = ext.getOriginalFaceValue()) === null || _d === void 0 ? void 0 : _d.getArbitraryPrecisionValue()).toBe('250000000');
43
- expect((_e = ext.getCurrentUpb()) === null || _e === void 0 ? void 0 : _e.getArbitraryPrecisionValue()).toBe('237500000');
44
- expect((_f = ext.getPsaSpeed()) === null || _f === void 0 ? void 0 : _f.getArbitraryPrecisionValue()).toBe('150');
40
+ expect((0, decimal_1.toCanonicalString)((0, decimal_1.decodeDecimal)(ext.getPassThroughRate()))).toBe('0.04');
41
+ expect((0, decimal_1.toCanonicalString)((0, decimal_1.decodeDecimal)(ext.getCurrentFactor()))).toBe('0.95');
42
+ expect((0, decimal_1.toCanonicalString)((0, decimal_1.decodeDecimal)(ext.getOriginalFaceValue()))).toBe('250000000');
43
+ expect((0, decimal_1.toCanonicalString)((0, decimal_1.decodeDecimal)(ext.getCurrentUpb()))).toBe('237500000');
44
+ expect((0, decimal_1.toCanonicalString)((0, decimal_1.decodeDecimal)(ext.getPsaSpeed()))).toBe('150');
45
45
  });
46
46
  test('MortgageBackedSecurity round-trips via serializeBinary / deserializeBinary preserving all 9 mbs fields', () => {
47
- var _a, _b, _c, _d, _e, _f;
48
47
  const proto = MortgageBackedSecurity_1.default.fromPricerInputs(mbsInputs);
49
48
  const bytes = proto.serializeBinary();
50
49
  const round = security_pb_1.SecurityProto.deserializeBinary(bytes);
@@ -54,13 +53,13 @@ test('MortgageBackedSecurity round-trips via serializeBinary / deserializeBinary
54
53
  const ext = round.getMbsExtension();
55
54
  expect(ext.getPoolNumber()).toBe('FN AS1234');
56
55
  expect(ext.getAgency()).toBe(agency_pb_1.AgencyProto.FNMA);
57
- expect((_a = ext.getWac()) === null || _a === void 0 ? void 0 : _a.getArbitraryPrecisionValue()).toBe('0.045');
56
+ expect((0, decimal_1.toCanonicalString)((0, decimal_1.decodeDecimal)(ext.getWac()))).toBe('0.045');
58
57
  expect(ext.getWam()).toBe(358);
59
- expect((_b = ext.getPassThroughRate()) === null || _b === void 0 ? void 0 : _b.getArbitraryPrecisionValue()).toBe('0.04');
60
- expect((_c = ext.getCurrentFactor()) === null || _c === void 0 ? void 0 : _c.getArbitraryPrecisionValue()).toBe('0.95');
61
- expect((_d = ext.getOriginalFaceValue()) === null || _d === void 0 ? void 0 : _d.getArbitraryPrecisionValue()).toBe('250000000');
62
- expect((_e = ext.getCurrentUpb()) === null || _e === void 0 ? void 0 : _e.getArbitraryPrecisionValue()).toBe('237500000');
63
- expect((_f = ext.getPsaSpeed()) === null || _f === void 0 ? void 0 : _f.getArbitraryPrecisionValue()).toBe('150');
58
+ expect((0, decimal_1.toCanonicalString)((0, decimal_1.decodeDecimal)(ext.getPassThroughRate()))).toBe('0.04');
59
+ expect((0, decimal_1.toCanonicalString)((0, decimal_1.decodeDecimal)(ext.getCurrentFactor()))).toBe('0.95');
60
+ expect((0, decimal_1.toCanonicalString)((0, decimal_1.decodeDecimal)(ext.getOriginalFaceValue()))).toBe('250000000');
61
+ expect((0, decimal_1.toCanonicalString)((0, decimal_1.decodeDecimal)(ext.getCurrentUpb()))).toBe('237500000');
62
+ expect((0, decimal_1.toCanonicalString)((0, decimal_1.decodeDecimal)(ext.getPsaSpeed()))).toBe('150');
64
63
  });
65
64
  test('MortgageBackedSecurity wraps via Security.create factory dispatch', () => {
66
65
  const proto = MortgageBackedSecurity_1.default.fromPricerInputs(mbsInputs);
@@ -1 +1 @@
1
- {"version":3,"file":"MortgageBackedSecurity.fromPricerInputs.test.js","sourceRoot":"","sources":["MortgageBackedSecurity.fromPricerInputs.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MortgageBackedSecurity.fromPricerInputs.test.js","sourceRoot":"","sources":["MortgageBackedSecurity.fromPricerInputs.test.ts"],"names":[],"mappings":";;;;;AAAA,0DAAkC;AAClC,kEAA0C;AAC1C,sFAA8D;AAC9D,iFAAgF;AAChF,yFAAuF;AACvF,uFAAqF;AACrF,iGAA+F;AAC/F,kFAAiF;AACjF,2CAAqC;AACrC,8CAAoE;AAEpE,SAAS,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;IAC/C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,GAAG;IACjB,SAAS,EAAE,IAAI,oBAAO,CAAC,WAAW,CAAC;IACnC,UAAU,EAAE,IAAI,oBAAO,CAAC,MAAM,CAAC;IAC/B,UAAU,EAAE,gCAAe,CAAC,KAAK;IACjC,eAAe,EAAE,0CAAoB,CAAC,OAAO;IAC7C,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/B,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,SAAS,mCACV,UAAU,KACb,UAAU,EAAE,WAAW,EACvB,MAAM,EAAE,uBAAW,CAAC,IAAI,EACxB,GAAG,EAAE,IAAI,oBAAO,CAAC,OAAO,CAAC,EACzB,GAAG,EAAE,GAAG,EACR,eAAe,EAAE,IAAI,oBAAO,CAAC,MAAM,CAAC,EACpC,aAAa,EAAE,IAAI,oBAAO,CAAC,MAAM,CAAC,EAClC,iBAAiB,EAAE,IAAI,oBAAO,CAAC,WAAW,CAAC,EAC3C,UAAU,EAAE,IAAI,oBAAO,CAAC,WAAW,CAAC,EACpC,QAAQ,EAAE,IAAI,oBAAO,CAAC,KAAK,CAAC,GAC7B,CAAC;AAEF,IAAI,CAAC,kFAAkF,EAAE,GAAG,EAAE;IAC5F,MAAM,KAAK,GAAG,gCAAsB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACjE,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,kCAAgB,CAAC,eAAe,CAAC,CAAC;IACtE,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE3C,MAAM,GAAG,GAAG,KAAK,CAAC,eAAe,EAAG,CAAC;IACrC,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,uBAAW,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,CAAC,IAAA,2BAAiB,EAAC,IAAA,uBAAa,EAAC,GAAG,CAAC,MAAM,EAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,CAAC,IAAA,2BAAiB,EAAC,IAAA,uBAAa,EAAC,GAAG,CAAC,kBAAkB,EAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjF,MAAM,CAAC,IAAA,2BAAiB,EAAC,IAAA,uBAAa,EAAC,GAAG,CAAC,gBAAgB,EAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/E,MAAM,CAAC,IAAA,2BAAiB,EAAC,IAAA,uBAAa,EAAC,GAAG,CAAC,oBAAoB,EAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxF,MAAM,CAAC,IAAA,2BAAiB,EAAC,IAAA,uBAAa,EAAC,GAAG,CAAC,aAAa,EAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACjF,MAAM,CAAC,IAAA,2BAAiB,EAAC,IAAA,uBAAa,EAAC,GAAG,CAAC,WAAW,EAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3E,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wGAAwG,EAAE,GAAG,EAAE;IAClH,MAAM,KAAK,GAAG,gCAAsB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,2BAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAErD,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,kCAAgB,CAAC,eAAe,CAAC,CAAC;IACtE,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE3C,MAAM,GAAG,GAAG,KAAK,CAAC,eAAe,EAAG,CAAC;IACrC,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,uBAAW,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,CAAC,IAAA,2BAAiB,EAAC,IAAA,uBAAa,EAAC,GAAG,CAAC,MAAM,EAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,CAAC,IAAA,2BAAiB,EAAC,IAAA,uBAAa,EAAC,GAAG,CAAC,kBAAkB,EAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjF,MAAM,CAAC,IAAA,2BAAiB,EAAC,IAAA,uBAAa,EAAC,GAAG,CAAC,gBAAgB,EAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/E,MAAM,CAAC,IAAA,2BAAiB,EAAC,IAAA,uBAAa,EAAC,GAAG,CAAC,oBAAoB,EAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxF,MAAM,CAAC,IAAA,2BAAiB,EAAC,IAAA,uBAAa,EAAC,GAAG,CAAC,aAAa,EAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACjF,MAAM,CAAC,IAAA,2BAAiB,EAAC,IAAA,uBAAa,EAAC,GAAG,CAAC,WAAW,EAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3E,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mEAAmE,EAAE,GAAG,EAAE;IAC7E,MAAM,KAAK,GAAG,gCAAsB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACjE,MAAM,GAAG,GAAG,kBAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,gCAAsB,CAAC,CAAC;IACnD,mCAAmC;IACnC,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,sBAAY,CAAC,CAAC;IACzC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sEAAsE,EAAE,GAAG,EAAE;;IAChF,MAAM,KAAK,GAAG,gCAAsB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACjE,MAAM,GAAG,GAAG,kBAAQ,CAAC,MAAM,CAAC,KAAK,CAA2B,CAAC;IAE7D,kDAAkD;IAClD,MAAM,CAAC,GAAG,CAAC,aAAa,EAAG,CAAC,MAAM,CAAC,IAAI,oBAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpE,MAAM,CAAC,GAAG,CAAC,YAAY,EAAG,CAAC,MAAM,CAAC,IAAI,oBAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxE,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC;IAC3C,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,CAAC,SAAU,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,CAAC,YAAa,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE/C,gCAAgC;IAChC,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,uBAAW,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,CAAC,MAAA,GAAG,CAAC,MAAM,EAAE,0CAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,CAAC,MAAA,GAAG,CAAC,kBAAkB,EAAE,0CAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1D,MAAM,CAAC,MAAA,GAAG,CAAC,gBAAgB,EAAE,0CAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,CAAC,MAAA,GAAG,CAAC,oBAAoB,EAAE,0CAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACjE,MAAM,CAAC,MAAA,GAAG,CAAC,aAAa,EAAE,0CAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1D,MAAM,CAAC,MAAA,GAAG,CAAC,WAAW,EAAE,0CAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC"}
@@ -7,6 +7,7 @@ import { CouponTypeProto } from '../../../fintekkers/models/security/coupon_type
7
7
  import { CouponFrequencyProto } from '../../../fintekkers/models/security/coupon_frequency_pb';
8
8
  import { AgencyProto } from '../../../fintekkers/models/security/bond/agency_pb';
9
9
  import { Decimal } from 'decimal.js';
10
+ import { decodeDecimal, toCanonicalString } from '../utils/decimal';
10
11
 
11
12
  function makeDate(y: number, m: number, d: number): Date {
12
13
  const date = new Date(y, m - 1, d);
@@ -45,13 +46,13 @@ test('MortgageBackedSecurity.fromPricerInputs populates bond_details and mbs_ext
45
46
  const ext = proto.getMbsExtension()!;
46
47
  expect(ext.getPoolNumber()).toBe('FN AS1234');
47
48
  expect(ext.getAgency()).toBe(AgencyProto.FNMA);
48
- expect(ext.getWac()?.getArbitraryPrecisionValue()).toBe('0.045');
49
+ expect(toCanonicalString(decodeDecimal(ext.getWac()!))).toBe('0.045');
49
50
  expect(ext.getWam()).toBe(358);
50
- expect(ext.getPassThroughRate()?.getArbitraryPrecisionValue()).toBe('0.04');
51
- expect(ext.getCurrentFactor()?.getArbitraryPrecisionValue()).toBe('0.95');
52
- expect(ext.getOriginalFaceValue()?.getArbitraryPrecisionValue()).toBe('250000000');
53
- expect(ext.getCurrentUpb()?.getArbitraryPrecisionValue()).toBe('237500000');
54
- expect(ext.getPsaSpeed()?.getArbitraryPrecisionValue()).toBe('150');
51
+ expect(toCanonicalString(decodeDecimal(ext.getPassThroughRate()!))).toBe('0.04');
52
+ expect(toCanonicalString(decodeDecimal(ext.getCurrentFactor()!))).toBe('0.95');
53
+ expect(toCanonicalString(decodeDecimal(ext.getOriginalFaceValue()!))).toBe('250000000');
54
+ expect(toCanonicalString(decodeDecimal(ext.getCurrentUpb()!))).toBe('237500000');
55
+ expect(toCanonicalString(decodeDecimal(ext.getPsaSpeed()!))).toBe('150');
55
56
  });
56
57
 
57
58
  test('MortgageBackedSecurity round-trips via serializeBinary / deserializeBinary preserving all 9 mbs fields', () => {
@@ -66,13 +67,13 @@ test('MortgageBackedSecurity round-trips via serializeBinary / deserializeBinary
66
67
  const ext = round.getMbsExtension()!;
67
68
  expect(ext.getPoolNumber()).toBe('FN AS1234');
68
69
  expect(ext.getAgency()).toBe(AgencyProto.FNMA);
69
- expect(ext.getWac()?.getArbitraryPrecisionValue()).toBe('0.045');
70
+ expect(toCanonicalString(decodeDecimal(ext.getWac()!))).toBe('0.045');
70
71
  expect(ext.getWam()).toBe(358);
71
- expect(ext.getPassThroughRate()?.getArbitraryPrecisionValue()).toBe('0.04');
72
- expect(ext.getCurrentFactor()?.getArbitraryPrecisionValue()).toBe('0.95');
73
- expect(ext.getOriginalFaceValue()?.getArbitraryPrecisionValue()).toBe('250000000');
74
- expect(ext.getCurrentUpb()?.getArbitraryPrecisionValue()).toBe('237500000');
75
- expect(ext.getPsaSpeed()?.getArbitraryPrecisionValue()).toBe('150');
72
+ expect(toCanonicalString(decodeDecimal(ext.getPassThroughRate()!))).toBe('0.04');
73
+ expect(toCanonicalString(decodeDecimal(ext.getCurrentFactor()!))).toBe('0.95');
74
+ expect(toCanonicalString(decodeDecimal(ext.getOriginalFaceValue()!))).toBe('250000000');
75
+ expect(toCanonicalString(decodeDecimal(ext.getCurrentUpb()!))).toBe('237500000');
76
+ expect(toCanonicalString(decodeDecimal(ext.getPsaSpeed()!))).toBe('150');
76
77
  });
77
78
 
78
79
  test('MortgageBackedSecurity wraps via Security.create factory dispatch', () => {
@@ -20,10 +20,10 @@ const security_quantity_type_pb_1 = require("../../../fintekkers/models/security
20
20
  const identifier_pb_1 = require("../../../fintekkers/models/security/identifier/identifier_pb");
21
21
  const identifier_type_pb_1 = require("../../../fintekkers/models/security/identifier/identifier_type_pb");
22
22
  const index_type_pb_1 = require("../../../fintekkers/models/security/index/index_type_pb");
23
- const decimal_value_pb_1 = require("../../../fintekkers/models/util/decimal_value_pb");
24
23
  const local_date_pb_1 = require("../../../fintekkers/models/util/local_date_pb");
24
+ const decimal_1 = require("../utils/decimal");
25
25
  function makeDecimal(value) {
26
- return new decimal_value_pb_1.DecimalValueProto().setArbitraryPrecisionValue(value);
26
+ return (0, decimal_1.encodeDecimal)((0, decimal_1.parseDecimalString)(value));
27
27
  }
28
28
  function makeDate(year, month, day) {
29
29
  return new local_date_pb_1.LocalDateProto().setYear(year).setMonth(month).setDay(day);
@@ -34,8 +34,6 @@ function makeIdentifier(type, value) {
34
34
  describe('SecurityProto Round-Trip Serialization — All 6 Security Types', () => {
35
35
  test('BOND_SECURITY: all bond fields survive round-trip', () => {
36
36
  const original = new security_pb_2.SecurityProto();
37
- original.setObjectClass('Security');
38
- original.setVersion('0.0.1');
39
37
  original.setProductType(product_type_pb_1.ProductTypeProto.TREASURY_NOTE);
40
38
  original.setAssetClass('Fixed Income');
41
39
  original.setIssuerName('US Treasury');
@@ -59,10 +57,10 @@ describe('SecurityProto Round-Trip Serialization — All 6 Security Types', () =
59
57
  expect(parsed.getDescription()).toBe('UST 5% 2030');
60
58
  expect(parsed.getQuantityType()).toBe(security_quantity_type_pb_1.SecurityQuantityTypeProto.ORIGINAL_FACE_VALUE);
61
59
  const parsedBond = parsed.getBondDetails();
62
- expect(parsedBond.getCouponRate().getArbitraryPrecisionValue()).toBe('5.0');
60
+ expect((0, decimal_1.toCanonicalString)((0, decimal_1.decodeDecimal)(parsedBond.getCouponRate()))).toBe('5.0');
63
61
  expect(parsedBond.getCouponType()).toBe(coupon_type_pb_1.CouponTypeProto.FIXED);
64
62
  expect(parsedBond.getCouponFrequency()).toBe(coupon_frequency_pb_1.CouponFrequencyProto.SEMIANNUALLY);
65
- expect(parsedBond.getFaceValue().getArbitraryPrecisionValue()).toBe('1000');
63
+ expect((0, decimal_1.toCanonicalString)((0, decimal_1.decodeDecimal)(parsedBond.getFaceValue()))).toBe('1000');
66
64
  expect(parsedBond.getIssueDate().getYear()).toBe(2020);
67
65
  expect(parsedBond.getDatedDate().getMonth()).toBe(1);
68
66
  expect(parsedBond.getMaturityDate().getYear()).toBe(2030);
@@ -73,8 +71,6 @@ describe('SecurityProto Round-Trip Serialization — All 6 Security Types', () =
73
71
  });
74
72
  test('TIPS: bond fields + base_cpi + inflation_index_type survive round-trip', () => {
75
73
  const original = new security_pb_2.SecurityProto();
76
- original.setObjectClass('Security');
77
- original.setVersion('0.0.1');
78
74
  original.setProductType(product_type_pb_1.ProductTypeProto.TIPS);
79
75
  original.setAssetClass('Fixed Income');
80
76
  original.setIssuerName('US Treasury');
@@ -93,19 +89,17 @@ describe('SecurityProto Round-Trip Serialization — All 6 Security Types', () =
93
89
  const parsed = security_pb_2.SecurityProto.deserializeBinary(bytes);
94
90
  expect(parsed.getProductType()).toBe(product_type_pb_1.ProductTypeProto.TIPS);
95
91
  const parsedBond = parsed.getBondDetails();
96
- expect(parsedBond.getCouponRate().getArbitraryPrecisionValue()).toBe('0.625');
92
+ expect((0, decimal_1.toCanonicalString)((0, decimal_1.decodeDecimal)(parsedBond.getCouponRate()))).toBe('0.625');
97
93
  expect(parsedBond.getCouponType()).toBe(coupon_type_pb_1.CouponTypeProto.FIXED);
98
94
  expect(parsedBond.getCouponFrequency()).toBe(coupon_frequency_pb_1.CouponFrequencyProto.SEMIANNUALLY);
99
- expect(parsedBond.getFaceValue().getArbitraryPrecisionValue()).toBe('1000');
95
+ expect((0, decimal_1.toCanonicalString)((0, decimal_1.decodeDecimal)(parsedBond.getFaceValue()))).toBe('1000');
100
96
  expect(parsedBond.getMaturityDate().getYear()).toBe(2030);
101
97
  const parsedTips = parsed.getTipsExtension();
102
- expect(parsedTips.getBaseCpi().getArbitraryPrecisionValue()).toBe('256.394');
98
+ expect((0, decimal_1.toCanonicalString)((0, decimal_1.decodeDecimal)(parsedTips.getBaseCpi()))).toBe('256.394');
103
99
  expect(parsedTips.getInflationIndexType()).toBe(index_type_pb_1.IndexTypeProto.CPI_U);
104
100
  });
105
101
  test('FRN: spread + reference_rate_index + reset_frequency survive round-trip', () => {
106
102
  const original = new security_pb_2.SecurityProto();
107
- original.setObjectClass('Security');
108
- original.setVersion('0.0.1');
109
103
  original.setProductType(product_type_pb_1.ProductTypeProto.TREASURY_FRN);
110
104
  original.setAssetClass('Fixed Income');
111
105
  original.setIssuerName('US Treasury');
@@ -126,16 +120,14 @@ describe('SecurityProto Round-Trip Serialization — All 6 Security Types', () =
126
120
  const parsedBond = parsed.getBondDetails();
127
121
  expect(parsedBond.getCouponType()).toBe(coupon_type_pb_1.CouponTypeProto.FLOAT);
128
122
  expect(parsedBond.getCouponFrequency()).toBe(coupon_frequency_pb_1.CouponFrequencyProto.QUARTERLY);
129
- expect(parsedBond.getFaceValue().getArbitraryPrecisionValue()).toBe('100');
123
+ expect((0, decimal_1.toCanonicalString)((0, decimal_1.decodeDecimal)(parsedBond.getFaceValue()))).toBe('100');
130
124
  expect(parsedBond.getMaturityDate().getYear()).toBe(2028);
131
125
  const parsedFrn = parsed.getFrnExtension();
132
- expect(parsedFrn.getSpread().getArbitraryPrecisionValue()).toBe('50');
126
+ expect((0, decimal_1.toCanonicalString)((0, decimal_1.decodeDecimal)(parsedFrn.getSpread()))).toBe('50');
133
127
  expect(parsedFrn.getReferenceRateIndex()).toBe(index_type_pb_1.IndexTypeProto.T_BILL_13_WEEK);
134
128
  });
135
129
  test('EQUITY_SECURITY: identifier + asset_class survive round-trip', () => {
136
130
  const original = new security_pb_2.SecurityProto();
137
- original.setObjectClass('Security');
138
- original.setVersion('0.0.1');
139
131
  original.setProductType(product_type_pb_1.ProductTypeProto.COMMON_STOCK);
140
132
  original.setAssetClass('Equity');
141
133
  original.setIssuerName('Apple Inc.');
@@ -154,8 +146,6 @@ describe('SecurityProto Round-Trip Serialization — All 6 Security Types', () =
154
146
  });
155
147
  test('CASH_SECURITY: cash_id + settlement fields survive round-trip', () => {
156
148
  const original = new security_pb_2.SecurityProto();
157
- original.setObjectClass('Security');
158
- original.setVersion('0.0.1');
159
149
  original.setProductType(product_type_pb_1.ProductTypeProto.CURRENCY);
160
150
  original.setAssetClass('Cash');
161
151
  original.setIssuerName('Federal Reserve');
@@ -174,8 +164,6 @@ describe('SecurityProto Round-Trip Serialization — All 6 Security Types', () =
174
164
  });
175
165
  test('INDEX_SECURITY: index_type + inflation_index_type survive round-trip', () => {
176
166
  const original = new security_pb_2.SecurityProto();
177
- original.setObjectClass('Security');
178
- original.setVersion('0.0.1');
179
167
  original.setProductType(product_type_pb_1.ProductTypeProto.EQUITY_INDEX);
180
168
  original.setAssetClass('Index');
181
169
  original.setIssuerName('Bureau of Labor Statistics');