@fintekkers/ledger-models 0.4.37 → 0.4.39

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 (192) hide show
  1. package/node/fintekkers/models/portfolio/portfolio_pb.d.ts +13 -0
  2. package/node/fintekkers/models/portfolio/portfolio_pb.js +123 -1
  3. package/node/fintekkers/models/position/position_filter_pb.d.ts +13 -0
  4. package/node/fintekkers/models/position/position_filter_pb.js +123 -1
  5. package/node/fintekkers/models/position/position_pb.d.ts +13 -0
  6. package/node/fintekkers/models/position/position_pb.js +123 -1
  7. package/node/fintekkers/models/price/price_pb.d.ts +13 -0
  8. package/node/fintekkers/models/price/price_pb.js +123 -1
  9. package/node/fintekkers/models/security/bond/issuance_pb.d.ts +13 -0
  10. package/node/fintekkers/models/security/bond/issuance_pb.js +123 -1
  11. package/node/fintekkers/models/security/identifier/identifier_pb.d.ts +13 -0
  12. package/node/fintekkers/models/security/identifier/identifier_pb.js +123 -1
  13. package/node/fintekkers/models/security/index_composition_pb.d.ts +13 -0
  14. package/node/fintekkers/models/security/index_composition_pb.js +123 -1
  15. package/node/fintekkers/models/security/security_pb.d.ts +13 -0
  16. package/node/fintekkers/models/security/security_pb.js +123 -1
  17. package/node/fintekkers/models/security/tenor_pb.d.ts +13 -0
  18. package/node/fintekkers/models/security/tenor_pb.js +123 -1
  19. package/node/fintekkers/models/strategy/strategy_allocation_pb.d.ts +13 -0
  20. package/node/fintekkers/models/strategy/strategy_allocation_pb.js +123 -1
  21. package/node/fintekkers/models/strategy/strategy_pb.d.ts +13 -0
  22. package/node/fintekkers/models/strategy/strategy_pb.js +123 -1
  23. package/node/fintekkers/models/transaction/transaction_pb.d.ts +13 -0
  24. package/node/fintekkers/models/transaction/transaction_pb.js +123 -1
  25. package/node/fintekkers/models/util/api/api_key_pb.d.ts +13 -0
  26. package/node/fintekkers/models/util/api/api_key_pb.js +123 -1
  27. package/node/fintekkers/models/util/date_range_pb.d.ts +13 -0
  28. package/node/fintekkers/models/util/date_range_pb.js +123 -1
  29. package/node/fintekkers/models/util/decimal_value_pb.d.ts +2 -0
  30. package/node/fintekkers/models/util/lock/node_partition_pb.d.ts +13 -0
  31. package/node/fintekkers/models/util/lock/node_partition_pb.js +123 -1
  32. package/node/fintekkers/models/util/lock/node_state_pb.d.ts +13 -0
  33. package/node/fintekkers/models/util/lock/node_state_pb.js +123 -1
  34. package/node/fintekkers/models/util/object_type_grpc_pb.js +1 -0
  35. package/node/fintekkers/models/util/object_type_pb.d.ts +63 -0
  36. package/node/fintekkers/models/util/object_type_pb.js +109 -0
  37. package/node/fintekkers/requests/index_composition/create_index_composition_request_pb.d.ts +25 -0
  38. package/node/fintekkers/requests/index_composition/create_index_composition_request_pb.js +244 -2
  39. package/node/fintekkers/requests/index_composition/get_index_composition_request_pb.d.ts +25 -0
  40. package/node/fintekkers/requests/index_composition/get_index_composition_request_pb.js +244 -2
  41. package/node/fintekkers/requests/portfolio/create_portfolio_request_pb.d.ts +13 -0
  42. package/node/fintekkers/requests/portfolio/create_portfolio_request_pb.js +123 -1
  43. package/node/fintekkers/requests/portfolio/create_portfolio_response_pb.d.ts +13 -0
  44. package/node/fintekkers/requests/portfolio/create_portfolio_response_pb.js +123 -1
  45. package/node/fintekkers/requests/portfolio/query_portfolio_request_pb.d.ts +13 -0
  46. package/node/fintekkers/requests/portfolio/query_portfolio_request_pb.js +123 -1
  47. package/node/fintekkers/requests/portfolio/query_portfolio_response_pb.d.ts +13 -0
  48. package/node/fintekkers/requests/portfolio/query_portfolio_response_pb.js +123 -1
  49. package/node/fintekkers/requests/position/query_position_request_pb.d.ts +13 -0
  50. package/node/fintekkers/requests/position/query_position_request_pb.js +123 -1
  51. package/node/fintekkers/requests/position/query_position_response_pb.d.ts +13 -0
  52. package/node/fintekkers/requests/position/query_position_response_pb.js +123 -1
  53. package/node/fintekkers/requests/price/create_price_request_pb.d.ts +13 -0
  54. package/node/fintekkers/requests/price/create_price_request_pb.js +123 -1
  55. package/node/fintekkers/requests/price/create_price_response_pb.d.ts +13 -0
  56. package/node/fintekkers/requests/price/create_price_response_pb.js +123 -1
  57. package/node/fintekkers/requests/price/query_price_request_pb.d.ts +13 -0
  58. package/node/fintekkers/requests/price/query_price_request_pb.js +123 -1
  59. package/node/fintekkers/requests/price/query_price_response_pb.d.ts +13 -0
  60. package/node/fintekkers/requests/price/query_price_response_pb.js +123 -1
  61. package/node/fintekkers/requests/security/create_security_request_pb.d.ts +13 -0
  62. package/node/fintekkers/requests/security/create_security_request_pb.js +123 -1
  63. package/node/fintekkers/requests/security/create_security_response_pb.d.ts +13 -0
  64. package/node/fintekkers/requests/security/create_security_response_pb.js +123 -1
  65. package/node/fintekkers/requests/security/get_field_values_request_pb.d.ts +13 -0
  66. package/node/fintekkers/requests/security/get_field_values_request_pb.js +123 -1
  67. package/node/fintekkers/requests/security/get_field_values_response_pb.d.ts +13 -0
  68. package/node/fintekkers/requests/security/get_field_values_response_pb.js +123 -1
  69. package/node/fintekkers/requests/security/get_fields_response_pb.d.ts +13 -0
  70. package/node/fintekkers/requests/security/get_fields_response_pb.js +123 -1
  71. package/node/fintekkers/requests/security/query_security_request_pb.d.ts +13 -0
  72. package/node/fintekkers/requests/security/query_security_request_pb.js +123 -1
  73. package/node/fintekkers/requests/security/query_security_response_pb.d.ts +13 -0
  74. package/node/fintekkers/requests/security/query_security_response_pb.js +123 -1
  75. package/node/fintekkers/requests/transaction/create_transaction_request_pb.d.ts +13 -0
  76. package/node/fintekkers/requests/transaction/create_transaction_request_pb.js +123 -1
  77. package/node/fintekkers/requests/transaction/create_transaction_response_pb.d.ts +13 -0
  78. package/node/fintekkers/requests/transaction/create_transaction_response_pb.js +123 -1
  79. package/node/fintekkers/requests/transaction/query_transaction_request_pb.d.ts +13 -0
  80. package/node/fintekkers/requests/transaction/query_transaction_request_pb.js +123 -1
  81. package/node/fintekkers/requests/transaction/query_transaction_response_pb.d.ts +13 -0
  82. package/node/fintekkers/requests/transaction/query_transaction_response_pb.js +123 -1
  83. package/node/fintekkers/requests/util/delete_request_pb.d.ts +25 -0
  84. package/node/fintekkers/requests/util/delete_request_pb.js +244 -2
  85. package/node/fintekkers/requests/util/lock/lock_request_pb.d.ts +13 -0
  86. package/node/fintekkers/requests/util/lock/lock_request_pb.js +123 -1
  87. package/node/fintekkers/requests/util/lock/lock_response_pb.d.ts +13 -0
  88. package/node/fintekkers/requests/util/lock/lock_response_pb.js +123 -1
  89. package/node/fintekkers/requests/valuation/curve_request_pb.d.ts +13 -0
  90. package/node/fintekkers/requests/valuation/curve_request_pb.js +123 -1
  91. package/node/fintekkers/requests/valuation/curve_response_pb.d.ts +13 -0
  92. package/node/fintekkers/requests/valuation/curve_response_pb.js +123 -1
  93. package/node/fintekkers/requests/valuation/valuation_request_pb.d.ts +13 -0
  94. package/node/fintekkers/requests/valuation/valuation_request_pb.js +123 -1
  95. package/node/fintekkers/requests/valuation/valuation_response_pb.d.ts +13 -0
  96. package/node/fintekkers/requests/valuation/valuation_response_pb.js +123 -1
  97. package/node/wrappers/models/position/position.d.ts +1 -1
  98. package/node/wrappers/models/position/position.js.map +1 -1
  99. package/node/wrappers/models/position/position.test.js +2 -2
  100. package/node/wrappers/models/position/position.test.js.map +1 -1
  101. package/node/wrappers/models/position/position.test.ts +2 -2
  102. package/node/wrappers/models/position/position.ts +2 -2
  103. package/node/wrappers/models/position/position_matcher.js +1 -0
  104. package/node/wrappers/models/position/position_matcher.js.map +1 -0
  105. package/node/wrappers/models/position/position_matcher.test.js +1 -0
  106. package/node/wrappers/models/position/position_matcher.test.js.map +1 -0
  107. package/node/wrappers/models/position/positionfilter.js +3 -2
  108. package/node/wrappers/models/position/positionfilter.js.map +1 -1
  109. package/node/wrappers/models/position/positionfilter.ts +3 -2
  110. package/node/wrappers/models/price/Price.js +20 -12
  111. package/node/wrappers/models/price/Price.js.map +1 -1
  112. package/node/wrappers/models/price/Price.ts +19 -10
  113. package/node/wrappers/models/price/price_rules.d.ts +2 -2
  114. package/node/wrappers/models/price/price_rules.js +6 -4
  115. package/node/wrappers/models/price/price_rules.js.map +1 -1
  116. package/node/wrappers/models/price/price_rules.ts +5 -3
  117. package/node/wrappers/models/security/BondSecurity.d.ts +1 -1
  118. package/node/wrappers/models/security/BondSecurity.js +5 -5
  119. package/node/wrappers/models/security/BondSecurity.js.map +1 -1
  120. package/node/wrappers/models/security/BondSecurity.ts +5 -4
  121. package/node/wrappers/models/security/FloatingRateNote.js +2 -2
  122. package/node/wrappers/models/security/FloatingRateNote.js.map +1 -1
  123. package/node/wrappers/models/security/FloatingRateNote.ts +2 -1
  124. package/node/wrappers/models/security/Issuance.js +3 -6
  125. package/node/wrappers/models/security/Issuance.js.map +1 -1
  126. package/node/wrappers/models/security/Issuance.ts +3 -2
  127. package/node/wrappers/models/security/MortgageBackedSecurity.js +7 -7
  128. package/node/wrappers/models/security/MortgageBackedSecurity.js.map +1 -1
  129. package/node/wrappers/models/security/MortgageBackedSecurity.ts +7 -6
  130. package/node/wrappers/models/security/TIPSBond.js +2 -2
  131. package/node/wrappers/models/security/TIPSBond.js.map +1 -1
  132. package/node/wrappers/models/security/TIPSBond.ts +2 -1
  133. package/node/wrappers/models/security/security_rules.js +10 -12
  134. package/node/wrappers/models/security/security_rules.js.map +1 -1
  135. package/node/wrappers/models/security/security_rules.ts +9 -9
  136. package/node/wrappers/models/transaction/transaction.js +20 -14
  137. package/node/wrappers/models/transaction/transaction.js.map +1 -1
  138. package/node/wrappers/models/transaction/transaction.ts +20 -11
  139. package/node/wrappers/models/transaction/transaction_constructor.test.js +29 -0
  140. package/node/wrappers/models/transaction/transaction_constructor.test.js.map +1 -1
  141. package/node/wrappers/models/utils/decimal.d.ts +96 -0
  142. package/node/wrappers/models/utils/decimal.js +328 -0
  143. package/node/wrappers/models/utils/decimal.js.map +1 -0
  144. package/node/wrappers/models/utils/decimal.legacy.test.d.ts +1 -0
  145. package/node/wrappers/models/utils/decimal.legacy.test.js +174 -0
  146. package/node/wrappers/models/utils/decimal.legacy.test.js.map +1 -0
  147. package/node/wrappers/models/utils/decimal.legacy.test.ts +158 -0
  148. package/node/wrappers/models/utils/decimal.test.d.ts +1 -0
  149. package/node/wrappers/models/utils/decimal.test.js +258 -0
  150. package/node/wrappers/models/utils/decimal.test.js.map +1 -0
  151. package/node/wrappers/models/utils/decimal.test.ts +272 -0
  152. package/node/wrappers/models/utils/decimal.ts +335 -0
  153. package/node/wrappers/models/utils/decimal.typings.test.d.ts +1 -0
  154. package/node/wrappers/models/utils/decimal.typings.test.js +39 -0
  155. package/node/wrappers/models/utils/decimal.typings.test.js.map +1 -0
  156. package/node/wrappers/models/utils/decimal.typings.test.ts +16 -0
  157. package/node/wrappers/models/utils/serialization.d.ts +2 -1
  158. package/node/wrappers/models/utils/serialization.js +12 -2
  159. package/node/wrappers/models/utils/serialization.js.map +1 -1
  160. package/node/wrappers/models/utils/serialization.ts +14 -3
  161. package/node/wrappers/requests/position/QueryPositionRequest.js +3 -2
  162. package/node/wrappers/requests/position/QueryPositionRequest.js.map +1 -1
  163. package/node/wrappers/requests/position/QueryPositionRequest.ts +3 -2
  164. package/node/wrappers/services/portfolio-service/PortfolioService.js +5 -6
  165. package/node/wrappers/services/portfolio-service/PortfolioService.js.map +1 -1
  166. package/node/wrappers/services/portfolio-service/PortfolioService.ts +5 -6
  167. package/node/wrappers/services/price-service/PriceService.js +5 -6
  168. package/node/wrappers/services/price-service/PriceService.js.map +1 -1
  169. package/node/wrappers/services/price-service/PriceService.ts +5 -6
  170. package/node/wrappers/services/security-service/SecurityService.js +5 -6
  171. package/node/wrappers/services/security-service/SecurityService.js.map +1 -1
  172. package/node/wrappers/services/security-service/SecurityService.ts +5 -6
  173. package/node/wrappers/services/security-service/security.maturityLadder.test.js +1 -1
  174. package/node/wrappers/services/security-service/security.maturityLadder.test.js.map +1 -1
  175. package/node/wrappers/services/security-service/security.maturityLadder.test.ts +3 -2
  176. package/node/wrappers/services/transaction-service/TransactionService.js +5 -6
  177. package/node/wrappers/services/transaction-service/TransactionService.js.map +1 -1
  178. package/node/wrappers/services/transaction-service/TransactionService.ts +5 -6
  179. package/node/wrappers/util/link-resolver.js +5 -6
  180. package/node/wrappers/util/link-resolver.js.map +1 -1
  181. package/node/wrappers/util/link-resolver.ts +5 -6
  182. package/node/wrappers/util/object-type-legacy.json +21 -0
  183. package/node/wrappers/util/object-types.d.ts +62 -0
  184. package/node/wrappers/util/object-types.js +193 -0
  185. package/node/wrappers/util/object-types.js.map +1 -0
  186. package/node/wrappers/util/object-types.test.d.ts +1 -0
  187. package/node/wrappers/util/object-types.test.js +311 -0
  188. package/node/wrappers/util/object-types.test.js.map +1 -0
  189. package/node/wrappers/util/object-types.test.ts +307 -0
  190. package/node/wrappers/util/object-types.ts +207 -0
  191. package/package.json +1 -1
  192. package/tsconfig.json +1 -0
@@ -7,6 +7,7 @@ import { SecurityProto, MbsExtensionProto } from '../../../fintekkers/models/sec
7
7
  import { AgencyProto } from '../../../fintekkers/models/security/bond/agency_pb';
8
8
  import { ProductTypeProto } from '../../../fintekkers/models/security/product_type_pb';
9
9
  import { Decimal } from 'decimal.js';
10
+ import { decodeDecimal, toDecimalJs, withField } from '../utils/decimal';
10
11
 
11
12
  /**
12
13
  * MBS-specific accessors layered on top of BondSecurity. Pool-level fields
@@ -40,7 +41,7 @@ class MortgageBackedSecurity extends BondSecurity {
40
41
  const ext = this.getMbsExtension();
41
42
  const v = ext ? ext.getWac() : undefined;
42
43
  if (!v) return null;
43
- return new Decimal(v.getArbitraryPrecisionValue());
44
+ return toDecimalJs(withField('mbs_extension.wac', () => decodeDecimal(v)));
44
45
  }
45
46
 
46
47
  /** Weighted Average Maturity, in months. */
@@ -54,7 +55,7 @@ class MortgageBackedSecurity extends BondSecurity {
54
55
  const ext = this.getMbsExtension();
55
56
  const v = ext ? ext.getPassThroughRate() : undefined;
56
57
  if (!v) return null;
57
- return new Decimal(v.getArbitraryPrecisionValue());
58
+ return toDecimalJs(withField('mbs_extension.pass_through_rate', () => decodeDecimal(v)));
58
59
  }
59
60
 
60
61
  /** Current pool factor (remaining UPB / original face). */
@@ -62,7 +63,7 @@ class MortgageBackedSecurity extends BondSecurity {
62
63
  const ext = this.getMbsExtension();
63
64
  const v = ext ? ext.getCurrentFactor() : undefined;
64
65
  if (!v) return null;
65
- return new Decimal(v.getArbitraryPrecisionValue());
66
+ return toDecimalJs(withField('mbs_extension.current_factor', () => decodeDecimal(v)));
66
67
  }
67
68
 
68
69
  /** Original face value at issuance. */
@@ -70,7 +71,7 @@ class MortgageBackedSecurity extends BondSecurity {
70
71
  const ext = this.getMbsExtension();
71
72
  const v = ext ? ext.getOriginalFaceValue() : undefined;
72
73
  if (!v) return null;
73
- return new Decimal(v.getArbitraryPrecisionValue());
74
+ return toDecimalJs(withField('mbs_extension.original_face_value', () => decodeDecimal(v)));
74
75
  }
75
76
 
76
77
  /** Current Unpaid Principal Balance. */
@@ -78,7 +79,7 @@ class MortgageBackedSecurity extends BondSecurity {
78
79
  const ext = this.getMbsExtension();
79
80
  const v = ext ? ext.getCurrentUpb() : undefined;
80
81
  if (!v) return null;
81
- return new Decimal(v.getArbitraryPrecisionValue());
82
+ return toDecimalJs(withField('mbs_extension.current_upb', () => decodeDecimal(v)));
82
83
  }
83
84
 
84
85
  /** PSA prepayment speed assumption. */
@@ -86,7 +87,7 @@ class MortgageBackedSecurity extends BondSecurity {
86
87
  const ext = this.getMbsExtension();
87
88
  const v = ext ? ext.getPsaSpeed() : undefined;
88
89
  if (!v) return null;
89
- return new Decimal(v.getArbitraryPrecisionValue());
90
+ return toDecimalJs(withField('mbs_extension.psa_speed', () => decodeDecimal(v)));
90
91
  }
91
92
 
92
93
  /**
@@ -28,7 +28,7 @@ const security_pb_1 = require("../../../fintekkers/models/security/security_pb")
28
28
  const product_type_pb_1 = require("../../../fintekkers/models/security/product_type_pb");
29
29
  const index_type_pb_1 = require("../../../fintekkers/models/security/index/index_type_pb");
30
30
  const date_1 = require("../utils/date");
31
- const decimal_js_1 = require("decimal.js");
31
+ const decimal_1 = require("../utils/decimal");
32
32
  /**
33
33
  * TIPS-specific accessors layered on top of BondSecurity. The inflation
34
34
  * fields live in the parallel tips_extension sub-message; bond_details
@@ -48,7 +48,7 @@ class TIPSBond extends BondSecurity_1.default {
48
48
  const v = ext ? ext.getBaseCpi() : undefined;
49
49
  if (!v)
50
50
  return null;
51
- return new decimal_js_1.Decimal(v.getArbitraryPrecisionValue());
51
+ return (0, decimal_1.toDecimalJs)((0, decimal_1.withField)('tips_extension.base_cpi', () => (0, decimal_1.decodeDecimal)(v)));
52
52
  }
53
53
  /** Reference date for the base CPI fixing. */
54
54
  getIndexDate() {
@@ -1 +1 @@
1
- {"version":3,"file":"TIPSBond.js","sourceRoot":"","sources":["TIPSBond.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAIwB;AACxB,iFAAoG;AACpG,yFAAuF;AACvF,2FAAyF;AACzF,wCAA2E;AAC3E,2CAAqC;AAErC;;;;GAIG;AACH,MAAM,QAAS,SAAQ,sBAAY;IACjC,YAAY,KAAoB;QAC9B,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEO,gBAAgB;;QACtB,OAAO,MAAA,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,mCAAI,SAAS,CAAC;IACpD,CAAC;IAED,2EAA2E;IAC3E,UAAU;QACR,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7C,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACpB,OAAO,IAAI,oBAAO,CAAC,CAAC,CAAC,0BAA0B,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,8CAA8C;IAC9C,YAAY;QACV,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/C,OAAO,IAAA,2BAAoB,EAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,gEAAgE;IAChE,qBAAqB;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,8BAAc,CAAC,kBAAkB,CAAC;IAC/E,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAIvB;QACC,MAAM,IAAI,GAAG,IAAA,+BAAgB,EAAC,IAAI,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,gCAAkB,EAAE;aAClC,UAAU,CAAC,IAAA,6BAAc,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACxC,YAAY,CAAC,IAAA,2BAAoB,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAClD,qBAAqB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAClD,OAAO,IAAI,2BAAa,EAAE;aACvB,cAAc,CAAC,kCAAgB,CAAC,IAAI,CAAC;aACrC,cAAc,CAAC,IAAI,CAAC;aACpB,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;CACF;AAED,kBAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"TIPSBond.js","sourceRoot":"","sources":["TIPSBond.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAIwB;AACxB,iFAAoG;AACpG,yFAAuF;AACvF,2FAAyF;AACzF,wCAA2E;AAE3E,8CAAyE;AAEzE;;;;GAIG;AACH,MAAM,QAAS,SAAQ,sBAAY;IACjC,YAAY,KAAoB;QAC9B,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEO,gBAAgB;;QACtB,OAAO,MAAA,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,mCAAI,SAAS,CAAC;IACpD,CAAC;IAED,2EAA2E;IAC3E,UAAU;QACR,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7C,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACpB,OAAO,IAAA,qBAAW,EAAC,IAAA,mBAAS,EAAC,yBAAyB,EAAE,GAAG,EAAE,CAAC,IAAA,uBAAa,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,8CAA8C;IAC9C,YAAY;QACV,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/C,OAAO,IAAA,2BAAoB,EAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,gEAAgE;IAChE,qBAAqB;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,8BAAc,CAAC,kBAAkB,CAAC;IAC/E,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAIvB;QACC,MAAM,IAAI,GAAG,IAAA,+BAAgB,EAAC,IAAI,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,gCAAkB,EAAE;aAClC,UAAU,CAAC,IAAA,6BAAc,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACxC,YAAY,CAAC,IAAA,2BAAoB,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAClD,qBAAqB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAClD,OAAO,IAAI,2BAAa,EAAE;aACvB,cAAc,CAAC,kCAAgB,CAAC,IAAI,CAAC;aACrC,cAAc,CAAC,IAAI,CAAC;aACpB,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;CACF;AAED,kBAAe,QAAQ,CAAC"}
@@ -8,6 +8,7 @@ import { ProductTypeProto } from '../../../fintekkers/models/security/product_ty
8
8
  import { IndexTypeProto } from '../../../fintekkers/models/security/index/index_type_pb';
9
9
  import { dateToLocalDateProto, localDateProtoToDate } from '../utils/date';
10
10
  import { Decimal } from 'decimal.js';
11
+ import { decodeDecimal, toDecimalJs, withField } from '../utils/decimal';
11
12
 
12
13
  /**
13
14
  * TIPS-specific accessors layered on top of BondSecurity. The inflation
@@ -28,7 +29,7 @@ class TIPSBond extends BondSecurity {
28
29
  const ext = this.getTipsExtension();
29
30
  const v = ext ? ext.getBaseCpi() : undefined;
30
31
  if (!v) return null;
31
- return new Decimal(v.getArbitraryPrecisionValue());
32
+ return toDecimalJs(withField('tips_extension.base_cpi', () => decodeDecimal(v)));
32
33
  }
33
34
 
34
35
  /** Reference date for the base CPI fixing. */
@@ -1,13 +1,10 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.requireValid = exports.validate = exports.COUPON_RATE = void 0;
7
- const decimal_js_1 = __importDefault(require("decimal.js"));
8
4
  const product_type_pb_1 = require("../../../fintekkers/models/security/product_type_pb");
9
5
  const errors_1 = require("../errors");
10
6
  const uuid_1 = require("../utils/uuid");
7
+ const decimal_1 = require("../utils/decimal");
11
8
  /**
12
9
  * Security input rules: JS counterpart of Java's SecurityRules
13
10
  * (docs/adr/typed-input-errors.md). Pure: proto in, violations out.
@@ -45,23 +42,24 @@ exports.requireValid = requireValid;
45
42
  * parse is skipped.
46
43
  */
47
44
  function tbillCouponViolation(proto, id) {
48
- var _a, _b;
45
+ var _a;
49
46
  if (proto.getProductType() !== product_type_pb_1.ProductTypeProto.TBILL)
50
47
  return undefined;
51
- const raw = (_b = (_a = proto.getBondDetails()) === null || _a === void 0 ? void 0 : _a.getCouponRate()) === null || _b === void 0 ? void 0 : _b.getArbitraryPrecisionValue();
52
- if (!raw)
48
+ const raw = (_a = proto.getBondDetails()) === null || _a === void 0 ? void 0 : _a.getCouponRate();
49
+ if (!raw || (0, decimal_1.isUnsetDecimal)(raw))
53
50
  return undefined;
54
51
  let coupon;
55
52
  try {
56
- coupon = new decimal_js_1.default(raw);
53
+ coupon = (0, decimal_1.decodeDecimal)(raw);
57
54
  }
58
55
  catch (e) {
59
- // decimal.js throws "[DecimalError] Invalid argument" on unparseable input.
60
- return undefined;
56
+ if (e instanceof errors_1.ModelValidationError)
57
+ return undefined;
58
+ throw e;
61
59
  }
62
- if (!coupon.isFinite() || coupon.isZero())
60
+ if (coupon.unscaled === BigInt(0))
63
61
  return undefined;
64
- return (0, errors_1.violation)(exports.COUPON_RATE, id, `coupon_rate must be null or 0 for a TBILL: coupon_rate=${raw}`);
62
+ return (0, errors_1.violation)(exports.COUPON_RATE, id, `coupon_rate must be null or 0 for a TBILL: coupon_rate=${(0, decimal_1.toCanonicalString)(coupon)}`);
65
63
  }
66
64
  /** The security's UUID, or undefined when it has none or it is not 16 bytes. */
67
65
  function objectIdOf(proto) {
@@ -1 +1 @@
1
- {"version":3,"file":"security_rules.js","sourceRoot":"","sources":["security_rules.ts"],"names":[],"mappings":";;;;;;AAAA,4DAAiC;AACjC,yFAAuF;AAGvF,sCAA4D;AAC5D,wCAAqC;AAErC;;;;;;;;GAQG;AAEU,QAAA,WAAW,GAAG,0BAA0B,CAAC;AAEtD;;;GAGG;AACH,SAAgB,QAAQ,CAAC,KAAoB;IACzC,IAAI,KAAK,CAAC,SAAS,EAAE;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,GAAG,GAA0B,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,IAAI,MAAM;QAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,GAAG,CAAC;AACf,CAAC;AAND,4BAMC;AAED,oFAAoF;AACpF,SAAgB,YAAY,CAAC,KAAoB;IAC7C,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,6BAAoB,CAAC,UAAU,CAAC,CAAC;AAC1E,CAAC;AAHD,oCAGC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,KAAoB,EAAE,EAAoB;;IACpE,IAAI,KAAK,CAAC,cAAc,EAAE,KAAK,kCAAgB,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IACxE,MAAM,GAAG,GAAG,MAAA,MAAA,KAAK,CAAC,cAAc,EAAE,0CAAE,aAAa,EAAE,0CAAE,0BAA0B,EAAE,CAAC;IAClF,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,IAAI,MAAe,CAAC;IACpB,IAAI;QACA,MAAM,GAAG,IAAI,oBAAO,CAAC,GAAG,CAAC,CAAC;KAC7B;IAAC,OAAO,CAAC,EAAE;QACR,4EAA4E;QAC5E,OAAO,SAAS,CAAC;KACpB;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,SAAS,CAAC;IAC5D,OAAO,IAAA,kBAAS,EAAC,mBAAW,EAAE,EAAE,EAAE,0DAA0D,GAAG,EAAE,CAAC,CAAC;AACvG,CAAC;AAED,gFAAgF;AAChF,SAAS,UAAU,CAAC,KAAoB;;IACpC,MAAM,GAAG,GAAG,MAAA,KAAK,CAAC,OAAO,EAAE,0CAAE,eAAe,EAAE,CAAC;IAC/C,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,WAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACxE,CAAC"}
1
+ {"version":3,"file":"security_rules.js","sourceRoot":"","sources":["security_rules.ts"],"names":[],"mappings":";;;AAAA,yFAAuF;AAGvF,sCAA4D;AAC5D,wCAAqC;AACrC,8CAAoG;AAEpG;;;;;;;;GAQG;AAEU,QAAA,WAAW,GAAG,0BAA0B,CAAC;AAEtD;;;GAGG;AACH,SAAgB,QAAQ,CAAC,KAAoB;IACzC,IAAI,KAAK,CAAC,SAAS,EAAE;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,GAAG,GAA0B,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,IAAI,MAAM;QAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,GAAG,CAAC;AACf,CAAC;AAND,4BAMC;AAED,oFAAoF;AACpF,SAAgB,YAAY,CAAC,KAAoB;IAC7C,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,6BAAoB,CAAC,UAAU,CAAC,CAAC;AAC1E,CAAC;AAHD,oCAGC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,KAAoB,EAAE,EAAoB;;IACpE,IAAI,KAAK,CAAC,cAAc,EAAE,KAAK,kCAAgB,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IACxE,MAAM,GAAG,GAAG,MAAA,KAAK,CAAC,cAAc,EAAE,0CAAE,aAAa,EAAE,CAAC;IACpD,IAAI,CAAC,GAAG,IAAI,IAAA,wBAAc,EAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAClD,IAAI,MAAsB,CAAC;IAC3B,IAAI;QACA,MAAM,GAAG,IAAA,uBAAa,EAAC,GAAG,CAAC,CAAC;KAC/B;IAAC,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,YAAY,6BAAoB;YAAE,OAAO,SAAS,CAAC;QACxD,MAAM,CAAC,CAAC;KACX;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACpD,OAAO,IAAA,kBAAS,EAAC,mBAAW,EAAE,EAAE,EAAE,0DAA0D,IAAA,2BAAiB,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC7H,CAAC;AAED,gFAAgF;AAChF,SAAS,UAAU,CAAC,KAAoB;;IACpC,MAAM,GAAG,GAAG,MAAA,KAAK,CAAC,OAAO,EAAE,0CAAE,eAAe,EAAE,CAAC;IAC/C,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,WAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACxE,CAAC"}
@@ -1,9 +1,9 @@
1
- import Decimal from 'decimal.js';
2
1
  import { ProductTypeProto } from '../../../fintekkers/models/security/product_type_pb';
3
2
  import { SecurityProto } from '../../../fintekkers/models/security/security_pb';
4
3
  import { FieldViolationProto } from '../../../fintekkers/requests/util/errors/field_violation_pb';
5
4
  import { ModelValidationError, violation } from '../errors';
6
5
  import { UUID } from '../utils/uuid';
6
+ import { decodeDecimal, isUnsetDecimal, toCanonicalString, CompactDecimal } from '../utils/decimal';
7
7
 
8
8
  /**
9
9
  * Security input rules: JS counterpart of Java's SecurityRules
@@ -42,17 +42,17 @@ export function requireValid(proto: SecurityProto): void {
42
42
  */
43
43
  function tbillCouponViolation(proto: SecurityProto, id: UUID | undefined): FieldViolationProto | undefined {
44
44
  if (proto.getProductType() !== ProductTypeProto.TBILL) return undefined;
45
- const raw = proto.getBondDetails()?.getCouponRate()?.getArbitraryPrecisionValue();
46
- if (!raw) return undefined;
47
- let coupon: Decimal;
45
+ const raw = proto.getBondDetails()?.getCouponRate();
46
+ if (!raw || isUnsetDecimal(raw)) return undefined;
47
+ let coupon: CompactDecimal;
48
48
  try {
49
- coupon = new Decimal(raw);
49
+ coupon = decodeDecimal(raw);
50
50
  } catch (e) {
51
- // decimal.js throws "[DecimalError] Invalid argument" on unparseable input.
52
- return undefined;
51
+ if (e instanceof ModelValidationError) return undefined;
52
+ throw e;
53
53
  }
54
- if (!coupon.isFinite() || coupon.isZero()) return undefined;
55
- return violation(COUPON_RATE, id, `coupon_rate must be null or 0 for a TBILL: coupon_rate=${raw}`);
54
+ if (coupon.unscaled === BigInt(0)) return undefined;
55
+ return violation(COUPON_RATE, id, `coupon_rate must be null or 0 for a TBILL: coupon_rate=${toCanonicalString(coupon)}`);
56
56
  }
57
57
 
58
58
  /** The security's UUID, or undefined when it has none or it is not 16 bytes. */
@@ -41,7 +41,6 @@ const strategy_allocation_pb_1 = require("../../../fintekkers/models/strategy/st
41
41
  const transaction_pb_1 = require("../../../fintekkers/models/transaction/transaction_pb");
42
42
  const field_pb_1 = require("../../../fintekkers/models/position/field_pb");
43
43
  const position_status_pb_1 = require("../../../fintekkers/models/position/position_status_pb");
44
- const decimal_value_pb_1 = require("../../../fintekkers/models/util/decimal_value_pb");
45
44
  const security_1 = __importDefault(require("../security/security"));
46
45
  const portfolio_1 = __importDefault(require("../portfolio/portfolio"));
47
46
  const Price_1 = __importDefault(require("../price/Price"));
@@ -52,7 +51,10 @@ const uuid_1 = require("../utils/uuid");
52
51
  const date_1 = require("../utils/date");
53
52
  const decimal_js_1 = require("decimal.js");
54
53
  const LinkCacheModule = __importStar(require("../../util/link-cache"));
54
+ const decimal_1 = require("../utils/decimal");
55
55
  const link_resolver_1 = __importDefault(require("../../util/link-resolver"));
56
+ const object_type_pb_1 = require("../../../fintekkers/models/util/object_type_pb");
57
+ const object_types_1 = require("../../util/object-types");
56
58
  class Transaction {
57
59
  constructor(protoOrParams) {
58
60
  if (protoOrParams instanceof transaction_pb_1.TransactionProto) {
@@ -131,8 +133,7 @@ class Transaction {
131
133
  */
132
134
  buildProtoFromParams(params) {
133
135
  const transactionProto = new transaction_pb_1.TransactionProto();
134
- transactionProto.setObjectClass('Transaction');
135
- transactionProto.setVersion('0.0.1');
136
+ (0, object_types_1.stamp)(transactionProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_TRANSACTION, 'Transaction', '0.0.1');
136
137
  transactionProto.setUuid(uuid_1.UUID.random().toUUIDProto());
137
138
  // Convert asOfDate to ZonedDateTime and set on transaction
138
139
  const asOfZonedDateTime = datetime_1.ZonedDateTime.from(params.asOfDate);
@@ -148,13 +149,10 @@ class Transaction {
148
149
  transactionProto.setTransactionType(params.transactionType.proto);
149
150
  transactionProto.setPortfolio(params.portfolio.proto);
150
151
  // Convert quantity to DecimalValueProto
151
- const quantityDecimal = new decimal_value_pb_1.DecimalValueProto();
152
- quantityDecimal.setArbitraryPrecisionValue(params.quantity.toString());
153
- transactionProto.setQuantity(quantityDecimal);
152
+ transactionProto.setQuantity((0, decimal_1.encodeDecimal)((0, decimal_1.fromDecimalJs)(params.quantity)));
154
153
  // Create and set an empty StrategyAllocationProto
155
154
  const strategyAllocationProto = new strategy_allocation_pb_1.StrategyAllocationProto();
156
- strategyAllocationProto.setObjectClass('StrategyAllocation');
157
- strategyAllocationProto.setVersion('0.0.1');
155
+ (0, object_types_1.stamp)(strategyAllocationProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_STRATEGY_ALLOCATION, 'StrategyAllocation', '0.0.1');
158
156
  transactionProto.setStrategyAllocation(strategyAllocationProto);
159
157
  // Set default position status
160
158
  transactionProto.setPositionStatus(position_status_pb_1.PositionStatusProto.EXECUTED);
@@ -300,7 +298,7 @@ class Transaction {
300
298
  const quantity = this.proto.getQuantity();
301
299
  if (!quantity)
302
300
  throw new Error("Quantity is required");
303
- return new decimal_js_1.Decimal(quantity.getArbitraryPrecisionValue());
301
+ return (0, decimal_1.toDecimalJs)((0, decimal_1.withField)('quantity', () => (0, decimal_1.decodeDecimal)(quantity)));
304
302
  }
305
303
  getIssuerName() {
306
304
  return this.getSecurity().getIssuerName();
@@ -376,7 +374,6 @@ class Transaction {
376
374
  * @returns The created cash transaction
377
375
  */
378
376
  static createCashTransaction(cashSecurity, parentTransaction) {
379
- var _a, _b;
380
377
  // Determine transaction type based on parent
381
378
  let cashTransactionType;
382
379
  const parentType = parentTransaction.getTransactionType().proto;
@@ -410,7 +407,7 @@ class Transaction {
410
407
  if (!faceValue)
411
408
  throw new Error("Face value is required for bond cash impact calculation");
412
409
  const priceProto = parentTransaction.getPrice();
413
- const priceValue = new decimal_js_1.Decimal(((_a = priceProto.getPrice()) === null || _a === void 0 ? void 0 : _a.getArbitraryPrecisionValue()) || '0');
410
+ const priceValue = priceOrZero(priceProto.getPrice());
414
411
  const scaledPrice = priceValue.mul(priceScaleFactor);
415
412
  const quantity = parentTransaction.getQuantity();
416
413
  const numberBondUnits = quantity.div(faceValue);
@@ -420,7 +417,7 @@ class Transaction {
420
417
  else {
421
418
  // For other securities: quantity * price
422
419
  const priceProto = parentTransaction.getPrice();
423
- const priceValue = new decimal_js_1.Decimal(((_b = priceProto.getPrice()) === null || _b === void 0 ? void 0 : _b.getArbitraryPrecisionValue()) || '0');
420
+ const priceValue = priceOrZero(priceProto.getPrice());
424
421
  bookAmount = parentTransaction.getQuantity().mul(priceValue);
425
422
  }
426
423
  // Get asOf ZonedDateTime
@@ -457,7 +454,6 @@ class Transaction {
457
454
  * @param cashSecurity - The cash security to use for the cash impact
458
455
  */
459
456
  static addMaturationTransaction(transaction, transactionType, cashSecurity) {
460
- var _a;
461
457
  // Lazy import to avoid circular dependency
462
458
  const BondSecurity = require('../security/BondSecurity').default;
463
459
  // Cast security to BondSecurity
@@ -471,7 +467,7 @@ class Transaction {
471
467
  settlementDate.setDate(settlementDate.getDate() + 2);
472
468
  // Get price as Decimal
473
469
  const priceProto = transaction.getPrice();
474
- const priceValue = new decimal_js_1.Decimal(((_a = priceProto.getPrice()) === null || _a === void 0 ? void 0 : _a.getArbitraryPrecisionValue()) || '0');
470
+ const priceValue = priceOrZero(priceProto.getPrice());
475
471
  // Get asOf ZonedDateTime
476
472
  const asOf = transaction.getAsOf();
477
473
  // Create maturation transaction
@@ -534,6 +530,16 @@ class Transaction {
534
530
  }
535
531
  }
536
532
  }
533
+ /**
534
+ * The price value, or 0 when the price is unset (kept from before LM-306 for
535
+ * the derived cash and maturation transactions only: unset is not zero
536
+ * elsewhere).
537
+ */
538
+ function priceOrZero(p) {
539
+ if (!p || (0, decimal_1.isUnsetDecimal)(p))
540
+ return new decimal_js_1.Decimal(0);
541
+ return (0, decimal_1.toDecimalJs)((0, decimal_1.withField)('price.price', () => (0, decimal_1.decodeDecimal)(p)));
542
+ }
537
543
  exports.default = Transaction;
538
544
  // private static Transaction createCashTransaction(CashSecurity cashSecurity, Transaction parentTransaction) {
539
545
  // TransactionType transactionType = null;
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.js","sourceRoot":"","sources":["transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["transaction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,yDAAqD;AACrD,oGAAkG;AAClG,uGAAqG;AACrG,0FAAyF;AACzF,2EAA0E;AAC1E,+FAA6F;AAG7F,oEAA4C;AAC5C,uEAA+C;AAC/C,2DAAmC;AACnC,yFAAuF;AAEvF,aAAa;AACb,gDAAkD;AAClD,wCAAqC;AACrC,wCAA2E;AAC3E,2CAAqC;AACrC,uEAAyD;AACzD,8CAAuH;AACvH,6EAAoD;AACpD,mFAAiF;AACjF,0DAAgD;AAahD,MAAM,WAAW;IAGf,YAAY,aAA8D;QACxE,IAAI,aAAa,YAAY,iCAAgB,EAAE;YAC7C,uEAAuE;YACvE,gEAAgE;YAChE,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE;gBAC9B,wBAAa,CAAC,YAAY,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,mBAAmB,CAAC,CAAC;aAC1E;YACD,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC;SAC7F;aAAM;YACL,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;SACvD;IACH,CAAC;IAED;;;;;;;;;OASG;IACK,MAAM,CAAC,iBAAiB,CAAC,KAAuB;QACtD,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,EAAE;YAAE,OAAO,KAAK,CAAC;QAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;QACjE,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QACxD,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;QAE/C,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAG,CAAC;QACvC,IAAI,WAAW;YAAE,WAAW,CAAC,OAAO,CAAC,WAAI,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAClE,IAAI,WAAW;YAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QAChE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;OAUG;IACK,MAAM,CAAC,oBAAoB,CAAC,KAAuB;QACzD,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE;YAAE,OAAO,KAAK,CAAC;QACpD,MAAM,mBAAmB,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,QAAQ,CAAC,qBAAqB,EAAE,CAAC;QAClD,MAAM,mBAAmB,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACxG,IAAI,CAAC,mBAAmB,IAAI,CAAC,mBAAmB;YAAE,OAAO,KAAK,CAAC;QAE/D,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC7B,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,EAAG,CAAC;QAC7C,IAAI,mBAAmB;YAAE,cAAc,CAAC,OAAO,CAAC,WAAI,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7E,IAAI,mBAAmB;YAAE,cAAc,CAAC,qBAAqB,EAAG,CAAC,OAAO,CAAC,WAAI,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACtG,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,QAAuB;QAClD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;QAChC,OAAO,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,MAAoC;QAC/D,MAAM,gBAAgB,GAAG,IAAI,iCAAgB,EAAE,CAAC;QAChD,IAAA,oBAAK,EAAC,gBAAgB,EAAE,gCAAe,CAAC,uBAAuB,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QACzF,gBAAgB,CAAC,OAAO,CAAC,WAAI,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAEtD,2DAA2D;QAC3D,MAAM,iBAAiB,GAAG,wBAAa,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9D,gBAAgB,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC;QAEtD,yDAAyD;QACzD,gBAAgB,CAAC,YAAY,CAAC,IAAA,2BAAoB,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QACtE,gBAAgB,CAAC,iBAAiB,CAAC,IAAA,2BAAoB,EAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;QAEhF,mDAAmD;QACnD,MAAM,KAAK,GAAG,eAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAC7E,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEvC,kEAAkE;QAClE,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACpD,gBAAgB,CAAC,kBAAkB,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAClE,gBAAgB,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAEtD,wCAAwC;QACxC,gBAAgB,CAAC,WAAW,CAAC,IAAA,uBAAa,EAAC,IAAA,uBAAa,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE5E,kDAAkD;QAClD,MAAM,uBAAuB,GAAG,IAAI,gDAAuB,EAAE,CAAC;QAC9D,IAAA,oBAAK,EAAC,uBAAuB,EAAE,gCAAe,CAAC,+BAA+B,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAC;QAC/G,gBAAgB,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,CAAC;QAEhE,8BAA8B;QAC9B,gBAAgB,CAAC,iBAAiB,CAAC,wCAAmB,CAAC,QAAQ,CAAC,CAAC;QAEjE,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,QAAQ;;QACN,IAAI;YACF,MAAM,OAAO,GACX,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,0CAAE,QAAQ,EAAE,mCAAI,MAAM,CAAC;YAEhD,MAAM,SAAS,GACb,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,0CAAE,QAAQ,EAAE,mCAAI,MAAM,CAAC;YAElD,MAAM,kBAAkB,GACtB,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,0CAAE,QAAQ,EAAE,mCAAI,MAAM,CAAC;YAE3D,OAAO,GAAG,CAAA,4BAA6B,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,KAAK;gBACpG,aAAa,MAAA,MAAA,IAAI,CAAC,YAAY,EAAE,0CAAE,QAAQ,EAAE,mCAAI,MAAM,cAAc,IAAI,CAAC,kBAAkB,EAAE,YAAY,IAAI,CAAC,QAAQ,EAAE,eAAe,IAAI,CAAC,WAAW,EAAE,KAAK;gBAC9J,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,gBAAgB,IAAI,CAAC,YAAY,EAAE,CAAC,gBAAgB,EAAE,aAAa,IAAI,CAAC,WAAW,EAAE,CAAC,aAAa,EAAE,KAAK;gBAC3I,aAAa,SAAS,cAAc,OAAO,eAAe,kBAAkB,GAAG,CAAC;SACnF;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,gDAAgD,CAAC,EAAE,CAAC;SAC5D;IACH,CAAC;IAED,SAAS;QACP,OAAO,CAAC,qBAAU,CAAC,EAAE,EAAE,qBAAU,CAAC,WAAW,EAAE,qBAAU,CAAC,KAAK,EAAE,qBAAU,CAAC,WAAW,EAAE,qBAAU,CAAC,UAAU,CAAC,CAAC;IAClH,CAAC;IAED,QAAQ,CAAC,KAAiB;QACxB,QAAQ,KAAK,EAAE;YACb,KAAK,qBAAU,CAAC,EAAE,CAAC;YACnB,KAAK,qBAAU,CAAC,WAAW;gBACzB,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;YACtB,KAAK,qBAAU,CAAC,KAAK;gBACnB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YACxB,KAAK,qBAAU,CAAC,WAAW;gBACzB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,aAAa,EAAE,CAAC;YAC5C,KAAK,qBAAU,CAAC,aAAa;gBAC3B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,eAAe,EAAE,CAAC;YAC9C,KAAK,qBAAU,CAAC,YAAY;gBAC1B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,CAAC;YAC7C,KAAK,qBAAU,CAAC,UAAU,CAAC,CAAC;gBAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,CAAC;gBAChD,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;aACvC;YACD,KAAK,qBAAU,CAAC,KAAK,CAAC;YACtB,KAAK,qBAAU,CAAC,cAAc;gBAC5B,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACzC,KAAK,qBAAU,CAAC,aAAa;gBAC3B,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACzC;gBACE,MAAM,IAAI,KAAK,CAAC,yCAAyC,KAAK,EAAE,CAAC,CAAC;SACrE;IACH,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;IAChC,CAAC;IAED;;;;;;OAMG;IACG,OAAO,CAAC,QAAuB;;;YACnC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;gBAAE,OAAO,IAAI,CAAC;YACzC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACvC,IAAI,CAAC,SAAS,EAAE;gBACd,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;aAC7E;YACD,MAAM,IAAI,GAAG,WAAI,CAAC,WAAW,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC;YAC3D,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,mCAAI,SAAS,CAAC;YACpD,MAAM,CAAC,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,uBAAY,CAAC,UAAU,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACzD,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC5B,OAAO,IAAI,CAAC;;KACb;IAED;;;;;;OAMG;IACK,cAAc;QACpB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YAAE,OAAO;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACvC,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACjG,MAAM,OAAO,GAAG,WAAI,CAAC,WAAW,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,wBAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7D,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9D,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;YACpB,OAAO;SACR;QACD,MAAM,IAAI,KAAK,CACb,oDAAoD,OAAO,GAAG;cAC5D,gEAAgE;cAChE,gCAAgC;cAChC,sCAAsC,CACzC,CAAC;IACJ,CAAC;IAED,KAAK;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC/C,OAAO,WAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,OAAO;QACL,OAAO,wBAAa,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,mBAAmB,CAAC,CAAC;IAC/E,CAAC;IAED,YAAY;QACV,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAC5C,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACzD,OAAO,IAAI,mBAAS,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED,WAAW;QACT,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACvD,OAAO,kBAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,qBAAqB;QACnB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC;QACtD,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACnE,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACjD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,WAAW;QACT,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACvD,OAAO,IAAA,qBAAW,EAAC,IAAA,mBAAS,EAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAA,uBAAa,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,aAAa,EAAE,CAAC;IAC5C,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,sBAAsB,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,YAAY;QACV,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,IAAA,2BAAoB,EAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,IAAA,2BAAoB,EAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,IAAI,kCAAe,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,YAAY;QACV,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;IACnC,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;IACxC,CAAC;IAED,uBAAuB;QACrB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACH,mBAAmB,CAAC,KAAkB;QACpC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,kCAAgB,CAAC,QAAQ,CAAC;IACjF,CAAC;IAED;;;OAGG;IACH,kBAAkB;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAChD,KAAK,MAAM,UAAU,IAAI,QAAQ,EAAE;YACjC,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC;YAC1C,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE;gBAC1B,OAAO,KAAK,CAAC;aACd;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,KAAkB;QACvB,IAAI,KAAK,YAAY,WAAW,EAAE;YAChC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;SAC3C;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,qBAAqB,CAAC,YAAsB,EAAE,iBAA8B;QACjF,6CAA6C;QAC7C,IAAI,mBAAoC,CAAC;QACzC,MAAM,UAAU,GAAG,iBAAiB,CAAC,kBAAkB,EAAE,CAAC,KAAK,CAAC;QAEhE,IAAI,UAAU,KAAK,0CAAoB,CAAC,GAAG,IAAI,UAAU,KAAK,0CAAoB,CAAC,iBAAiB,EAAE;YACpG,mBAAmB,GAAG,IAAI,kCAAe,CAAC,0CAAoB,CAAC,UAAU,CAAC,CAAC;SAC5E;aAAM,IAAI,UAAU,KAAK,0CAAoB,CAAC,IAAI,IAAI,UAAU,KAAK,0CAAoB,CAAC,UAAU,EAAE;YACrG,mBAAmB,GAAG,IAAI,kCAAe,CAAC,0CAAoB,CAAC,OAAO,CAAC,CAAC;SACzE;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,wDAAwD,0CAAoB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;SAC7G;QAED,wBAAwB;QACxB,IAAI,UAAmB,CAAC;QACxB,MAAM,YAAY,GAAG,iBAAiB,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QAE5E,IAAI,YAAY,KAAK,kCAAgB,CAAC,aAAa;YACjD,YAAY,KAAK,kCAAgB,CAAC,IAAI;YACtC,YAAY,KAAK,kCAAgB,CAAC,YAAY,EAAE;YAChD,sBAAsB;YACtB,IAAI,UAAU,KAAK,0CAAoB,CAAC,UAAU,IAAI,UAAU,KAAK,0CAAoB,CAAC,iBAAiB,EAAE;gBAC3G,qDAAqD;gBACrD,UAAU,GAAG,iBAAiB,CAAC,WAAW,EAAE,CAAC;aAC9C;iBAAM;gBACL,8FAA8F;gBAC9F,2CAA2C;gBAC3C,MAAM,YAAY,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC,OAAO,CAAC;gBACjE,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC;gBAE7E,MAAM,gBAAgB,GAAG,YAAY,CAAC,mBAAmB,EAAE,CAAC;gBAC5D,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;gBAC9C,IAAI,CAAC,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;gBAE3F,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,EAAE,CAAC;gBAChD,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACtD,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAErD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,EAAE,CAAC;gBACjD,MAAM,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAEhD,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;aAC/C;SACF;aAAM;YACL,yCAAyC;YACzC,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,EAAE,CAAC;YAChD,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;YACtD,UAAU,GAAG,iBAAiB,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SAC9D;QAED,yBAAyB;QACzB,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,EAAE,CAAC;QAEzC,MAAM,SAAS,GAAG,iBAAiB,CAAC,YAAY,EAAE,CAAC;QACnD,MAAM,cAAc,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,CAAC;QAC7D,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACtF,IAAI,CAAC,cAAc;YAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAEhG,4DAA4D;QAC5D,MAAM,eAAe,GAAG,IAAI,WAAW,CAAC;YACtC,SAAS;YACT,cAAc;YACd,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE;YACtC,KAAK,EAAE,IAAI,oBAAO,CAAC,KAAK,CAAC;YACzB,QAAQ,EAAE,YAAY;YACtB,eAAe,EAAE,mBAAmB;YACpC,SAAS,EAAE,iBAAiB,CAAC,YAAY,EAAE;YAC3C,QAAQ,EAAE,UAAU;SACrB,CAAC,CAAC;QAEH,oCAAoC;QACpC,eAAe,CAAC,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC/E,eAAe,CAAC,KAAK,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,CAAC,CAAC;QACvF,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC;QAErE,yBAAyB;QACzB,iBAAiB,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;QAEvD,OAAO,eAAe,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,wBAAwB,CAAC,WAAwB,EAAE,eAAgC,EAAE,YAAsB;QAChH,2CAA2C;QAC3C,MAAM,YAAY,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC,OAAO,CAAC;QAEjE,gCAAgC;QAChC,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC;QAEvE,oBAAoB;QACpB,MAAM,YAAY,GAAG,YAAY,CAAC,eAAe,EAAE,CAAC;QACpD,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAEnG,oDAAoD;QACpD,MAAM,cAAc,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;QACxD,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAErD,uBAAuB;QACvB,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEtD,yBAAyB;QACzB,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC;QAEnC,gCAAgC;QAChC,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC;YACjC,SAAS,EAAE,YAAY;YACvB,cAAc;YACd,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE;YACtC,KAAK,EAAE,UAAU;YACjB,QAAQ,EAAE,WAAW,CAAC,WAAW,EAAE;YACnC,eAAe,EAAE,eAAe;YAChC,SAAS,EAAE,WAAW,CAAC,YAAY,EAAE;YACrC,QAAQ,EAAE,WAAW,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;QAEH,oCAAoC;QACpC,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACpE,UAAU,CAAC,KAAK,CAAC,qBAAqB,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAC5E,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;QAE1D,2BAA2B;QAC3B,WAAW,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAE5C,gDAAgD;QAChD,WAAW,CAAC,aAAa,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACtD,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,sBAAsB,CAAC,WAAwB,EAAE,YAAsB;QAC5E,MAAM,YAAY,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QACtE,MAAM,MAAM,GAAG,YAAY,KAAK,kCAAgB,CAAC,aAAa;YAC5D,YAAY,KAAK,kCAAgB,CAAC,YAAY;YAC9C,YAAY,KAAK,kCAAgB,CAAC,IAAI,CAAC;QAEzC,MAAM,eAAe,GAAG,WAAW,CAAC,kBAAkB,EAAE,CAAC,KAAK,CAAC;QAC/D,MAAM,iBAAiB,GAAG,eAAe,KAAK,0CAAoB,CAAC,GAAG,CAAC;QACvE,MAAM,kBAAkB,GAAG,eAAe,KAAK,0CAAoB,CAAC,IAAI,CAAC;QACzE,MAAM,wBAAwB,GAAG,eAAe,KAAK,0CAAoB,CAAC,UAAU;YAClF,eAAe,KAAK,0CAAoB,CAAC,iBAAiB,CAAC;QAE7D,IAAI,MAAM,IAAI,kBAAkB,IAAI,wBAAwB,EAAE;YAC5D,WAAW,CAAC,wBAAwB,CAAC,WAAW,EAAE,IAAI,kCAAe,CAAC,0CAAoB,CAAC,iBAAiB,CAAC,EAAE,YAAY,CAAC,CAAC;SAC9H;QAED,IAAI,MAAM,IAAI,iBAAiB,IAAI,wBAAwB,EAAE;YAC3D,WAAW,CAAC,wBAAwB,CAAC,WAAW,EAAE,IAAI,kCAAe,CAAC,0CAAoB,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC;SACvH;IACH,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,WAAwB,EAAE,YAAsB;QACnE,2CAA2C;QAC3C,IAAI,WAAW,CAAC,kBAAkB,EAAE,IAAI,IAAI,EAAE;YAC5C,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;SAC/D;QAED,mDAAmD;QACnD,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,EAAE;YACjC,WAAW,CAAC,qBAAqB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;SAC9D;IACH,CAAC;CACF;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,CAAgC;IACnD,IAAI,CAAC,CAAC,IAAI,IAAA,wBAAc,EAAC,CAAC,CAAC;QAAE,OAAO,IAAI,oBAAO,CAAC,CAAC,CAAC,CAAC;IACnD,OAAO,IAAA,qBAAW,EAAC,IAAA,mBAAS,EAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAA,uBAAa,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,kBAAe,WAAW,CAAC;AAG3B,+GAA+G;AAC/G,4CAA4C;AAC5C,qDAAqD;AACrD,kBAAkB;AAClB,gCAAgC;AAChC,0DAA0D;AAC1D,mBAAmB;AACnB,mBAAmB;AACnB,yBAAyB;AACzB,uDAAuD;AACvD,mBAAmB;AACnB,iBAAiB;AACjB,8DAA8D;AAC9D,MAAM;AAEN,kCAAkC;AAElC,+DAA+D;AAC/D,4BAA4B;AAC5B,yFAAyF;AACzF,uGAAuG;AACvG,8DAA8D;AAC9D,qBAAqB;AACrB,8EAA8E;AAC9E,2CAA2C;AAC3C,+EAA+E;AAC/E,sHAAsH;AACtH,wGAAwG;AACxG,6GAA6G;AAC7G,gGAAgG;AAEhG,oEAAoE;AACpE,cAAc;AACd,mBAAmB;AACnB,iBAAiB;AACjB,4GAA4G;AAC5G,MAAM;AAEN,mDAAmD;AACnD,iEAAiE;AACjE,kCAAkC;AAClC,8CAA8C;AAC9C,mDAAmD;AACnD,wBAAwB;AACxB,0BAA0B;AAC1B,6BAA6B;AAC7B,kBAAkB;AAClB,yCAAyC;AACzC,+BAA+B;AAC/B,8CAA8C;AAC9C,oDAAoD;AACpD,8EAA8E;AAE9E,qFAAqF;AACrF,4DAA4D;AAE5D,6BAA6B;AAC7B,IAAI;AAEJ,MAAM;AACN,0GAA0G;AAC1G,wDAAwD;AACxD,IAAI;AACJ,8CAA8C;AAC9C,KAAK;AACL,uEAAuE;AACvE,kHAAkH;AAClH,uGAAuG;AACvG,gGAAgG;AAChG,yFAAyF;AACzF,8FAA8F;AAC9F,gGAAgG;AAChG,4GAA4G;AAC5G,4FAA4F;AAG5F,mEAAmE;AACnE,kFAAkF;AAClF,MAAM;AAEN,kEAAkE;AAClE,2EAA2E;AAC3E,WAAW;AACX,iBAAiB;AAEjB,uEAAuE;AACvE,wEAAwE;AACxE,+EAA+E;AAC/E,8DAA8D;AAE9D,mHAAmH;AACnH,mHAAmH;AACnH,eAAe;AAEf,2DAA2D;AAC3D,sDAAsD;AAEtD,0DAA0D;AAC1D,uEAAuE;AAEvE,6GAA6G;AAE7G,oHAAoH;AACpH,kBAAkB;AAElB,YAAY;AACZ,MAAM;AACN,IAAI;AAEJ,2GAA2G;AAC3G,0EAA0E;AAE1E,8CAA8C;AAC9C,mFAAmF;AACnF,4CAA4C;AAC5C,wDAAwD;AACxD,kEAAkE;AAClE,kEAAkE;AAClE,mCAAmC;AACnC,gGAAgG;AAChG,qFAAqF;AACrF,OAAO;AAEP,iDAAiD;AAEjD,+BAA+B;AAC/B,IAAI;AAEJ,8DAA8D;AAC9D,kDAAkD;AAClD,kFAAkF;AAClF,MAAM;AAEN,kEAAkE;AAClE,8CAA8C;AAC9C,gGAAgG;AAChG,yEAAyE;AACzE,mEAAmE;AACnE,MAAM;AACN,IAAI"}
@@ -20,7 +20,10 @@ import { UUID } from "../utils/uuid";
20
20
  import { dateToLocalDateProto, localDateProtoToDate } from "../utils/date";
21
21
  import { Decimal } from "decimal.js";
22
22
  import * as LinkCacheModule from "../../util/link-cache";
23
+ import { decodeDecimal, encodeDecimal, fromDecimalJs, isUnsetDecimal, toDecimalJs, withField } from "../utils/decimal";
23
24
  import LinkResolver from "../../util/link-resolver";
25
+ import { ObjectTypeProto } from '../../../fintekkers/models/util/object_type_pb';
26
+ import { stamp } from '../../util/object-types';
24
27
 
25
28
  interface TransactionConstructorParams {
26
29
  tradeDate: Date;
@@ -110,8 +113,7 @@ class Transaction {
110
113
  */
111
114
  private buildProtoFromParams(params: TransactionConstructorParams): TransactionProto {
112
115
  const transactionProto = new TransactionProto();
113
- transactionProto.setObjectClass('Transaction');
114
- transactionProto.setVersion('0.0.1');
116
+ stamp(transactionProto, ObjectTypeProto.OBJECT_TYPE_TRANSACTION, 'Transaction', '0.0.1');
115
117
  transactionProto.setUuid(UUID.random().toUUIDProto());
116
118
 
117
119
  // Convert asOfDate to ZonedDateTime and set on transaction
@@ -132,14 +134,11 @@ class Transaction {
132
134
  transactionProto.setPortfolio(params.portfolio.proto);
133
135
 
134
136
  // Convert quantity to DecimalValueProto
135
- const quantityDecimal = new DecimalValueProto();
136
- quantityDecimal.setArbitraryPrecisionValue(params.quantity.toString());
137
- transactionProto.setQuantity(quantityDecimal);
137
+ transactionProto.setQuantity(encodeDecimal(fromDecimalJs(params.quantity)));
138
138
 
139
139
  // Create and set an empty StrategyAllocationProto
140
140
  const strategyAllocationProto = new StrategyAllocationProto();
141
- strategyAllocationProto.setObjectClass('StrategyAllocation');
142
- strategyAllocationProto.setVersion('0.0.1');
141
+ stamp(strategyAllocationProto, ObjectTypeProto.OBJECT_TYPE_STRATEGY_ALLOCATION, 'StrategyAllocation', '0.0.1');
143
142
  transactionProto.setStrategyAllocation(strategyAllocationProto);
144
143
 
145
144
  // Set default position status
@@ -294,7 +293,7 @@ class Transaction {
294
293
  this.ensureHydrated();
295
294
  const quantity = this.proto.getQuantity();
296
295
  if (!quantity) throw new Error("Quantity is required");
297
- return new Decimal(quantity.getArbitraryPrecisionValue());
296
+ return toDecimalJs(withField('quantity', () => decodeDecimal(quantity)));
298
297
  }
299
298
 
300
299
  getIssuerName(): string {
@@ -416,7 +415,7 @@ class Transaction {
416
415
  if (!faceValue) throw new Error("Face value is required for bond cash impact calculation");
417
416
 
418
417
  const priceProto = parentTransaction.getPrice();
419
- const priceValue = new Decimal(priceProto.getPrice()?.getArbitraryPrecisionValue() || '0');
418
+ const priceValue = priceOrZero(priceProto.getPrice());
420
419
  const scaledPrice = priceValue.mul(priceScaleFactor);
421
420
 
422
421
  const quantity = parentTransaction.getQuantity();
@@ -427,7 +426,7 @@ class Transaction {
427
426
  } else {
428
427
  // For other securities: quantity * price
429
428
  const priceProto = parentTransaction.getPrice();
430
- const priceValue = new Decimal(priceProto.getPrice()?.getArbitraryPrecisionValue() || '0');
429
+ const priceValue = priceOrZero(priceProto.getPrice());
431
430
  bookAmount = parentTransaction.getQuantity().mul(priceValue);
432
431
  }
433
432
 
@@ -485,7 +484,7 @@ class Transaction {
485
484
 
486
485
  // Get price as Decimal
487
486
  const priceProto = transaction.getPrice();
488
- const priceValue = new Decimal(priceProto.getPrice()?.getArbitraryPrecisionValue() || '0');
487
+ const priceValue = priceOrZero(priceProto.getPrice());
489
488
 
490
489
  // Get asOf ZonedDateTime
491
490
  const asOf = transaction.getAsOf();
@@ -560,6 +559,16 @@ class Transaction {
560
559
  }
561
560
  }
562
561
 
562
+ /**
563
+ * The price value, or 0 when the price is unset (kept from before LM-306 for
564
+ * the derived cash and maturation transactions only: unset is not zero
565
+ * elsewhere).
566
+ */
567
+ function priceOrZero(p: DecimalValueProto | undefined): Decimal {
568
+ if (!p || isUnsetDecimal(p)) return new Decimal(0);
569
+ return toDecimalJs(withField('price.price', () => decodeDecimal(p)));
570
+ }
571
+
563
572
  export default Transaction;
564
573
 
565
574
 
@@ -9,6 +9,7 @@ const transaction_type_1 = require("./transaction_type");
9
9
  const transaction_type_pb_1 = require("../../../fintekkers/models/transaction/transaction_type_pb");
10
10
  const position_status_pb_1 = require("../../../fintekkers/models/position/position_status_pb");
11
11
  const security_1 = __importDefault(require("../security/security"));
12
+ const portfolio_1 = __importDefault(require("../portfolio/portfolio"));
12
13
  const security_pb_1 = require("../../../fintekkers/models/security/security_pb");
13
14
  const local_date_pb_1 = require("../../../fintekkers/models/util/local_date_pb");
14
15
  const decimal_value_pb_1 = require("../../../fintekkers/models/util/decimal_value_pb");
@@ -21,6 +22,7 @@ const decimal_js_1 = require("decimal.js");
21
22
  const errors_1 = require("../errors");
22
23
  const transaction_pb_1 = require("../../../fintekkers/models/transaction/transaction_pb");
23
24
  const portfolio_test_1 = require("../portfolio/portfolio.test");
25
+ const portfolio_pb_1 = require("../../../fintekkers/models/portfolio/portfolio_pb");
24
26
  test('test Transaction constructor with parameters', () => {
25
27
  testTransactionConstructor();
26
28
  });
@@ -136,4 +138,31 @@ test('a link-mode TransactionProto with no as_of still builds', () => {
136
138
  const txn = new transaction_1.default(link);
137
139
  expect(txn.proto.hasAsOf()).toBe(false);
138
140
  });
141
+ // LM-271: a link portfolio with no as_of serializes, on its own and inside a
142
+ // Transaction, and as_of stays unset (never defaulted).
143
+ test('link portfolio with no as_of serializes', () => {
144
+ const uuid = uuid_1.UUID.random();
145
+ const link = new portfolio_pb_1.PortfolioProto();
146
+ link.setUuid(uuid.toUUIDProto());
147
+ link.setIsLink(true);
148
+ const portfolio = new portfolio_1.default(link);
149
+ const copy = portfolio_pb_1.PortfolioProto.deserializeBinary(portfolio.proto.serializeBinary());
150
+ assert(copy.getIsLink());
151
+ assert(!copy.hasAsOf());
152
+ const transaction = new transaction_1.default({
153
+ tradeDate: new Date(2024, 0, 15),
154
+ settlementDate: new Date(2024, 0, 17),
155
+ asOfDate: new Date(2024, 0, 15, 10, 30, 0),
156
+ price: new decimal_js_1.Decimal('100'),
157
+ security: dummySecurity(),
158
+ transactionType: dummyTransactionType(),
159
+ portfolio,
160
+ quantity: new decimal_js_1.Decimal('10'),
161
+ });
162
+ const txnCopy = transaction_pb_1.TransactionProto.deserializeBinary(transaction.proto.serializeBinary());
163
+ const txnPortfolio = txnCopy.getPortfolio();
164
+ assert(txnPortfolio.getIsLink());
165
+ assert(!txnPortfolio.hasAsOf());
166
+ assert(uuid_1.UUID.fromU8Array(txnPortfolio.getUuid().getRawUuid_asU8()).toString() === uuid.toString());
167
+ });
139
168
  //# sourceMappingURL=transaction_constructor.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transaction_constructor.test.js","sourceRoot":"","sources":["transaction_constructor.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction_constructor.test.js","sourceRoot":"","sources":["transaction_constructor.test.ts"],"names":[],"mappings":"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"}