@fintekkers/ledger-models 0.4.43 → 0.4.45

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 (257) 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 +7 -15
  98. package/node/fintekkers/requests/valuation/curve_response_pb.js +35 -132
  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-type-coverage.test.js +159 -0
  237. package/node/wrappers/util/object-type-coverage.test.js.map +1 -0
  238. package/node/wrappers/util/object-type-coverage.test.ts +149 -0
  239. package/node/wrappers/util/object-types.d.ts +30 -46
  240. package/node/wrappers/util/object-types.js +145 -170
  241. package/node/wrappers/util/object-types.js.map +1 -1
  242. package/node/wrappers/util/object-types.test.js +50 -151
  243. package/node/wrappers/util/object-types.test.js.map +1 -1
  244. package/node/wrappers/util/object-types.test.ts +55 -170
  245. package/node/wrappers/util/object-types.ts +153 -178
  246. package/package.json +1 -1
  247. package/node/wrappers/models/position/position.test copy.js +0 -107
  248. package/node/wrappers/models/position/position.test copy.js.map +0 -1
  249. package/node/wrappers/models/utils/decimal.legacy.test.js +0 -174
  250. package/node/wrappers/models/utils/decimal.legacy.test.js.map +0 -1
  251. package/node/wrappers/models/utils/decimal.legacy.test.ts +0 -158
  252. package/node/wrappers/models/utils/decimal.typings.test.d.ts +0 -1
  253. package/node/wrappers/models/utils/decimal.typings.test.js +0 -39
  254. package/node/wrappers/models/utils/decimal.typings.test.js.map +0 -1
  255. package/node/wrappers/models/utils/decimal.typings.test.ts +0 -16
  256. package/node/wrappers/util/object-type-legacy.json +0 -21
  257. /package/node/wrappers/{models/utils/decimal.legacy.test.d.ts → util/object-type-coverage.test.d.ts} +0 -0
@@ -5,15 +5,14 @@ import { DecimalValueProto } from '../../../fintekkers/models/util/decimal_value
5
5
  import { ModelValidationError } from '../errors';
6
6
  import { ProtoSerializationUtil } from './serialization';
7
7
  import {
8
- CompactDecimal,
9
8
  MAX_DIGITS,
10
9
  MAX_SCALE,
11
10
  MAX_UNSCALED_BYTES,
12
11
  decodeDecimal,
13
12
  encodeDecimal,
14
13
  fromDecimalJs,
14
+ isUnsetDecimal,
15
15
  parseDecimalString,
16
- setDecimalLogger,
17
16
  toCanonicalString,
18
17
  withField,
19
18
  } from './decimal';
@@ -45,11 +44,6 @@ function expectInvalid(fn: () => unknown): void {
45
44
  expect(fn).toThrow(ModelValidationError);
46
45
  }
47
46
 
48
- beforeAll(() => {
49
- // String-only decodes below would warn once; keep the test output quiet.
50
- setDecimalLogger({ warn: jest.fn() });
51
- });
52
-
53
47
  describe('metric 1: shared fixture', () => {
54
48
  test('fixture limits match the codec', () => {
55
49
  expect(FIXTURE.limits).toEqual({
@@ -76,7 +70,6 @@ describe('metric 1: shared fixture', () => {
76
70
  const stringErrors: [string, string][] = FIXTURE.string_errors.map((c: { name: string; string: string }) => [c.name, c.string]);
77
71
  test.each(stringErrors)('string error %s is a ModelValidationError', (_name, s) => {
78
72
  expectInvalid(() => parseDecimalString(s));
79
- expectInvalid(() => decodeDecimal(new DecimalValueProto().setArbitraryPrecisionValue(s)));
80
73
  });
81
74
 
82
75
  const decodeErrors: [string, any][] = FIXTURE.decode_errors.map((c: any) => [c.name, c]);
@@ -112,28 +105,23 @@ describe('metric 1: shared fixture', () => {
112
105
  }
113
106
  });
114
107
 
115
- test('compact form wins over a conflicting string and does not warn', () => {
116
- jest.isolateModules(() => {
117
- // eslint-disable-next-line @typescript-eslint/no-var-requires
118
- const codec = require('./decimal');
119
- const warn = jest.fn();
120
- codec.setDecimalLogger({ warn });
121
- const proto = new DecimalValueProto()
122
- .setArbitraryPrecisionValue('9')
123
- .setUnscaledValue(unhex('0096'))
124
- .setScale(2);
125
- expect(codec.toCanonicalString(codec.decodeDecimal(proto))).toBe('1.50');
126
- expect(warn).not.toHaveBeenCalled();
127
- });
128
- });
129
-
130
108
  test('negative zero from decimal.js encodes to 0x00 at scale 0', () => {
131
109
  const v = fromDecimalJs(new Decimal('-0'));
132
110
  expect(v).toEqual({ unscaled: BigInt(0), scale: 0 });
133
111
  const proto = encodeDecimal(v);
134
112
  expect(hex(proto.getUnscaledValue_asU8())).toBe('00');
135
113
  expect(proto.getScale()).toBe(0);
136
- expect(proto.getArbitraryPrecisionValue()).toBe('0');
114
+ });
115
+
116
+ test('a string-only decimal from old bytes is unset (LM-318)', () => {
117
+ // 0x52 = field 10, length-delimited: "1.5" as a v0.4.33 writer stored
118
+ // it. LM-318 deleted field 10, so the decimal is unset.
119
+ const old = DecimalValueProto.deserializeBinary(new Uint8Array([0x52, 0x03, 0x31, 0x2e, 0x35]));
120
+ expect(isUnsetDecimal(old)).toBe(true);
121
+ expect(() => decodeDecimal(old)).toThrow(ModelValidationError);
122
+ expect(() => decodeDecimal(old)).toThrow('decimal is required but unset');
123
+ // Compact zero is still set.
124
+ expect(isUnsetDecimal(encodeDecimal(parseDecimalString('0')))).toBe(false);
137
125
  });
138
126
  });
139
127
 
@@ -162,55 +150,6 @@ describe('metric 3: decodeDecimal takes the proto only', () => {
162
150
  });
163
151
  });
164
152
 
165
- describe('metric 4: one deprecation warning per process', () => {
166
- test('a compact-only decode does not warn', () => {
167
- jest.isolateModules(() => {
168
- // eslint-disable-next-line @typescript-eslint/no-var-requires
169
- const codec = require('./decimal');
170
- const warn = jest.fn();
171
- codec.setDecimalLogger({ warn });
172
- for (const c of CASES) codec.decodeDecimal(compactOnly(c));
173
- expect(warn).toHaveBeenCalledTimes(0);
174
- });
175
- });
176
-
177
- test('three string-only prices read through the Price wrapper warn exactly once', () => {
178
- jest.isolateModules(() => {
179
- // The same isolated registry: Price loads this codec instance.
180
- // eslint-disable-next-line @typescript-eslint/no-var-requires
181
- const codec = require('./decimal');
182
- const warn = jest.fn();
183
- codec.setDecimalLogger({ warn });
184
- // eslint-disable-next-line @typescript-eslint/no-var-requires
185
- const { PriceProto } = require('../../../fintekkers/models/price/price_pb');
186
- // eslint-disable-next-line @typescript-eslint/no-var-requires
187
- const Price = require('../price/Price').default;
188
- const values = ['100.25', '-0.50', '1E+3'];
189
- const read = values.map(s => new Price(
190
- new PriceProto().setPrice(new DecimalValueProto().setArbitraryPrecisionValue(s))).getPrice());
191
- expect(read.map((d: Decimal) => d.toString())).toEqual(['100.25', '-0.5', '1000']);
192
- expect(warn).toHaveBeenCalledTimes(1);
193
- expect(warn.mock.calls[0][0]).toContain('arbitrary_precision_value');
194
- });
195
- });
196
- });
197
-
198
- describe('metric 5: writers set both forms', () => {
199
- test.each(CASES.map(c => [c.name, c] as [string, Case]))('%s: both forms are set and decode equal', (_name, c) => {
200
- const proto = encodeDecimal(parseDecimalString(c.string));
201
- expect(proto.getArbitraryPrecisionValue()).toBe(c.canonical);
202
- expect(proto.getUnscaledValue_asU8().length).toBeGreaterThan(0);
203
-
204
- const stringOnly = new DecimalValueProto().setArbitraryPrecisionValue(proto.getArbitraryPrecisionValue());
205
- const compact = new DecimalValueProto()
206
- .setUnscaledValue(proto.getUnscaledValue_asU8())
207
- .setScale(proto.getScale());
208
- const expected: CompactDecimal = { unscaled: expectedUnscaled(c.unscaled_hex), scale: c.scale };
209
- expect(decodeDecimal(stringOnly)).toEqual(expected);
210
- expect(decodeDecimal(compact)).toEqual(expected);
211
- });
212
- });
213
-
214
153
  describe('guardrail: lossless', () => {
215
154
  const NODE = path.join(__dirname, '../../..');
216
155
  const SCANNED = [
@@ -247,14 +186,13 @@ describe('guardrail: lossless', () => {
247
186
  expectInvalid(() => ProtoSerializationUtil.serialize(0.1));
248
187
  expectInvalid(() => ProtoSerializationUtil.serialize(2 ** 53));
249
188
  const proto = ProtoSerializationUtil.serialize(42) as DecimalValueProto;
250
- expect(proto.getArbitraryPrecisionValue()).toBe('42');
251
189
  expect(hex(proto.getUnscaledValue_asU8())).toBe('2a');
252
190
  expect(proto.getScale()).toBe(0);
253
191
  });
254
192
 
255
- test('serialize(Decimal) writes both forms; deserialize returns a Decimal', () => {
193
+ test('serialize(Decimal) writes the compact form; deserialize returns a Decimal', () => {
256
194
  const proto = ProtoSerializationUtil.serialize(new Decimal('-123.45')) as DecimalValueProto;
257
- expect(proto.getArbitraryPrecisionValue()).toBe('-123.45');
195
+ expect(toCanonicalString(decodeDecimal(proto))).toBe('-123.45');
258
196
  expect(hex(proto.getUnscaledValue_asU8())).toBe('cfc7');
259
197
 
260
198
  const big = CASES.find(c => c.name === 'two_pow_127')!;
@@ -9,19 +9,14 @@ import { ModelValidationError, violation } from '../errors';
9
9
  *
10
10
  * value = unscaled x 10^-scale, where `unscaled_value` (field 11) is a minimal
11
11
  * two's-complement big-endian integer of any size and `scale` is field 12. A
12
- * non-empty `unscaled_value` means the compact form is set and it wins.
13
- * Otherwise the deprecated `arbitrary_precision_value` string (field 10) is
14
- * read, with a warning logged once per process (LM-307).
12
+ * non-empty `unscaled_value` means the decimal is set; empty means unset. The
13
+ * old string form, field 10, was deleted by LM-318.
15
14
  *
16
15
  * Lossless: no binary floating point on any path (no JS `number` value, no
17
16
  * `parseFloat`). A value that cannot be represented exactly is a
18
17
  * `ModelValidationError`, never rounded. The codec does not know which field
19
18
  * it is decoding: a caller that wants the field named wraps the call in
20
19
  * `withField`.
21
- *
22
- * Stage 1 (until LM-295): writers set both forms, so readers on older
23
- * ledger-models keep working. This module is the only code allowed to touch
24
- * the deprecated string field.
25
20
  */
26
21
 
27
22
  /**
@@ -36,9 +31,6 @@ export const MAX_SCALE = 4096;
36
31
  */
37
32
  export const MAX_UNSCALED_BYTES = 1702;
38
33
 
39
- /** The library release that first writes the compact form. */
40
- const FIRST_COMPACT_RELEASE = 'v0.4.34';
41
-
42
34
  // No bigint literals: tsconfig targets es2016.
43
35
  const ZERO = BigInt(0);
44
36
  const ONE = BigInt(1);
@@ -50,19 +42,6 @@ export interface CompactDecimal {
50
42
  scale: number;
51
43
  }
52
44
 
53
- /** Where the once-per-process deprecation warning goes. Defaults to `console`. */
54
- export interface DecimalLogger {
55
- warn(message: string): void;
56
- }
57
-
58
- let logger: DecimalLogger = console;
59
- let warned = false;
60
-
61
- /** Sends the deprecation warning to `l` from now on. Tests use it to spy. */
62
- export function setDecimalLogger(l: DecimalLogger): void {
63
- logger = l;
64
- }
65
-
66
45
  /** An unlabelled ModelValidationError: the field is empty until `withField` adds it. */
67
46
  function invalid(message: string): ModelValidationError {
68
47
  return new ModelValidationError([violation('', undefined, message)]);
@@ -112,7 +91,7 @@ function isDigit(c: string | undefined): boolean {
112
91
  }
113
92
 
114
93
  /**
115
- * Parses a decimal string, as written to `arbitrary_precision_value`.
94
+ * Parses a decimal string such as `1.50` or `1E+3`.
116
95
  *
117
96
  * Grammar: `[+-]? (digits [. digits?] | . digits) ([eE] [+-]? digits)?`. No
118
97
  * whitespace, no `NaN` or `Infinity`. The exponent is folded into the scale;
@@ -244,35 +223,25 @@ function decodeCompact(unscaledValue: Uint8Array, scale: number): CompactDecimal
244
223
  return { unscaled, scale };
245
224
  }
246
225
 
247
- /** True when neither form is set: `unscaled_value` and `arbitrary_precision_value` are both empty. */
226
+ /** True when `unscaled_value` is empty. A set zero is the byte 0x00. */
248
227
  export function isUnsetDecimal(p: DecimalValueProto): boolean {
249
- return p.getUnscaledValue_asU8().length === 0 && p.getArbitraryPrecisionValue() === '';
228
+ return p.getUnscaledValue_asU8().length === 0;
250
229
  }
251
230
 
252
231
  /**
253
- * Decodes a `DecimalValueProto`. The compact form wins when set. Otherwise
254
- * falls back to the deprecated string and logs a deprecation warning, once
255
- * per process. Both forms empty is a ModelValidationError; so is a malformed
256
- * or over-cap value. Takes the proto only (owner ruling, 12 Oct): label
257
- * errors with `withField`.
232
+ * Decodes a `DecimalValueProto`. An empty `unscaled_value` ("decimal is
233
+ * required but unset") or an over-cap value is a ModelValidationError. Takes
234
+ * the proto only (owner ruling, 12 Oct): label errors with `withField`.
258
235
  */
259
236
  export function decodeDecimal(p: DecimalValueProto): CompactDecimal {
260
237
  const unscaledValue = p.getUnscaledValue_asU8();
261
- if (unscaledValue.length > 0) {
262
- return decodeCompact(unscaledValue, p.getScale());
263
- }
264
- const legacy = p.getArbitraryPrecisionValue();
265
- if (legacy === '') {
238
+ if (unscaledValue.length === 0) {
266
239
  throw invalid('decimal is required but unset');
267
240
  }
268
- emitDeprecation();
269
- return parseDecimalString(legacy);
241
+ return decodeCompact(unscaledValue, p.getScale());
270
242
  }
271
243
 
272
- /**
273
- * Encodes both forms (stage 1): fields 11 and 12, plus the canonical string
274
- * in field 10 for readers on ledger-models older than v0.4.34.
275
- */
244
+ /** Encodes fields 11 and 12. */
276
245
  export function encodeDecimal(v: CompactDecimal): DecimalValueProto {
277
246
  if (typeof v.unscaled !== 'bigint') {
278
247
  throw invalid('decimal unscaled value must be a bigint');
@@ -281,15 +250,11 @@ export function encodeDecimal(v: CompactDecimal): DecimalValueProto {
281
250
  throw invalid(`decimal scale must be an integer from 0 to ${MAX_SCALE}: ${v.scale}`);
282
251
  }
283
252
  return new DecimalValueProto()
284
- .setArbitraryPrecisionValue(toCanonicalString(v))
285
253
  .setUnscaledValue(bigIntToBytes(v.unscaled))
286
254
  .setScale(v.scale);
287
255
  }
288
256
 
289
- /**
290
- * `p` rewritten in both forms (stage 1), keeping its value and scale. Used
291
- * when re-saving a message loaded from older bytes.
292
- */
257
+ /** `p` rewritten with minimal unscaled bytes, keeping its value and scale. */
293
258
  export function reencodeDecimal(p: DecimalValueProto): DecimalValueProto {
294
259
  return encodeDecimal(decodeDecimal(p));
295
260
  }
@@ -320,16 +285,3 @@ export function fromDecimalJs(d: Decimal): CompactDecimal {
320
285
  }
321
286
  return parseDecimalString(d.toFixed());
322
287
  }
323
-
324
- /**
325
- * Logs that a decimal was read from the deprecated string, the first time
326
- * only in this process.
327
- */
328
- function emitDeprecation(): void {
329
- if (warned) return;
330
- warned = true;
331
- logger.warn(
332
- 'DecimalValueProto read from deprecated arbitrary_precision_value; '
333
- + `writer predates ledger-models ${FIRST_COMPACT_RELEASE}`
334
- );
335
- }
@@ -33,13 +33,9 @@ function checkUUID() {
33
33
  }
34
34
  function checkStrategyAllocationProtoDeserialize() {
35
35
  const proto = new strategy_allocation_pb_1.StrategyAllocationProto();
36
- proto.setObjectClass('StrategyAllocation');
37
- proto.setVersion('0.0.1');
38
36
  proto.setIsLink(false);
39
37
  const deserialized = serialization_1.ProtoSerializationUtil.deserialize(proto);
40
38
  assert.strictEqual(deserialized, proto, 'deserialize returns same StrategyAllocationProto instance');
41
- assert.equal(deserialized.getObjectClass(), 'StrategyAllocation');
42
- assert.equal(deserialized.getVersion(), '0.0.1');
43
39
  assert.equal(deserialized.getIsLink(), false);
44
40
  }
45
41
  //# sourceMappingURL=serialization.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serialization.test.js","sourceRoot":"","sources":["serialization.test.ts"],"names":[],"mappings":";;AACA,uGAAqG;AACrG,mDAAyD;AACzD,iCAA8B;AAE9B,iCAAkC;AAClC,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE;IACzC,iBAAiB,EAAE,CAAC;AACxB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0CAA0C,EAAE,GAAG,EAAE;IAClD,uCAAuC,EAAE,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEH,SAAS,iBAAiB;IACtB,SAAS,EAAE,CAAC;IAEZ,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,uCAAuC;IAC/E,MAAM,cAAc,GAAQ,sCAAsB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACxE,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAE3D,MAAM,gBAAgB,GAAQ,sCAAsB,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IACjF,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEhE,MAAM,mBAAmB,GAAQ,sCAAsB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7E,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEhE,MAAM,qBAAqB,GAAQ,sCAAsB,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAC3F,MAAM,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,SAAS;IACd,MAAM,IAAI,GAAS,WAAI,CAAC,MAAM,EAAE,CAAC;IACjC,MAAM,cAAc,GAAc,sCAAsB,CAAC,SAAS,CAAC,IAAI,CAAc,CAAC;IACtF,MAAM,QAAQ,GAAS,sCAAsB,CAAC,WAAW,CAAC,cAAc,CAAS,CAAC;IAElF,MAAM,UAAU,GAAW,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3C,MAAM,cAAc,GAAW,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAEnD,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACzC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,uCAAuC;IAC5C,MAAM,KAAK,GAAG,IAAI,gDAAuB,EAAE,CAAC;IAC5C,KAAK,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;IAC3C,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC1B,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAEvB,MAAM,YAAY,GAAG,sCAAsB,CAAC,WAAW,CAAC,KAAK,CAA4B,CAAC;IAE1F,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,KAAK,EAAE,2DAA2D,CAAC,CAAC;IACrG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,oBAAoB,CAAC,CAAC;IAClE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,KAAK,CAAC,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"serialization.test.js","sourceRoot":"","sources":["serialization.test.ts"],"names":[],"mappings":";;AACA,uGAAqG;AACrG,mDAAyD;AACzD,iCAA8B;AAE9B,iCAAkC;AAClC,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE;IACzC,iBAAiB,EAAE,CAAC;AACxB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0CAA0C,EAAE,GAAG,EAAE;IAClD,uCAAuC,EAAE,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEH,SAAS,iBAAiB;IACtB,SAAS,EAAE,CAAC;IAEZ,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,uCAAuC;IAC/E,MAAM,cAAc,GAAQ,sCAAsB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACxE,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAE3D,MAAM,gBAAgB,GAAQ,sCAAsB,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IACjF,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEhE,MAAM,mBAAmB,GAAQ,sCAAsB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7E,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEhE,MAAM,qBAAqB,GAAQ,sCAAsB,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAC3F,MAAM,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,SAAS;IACd,MAAM,IAAI,GAAS,WAAI,CAAC,MAAM,EAAE,CAAC;IACjC,MAAM,cAAc,GAAc,sCAAsB,CAAC,SAAS,CAAC,IAAI,CAAc,CAAC;IACtF,MAAM,QAAQ,GAAS,sCAAsB,CAAC,WAAW,CAAC,cAAc,CAAS,CAAC;IAElF,MAAM,UAAU,GAAW,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3C,MAAM,cAAc,GAAW,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAEnD,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACzC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,uCAAuC;IAC5C,MAAM,KAAK,GAAG,IAAI,gDAAuB,EAAE,CAAC;IAC5C,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAEvB,MAAM,YAAY,GAAG,sCAAsB,CAAC,WAAW,CAAC,KAAK,CAA4B,CAAC;IAE1F,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,KAAK,EAAE,2DAA2D,CAAC,CAAC;IACrG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,KAAK,CAAC,CAAC;AAClD,CAAC"}
@@ -43,15 +43,11 @@ function checkUUID() {
43
43
 
44
44
  function checkStrategyAllocationProtoDeserialize(): void {
45
45
  const proto = new StrategyAllocationProto();
46
- proto.setObjectClass('StrategyAllocation');
47
- proto.setVersion('0.0.1');
48
46
  proto.setIsLink(false);
49
47
 
50
48
  const deserialized = ProtoSerializationUtil.deserialize(proto) as StrategyAllocationProto;
51
49
 
52
50
  assert.strictEqual(deserialized, proto, 'deserialize returns same StrategyAllocationProto instance');
53
- assert.equal(deserialized.getObjectClass(), 'StrategyAllocation');
54
- assert.equal(deserialized.getVersion(), '0.0.1');
55
51
  assert.equal(deserialized.getIsLink(), false);
56
52
  }
57
53
 
@@ -25,7 +25,7 @@ class QueryPositionRequest {
25
25
  this.asOf = asOf;
26
26
  }
27
27
  toProto() {
28
- const proto = (0, object_types_1.stamp)(new query_position_request_pb_1.QueryPositionRequestProto(), object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_POSITION_REQUEST, '', '1.0.0')
28
+ const proto = (0, object_types_1.stamp)(new query_position_request_pb_1.QueryPositionRequestProto(), object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_POSITION_REQUEST)
29
29
  .setAsOf(this.asOf.toProto())
30
30
  .setPositionType(this.positionType)
31
31
  .setPositionView(this.positionView)
@@ -1 +1 @@
1
- {"version":3,"file":"QueryPositionRequest.js","sourceRoot":"","sources":["QueryPositionRequest.ts"],"names":[],"mappings":";;;AAEA,iFAAuG;AAEvG,0DAA4D;AAC5D,yEAAsE;AACtE,iFAA2F;AAE3F,UAAU;AACV,+GAA4G;AAC5G,mFAAiF;AACjF,0DAAgD;AAEhD,MAAa,oBAAoB;IAQ7B,MAAM,CAAC,QAAQ,CAAC,MAAyB,EAAE,QAA6B,EAAE,IAAmB;QACzF,OAAO,IAAI,oBAAoB,CAC3B,IAAI,+BAAc,EAAE,EACpB,+BAAiB,CAAC,WAAW,EAC7B,+BAAiB,CAAC,YAAY,EAC9B,MAAM,EACN,QAAQ,EACR,IAAI,CAAC,CAAC;IACd,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,MAAyB,EAAE,QAA6B;QAChE,OAAO,oBAAoB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,wBAAa,CAAC,GAAG,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,YAAY,MAAsB,EAAE,YAA+B,EAAE,YAA+B,EAChG,MAAyB,EAAE,QAA6B,EAAE,IAAmB;QAC7E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAEM,OAAO;QACV,MAAM,KAAK,GAAG,IAAA,oBAAK,EAAC,IAAI,qDAAyB,EAAE,EAAE,gCAAe,CAAC,kCAAkC,EAAE,EAAE,EAAE,OAAO,CAAC;aAChH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;aAC5B,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC;aAClC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC;aAClC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;aAC1B,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC9B,gBAAgB,CAAC,wCAAyB,CAAC,MAAM,CAAC,CAAC;QAExD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,MAAM,GAAG,CAAC;YAClD,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;QAEhD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,SAAS;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;CACJ;AAnDD,oDAmDC"}
1
+ {"version":3,"file":"QueryPositionRequest.js","sourceRoot":"","sources":["QueryPositionRequest.ts"],"names":[],"mappings":";;;AAEA,iFAAuG;AAEvG,0DAA4D;AAC5D,yEAAsE;AACtE,iFAA2F;AAE3F,UAAU;AACV,+GAA4G;AAC5G,mFAAiF;AACjF,0DAAgD;AAEhD,MAAa,oBAAoB;IAQ7B,MAAM,CAAC,QAAQ,CAAC,MAAyB,EAAE,QAA6B,EAAE,IAAmB;QACzF,OAAO,IAAI,oBAAoB,CAC3B,IAAI,+BAAc,EAAE,EACpB,+BAAiB,CAAC,WAAW,EAC7B,+BAAiB,CAAC,YAAY,EAC9B,MAAM,EACN,QAAQ,EACR,IAAI,CAAC,CAAC;IACd,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,MAAyB,EAAE,QAA6B;QAChE,OAAO,oBAAoB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,wBAAa,CAAC,GAAG,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,YAAY,MAAsB,EAAE,YAA+B,EAAE,YAA+B,EAChG,MAAyB,EAAE,QAA6B,EAAE,IAAmB;QAC7E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAEM,OAAO;QACV,MAAM,KAAK,GAAG,IAAA,oBAAK,EAAC,IAAI,qDAAyB,EAAE,EAAE,gCAAe,CAAC,kCAAkC,CAAC;aACnG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;aAC5B,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC;aAClC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC;aAClC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;aAC1B,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC9B,gBAAgB,CAAC,wCAAyB,CAAC,MAAM,CAAC,CAAC;QAExD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,MAAM,GAAG,CAAC;YAClD,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;QAEhD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,SAAS;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;CACJ;AAnDD,oDAmDC"}
@@ -45,7 +45,7 @@ export class QueryPositionRequest {
45
45
  }
46
46
 
47
47
  public toProto(): QueryPositionRequestProto {
48
- const proto = stamp(new QueryPositionRequestProto(), ObjectTypeProto.OBJECT_TYPE_QUERY_POSITION_REQUEST, '', '1.0.0')
48
+ const proto = stamp(new QueryPositionRequestProto(), ObjectTypeProto.OBJECT_TYPE_QUERY_POSITION_REQUEST)
49
49
  .setAsOf(this.asOf.toProto())
50
50
  .setPositionType(this.positionType)
51
51
  .setPositionView(this.positionView)
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  // Wire tests for the paging fields (limit, page_token, next_page_token) on all
4
4
  // four query messages. See docs/adr/query_paging.md.
5
5
  const date_range_pb_1 = require("../../fintekkers/models/util/date_range_pb");
6
+ const version_pb_1 = require("../../fintekkers/models/util/version_pb");
6
7
  const query_portfolio_request_pb_1 = require("../../fintekkers/requests/portfolio/query_portfolio_request_pb");
7
8
  const query_portfolio_response_pb_1 = require("../../fintekkers/requests/portfolio/query_portfolio_response_pb");
8
9
  const query_price_request_pb_1 = require("../../fintekkers/requests/price/query_price_request_pb");
@@ -11,10 +12,6 @@ const query_security_request_pb_1 = require("../../fintekkers/requests/security/
11
12
  const query_security_response_pb_1 = require("../../fintekkers/requests/security/query_security_response_pb");
12
13
  const query_transaction_request_pb_1 = require("../../fintekkers/requests/transaction/query_transaction_request_pb");
13
14
  const query_transaction_response_pb_1 = require("../../fintekkers/requests/transaction/query_transaction_response_pb");
14
- // Serialized with the bindings on main (0a0c9657), before the paging fields
15
- // existed. Command: see ledger-models-python/test/requests/test_query_paging.py.
16
- const OLD_PRICE_REQUEST_HEX = '0a0c5072696365526571756573741205302e302e31c80106';
17
- const OLD_TRANSACTION_REQUEST_HEX = '0a125472616e73616374696f6e526571756573741205302e302e31c00164';
18
15
  const ENTITIES = [
19
16
  {
20
17
  name: 'security',
@@ -45,33 +42,14 @@ const ENTITIES = [
45
42
  parseResponse: (b) => query_price_response_pb_1.QueryPriceResponseProto.deserializeBinary(b),
46
43
  },
47
44
  ];
48
- function fromHex(hex) {
49
- return Uint8Array.from(Buffer.from(hex, 'hex'));
50
- }
51
45
  describe('query paging fields', () => {
52
46
  test.each(ENTITIES)('$name: old request reads limit 0 and empty page_token', (entity) => {
53
47
  const old = entity.newRequest();
54
- old.setObjectClass('Request');
55
- old.setVersion('0.0.1');
56
48
  const parsed = entity.parseRequest(old.serializeBinary());
57
49
  expect(parsed.getLimit()).toBe(0);
58
50
  expect(parsed.getPageToken()).toBe('');
59
51
  expect(entity.parseResponse(new Uint8Array()).getNextPageToken()).toBe('');
60
52
  });
61
- test('old price request bytes decode', () => {
62
- const parsed = query_price_request_pb_1.QueryPriceRequestProto.deserializeBinary(fromHex(OLD_PRICE_REQUEST_HEX));
63
- expect(parsed.getObjectClass()).toBe('PriceRequest');
64
- expect(parsed.getTimeRangeCase()).toBe(query_price_request_pb_1.QueryPriceRequestProto.TimeRangeCase.HORIZON);
65
- expect(parsed.getHorizon()).toBe(query_price_request_pb_1.PriceHorizonProto.PRICE_HORIZON_1_YEAR);
66
- expect(parsed.getLimit()).toBe(0);
67
- expect(parsed.getPageToken()).toBe('');
68
- });
69
- test('old transaction request bytes decode', () => {
70
- const parsed = query_transaction_request_pb_1.QueryTransactionRequestProto.deserializeBinary(fromHex(OLD_TRANSACTION_REQUEST_HEX));
71
- expect(parsed.getObjectClass()).toBe('TransactionRequest');
72
- expect(parsed.getLimit()).toBe(100);
73
- expect(parsed.getPageToken()).toBe('');
74
- });
75
53
  test.each(ENTITIES)('$name: paging fields round-trip', (entity) => {
76
54
  const request = entity.newRequest();
77
55
  request.setLimit(25);
@@ -86,9 +64,7 @@ describe('query paging fields', () => {
86
64
  });
87
65
  test.each(ENTITIES)('$name: empty next_page_token encodes as unset', (entity) => {
88
66
  const unset = entity.newResponse();
89
- unset.setVersion('0.0.1');
90
67
  const empty = entity.newResponse();
91
- empty.setVersion('0.0.1');
92
68
  empty.setNextPageToken('');
93
69
  expect(Array.from(empty.serializeBinary())).toEqual(Array.from(unset.serializeBinary()));
94
70
  });
@@ -104,16 +80,16 @@ describe('query paging fields', () => {
104
80
  expect(parsed.getLimit()).toBe(10);
105
81
  });
106
82
  test('price page_token round-trips with date_range', () => {
107
- var _a;
83
+ var _a, _b;
108
84
  const dateRange = new date_range_pb_1.DateRangeProto();
109
- dateRange.setVersion('0.0.1');
85
+ dateRange.setVersion(new version_pb_1.VersionProto().setPatch(1));
110
86
  const request = new query_price_request_pb_1.QueryPriceRequestProto();
111
87
  request.setDateRange(dateRange);
112
88
  request.setPageToken('opaque-abc');
113
89
  request.setLimit(10);
114
90
  const parsed = query_price_request_pb_1.QueryPriceRequestProto.deserializeBinary(request.serializeBinary());
115
91
  expect(parsed.getTimeRangeCase()).toBe(query_price_request_pb_1.QueryPriceRequestProto.TimeRangeCase.DATE_RANGE);
116
- expect((_a = parsed.getDateRange()) === null || _a === void 0 ? void 0 : _a.getVersion()).toBe('0.0.1');
92
+ expect((_b = (_a = parsed.getDateRange()) === null || _a === void 0 ? void 0 : _a.getVersion()) === null || _b === void 0 ? void 0 : _b.getPatch()).toBe(1);
117
93
  expect(parsed.getPageToken()).toBe('opaque-abc');
118
94
  expect(parsed.getLimit()).toBe(10);
119
95
  });
@@ -1 +1 @@
1
- {"version":3,"file":"query-paging.test.js","sourceRoot":"","sources":["query-paging.test.ts"],"names":[],"mappings":";;AAAA,+EAA+E;AAC/E,qDAAqD;AACrD,8EAA4E;AAC5E,+GAA4G;AAC5G,iHAA8G;AAC9G,mGAAmH;AACnH,qGAAkG;AAClG,4GAAyG;AACzG,8GAA2G;AAC3G,qHAAkH;AAClH,uHAAoH;AAEpH,4EAA4E;AAC5E,iFAAiF;AACjF,MAAM,qBAAqB,GAAG,kDAAkD,CAAC;AACjF,MAAM,2BAA2B,GAAG,8DAA8D,CAAC;AA2BnG,MAAM,QAAQ,GAAa;IACzB;QACE,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,qDAAyB,EAAE;QACjD,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,qDAAyB,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACnE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,uDAA0B,EAAE;QACnD,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,uDAA0B,CAAC,iBAAiB,CAAC,CAAC,CAAC;KACtE;IACD;QACE,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,2DAA4B,EAAE;QACpD,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,2DAA4B,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACtE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,6DAA6B,EAAE;QACtD,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,6DAA6B,CAAC,iBAAiB,CAAC,CAAC,CAAC;KACzE;IACD;QACE,IAAI,EAAE,WAAW;QACjB,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,uDAA0B,EAAE;QAClD,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,uDAA0B,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACpE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,yDAA2B,EAAE;QACpD,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,yDAA2B,CAAC,iBAAiB,CAAC,CAAC,CAAC;KACvE;IACD;QACE,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,+CAAsB,EAAE;QAC9C,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,+CAAsB,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAChE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,iDAAuB,EAAE;QAChD,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,iDAAuB,CAAC,iBAAiB,CAAC,CAAC,CAAC;KACnE;CACF,CAAC;AAEF,SAAS,OAAO,CAAC,GAAW;IAC1B,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,uDAAuD,EAAE,CAAC,MAAM,EAAE,EAAE;QACtF,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAChC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC9B,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAExB,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC;QAE1D,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gCAAgC,EAAE,GAAG,EAAE;QAC1C,MAAM,MAAM,GAAG,+CAAsB,CAAC,iBAAiB,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAExF,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,+CAAsB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACrF,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,0CAAiB,CAAC,oBAAoB,CAAC,CAAC;QACzE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAChD,MAAM,MAAM,GAAG,2DAA4B,CAAC,iBAAiB,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,CAAC;QAEpG,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC3D,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,iCAAiC,EAAE,CAAC,MAAM,EAAE,EAAE;QAChE,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACpC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACrB,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACtC,QAAQ,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAExC,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;QACrE,MAAM,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;QAExE,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxD,MAAM,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,+CAA+C,EAAE,CAAC,MAAM,EAAE,EAAE;QAC9E,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACnC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACnC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC1B,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAE3B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACrD,MAAM,OAAO,GAAG,IAAI,+CAAsB,EAAE,CAAC;QAC7C,OAAO,CAAC,UAAU,CAAC,0CAAiB,CAAC,oBAAoB,CAAC,CAAC;QAC3D,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACnC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAErB,MAAM,MAAM,GAAG,+CAAsB,CAAC,iBAAiB,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;QAEnF,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,+CAAsB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACrF,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,0CAAiB,CAAC,oBAAoB,CAAC,CAAC;QACzE,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;;QACxD,MAAM,SAAS,GAAG,IAAI,8BAAc,EAAE,CAAC;QACvC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,+CAAsB,EAAE,CAAC;QAC7C,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAChC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACnC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAErB,MAAM,MAAM,GAAG,+CAAsB,CAAC,iBAAiB,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;QAEnF,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,+CAAsB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACxF,MAAM,CAAC,MAAA,MAAM,CAAC,YAAY,EAAE,0CAAE,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"query-paging.test.js","sourceRoot":"","sources":["query-paging.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  // Wire tests for the paging fields (limit, page_token, next_page_token) on all
2
2
  // four query messages. See docs/adr/query_paging.md.
3
3
  import { DateRangeProto } from '../../fintekkers/models/util/date_range_pb';
4
+ import { VersionProto } from '../../fintekkers/models/util/version_pb';
4
5
  import { QueryPortfolioRequestProto } from '../../fintekkers/requests/portfolio/query_portfolio_request_pb';
5
6
  import { QueryPortfolioResponseProto } from '../../fintekkers/requests/portfolio/query_portfolio_response_pb';
6
7
  import { PriceHorizonProto, QueryPriceRequestProto } from '../../fintekkers/requests/price/query_price_request_pb';
@@ -10,14 +11,7 @@ import { QuerySecurityResponseProto } from '../../fintekkers/requests/security/q
10
11
  import { QueryTransactionRequestProto } from '../../fintekkers/requests/transaction/query_transaction_request_pb';
11
12
  import { QueryTransactionResponseProto } from '../../fintekkers/requests/transaction/query_transaction_response_pb';
12
13
 
13
- // Serialized with the bindings on main (0a0c9657), before the paging fields
14
- // existed. Command: see ledger-models-python/test/requests/test_query_paging.py.
15
- const OLD_PRICE_REQUEST_HEX = '0a0c5072696365526571756573741205302e302e31c80106';
16
- const OLD_TRANSACTION_REQUEST_HEX = '0a125472616e73616374696f6e526571756573741205302e302e31c00164';
17
-
18
14
  interface PagedRequest {
19
- setObjectClass(value: string): unknown;
20
- setVersion(value: string): unknown;
21
15
  getLimit(): number;
22
16
  setLimit(value: number): unknown;
23
17
  getPageToken(): string;
@@ -26,7 +20,6 @@ interface PagedRequest {
26
20
  }
27
21
 
28
22
  interface PagedResponse {
29
- setVersion(value: string): unknown;
30
23
  getNextPageToken(): string;
31
24
  setNextPageToken(value: string): unknown;
32
25
  serializeBinary(): Uint8Array;
@@ -71,15 +64,9 @@ const ENTITIES: Entity[] = [
71
64
  },
72
65
  ];
73
66
 
74
- function fromHex(hex: string): Uint8Array {
75
- return Uint8Array.from(Buffer.from(hex, 'hex'));
76
- }
77
-
78
67
  describe('query paging fields', () => {
79
68
  test.each(ENTITIES)('$name: old request reads limit 0 and empty page_token', (entity) => {
80
69
  const old = entity.newRequest();
81
- old.setObjectClass('Request');
82
- old.setVersion('0.0.1');
83
70
 
84
71
  const parsed = entity.parseRequest(old.serializeBinary());
85
72
 
@@ -88,24 +75,6 @@ describe('query paging fields', () => {
88
75
  expect(entity.parseResponse(new Uint8Array()).getNextPageToken()).toBe('');
89
76
  });
90
77
 
91
- test('old price request bytes decode', () => {
92
- const parsed = QueryPriceRequestProto.deserializeBinary(fromHex(OLD_PRICE_REQUEST_HEX));
93
-
94
- expect(parsed.getObjectClass()).toBe('PriceRequest');
95
- expect(parsed.getTimeRangeCase()).toBe(QueryPriceRequestProto.TimeRangeCase.HORIZON);
96
- expect(parsed.getHorizon()).toBe(PriceHorizonProto.PRICE_HORIZON_1_YEAR);
97
- expect(parsed.getLimit()).toBe(0);
98
- expect(parsed.getPageToken()).toBe('');
99
- });
100
-
101
- test('old transaction request bytes decode', () => {
102
- const parsed = QueryTransactionRequestProto.deserializeBinary(fromHex(OLD_TRANSACTION_REQUEST_HEX));
103
-
104
- expect(parsed.getObjectClass()).toBe('TransactionRequest');
105
- expect(parsed.getLimit()).toBe(100);
106
- expect(parsed.getPageToken()).toBe('');
107
- });
108
-
109
78
  test.each(ENTITIES)('$name: paging fields round-trip', (entity) => {
110
79
  const request = entity.newRequest();
111
80
  request.setLimit(25);
@@ -123,9 +92,7 @@ describe('query paging fields', () => {
123
92
 
124
93
  test.each(ENTITIES)('$name: empty next_page_token encodes as unset', (entity) => {
125
94
  const unset = entity.newResponse();
126
- unset.setVersion('0.0.1');
127
95
  const empty = entity.newResponse();
128
- empty.setVersion('0.0.1');
129
96
  empty.setNextPageToken('');
130
97
 
131
98
  expect(Array.from(empty.serializeBinary())).toEqual(Array.from(unset.serializeBinary()));
@@ -147,7 +114,7 @@ describe('query paging fields', () => {
147
114
 
148
115
  test('price page_token round-trips with date_range', () => {
149
116
  const dateRange = new DateRangeProto();
150
- dateRange.setVersion('0.0.1');
117
+ dateRange.setVersion(new VersionProto().setPatch(1));
151
118
  const request = new QueryPriceRequestProto();
152
119
  request.setDateRange(dateRange);
153
120
  request.setPageToken('opaque-abc');
@@ -156,7 +123,7 @@ describe('query paging fields', () => {
156
123
  const parsed = QueryPriceRequestProto.deserializeBinary(request.serializeBinary());
157
124
 
158
125
  expect(parsed.getTimeRangeCase()).toBe(QueryPriceRequestProto.TimeRangeCase.DATE_RANGE);
159
- expect(parsed.getDateRange()?.getVersion()).toBe('0.0.1');
126
+ expect(parsed.getDateRange()?.getVersion()?.getPatch()).toBe(1);
160
127
  expect(parsed.getPageToken()).toBe('opaque-abc');
161
128
  expect(parsed.getLimit()).toBe(10);
162
129
  });
@@ -67,7 +67,7 @@ class PortfolioService {
67
67
  validateCreatePortfolio(portfolio) {
68
68
  return __awaiter(this, void 0, void 0, function* () {
69
69
  const createRequest = new create_portfolio_request_pb_1.CreatePortfolioRequestProto();
70
- (0, object_types_1.stamp)(createRequest, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_PORTFOLIO_REQUEST, 'PortfolioRequest', '0.0.1');
70
+ (0, object_types_1.stamp)(createRequest, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_PORTFOLIO_REQUEST);
71
71
  createRequest.setCreatePortfolioInput(portfolio);
72
72
  const validateCreateOrUpdateAsync = (0, util_1.promisify)(this.client.validateCreateOrUpdate.bind(this.client));
73
73
  const response = yield validateCreateOrUpdateAsync(createRequest);
@@ -77,7 +77,7 @@ class PortfolioService {
77
77
  createPortfolio(portfolio) {
78
78
  return __awaiter(this, void 0, void 0, function* () {
79
79
  const createRequest = new create_portfolio_request_pb_1.CreatePortfolioRequestProto();
80
- (0, object_types_1.stamp)(createRequest, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_PORTFOLIO_REQUEST, 'PortfolioRequest', '0.0.1');
80
+ (0, object_types_1.stamp)(createRequest, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_PORTFOLIO_REQUEST);
81
81
  createRequest.setCreatePortfolioInput(portfolio);
82
82
  const createPortfolioAsync = (0, util_1.promisify)(this.client.createOrUpdate.bind(this.client));
83
83
  const response = yield createPortfolioAsync(createRequest);
@@ -96,7 +96,7 @@ class PortfolioService {
96
96
  searchPortfolio(asOf, positionFilter) {
97
97
  return __awaiter(this, void 0, void 0, function* () {
98
98
  const searchRequest = new query_portfolio_request_pb_1.QueryPortfolioRequestProto();
99
- (0, object_types_1.stamp)(searchRequest, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_PORTFOLIO_REQUEST, 'PortfolioRequest', '0.0.1');
99
+ (0, object_types_1.stamp)(searchRequest, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_PORTFOLIO_REQUEST);
100
100
  searchRequest.setAsOf(asOf);
101
101
  searchRequest.setSearchPortfolioInput(positionFilter.toProto());
102
102
  const tmpClient = this.client;
@@ -1 +1 @@
1
- {"version":3,"file":"PortfolioService.js","sourceRoot":"","sources":["PortfolioService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PortfolioService.js","sourceRoot":"","sources":["PortfolioService.ts"],"names":[],"mappings":"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"}
@@ -42,7 +42,7 @@ class PortfolioService {
42
42
 
43
43
  async validateCreatePortfolio(portfolio: PortfolioProto): Promise<SummaryProto> {
44
44
  const createRequest = new CreatePortfolioRequestProto();
45
- stamp(createRequest, ObjectTypeProto.OBJECT_TYPE_CREATE_PORTFOLIO_REQUEST, 'PortfolioRequest', '0.0.1');
45
+ stamp(createRequest, ObjectTypeProto.OBJECT_TYPE_CREATE_PORTFOLIO_REQUEST);
46
46
  createRequest.setCreatePortfolioInput(portfolio);
47
47
 
48
48
  const validateCreateOrUpdateAsync = promisify(this.client.validateCreateOrUpdate.bind(this.client));
@@ -52,7 +52,7 @@ class PortfolioService {
52
52
 
53
53
  async createPortfolio(portfolio: PortfolioProto): Promise<CreatePortfolioResponseProto> {
54
54
  const createRequest = new CreatePortfolioRequestProto();
55
- stamp(createRequest, ObjectTypeProto.OBJECT_TYPE_CREATE_PORTFOLIO_REQUEST, 'PortfolioRequest', '0.0.1');
55
+ stamp(createRequest, ObjectTypeProto.OBJECT_TYPE_CREATE_PORTFOLIO_REQUEST);
56
56
  createRequest.setCreatePortfolioInput(portfolio);
57
57
 
58
58
  const createPortfolioAsync = promisify(this.client.createOrUpdate.bind(this.client));
@@ -72,7 +72,7 @@ class PortfolioService {
72
72
  async searchPortfolio(asOf: LocalTimestampProto,
73
73
  positionFilter: PositionFilter): Promise<Portfolio[]> {
74
74
  const searchRequest = new QueryPortfolioRequestProto();
75
- stamp(searchRequest, ObjectTypeProto.OBJECT_TYPE_QUERY_PORTFOLIO_REQUEST, 'PortfolioRequest', '0.0.1');
75
+ stamp(searchRequest, ObjectTypeProto.OBJECT_TYPE_QUERY_PORTFOLIO_REQUEST);
76
76
  searchRequest.setAsOf(asOf);
77
77
 
78
78
  searchRequest.setSearchPortfolioInput(positionFilter.toProto());