@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
@@ -1,193 +1,34 @@
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
- exports.resetWarningsForTests = exports.upgrade = exports.readVersion = exports.readType = exports.stamp = exports.parseVersion = exports.ownType = exports.fromLegacy = void 0;
3
+ exports.readVersion = exports.readType = exports.stamp = exports.SCHEMA_VERSION = void 0;
4
+ const version_pb_1 = require("../../fintekkers/models/util/version_pb");
5
+ /** The schema version `stamp` writes. Not the library release. */
6
+ exports.SCHEMA_VERSION = [0, 0, 1];
7
7
  /**
8
- * Compact object type and version (LM-297), stage 1: write both forms, read the new one.
9
- *
10
- * Every message with `string object_class = 1` and `string version = 2` also
11
- * carries `ObjectTypeProto object_type = 1001` and `uint32 version_major /
12
- * version_minor / version_patch = 1002-1004`. Writers call `stamp`, which sets
13
- * the strings and the new fields. Readers call `readType` / `readVersion` (or
14
- * `upgrade`), which use the new fields and fall back to the deprecated strings,
15
- * logging one `console.warn` per distinct pair of strings. A fallback never
16
- * throws: an unknown object_class gives OBJECT_TYPE_UNKNOWN and a malformed
17
- * version gives 0.0.0. Empty strings are the proto3 default and fall back
18
- * silently.
19
- *
20
- * google-protobuf cannot read the `(legacy_object_class)` options at runtime,
21
- * so the string map comes from object-type-legacy.json, generated by
22
- * scripts/gen-object-type-legacy-map.py. See docs/adr/compact_object_type_and_version.md.
8
+ * Sets object_type and version (`SCHEMA_VERSION`) on `message`; returns it.
9
+ * `objectType` is the message's own ObjectTypeProto value.
23
10
  */
24
- const object_type_pb_1 = require("../../fintekkers/models/util/object_type_pb");
25
- const object_type_legacy_json_1 = __importDefault(require("./object-type-legacy.json"));
26
- const UINT32_MAX = 0xffffffff;
27
- const VERSION_PATTERN = /^[0-9]+\.[0-9]+\.[0-9]+$/;
28
- function buildLegacyMap() {
29
- const map = new Map();
30
- for (const [legacy, name] of Object.entries(object_type_legacy_json_1.default.legacy_object_class)) {
31
- if (!Object.prototype.hasOwnProperty.call(object_type_pb_1.ObjectTypeProto, name)) {
32
- throw new Error(`object-type-legacy.json names ${name}, which ObjectTypeProto lacks: regenerate it`);
33
- }
34
- map.set(legacy, object_type_pb_1.ObjectTypeProto[name]);
35
- }
36
- return map;
37
- }
38
- const LEGACY = buildLegacyMap();
39
- const warned = new Set();
40
- const UNKNOWN_NAME = Object.keys(object_type_pb_1.ObjectTypeProto)
41
- .find((name) => object_type_pb_1.ObjectTypeProto[name] === object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_UNKNOWN);
42
- const PREFIX = UNKNOWN_NAME.slice(0, -'UNKNOWN'.length);
43
- const CAMEL_BOUNDARY = /(?<=[a-z0-9])(?=[A-Z])|(?<=[A-Z])(?=[A-Z][a-z])/g;
44
- const ownTypes = new WeakMap();
45
- /** The ObjectTypeProto value an object_class string stands for, or OBJECT_TYPE_UNKNOWN. */
46
- function fromLegacy(objectClass) {
47
- var _a;
48
- return (_a = LEGACY.get(objectClass)) !== null && _a !== void 0 ? _a : object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_UNKNOWN;
49
- }
50
- exports.fromLegacy = fromLegacy;
51
- /**
52
- * The ObjectTypeProto value named for a message type, or OBJECT_TYPE_UNKNOWN.
53
- * Uses the enum's naming rule: `QuerySecurityRequestProto` ->
54
- * OBJECT_TYPE_QUERY_SECURITY_REQUEST.
55
- */
56
- function ownType(messageName) {
57
- const base = messageName.endsWith('Proto') ? messageName.slice(0, -'Proto'.length) : messageName;
58
- const name = PREFIX + base.replace(CAMEL_BOUNDARY, '_').toUpperCase();
59
- return Object.prototype.hasOwnProperty.call(object_type_pb_1.ObjectTypeProto, name)
60
- ? object_type_pb_1.ObjectTypeProto[name]
61
- : object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_UNKNOWN;
62
- }
63
- exports.ownType = ownType;
64
- /**
65
- * The generated class name of `message`. google-protobuf's classes are
66
- * anonymous functions, but each generated module exports its classes under
67
- * the global `proto` namespace by full name, so search that.
68
- */
69
- function messageName(ctor, namespace, depth = 0) {
70
- if (typeof namespace !== 'object' || namespace === null || depth > 8)
71
- return undefined;
72
- for (const [key, value] of Object.entries(namespace)) {
73
- if (value === ctor)
74
- return key;
75
- const found = messageName(ctor, value, depth + 1);
76
- if (found !== undefined)
77
- return found;
78
- }
79
- return undefined;
80
- }
81
- function ownTypeOf(message) {
82
- const ctor = message.constructor;
83
- let type = ownTypes.get(ctor);
84
- if (type === undefined) {
85
- const name = messageName(ctor, globalThis.proto);
86
- type = name === undefined ? object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_UNKNOWN : ownType(name);
87
- ownTypes.set(ctor, type);
88
- }
89
- return type;
90
- }
91
- /** '1.2.3' -> [1, 2, 3]; null unless exactly three decimal uint32 parts. */
92
- function parseVersion(version) {
93
- if (!VERSION_PATTERN.test(version))
94
- return null;
95
- const parts = version.split('.').map(Number);
96
- if (parts.some((p) => p > UINT32_MAX))
97
- return null;
98
- return [parts[0], parts[1], parts[2]];
99
- }
100
- exports.parseVersion = parseVersion;
101
- /**
102
- * Sets object_class / version and their compact form on `message`; returns it.
103
- * `objectType` is the message's own ObjectTypeProto value. `version` must be
104
- * empty or three uint32 parts.
105
- */
106
- function stamp(message, objectType, objectClass, version) {
107
- const parts = version ? parseVersion(version) : [0, 0, 0];
108
- if (parts === null) {
109
- throw new Error(`version must be MAJOR.MINOR.PATCH, got '${version}'`);
110
- }
111
- message.setObjectClass(objectClass);
112
- message.setVersion(version);
11
+ function stamp(message, objectType) {
12
+ const [major, minor, patch] = exports.SCHEMA_VERSION;
113
13
  message.setObjectType(objectType);
114
- setCompactVersion(message, parts);
14
+ message.setVersion(new version_pb_1.VersionProto().setMajor(major).setMinor(minor).setPatch(patch));
115
15
  return message;
116
16
  }
117
17
  exports.stamp = stamp;
118
- function setCompactVersion(message, [major, minor, patch]) {
119
- message.setVersionMajor(major);
120
- message.setVersionMinor(minor);
121
- message.setVersionPatch(patch);
122
- }
123
- function compactVersion(message) {
124
- return [message.getVersionMajor(), message.getVersionMinor(), message.getVersionPatch()];
125
- }
126
- function decode(message) {
127
- const objectClass = message.getObjectClass();
128
- const versionString = message.getVersion();
129
- let objectType = message.getObjectType();
130
- let version = compactVersion(message);
131
- const problems = [];
132
- let usedStrings = false;
133
- if (objectType === object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_UNKNOWN && objectClass) {
134
- usedStrings = true;
135
- objectType = fromLegacy(objectClass);
136
- if (objectType === object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_UNKNOWN) {
137
- problems.push(' (unknown object_class, using OBJECT_TYPE_UNKNOWN)');
138
- }
139
- else {
140
- // Some strings were written on more than one message type (e.g.
141
- // 'SecurityRequest' on the create and query requests): the message's
142
- // own type wins over the value the string sits on.
143
- const own = ownTypeOf(message);
144
- if (own !== object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_UNKNOWN)
145
- objectType = own;
146
- }
147
- }
148
- if (version.every((p) => p === 0) && versionString) {
149
- usedStrings = true;
150
- const parsed = parseVersion(versionString);
151
- if (parsed === null) {
152
- problems.push(' (malformed version, using 0.0.0)');
153
- }
154
- else {
155
- version = parsed;
156
- }
157
- }
158
- const key = `${objectClass}\u0000${versionString}`;
159
- if (usedStrings && !warned.has(key)) {
160
- warned.add(key);
161
- console.warn(`${message.constructor.name} read from deprecated strings object_class='${objectClass}' ` +
162
- `version='${versionString}'${problems.join('')}; re-save it to write object_type and ` +
163
- 'version_major/minor/patch (LM-297)');
164
- }
165
- return { objectType, version };
166
- }
167
- /** The message's ObjectTypeProto value: object_type, else the object_class string. */
18
+ /**
19
+ * The message's ObjectTypeProto value; OBJECT_TYPE_UNKNOWN when unset. A value
20
+ * added after this build is returned as its number.
21
+ */
168
22
  function readType(message) {
169
- return decode(message).objectType;
23
+ return message.getObjectType();
170
24
  }
171
25
  exports.readType = readType;
172
- /** The message's [major, minor, patch]: the compact fields, else the version string. */
26
+ /** The message's [major, minor, patch], or undefined when version is absent. */
173
27
  function readVersion(message) {
174
- return decode(message).version;
28
+ const version = message.getVersion();
29
+ if (!message.hasVersion() || version === undefined)
30
+ return undefined;
31
+ return [version.getMajor(), version.getMinor(), version.getPatch()];
175
32
  }
176
33
  exports.readVersion = readVersion;
177
- /**
178
- * Fills the compact fields from the strings where they are unset; returns `message`.
179
- * The strings are kept, so re-serialising writes both forms.
180
- */
181
- function upgrade(message) {
182
- const { objectType, version } = decode(message);
183
- message.setObjectType(objectType);
184
- setCompactVersion(message, version);
185
- return message;
186
- }
187
- exports.upgrade = upgrade;
188
- /** Forgets which strings have warned. Tests only. */
189
- function resetWarningsForTests() {
190
- warned.clear();
191
- }
192
- exports.resetWarningsForTests = resetWarningsForTests;
193
34
  //# sourceMappingURL=object-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"object-types.js","sourceRoot":"","sources":["object-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"object-types.js","sourceRoot":"","sources":["object-types.ts"],"names":[],"mappings":";;;AAWA,wEAAuE;AAcvE,kEAAkE;AACrD,QAAA,cAAc,GAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAEjD;;;GAGG;AACH,SAAgB,KAAK,CAAwB,OAAU,EAAE,UAA2B;IAClF,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,sBAAc,CAAC;IAC7C,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAClC,OAAO,CAAC,UAAU,CAAC,IAAI,yBAAY,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACvF,OAAO,OAAO,CAAC;AACjB,CAAC;AALD,sBAKC;AAED;;;GAGG;AACH,SAAgB,QAAQ,CAAC,OAAoB;IAC3C,OAAO,OAAO,CAAC,aAAa,EAAE,CAAC;AACjC,CAAC;AAFD,4BAEC;AAED,gFAAgF;AAChF,SAAgB,WAAW,CAAC,OAAoB;IAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IACrC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACrE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;AACtE,CAAC;AAJD,kCAIC"}
@@ -35,9 +35,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
35
35
  return (mod && mod.__esModule) ? mod : { "default": mod };
36
36
  };
37
37
  Object.defineProperty(exports, "__esModule", { value: true });
38
- // Compact object type and version (LM-297): writers set both forms, readers
39
- // translate the strings-only form. Rows come from the shared fixture
40
- // test-fixtures/object-type-legacy.json, which Java, Python and Rust also load.
38
+ // Object type and version (LM-297, LM-318): `stamp` writes object_type = 1
39
+ // and version = 2 (0.0.1), and bytes from earlier releases are not readable.
41
40
  const fs = __importStar(require("fs"));
42
41
  const path = __importStar(require("path"));
43
42
  const decimal_js_1 = require("decimal.js");
@@ -67,125 +66,36 @@ const PriceService_1 = require("../services/price-service/PriceService");
67
66
  const SecurityService_1 = require("../services/security-service/SecurityService");
68
67
  const TransactionService_1 = require("../services/transaction-service/TransactionService");
69
68
  const PortfolioService_1 = require("../services/portfolio-service/PortfolioService");
70
- const REPO_ROOT = path.resolve(__dirname, '../../../..');
71
- const CASES = JSON.parse(fs.readFileSync(path.join(REPO_ROOT, 'test-fixtures', 'object-type-legacy.json'), 'utf8')).cases;
72
- const COMPACT_NUMBERS = {
73
- object_type: 1001, version_major: 1002, version_minor: 1003, version_patch: 1004,
74
- };
75
- /** Generated message classes by proto full name: the package is the directory under node/. */
76
- function messageClasses() {
77
- const root = path.resolve(__dirname, '../../fintekkers');
78
- const classes = new Map();
79
- const walk = (dir) => {
80
- for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
81
- const full = path.join(dir, entry.name);
82
- if (entry.isDirectory()) {
83
- walk(full);
84
- }
85
- else if (entry.name.endsWith('_pb.js')) {
86
- const pkg = path.relative(path.dirname(root), dir).split(path.sep).join('.');
87
- // eslint-disable-next-line @typescript-eslint/no-var-requires
88
- for (const [name, cls] of Object.entries(require(full))) {
89
- classes.set(`${pkg}.${name}`, cls);
90
- }
91
- }
92
- }
93
- };
94
- walk(root);
95
- return classes;
96
- }
97
- const CLASSES = messageClasses();
98
- function decode(c) {
99
- const cls = CLASSES.get(c.message);
100
- if (!cls)
101
- throw new Error(`no generated class for ${c.message}`);
102
- return cls.deserializeBinary(Buffer.from(c.bytes, 'base64'));
103
- }
104
- /** Field numbers present at the top level of an encoded message. */
105
- function topLevelFieldNumbers(data) {
106
- const numbers = [];
107
- let i = 0;
108
- const varint = () => {
109
- let result = 0;
110
- let scale = 1;
111
- for (;;) {
112
- const b = data[i++];
113
- result += (b & 0x7f) * scale;
114
- scale *= 128;
115
- if (!(b & 0x80))
116
- return result;
117
- }
118
- };
119
- while (i < data.length) {
120
- const key = varint();
121
- numbers.push(Math.floor(key / 8));
122
- const wireType = key % 8;
123
- if (wireType === 0)
124
- varint();
125
- else if (wireType === 1)
126
- i += 8;
127
- else if (wireType === 2) {
128
- const length = varint();
129
- i += length;
130
- }
131
- else if (wireType === 5)
132
- i += 4;
133
- else
134
- throw new Error(`unexpected wire type ${wireType}`);
135
- }
136
- return numbers;
137
- }
138
- let warn;
139
- beforeEach(() => {
140
- objectTypes.resetWarningsForTests();
141
- warn = jest.spyOn(console, 'warn').mockImplementation(() => undefined);
69
+ // A PriceProto written by ledger-models v0.4.33: object_class / version
70
+ // strings in fields 1 and 2.
71
+ const OLD_PRICE = path.resolve(__dirname, '../../../../ledger-models-protos/fixtures/legacy_v0433/price.bin');
72
+ // ---- stamp round-trips (metric 2) ----
73
+ test('a stamped price round-trips type and version', () => {
74
+ const price = objectTypes.stamp(new price_pb_1.PriceProto(), object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_PRICE);
75
+ const bytes = price.serializeBinary();
76
+ // Exactly field 1 (varint 11) and field 2 ({patch: 1}): nothing at the
77
+ // removed 1001-1004.
78
+ expect(Array.from(bytes)).toEqual([0x08, 11, 0x12, 0x02, 0x18, 0x01]);
79
+ const reread = price_pb_1.PriceProto.deserializeBinary(bytes);
80
+ expect(objectTypes.readType(reread)).toBe(object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_PRICE);
81
+ expect(objectTypes.readVersion(reread)).toEqual([0, 0, 1]);
82
+ const version = reread.getVersion();
83
+ expect([version.getMajor(), version.getMinor(), version.getPatch()]).toEqual([0, 0, 1]);
84
+ // Nothing unknown kept on re-serialising.
85
+ expect(Array.from(reread.serializeBinary())).toEqual(Array.from(bytes));
142
86
  });
143
- afterEach(() => {
144
- warn.mockRestore();
145
- objectTypes.resetWarningsForTests();
87
+ test('an unstamped message reads as unknown and absent', () => {
88
+ const price = price_pb_1.PriceProto.deserializeBinary(new price_pb_1.PriceProto().serializeBinary());
89
+ expect(objectTypes.readType(price)).toBe(object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_UNKNOWN);
90
+ expect(objectTypes.readVersion(price)).toBeUndefined();
146
91
  });
147
- const fallbackWarnings = () => warn.mock.calls.filter((args) => String(args[0]).includes('(LM-297)')).length;
148
- // ---- Loading the old form translates it (metric 3) ----
149
- describe.each(CASES.map((c) => [c.name, c]))('fixture row %s', (_name, c) => {
150
- test('decodes to the expected type and version', () => {
151
- const message = decode(c);
152
- expect(objectTypes.readType(message)).toBe(object_type_pb_1.ObjectTypeProto[c.expect.object_type]);
153
- expect(objectTypes.readVersion(message)).toEqual(c.expect.version);
154
- expect(fallbackWarnings()).toBe(c.expect.warns ? 1 : 0);
155
- });
156
- test('re-serialises with the compact fields once upgraded', () => {
157
- const data = objectTypes.upgrade(decode(c)).serializeBinary();
158
- const expected = {
159
- object_type: object_type_pb_1.ObjectTypeProto[c.expect.object_type],
160
- version_major: c.expect.version[0],
161
- version_minor: c.expect.version[1],
162
- version_patch: c.expect.version[2],
163
- };
164
- const present = topLevelFieldNumbers(data);
165
- for (const [name, number] of Object.entries(COMPACT_NUMBERS)) {
166
- expect([name, present.includes(number)]).toEqual([name, expected[name] !== 0]);
167
- }
168
- const reread = CLASSES.get(c.message).deserializeBinary(data);
169
- expect([reread.getObjectType(), reread.getVersionMajor(), reread.getVersionMinor(), reread.getVersionPatch()])
170
- .toEqual([expected.object_type, expected.version_major, expected.version_minor, expected.version_patch]);
171
- expect([reread.getObjectClass(), reread.getVersion()]).toEqual([c.object_class, c.version]);
172
- });
173
- });
174
- // ---- Reading the strings is deprecated (metric 4) ----
175
- test('three strings-only decodes of one type warn once', () => {
176
- const c = CASES.find((row) => row.name === 'js-PositionFilterProto');
177
- for (let i = 0; i < 3; i++) {
178
- objectTypes.upgrade(decode(c));
179
- }
180
- expect(fallbackWarnings()).toBe(1);
92
+ // ---- Old bytes are not readable (metric 3) ----
93
+ test('bytes from v0.4.33 are not readable', () => {
94
+ // Field 2 held the string "0.0.1", which does not parse as a VersionProto.
95
+ const old = new Uint8Array(fs.readFileSync(OLD_PRICE));
96
+ expect(() => price_pb_1.PriceProto.deserializeBinary(old)).toThrow();
181
97
  });
182
- test('the new form does not warn', () => {
183
- const message = objectTypes.stamp(new price_pb_1.PriceProto(), object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_PRICE, 'Price', '0.0.1');
184
- objectTypes.readType(message);
185
- objectTypes.readVersion(message);
186
- expect(fallbackWarnings()).toBe(0);
187
- });
188
- // ---- Writers set both forms (metric 2) ----
98
+ // ---- Every library writer stamps the new form (metric 2) ----
189
99
  /** A service with its gRPC client swapped for one that records each request. */
190
100
  function capturingService(cls, response) {
191
101
  const requests = [];
@@ -243,41 +153,41 @@ function lastRequest(cls, call) {
243
153
  }
244
154
  const LIBRARY_WRITERS = [
245
155
  ['Price.fromSimple', () => __awaiter(void 0, void 0, void 0, function* () { return Price_1.default.fromSimple(uuid_1.UUID.random().toString(), 1, new Date()).proto; }),
246
- object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_PRICE, 'Price', '0.0.1'],
156
+ object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_PRICE],
247
157
  ['Price.create', () => __awaiter(void 0, void 0, void 0, function* () { return Price_1.default.create(new decimal_js_1.Decimal(1), security(), datetime_1.ZonedDateTime.now()).proto; }),
248
- object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_PRICE, 'Price', '0.0.1'],
158
+ object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_PRICE],
249
159
  ['PositionFilter.toProto', () => __awaiter(void 0, void 0, void 0, function* () { return filter().toProto(); }),
250
- object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_POSITION_FILTER, 'PositionFilter', '0.0.1'],
160
+ object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_POSITION_FILTER],
251
161
  ['QueryPositionRequest.toProto', () => __awaiter(void 0, void 0, void 0, function* () {
252
162
  return new QueryPositionRequest_1.QueryPositionRequest(filter(), position_pb_1.PositionTypeProto.TRANSACTION, position_pb_1.PositionViewProto.DEFAULT_VIEW, [], [], datetime_1.ZonedDateTime.now()).toProto();
253
163
  }),
254
- object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_POSITION_REQUEST, '', '1.0.0'],
164
+ object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_POSITION_REQUEST],
255
165
  ['Transaction', () => __awaiter(void 0, void 0, void 0, function* () { return transaction().proto; }),
256
- object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_TRANSACTION, 'Transaction', '0.0.1'],
166
+ object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_TRANSACTION],
257
167
  ['Transaction strategy allocation', () => __awaiter(void 0, void 0, void 0, function* () { return transaction().proto.getStrategyAllocation(); }),
258
- object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_STRATEGY_ALLOCATION, 'StrategyAllocation', '0.0.1'],
168
+ object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_STRATEGY_ALLOCATION],
259
169
  ['PriceService.validateCreateOrUpdate', () => lastRequest(PriceService_1.PriceService, (s) => s.validateCreateOrUpdate(new price_pb_1.PriceProto())),
260
- object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_PRICE_REQUEST, 'PriceRequest', '0.0.1'],
170
+ object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_PRICE_REQUEST],
261
171
  ['PriceService.search', () => lastRequest(PriceService_1.PriceService, (s) => s.search(asOf, filter())),
262
- object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_PRICE_REQUEST, 'PriceRequest', '0.0.1'],
172
+ object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_PRICE_REQUEST],
263
173
  ['SecurityService.validateCreateSecurity', () => lastRequest(SecurityService_1.SecurityService, (s) => s.validateCreateSecurity(new security_pb_1.SecurityProto())),
264
- object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_SECURITY_REQUEST, 'SecurityRequest', '0.0.1'],
174
+ object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_SECURITY_REQUEST],
265
175
  ['SecurityService.searchSecurity', () => lastRequest(SecurityService_1.SecurityService, (s) => s.searchSecurity(asOf, filter())),
266
- object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_SECURITY_REQUEST, 'SecurityRequest', '0.0.1'],
176
+ object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_SECURITY_REQUEST],
267
177
  ['TransactionService.validateCreateTransaction', () => lastRequest(TransactionService_1.TransactionService, (s) => s.validateCreateTransaction({ proto: new transaction_pb_1.TransactionProto() })),
268
- object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_TRANSACTION_REQUEST, 'TransactionRequest', '0.0.1'],
178
+ object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_TRANSACTION_REQUEST],
269
179
  ['TransactionService.searchTransaction', () => lastRequest(TransactionService_1.TransactionService, (s) => s.searchTransaction(asOf, filter())),
270
- object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_TRANSACTION_REQUEST, 'SecurityRequest', '0.0.1'],
180
+ object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_TRANSACTION_REQUEST],
271
181
  ['PortfolioService.validateCreatePortfolio', () => lastRequest(PortfolioService_1.PortfolioService, (s) => s.validateCreatePortfolio(new portfolio_pb_1.PortfolioProto())),
272
- object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_PORTFOLIO_REQUEST, 'PortfolioRequest', '0.0.1'],
182
+ object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_PORTFOLIO_REQUEST],
273
183
  ['PortfolioService.searchPortfolio', () => lastRequest(PortfolioService_1.PortfolioService, (s) => s.searchPortfolio(asOf, filter())),
274
- object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_PORTFOLIO_REQUEST, 'PortfolioRequest', '0.0.1'],
184
+ object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_PORTFOLIO_REQUEST],
275
185
  ['LinkResolver securities', () => __awaiter(void 0, void 0, void 0, function* () { return (yield linkResolverRequests())[0]; }),
276
- object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_SECURITY_REQUEST, 'SecurityRequest', '0.0.1'],
186
+ object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_SECURITY_REQUEST],
277
187
  ['LinkResolver portfolios', () => __awaiter(void 0, void 0, void 0, function* () { return (yield linkResolverRequests())[1]; }),
278
- object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_PORTFOLIO_REQUEST, 'PortfolioRequest', '0.0.1'],
188
+ object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_PORTFOLIO_REQUEST],
279
189
  ['LinkResolver transactions', () => __awaiter(void 0, void 0, void 0, function* () { return (yield linkResolverRequests())[2]; }),
280
- object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_TRANSACTION_REQUEST, 'TransactionRequest', '0.0.1'],
190
+ object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_TRANSACTION_REQUEST],
281
191
  ];
282
192
  function transaction() {
283
193
  return new transaction_1.default({
@@ -291,21 +201,10 @@ function transaction() {
291
201
  quantity: new decimal_js_1.Decimal('10'),
292
202
  });
293
203
  }
294
- test.each(LIBRARY_WRITERS)('%s sets strings and compact fields that agree', (_name, build, type, objectClass, version) => __awaiter(void 0, void 0, void 0, function* () {
204
+ test.each(LIBRARY_WRITERS)('%s stamps the type and schema version', (_name, build, type) => __awaiter(void 0, void 0, void 0, function* () {
295
205
  const message = yield build();
296
- expect([message.getObjectClass(), message.getVersion()]).toEqual([objectClass, version]);
297
- // The message's own type. Some JS writers put a query request's string on the
298
- // create request too; the string still sits on one enum value.
299
- expect(message.getObjectType()).toBe(type);
300
- if (objectClass) {
301
- expect(objectTypes.fromLegacy(objectClass)).not.toBe(object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_UNKNOWN);
302
- }
303
- expect([message.getVersionMajor(), message.getVersionMinor(), message.getVersionPatch()])
304
- .toEqual(objectTypes.parseVersion(version));
305
- expect(objectTypes.readVersion(message)).toEqual(objectTypes.parseVersion(version));
306
- expect(fallbackWarnings()).toBe(0);
206
+ expect(objectTypes.readType(message)).toBe(type);
207
+ expect(objectTypes.readVersion(message)).toEqual(objectTypes.SCHEMA_VERSION);
208
+ expect(objectTypes.SCHEMA_VERSION).toEqual([0, 0, 1]);
307
209
  }));
308
- test('stamp rejects a malformed version', () => {
309
- expect(() => objectTypes.stamp(new price_pb_1.PriceProto(), object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_PRICE, 'Price', '1.2')).toThrow();
310
- });
311
210
  //# sourceMappingURL=object-types.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"object-types.test.js","sourceRoot":"","sources":["object-types.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"object-types.test.js","sourceRoot":"","sources":["object-types.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2EAA2E;AAC3E,6EAA6E;AAC7E,uCAAyB;AACzB,2CAA6B;AAC7B,2CAAqC;AAErC,gFAA8E;AAE9E,8EAA6E;AAC7E,qEAAoE;AACpE,uFAAsF;AACtF,iFAAgF;AAChF,iGAA+F;AAC/F,8EAAoG;AACpG,8GAA2G;AAC3G,iHAA8G;AAC9G,uHAAoH;AACpH,iFAAgF;AAEhF,4DAA8C;AAE9C,oEAA2C;AAC3C,kEAA0C;AAC1C,2EAAmD;AACnD,8EAAsD;AACtD,oFAA4D;AAC5D,6EAAyE;AACzE,sEAAmE;AACnE,oFAAiF;AACjF,+CAA4C;AAC5C,uDAAyD;AACzD,yEAAsE;AACtE,kFAA+E;AAC/E,2FAAwF;AACxF,qFAAkF;AAElF,wEAAwE;AACxE,6BAA6B;AAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,kEAAkE,CAAC,CAAC;AAE9G,yCAAyC;AAEzC,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;IACxD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,qBAAU,EAAE,EAAE,gCAAe,CAAC,iBAAiB,CAAC,CAAC;IACrF,MAAM,KAAK,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC;IACtC,uEAAuE;IACvE,qBAAqB;IACrB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAEtE,MAAM,MAAM,GAAG,qBAAU,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACnD,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,gCAAe,CAAC,iBAAiB,CAAC,CAAC;IAC7E,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAkB,CAAC;IACpD,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxF,0CAA0C;IAC1C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kDAAkD,EAAE,GAAG,EAAE;IAC5D,MAAM,KAAK,GAAG,qBAAU,CAAC,iBAAiB,CAAC,IAAI,qBAAU,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC;IAC/E,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,gCAAe,CAAC,mBAAmB,CAAC,CAAC;IAC9E,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;AACzD,CAAC,CAAC,CAAC;AAEH,kDAAkD;AAElD,IAAI,CAAC,qCAAqC,EAAE,GAAG,EAAE;IAC/C,2EAA2E;IAC3E,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;IACvD,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;AAC5D,CAAC,CAAC,CAAC;AAEH,gEAAgE;AAEhE,gFAAgF;AAChF,SAAS,gBAAgB,CAAmB,GAAqB,EAAE,QAAuB;IACxF,MAAM,QAAQ,GAAkB,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,CAAC,OAAoB,EAAE,QAA8C,EAAE,EAAE;QACrF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7B,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,OAAoB,EAAE,EAAE;QACtC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,MAAM,QAAQ,GAA+B,EAAE,CAAC;QAChD,YAAY,CAAC,GAAG,EAAE,WAAC,OAAA,MAAA,QAAQ,CAAC,GAAG,wDAAI,CAAA,EAAA,CAAC,CAAC;QACrC,OAAO,EAAE,EAAE,CAAC,KAAa,EAAE,OAAmB,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAChG,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAM,CAAC;IACjD,OAA0C,CAAC,MAAM,GAAG;QACnD,sBAAsB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM;KAC9C,CAAC;IACF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC/B,CAAC;AAED,MAAM,IAAI,GAAG,wBAAa,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;AAC3C,MAAM,MAAM,GAAG,GAAmB,EAAE,CAAC,IAAI,+BAAc,EAAE,CAAC;AAE1D,SAAS,QAAQ;IACf,OAAO,kBAAQ,CAAC,MAAM,CAAC,IAAI,2BAAa,EAAE,CAAC,OAAO,CAAC,WAAI,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC3G,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,IAAI,mBAAS,CAAC,IAAI,6BAAc,EAAE,CAAC,OAAO,CAAC,WAAI,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACtH,CAAC;AAED,SAAe,oBAAoB;;QACjC,MAAM,QAAQ,GAAkB,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,CAAC,QAAuB,EAAE,EAAE,CAAC,CAAC;YAC3C,QAAQ,EAAE,CAAC,OAAoB,EAAE,QAA8C,EAAE,EAAE;gBACjF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvB,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC7B,CAAC;SACF,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,uBAAY,CAAC;YAChC,cAAc,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,uDAA0B,EAAE,CAAU;YACvE,eAAe,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,yDAA2B,EAAE,CAAU;YACzE,iBAAiB,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,6DAA6B,EAAE,CAAU;SAC9E,CAAC,CAAC;QACH,2DAA2D;QAC3D,MAAM,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACpE,MAAM,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrE,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACvE,OAAO,QAAQ,CAAC;IAClB,CAAC;CAAA;AAID,SAAe,WAAW,CAAmB,GAAqB,EAAE,IAAsC;;QACxG,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,yBAAY,EAAE,CAAC,CAAC;QAC9E,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvC,CAAC;CAAA;AAED,MAAM,eAAe,GAAa;IAChC,CAAC,kBAAkB,EAAE,GAAS,EAAE,kDAAC,OAAA,eAAK,CAAC,UAAU,CAAC,WAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAA,GAAA;QAC9F,gCAAe,CAAC,iBAAiB,CAAC;IACpC,CAAC,cAAc,EAAE,GAAS,EAAE,kDAAC,OAAA,eAAK,CAAC,MAAM,CAAC,IAAI,oBAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,wBAAa,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAA,GAAA;QAC9F,gCAAe,CAAC,iBAAiB,CAAC;IACpC,CAAC,wBAAwB,EAAE,GAAS,EAAE,kDAAC,OAAA,MAAM,EAAE,CAAC,OAAO,EAAE,CAAA,GAAA;QACvD,gCAAe,CAAC,2BAA2B,CAAC;IAC9C,CAAC,8BAA8B,EAAE,GAAS,EAAE;YAAC,OAAA,IAAI,2CAAoB,CACnE,MAAM,EAAE,EAAE,+BAAiB,CAAC,WAAW,EAAE,+BAAiB,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,wBAAa,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAA;UAAA;QACjH,gCAAe,CAAC,kCAAkC,CAAC;IACnD,CAAC,aAAa,EAAE,GAAS,EAAE,kDAAC,OAAA,WAAW,EAAE,CAAC,KAAK,CAAA,GAAA;QAC7C,gCAAe,CAAC,uBAAuB,CAAC;IAC1C,CAAC,iCAAiC,EAAE,GAAS,EAAE,kDAAC,OAAA,WAAW,EAAE,CAAC,KAAK,CAAC,qBAAqB,EAAG,CAAA,GAAA;QAC1F,gCAAe,CAAC,+BAA+B,CAAC;IAClD,CAAC,qCAAqC,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,2BAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,IAAI,qBAAU,EAAE,CAAC,CAAC;QACxH,gCAAe,CAAC,gCAAgC,CAAC;IACnD,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,2BAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACtF,gCAAe,CAAC,+BAA+B,CAAC;IAClD,CAAC,wCAAwC,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,iCAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,IAAI,2BAAa,EAAE,CAAC,CAAC;QACjI,gCAAe,CAAC,mCAAmC,CAAC;IACtD,CAAC,gCAAgC,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,iCAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5G,gCAAe,CAAC,kCAAkC,CAAC;IACrD,CAAC,8CAA8C,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,uCAAkB,EACnF,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,EAAE,KAAK,EAAE,IAAI,iCAAgB,EAAE,EAAiB,CAAC,CAAC;QACvF,gCAAe,CAAC,sCAAsC,CAAC;IACvD,CAAC,sCAAsC,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,uCAAkB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACxH,gCAAe,CAAC,qCAAqC,CAAC;IACxD,CAAC,0CAA0C,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,mCAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,6BAAc,EAAE,CAAC,CAAC;QACtI,gCAAe,CAAC,oCAAoC,CAAC;IACvD,CAAC,kCAAkC,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,mCAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAChH,gCAAe,CAAC,mCAAmC,CAAC;IACtD,CAAC,yBAAyB,EAAE,GAAS,EAAE,kDAAC,OAAA,CAAC,MAAM,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA,GAAA;QACvE,gCAAe,CAAC,kCAAkC,CAAC;IACrD,CAAC,yBAAyB,EAAE,GAAS,EAAE,kDAAC,OAAA,CAAC,MAAM,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA,GAAA;QACvE,gCAAe,CAAC,mCAAmC,CAAC;IACtD,CAAC,2BAA2B,EAAE,GAAS,EAAE,kDAAC,OAAA,CAAC,MAAM,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA,GAAA;QACzE,gCAAe,CAAC,qCAAqC,CAAC;CACzD,CAAC;AAEF,SAAS,WAAW;IAClB,OAAO,IAAI,qBAAW,CAAC;QACrB,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,cAAc,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,QAAQ,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1C,KAAK,EAAE,IAAI,oBAAO,CAAC,QAAQ,CAAC;QAC5B,QAAQ,EAAE,QAAQ,EAAE;QACpB,eAAe,EAAE,IAAI,kCAAe,CAAC,0CAAoB,CAAC,GAAG,CAAC;QAC9D,SAAS,EAAE,SAAS,EAAE;QACtB,QAAQ,EAAE,IAAI,oBAAO,CAAC,IAAI,CAAC;KAC5B,CAAC,CAAC;AACL,CAAC;AAED,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,uCAAuC,EAAE,CAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;IAC/F,MAAM,OAAO,GAAG,MAAM,KAAK,EAAE,CAAC;IAE9B,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAC7E,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC,CAAA,CAAC,CAAC"}