@eulerxyz/euler-v2-sdk 0.1.3-beta → 0.2.0-beta

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 (194) hide show
  1. package/README.md +24 -25
  2. package/dist/src/entities/Account.d.ts +48 -47
  3. package/dist/src/entities/Account.d.ts.map +1 -1
  4. package/dist/src/entities/Account.js +78 -64
  5. package/dist/src/entities/Account.js.map +1 -1
  6. package/dist/src/entities/ERC4626Vault.d.ts +6 -5
  7. package/dist/src/entities/ERC4626Vault.d.ts.map +1 -1
  8. package/dist/src/entities/ERC4626Vault.js +13 -6
  9. package/dist/src/entities/ERC4626Vault.js.map +1 -1
  10. package/dist/src/entities/EVault.d.ts +30 -15
  11. package/dist/src/entities/EVault.d.ts.map +1 -1
  12. package/dist/src/entities/EVault.js +66 -14
  13. package/dist/src/entities/EVault.js.map +1 -1
  14. package/dist/src/entities/EulerEarn.d.ts +3 -0
  15. package/dist/src/entities/EulerEarn.d.ts.map +1 -1
  16. package/dist/src/entities/EulerEarn.js +12 -3
  17. package/dist/src/entities/EulerEarn.js.map +1 -1
  18. package/dist/src/entities/EulerLabels.d.ts +74 -0
  19. package/dist/src/entities/EulerLabels.d.ts.map +1 -1
  20. package/dist/src/entities/Portfolio.d.ts +20 -19
  21. package/dist/src/entities/Portfolio.d.ts.map +1 -1
  22. package/dist/src/entities/Portfolio.js +34 -17
  23. package/dist/src/entities/Portfolio.js.map +1 -1
  24. package/dist/src/entities/Wallet.d.ts +1 -0
  25. package/dist/src/entities/Wallet.d.ts.map +1 -1
  26. package/dist/src/entities/Wallet.js +2 -2
  27. package/dist/src/entities/Wallet.js.map +1 -1
  28. package/dist/src/index.d.ts +4 -1
  29. package/dist/src/index.d.ts.map +1 -1
  30. package/dist/src/index.js +4 -1
  31. package/dist/src/index.js.map +1 -1
  32. package/dist/src/plugins/keyring/keyringPlugin.d.ts.map +1 -1
  33. package/dist/src/plugins/keyring/keyringPlugin.js +59 -10
  34. package/dist/src/plugins/keyring/keyringPlugin.js.map +1 -1
  35. package/dist/src/plugins/pyth/pythPlugin.d.ts.map +1 -1
  36. package/dist/src/plugins/pyth/pythPlugin.js +132 -11
  37. package/dist/src/plugins/pyth/pythPlugin.js.map +1 -1
  38. package/dist/src/plugins/types.d.ts +4 -7
  39. package/dist/src/plugins/types.d.ts.map +1 -1
  40. package/dist/src/plugins/types.js.map +1 -1
  41. package/dist/src/sdk/buildSDK.d.ts +10 -4
  42. package/dist/src/sdk/buildSDK.d.ts.map +1 -1
  43. package/dist/src/sdk/buildSDK.js +359 -110
  44. package/dist/src/sdk/buildSDK.js.map +1 -1
  45. package/dist/src/sdk/config.d.ts +74 -0
  46. package/dist/src/sdk/config.d.ts.map +1 -0
  47. package/dist/src/sdk/config.js +187 -0
  48. package/dist/src/sdk/config.js.map +1 -0
  49. package/dist/src/sdk/defaultConfig.d.ts +5 -2
  50. package/dist/src/sdk/defaultConfig.d.ts.map +1 -1
  51. package/dist/src/sdk/defaultConfig.js +21 -18
  52. package/dist/src/sdk/defaultConfig.js.map +1 -1
  53. package/dist/src/sdk/sdk.d.ts +4 -3
  54. package/dist/src/sdk/sdk.d.ts.map +1 -1
  55. package/dist/src/sdk/sdk.js +2 -4
  56. package/dist/src/sdk/sdk.js.map +1 -1
  57. package/dist/src/services/accountService/accountService.d.ts.map +1 -1
  58. package/dist/src/services/accountService/accountService.js +10 -7
  59. package/dist/src/services/accountService/accountService.js.map +1 -1
  60. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.d.ts +2 -2
  61. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.d.ts.map +1 -1
  62. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.js +22 -17
  63. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.js.map +1 -1
  64. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.d.ts +1 -1
  65. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.d.ts.map +1 -1
  66. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.js +16 -17
  67. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.js.map +1 -1
  68. package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.d.ts.map +1 -1
  69. package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.js +58 -53
  70. package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.js.map +1 -1
  71. package/dist/src/services/deploymentService/deploymentService.d.ts +1 -0
  72. package/dist/src/services/deploymentService/deploymentService.d.ts.map +1 -1
  73. package/dist/src/services/deploymentService/deploymentService.js.map +1 -1
  74. package/dist/src/services/eulerLabelsService/eulerLabelsService.d.ts +18 -1
  75. package/dist/src/services/eulerLabelsService/eulerLabelsService.d.ts.map +1 -1
  76. package/dist/src/services/eulerLabelsService/eulerLabelsService.js +373 -30
  77. package/dist/src/services/eulerLabelsService/eulerLabelsService.js.map +1 -1
  78. package/dist/src/services/executionService/execute.d.ts +2 -1
  79. package/dist/src/services/executionService/execute.d.ts.map +1 -1
  80. package/dist/src/services/executionService/execute.js +10 -6
  81. package/dist/src/services/executionService/execute.js.map +1 -1
  82. package/dist/src/services/executionService/executionService.d.ts +10 -4
  83. package/dist/src/services/executionService/executionService.d.ts.map +1 -1
  84. package/dist/src/services/executionService/executionService.js +19 -2
  85. package/dist/src/services/executionService/executionService.js.map +1 -1
  86. package/dist/src/services/executionService/simulate.d.ts.map +1 -1
  87. package/dist/src/services/executionService/simulate.js +3 -2
  88. package/dist/src/services/executionService/simulate.js.map +1 -1
  89. package/dist/src/services/oracleAdapterService/oracleAdapterService.d.ts +5 -0
  90. package/dist/src/services/oracleAdapterService/oracleAdapterService.d.ts.map +1 -1
  91. package/dist/src/services/oracleAdapterService/oracleAdapterService.js +38 -11
  92. package/dist/src/services/oracleAdapterService/oracleAdapterService.js.map +1 -1
  93. package/dist/src/services/priceService/backendClient.d.ts +7 -11
  94. package/dist/src/services/priceService/backendClient.d.ts.map +1 -1
  95. package/dist/src/services/priceService/backendClient.js +7 -14
  96. package/dist/src/services/priceService/backendClient.js.map +1 -1
  97. package/dist/src/services/priceService/index.d.ts +2 -2
  98. package/dist/src/services/priceService/index.d.ts.map +1 -1
  99. package/dist/src/services/priceService/index.js +1 -1
  100. package/dist/src/services/priceService/index.js.map +1 -1
  101. package/dist/src/services/priceService/priceService.d.ts +19 -17
  102. package/dist/src/services/priceService/priceService.d.ts.map +1 -1
  103. package/dist/src/services/priceService/priceService.js +53 -76
  104. package/dist/src/services/priceService/priceService.js.map +1 -1
  105. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.d.ts +1 -1
  106. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.d.ts.map +1 -1
  107. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.js +6 -13
  108. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.js.map +1 -1
  109. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.d.ts +1 -1
  110. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.d.ts.map +1 -1
  111. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.js +69 -51
  112. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.js.map +1 -1
  113. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.d.ts +5 -2
  114. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.d.ts.map +1 -1
  115. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.js +50 -18
  116. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.js.map +1 -1
  117. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.d.ts +1 -1
  118. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.d.ts.map +1 -1
  119. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.js +106 -111
  120. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.js.map +1 -1
  121. package/dist/src/services/vaults/eVaultService/eVaultService.d.ts +4 -4
  122. package/dist/src/services/vaults/eVaultService/eVaultService.d.ts.map +1 -1
  123. package/dist/src/services/vaults/eVaultService/eVaultService.js +56 -57
  124. package/dist/src/services/vaults/eVaultService/eVaultService.js.map +1 -1
  125. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.d.ts +1 -1
  126. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.d.ts.map +1 -1
  127. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.js +22 -21
  128. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.js.map +1 -1
  129. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.d.ts.map +1 -1
  130. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.js +27 -32
  131. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.js.map +1 -1
  132. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.d.ts +1 -1
  133. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.d.ts.map +1 -1
  134. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.js +113 -72
  135. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.js.map +1 -1
  136. package/dist/src/services/vaults/eulerEarnService/eulerEarnService.d.ts +5 -5
  137. package/dist/src/services/vaults/eulerEarnService/eulerEarnService.d.ts.map +1 -1
  138. package/dist/src/services/vaults/eulerEarnService/eulerEarnService.js +30 -28
  139. package/dist/src/services/vaults/eulerEarnService/eulerEarnService.js.map +1 -1
  140. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.d.ts +1 -1
  141. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.d.ts.map +1 -1
  142. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.js +10 -7
  143. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.js.map +1 -1
  144. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.d.ts.map +1 -1
  145. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.js +6 -8
  146. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.js.map +1 -1
  147. package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.d.ts +2 -2
  148. package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.d.ts.map +1 -1
  149. package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.js +13 -18
  150. package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.js.map +1 -1
  151. package/dist/src/services/vaults/vaultMetaService/vaultMetaService.d.ts +3 -3
  152. package/dist/src/services/vaults/vaultMetaService/vaultMetaService.d.ts.map +1 -1
  153. package/dist/src/services/vaults/vaultMetaService/vaultMetaService.js +31 -32
  154. package/dist/src/services/vaults/vaultMetaService/vaultMetaService.js.map +1 -1
  155. package/dist/src/services/walletService/adapters/walletOnchainAdapter.d.ts +5 -1
  156. package/dist/src/services/walletService/adapters/walletOnchainAdapter.d.ts.map +1 -1
  157. package/dist/src/services/walletService/adapters/walletOnchainAdapter.js +181 -40
  158. package/dist/src/services/walletService/adapters/walletOnchainAdapter.js.map +1 -1
  159. package/dist/src/services/walletService/walletService.d.ts +1 -1
  160. package/dist/src/services/walletService/walletService.d.ts.map +1 -1
  161. package/dist/src/services/walletService/walletService.js +4 -3
  162. package/dist/src/services/walletService/walletService.js.map +1 -1
  163. package/dist/src/utils/accountComputations.d.ts +14 -13
  164. package/dist/src/utils/accountComputations.d.ts.map +1 -1
  165. package/dist/src/utils/accountComputations.js +59 -37
  166. package/dist/src/utils/accountComputations.js.map +1 -1
  167. package/dist/src/utils/buildQuery.d.ts +1 -0
  168. package/dist/src/utils/buildQuery.d.ts.map +1 -1
  169. package/dist/src/utils/buildQuery.js +1 -1
  170. package/dist/src/utils/buildQuery.js.map +1 -1
  171. package/dist/src/utils/entityDiagnostics.d.ts +75 -12
  172. package/dist/src/utils/entityDiagnostics.d.ts.map +1 -1
  173. package/dist/src/utils/entityDiagnostics.js +85 -19
  174. package/dist/src/utils/entityDiagnostics.js.map +1 -1
  175. package/dist/src/utils/eulerLabels.d.ts +34 -0
  176. package/dist/src/utils/eulerLabels.d.ts.map +1 -0
  177. package/dist/src/utils/eulerLabels.js +156 -0
  178. package/dist/src/utils/eulerLabels.js.map +1 -0
  179. package/dist/src/utils/healthCheckSets.d.ts +14 -0
  180. package/dist/src/utils/healthCheckSets.d.ts.map +1 -0
  181. package/dist/src/utils/healthCheckSets.js +174 -0
  182. package/dist/src/utils/healthCheckSets.js.map +1 -0
  183. package/dist/src/utils/normalization.d.ts +10 -4
  184. package/dist/src/utils/normalization.d.ts.map +1 -1
  185. package/dist/src/utils/normalization.js +38 -11
  186. package/dist/src/utils/normalization.js.map +1 -1
  187. package/dist/src/utils/oracle.d.ts.map +1 -1
  188. package/dist/src/utils/oracle.js +12 -1
  189. package/dist/src/utils/oracle.js.map +1 -1
  190. package/dist/src/utils/parsing.d.ts +2 -2
  191. package/dist/src/utils/parsing.d.ts.map +1 -1
  192. package/dist/src/utils/parsing.js +12 -22
  193. package/dist/src/utils/parsing.js.map +1 -1
  194. package/package.json +1 -1
@@ -34,25 +34,21 @@ export type V3PriceResponse = {
34
34
  };
35
35
  };
36
36
  /**
37
- * Backend configuration for the price service.
37
+ * Pricing service configuration for the V3 pricing endpoint.
38
38
  */
39
- export type BackendConfig = {
40
- /** Backend API endpoint URL. */
39
+ export type PricingServiceConfig = {
40
+ /** Pricing API endpoint URL. */
41
41
  endpoint: string;
42
42
  /** Optional API key sent as `X-API-Key` for V3-style backend requests. */
43
43
  apiKey?: string;
44
44
  };
45
- /**
46
- * Convert backend price (number) to bigint with 18 decimals.
47
- */
48
- export declare const backendPriceToBigInt: (price: string | number) => bigint;
49
- /**
50
- * Instance-based backend price client with batching.
51
- */
45
+ /** Normalize a pricing API price to a positive finite USD number. */
46
+ export declare const normalizeBackendPrice: (price: string | number) => number | undefined;
47
+ /** Instance-based V3 pricing API client with batching. */
52
48
  export declare class PricingBackendClient {
53
49
  private readonly endpoint;
54
50
  private readonly apiKey?;
55
- constructor(config: BackendConfig, buildQuery?: BuildQueryFn);
51
+ constructor(config: PricingServiceConfig, buildQuery?: BuildQueryFn);
56
52
  get isConfigured(): boolean;
57
53
  private getHeaders;
58
54
  private parseResponse;
@@ -1 +1 @@
1
- {"version":3,"file":"backendClient.d.ts","sourceRoot":"","sources":["../../../../src/services/priceService/backendClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,KAAK,YAAY,EAAmB,MAAM,2BAA2B,CAAC;AAG/E;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAEpE,MAAM,MAAM,UAAU,GAAG;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC7B,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC3B,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,OAAO,MAAM,GAAG,MAAM,KAAG,MAa7D,CAAC;AAEF;;GAEG;AACH,qBAAa,oBAAoB;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;gBAErB,MAAM,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,YAAY;IAM5D,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,aAAa;IAqCrB;;;OAGG;IACH,YAAY;iBACa,OAAO;iBAAW,MAAM;gDAoC/C;IAEF,eAAe,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,YAAY,GAAG,IAAI;CAGnD"}
1
+ {"version":3,"file":"backendClient.d.ts","sourceRoot":"","sources":["../../../../src/services/priceService/backendClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,KAAK,YAAY,EAAmB,MAAM,2BAA2B,CAAC;AAG/E;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAEpE,MAAM,MAAM,UAAU,GAAG;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC7B,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAClC,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,qBAAqB,GACjC,OAAO,MAAM,GAAG,MAAM,KACpB,MAAM,GAAG,SAUX,CAAC;AAEF,0DAA0D;AAC1D,qBAAa,oBAAoB;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;gBAErB,MAAM,EAAE,oBAAoB,EAAE,UAAU,CAAC,EAAE,YAAY;IAMnE,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,aAAa;IAqCrB;;;OAGG;IACH,YAAY;iBACa,OAAO;iBAAW,MAAM;gDAoC/C;IAEF,eAAe,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,YAAY,GAAG,IAAI;CAGnD"}
@@ -1,26 +1,19 @@
1
1
  import { applyBuildQuery } from "../../utils/buildQuery.js";
2
2
  import { createCallBundler } from "../../utils/callBundler.js";
3
- /**
4
- * Convert backend price (number) to bigint with 18 decimals.
5
- */
6
- export const backendPriceToBigInt = (price) => {
3
+ /** Normalize a pricing API price to a positive finite USD number. */
4
+ export const normalizeBackendPrice = (price) => {
7
5
  try {
8
6
  const priceNum = typeof price === "number" ? price : parseFloat(price);
9
- if (Number.isNaN(priceNum) || priceNum < 0) {
10
- return 0n;
7
+ if (!Number.isFinite(priceNum) || priceNum <= 0) {
8
+ return undefined;
11
9
  }
12
- const priceString = priceNum.toFixed(18);
13
- const [intPart, decPart = ""] = priceString.split(".");
14
- const paddedDec = decPart.slice(0, 18);
15
- return BigInt(intPart + paddedDec);
10
+ return priceNum;
16
11
  }
17
12
  catch {
18
- return 0n;
13
+ return undefined;
19
14
  }
20
15
  };
21
- /**
22
- * Instance-based backend price client with batching.
23
- */
16
+ /** Instance-based V3 pricing API client with batching. */
24
17
  export class PricingBackendClient {
25
18
  endpoint;
26
19
  apiKey;
@@ -1 +1 @@
1
- {"version":3,"file":"backendClient.js","sourceRoot":"","sources":["../../../../src/services/priceService/backendClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backendClient.js","sourceRoot":"","sources":["../../../../src/services/priceService/backendClient.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export { PriceService, type IPriceService, type PriceResult, type FormattedAssetValue, type FormatAssetValueOptions, ONE_18, USD_ADDRESS, getAssetOraclePrice, getCollateralShareOraclePrice, getCollateralOraclePrice, } from "./priceService.js";
2
- export { PricingBackendClient, backendPriceToBigInt, type BackendConfig, type BackendPriceData, type BackendPriceResponse, } from "./backendClient.js";
1
+ export { PriceService, type IPriceService, type PriceResult, type OraclePriceResult, type FormattedAssetValue, type FormatAssetValueOptions, ONE_18, USD_ADDRESS, getAssetOraclePrice, getCollateralShareOraclePrice, getCollateralOraclePrice, } from "./priceService.js";
2
+ export { PricingBackendClient, normalizeBackendPrice, type BackendPriceData, type BackendPriceResponse, type PricingServiceConfig, } from "./backendClient.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/priceService/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,YAAY,EACZ,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,MAAM,EACN,WAAW,EACX,mBAAmB,EACnB,6BAA6B,EAC7B,wBAAwB,GACxB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACN,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,GACzB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/priceService/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,YAAY,EACZ,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,MAAM,EACN,WAAW,EACX,mBAAmB,EACnB,6BAA6B,EAC7B,wBAAwB,GACxB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACN,oBAAoB,EACpB,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,GACzB,MAAM,oBAAoB,CAAC"}
@@ -1,3 +1,3 @@
1
1
  export { PriceService, ONE_18, USD_ADDRESS, getAssetOraclePrice, getCollateralShareOraclePrice, getCollateralOraclePrice, } from "./priceService.js";
2
- export { PricingBackendClient, backendPriceToBigInt, } from "./backendClient.js";
2
+ export { PricingBackendClient, normalizeBackendPrice, } from "./backendClient.js";
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/priceService/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,YAAY,EAKZ,MAAM,EACN,WAAW,EACX,mBAAmB,EACnB,6BAA6B,EAC7B,wBAAwB,GACxB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACN,oBAAoB,EACpB,oBAAoB,GAIpB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/priceService/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,YAAY,EAMZ,MAAM,EACN,WAAW,EACX,mBAAmB,EACnB,6BAA6B,EAC7B,wBAAwB,GACxB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACN,oBAAoB,EACpB,qBAAqB,GAIrB,MAAM,oBAAoB,CAAC"}
@@ -11,16 +11,18 @@ export declare const ONE_18: bigint;
11
11
  /** Euler virtual USD address (decimal 840 = ISO-4217 USD). */
12
12
  export declare const USD_ADDRESS: Address;
13
13
  /**
14
- * Price result with mid, ask, and bid prices.
14
+ * Raw oracle price result with mid, ask, and bid prices.
15
15
  * `decimals` indicates the precision of the quote (output) asset —
16
- * e.g. 18 for USD amounts, or the UoA decimals for Layer-1 oracle prices.
16
+ * e.g. the UoA decimals for Layer-1 oracle prices.
17
17
  */
18
- export type PriceResult = {
18
+ export type OraclePriceResult = {
19
19
  amountOutMid: bigint;
20
20
  amountOutAsk: bigint;
21
21
  amountOutBid: bigint;
22
22
  decimals: number;
23
23
  };
24
+ /** USD price per whole token as a plain decimal number. */
25
+ export type PriceResult = number;
24
26
  export type FormatAssetValueOptions = {
25
27
  maxDecimals?: number;
26
28
  minDecimals?: number;
@@ -38,11 +40,11 @@ export type FormattedAssetValue = {
38
40
  assetSymbol: string;
39
41
  };
40
42
  export interface IPriceService {
41
- getAssetOraclePrice(vault: EVault): PriceResult | undefined;
43
+ getAssetOraclePrice(vault: EVault): OraclePriceResult | undefined;
42
44
  getCollateralShareOraclePrice(liabilityVault: EVault, collateralVault: ERC4626Vault): OraclePrice | undefined;
43
- getCollateralOraclePrice(liabilityVault: EVault, collateralVault: ERC4626Vault): PriceResult | undefined;
44
- fetchUnitOfAccountUsdRate(vault: EVault): Promise<bigint | undefined>;
45
- fetchUnitOfAccountUsdRateWithDiagnostics(vault: EVault, path?: string): Promise<ServiceResult<bigint | undefined>>;
45
+ getCollateralOraclePrice(liabilityVault: EVault, collateralVault: ERC4626Vault): OraclePriceResult | undefined;
46
+ fetchUnitOfAccountUsdRate(vault: EVault): Promise<number | undefined>;
47
+ fetchUnitOfAccountUsdRateWithDiagnostics(vault: EVault, path?: string): Promise<ServiceResult<number | undefined>>;
46
48
  fetchAssetUsdPrice(vault: ERC4626Vault): Promise<PriceResult | undefined>;
47
49
  fetchAssetUsdPriceWithDiagnostics(vault: ERC4626Vault, path?: string): Promise<ServiceResult<PriceResult | undefined>>;
48
50
  fetchAssetUsdPriceByAddress(chainId: number, assetAddress: Address): Promise<PriceResult | undefined>;
@@ -63,20 +65,20 @@ export declare class PriceService implements IPriceService {
63
65
  amountOutMid: bigint;
64
66
  }>;
65
67
  setQueryAssetPriceInfo(fn: typeof this.queryAssetPriceInfo): void;
66
- getAssetOraclePrice(vault: EVault): PriceResult | undefined;
68
+ getAssetOraclePrice(vault: EVault): OraclePriceResult | undefined;
67
69
  getCollateralShareOraclePrice(liabilityVault: EVault, collateralVault: ERC4626Vault): OraclePrice | undefined;
68
- getCollateralOraclePrice(liabilityVault: EVault, collateralVault: ERC4626Vault): PriceResult | undefined;
70
+ getCollateralOraclePrice(liabilityVault: EVault, collateralVault: ERC4626Vault): OraclePriceResult | undefined;
69
71
  /**
70
72
  * Get the USD rate for a vault's unit of account.
71
- * Always tries backend first (UoA is a common denominator —
73
+ * Always tries the V3 pricing API first (UoA is a common denominator —
72
74
  * using off-chain rates doesn't affect health factor/LTV ratios).
73
75
  * Falls back to on-chain utilsLens call.
74
76
  */
75
- fetchUnitOfAccountUsdRate(vault: EVault): Promise<bigint | undefined>;
76
- fetchUnitOfAccountUsdRateWithDiagnostics(vault: EVault, path?: string): Promise<ServiceResult<bigint | undefined>>;
77
+ fetchUnitOfAccountUsdRate(vault: EVault): Promise<number | undefined>;
78
+ fetchUnitOfAccountUsdRateWithDiagnostics(vault: EVault, path?: string): Promise<ServiceResult<number | undefined>>;
77
79
  /**
78
80
  * Get asset price in USD.
79
- * Tries backend first, falls back to on-chain oracle.
81
+ * Tries the V3 pricing API first, falls back to on-chain oracle.
80
82
  * EVault: oraclePrice × uoaRate.
81
83
  * EulerEarn / SecuritizeCollateral: utilsLens or backend.
82
84
  */
@@ -84,13 +86,13 @@ export declare class PriceService implements IPriceService {
84
86
  fetchAssetUsdPriceWithDiagnostics(vault: ERC4626Vault, path?: string): Promise<ServiceResult<PriceResult | undefined>>;
85
87
  /**
86
88
  * Get a standalone asset price in USD by token address.
87
- * Tries backend first, then falls back to utilsLens.getAssetPriceInfo(asset, USD).
89
+ * Tries the V3 pricing API first, then falls back to utilsLens.getAssetPriceInfo(asset, USD).
88
90
  */
89
91
  fetchAssetUsdPriceByAddress(chainId: number, assetAddress: Address): Promise<PriceResult | undefined>;
90
92
  fetchAssetUsdPriceByAddressWithDiagnostics(chainId: number, assetAddress: Address, path?: string): Promise<ServiceResult<PriceResult | undefined>>;
91
93
  /**
92
94
  * Get collateral price in USD in the context of a liability vault.
93
- * Tries backend first, falls back to on-chain oracle.
95
+ * Tries the V3 pricing API first, falls back to on-chain oracle.
94
96
  * Collateral pricing ALWAYS uses the liability vault's oracle for on-chain fallback.
95
97
  */
96
98
  fetchCollateralUsdPrice(liabilityVault: EVault, collateralVault: ERC4626Vault): Promise<PriceResult | undefined>;
@@ -120,7 +122,7 @@ export declare class PriceService implements IPriceService {
120
122
  * Get raw oracle price for a vault's asset in the vault's unit of account.
121
123
  * Uses oraclePriceRaw (liabilityPriceInfo from the vault lens).
122
124
  */
123
- export declare function getAssetOraclePrice(vault: EVault): PriceResult | undefined;
125
+ export declare function getAssetOraclePrice(vault: EVault): OraclePriceResult | undefined;
124
126
  /**
125
127
  * Get collateral share price from the liability vault's perspective.
126
128
  * Returns the raw OraclePrice in the liability vault's unit of account.
@@ -130,5 +132,5 @@ export declare function getCollateralShareOraclePrice(liabilityVault: EVault, co
130
132
  * Get collateral ASSET price from the liability vault's perspective.
131
133
  * Converts share price to asset price using totalShares/totalAssets.
132
134
  */
133
- export declare function getCollateralOraclePrice(liabilityVault: EVault, collateralVault: ERC4626Vault): PriceResult | undefined;
135
+ export declare function getCollateralOraclePrice(liabilityVault: EVault, collateralVault: ERC4626Vault): OraclePriceResult | undefined;
134
136
  //# sourceMappingURL=priceService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"priceService.d.ts","sourceRoot":"","sources":["../../../../src/services/priceService/priceService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"priceService.d.ts","sourceRoot":"","sources":["../../../../src/services/priceService/priceService.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,10 @@ import { getAddress, formatUnits } from "viem";
2
2
  import { VaultType } from "../../utils/types.js";
3
3
  import { ZERO_ADDRESS } from "../../utils/parsing.js";
4
4
  import { utilsLensPriceAbi } from "./utilsLensPriceAbi.js";
5
- import { backendPriceToBigInt, } from "./backendClient.js";
5
+ import { normalizeBackendPrice, } from "./backendClient.js";
6
6
  import { applyBuildQuery } from "../../utils/buildQuery.js";
7
- import { compressDataIssues, } from "../../utils/entityDiagnostics.js";
7
+ import { scaledBigIntToNumber } from "../../utils/normalization.js";
8
+ import { assetDiagnosticOwner, compressDataIssues, dataIssueLocation, vaultCollateralDiagnosticOwner, vaultDiagnosticOwner, } from "../../utils/entityDiagnostics.js";
8
9
  // ---------------------------------------------------------------------------
9
10
  // Constants
10
11
  // ---------------------------------------------------------------------------
@@ -12,7 +13,6 @@ export const ONE_18 = 10n ** 18n;
12
13
  /** Euler virtual USD address (decimal 840 = ISO-4217 USD). */
13
14
  export const USD_ADDRESS = "0x0000000000000000000000000000000000000348";
14
15
  const USD_DECIMALS = 18;
15
- const getDecimalScale = (decimals) => 10n ** BigInt(decimals);
16
16
  // ---------------------------------------------------------------------------
17
17
  // Implementation
18
18
  // ---------------------------------------------------------------------------
@@ -61,7 +61,7 @@ export class PriceService {
61
61
  // -----------------------------------------------------------------------
62
62
  /**
63
63
  * Get the USD rate for a vault's unit of account.
64
- * Always tries backend first (UoA is a common denominator —
64
+ * Always tries the V3 pricing API first (UoA is a common denominator —
65
65
  * using off-chain rates doesn't affect health factor/LTV ratios).
66
66
  * Falls back to on-chain utilsLens call.
67
67
  */
@@ -76,11 +76,11 @@ export class PriceService {
76
76
  }
77
77
  // USD unit of account → 1.0
78
78
  if (getAddress(uoaAddress) === getAddress(USD_ADDRESS)) {
79
- return { result: ONE_18, errors };
79
+ return { result: 1, errors };
80
80
  }
81
81
  let backendError;
82
82
  let backendAttempted = false;
83
- // Try backend first
83
+ // Try the V3 pricing API first
84
84
  if (this.backendClient?.isConfigured) {
85
85
  backendAttempted = true;
86
86
  try {
@@ -89,8 +89,8 @@ export class PriceService {
89
89
  chainId: vault.chainId,
90
90
  });
91
91
  if (backendPrice) {
92
- const rate = backendPriceToBigInt(backendPrice.price);
93
- if (rate > 0n)
92
+ const rate = normalizeBackendPrice(backendPrice.price);
93
+ if (rate !== undefined)
94
94
  return { result: rate, errors };
95
95
  }
96
96
  }
@@ -100,17 +100,20 @@ export class PriceService {
100
100
  }
101
101
  // On-chain: call utilsLens.getAssetPriceInfo(unitOfAccount, USD)
102
102
  const priceInfo = await this.fetchAssetPriceInfo(vault.chainId, uoaAddress);
103
- const fallbackRate = priceInfo?.amountOutMid || undefined;
104
- if (backendAttempted && fallbackRate) {
103
+ const fallbackRate = priceInfo?.amountOutMid !== undefined
104
+ ? scaledBigIntToNumber(priceInfo.amountOutMid, USD_DECIMALS)
105
+ : undefined;
106
+ if (backendAttempted && fallbackRate !== undefined) {
105
107
  errors.push({
106
108
  code: "FALLBACK_USED",
107
109
  severity: "info",
108
- message: "Backend UoA/USD rate unavailable; used on-chain fallback.",
109
- paths: [path],
110
- entityId: uoaAddress,
110
+ message: "V3 UoA/USD rate unavailable; used on-chain fallback.",
111
+ locations: [
112
+ dataIssueLocation(vaultDiagnosticOwner(vault.chainId, vault.address), path),
113
+ ],
111
114
  source: "priceService",
112
115
  originalValue: backendError instanceof Error ? backendError.message : undefined,
113
- normalizedValue: fallbackRate.toString(),
116
+ normalizedValue: fallbackRate,
114
117
  });
115
118
  }
116
119
  return { result: fallbackRate, errors: compressDataIssues(errors) };
@@ -120,7 +123,7 @@ export class PriceService {
120
123
  // -----------------------------------------------------------------------
121
124
  /**
122
125
  * Get asset price in USD.
123
- * Tries backend first, falls back to on-chain oracle.
126
+ * Tries the V3 pricing API first, falls back to on-chain oracle.
124
127
  * EVault: oraclePrice × uoaRate.
125
128
  * EulerEarn / SecuritizeCollateral: utilsLens or backend.
126
129
  */
@@ -133,7 +136,7 @@ export class PriceService {
133
136
  return { result: undefined, errors };
134
137
  let backendError;
135
138
  let backendAttempted = false;
136
- // Try backend first
139
+ // Try the V3 pricing API first
137
140
  if (this.backendClient?.isConfigured) {
138
141
  backendAttempted = true;
139
142
  try {
@@ -142,7 +145,7 @@ export class PriceService {
142
145
  chainId: vault.chainId,
143
146
  });
144
147
  if (backendPrice) {
145
- const result = backendPriceToPriceResult(backendPrice.price);
148
+ const result = normalizeBackendPrice(backendPrice.price);
146
149
  if (result)
147
150
  return { result, errors };
148
151
  }
@@ -156,12 +159,13 @@ export class PriceService {
156
159
  errors.push({
157
160
  code: "FALLBACK_USED",
158
161
  severity: "info",
159
- message: "Backend asset/USD price unavailable; used on-chain fallback.",
160
- paths: [path],
161
- entityId: vault.address,
162
+ message: "V3 asset/USD price unavailable; used on-chain fallback.",
163
+ locations: [
164
+ dataIssueLocation(vaultDiagnosticOwner(vault.chainId, vault.address), path),
165
+ ],
162
166
  source: "priceService",
163
167
  originalValue: backendError instanceof Error ? backendError.message : undefined,
164
- normalizedValue: fallbackPrice.amountOutMid.toString(),
168
+ normalizedValue: fallbackPrice,
165
169
  });
166
170
  }
167
171
  if (!fallbackPrice) {
@@ -169,8 +173,9 @@ export class PriceService {
169
173
  code: "SOURCE_UNAVAILABLE",
170
174
  severity: "error",
171
175
  message: "Failed to get asset USD price.",
172
- paths: [path],
173
- entityId: vault.address,
176
+ locations: [
177
+ dataIssueLocation(vaultDiagnosticOwner(vault.chainId, vault.address), path),
178
+ ],
174
179
  source: "priceService",
175
180
  });
176
181
  }
@@ -178,7 +183,7 @@ export class PriceService {
178
183
  }
179
184
  /**
180
185
  * Get a standalone asset price in USD by token address.
181
- * Tries backend first, then falls back to utilsLens.getAssetPriceInfo(asset, USD).
186
+ * Tries the V3 pricing API first, then falls back to utilsLens.getAssetPriceInfo(asset, USD).
182
187
  */
183
188
  async fetchAssetUsdPriceByAddress(chainId, assetAddress) {
184
189
  return (await this.fetchAssetUsdPriceByAddressWithDiagnostics(chainId, assetAddress)).result;
@@ -187,7 +192,7 @@ export class PriceService {
187
192
  const errors = [];
188
193
  let backendError;
189
194
  let backendAttempted = false;
190
- // Try backend first
195
+ // Try the V3 pricing API first
191
196
  if (this.backendClient?.isConfigured) {
192
197
  backendAttempted = true;
193
198
  try {
@@ -196,7 +201,7 @@ export class PriceService {
196
201
  chainId,
197
202
  });
198
203
  if (backendPrice) {
199
- const result = backendPriceToPriceResult(backendPrice.price);
204
+ const result = normalizeBackendPrice(backendPrice.price);
200
205
  if (result)
201
206
  return { result, errors };
202
207
  }
@@ -210,12 +215,13 @@ export class PriceService {
210
215
  errors.push({
211
216
  code: "FALLBACK_USED",
212
217
  severity: "info",
213
- message: "Backend asset/USD price unavailable; used on-chain fallback.",
214
- paths: [path],
215
- entityId: assetAddress,
218
+ message: "V3 asset/USD price unavailable; used on-chain fallback.",
219
+ locations: [
220
+ dataIssueLocation(assetDiagnosticOwner(chainId, assetAddress), path),
221
+ ],
216
222
  source: "priceService",
217
223
  originalValue: backendError instanceof Error ? backendError.message : undefined,
218
- normalizedValue: fallbackPrice.amountOutMid.toString(),
224
+ normalizedValue: fallbackPrice,
219
225
  });
220
226
  }
221
227
  if (!fallbackPrice) {
@@ -223,8 +229,9 @@ export class PriceService {
223
229
  code: "SOURCE_UNAVAILABLE",
224
230
  severity: "error",
225
231
  message: "Failed to get asset USD price.",
226
- paths: [path],
227
- entityId: assetAddress,
232
+ locations: [
233
+ dataIssueLocation(assetDiagnosticOwner(chainId, assetAddress), path),
234
+ ],
228
235
  source: "priceService",
229
236
  });
230
237
  }
@@ -232,7 +239,7 @@ export class PriceService {
232
239
  }
233
240
  /**
234
241
  * Get collateral price in USD in the context of a liability vault.
235
- * Tries backend first, falls back to on-chain oracle.
242
+ * Tries the V3 pricing API first, falls back to on-chain oracle.
236
243
  * Collateral pricing ALWAYS uses the liability vault's oracle for on-chain fallback.
237
244
  */
238
245
  async fetchCollateralUsdPrice(liabilityVault, collateralVault) {
@@ -244,7 +251,7 @@ export class PriceService {
244
251
  return { result: undefined, errors };
245
252
  let backendError;
246
253
  let backendAttempted = false;
247
- // Try backend first
254
+ // Try the V3 pricing API first
248
255
  if (this.backendClient?.isConfigured) {
249
256
  backendAttempted = true;
250
257
  try {
@@ -253,7 +260,7 @@ export class PriceService {
253
260
  chainId: collateralVault.chainId,
254
261
  });
255
262
  if (backendPrice) {
256
- const result = backendPriceToPriceResult(backendPrice.price);
263
+ const result = normalizeBackendPrice(backendPrice.price);
257
264
  if (result)
258
265
  return { result, errors };
259
266
  }
@@ -267,12 +274,13 @@ export class PriceService {
267
274
  errors.push({
268
275
  code: "FALLBACK_USED",
269
276
  severity: "info",
270
- message: "Backend collateral/USD price unavailable; used on-chain fallback.",
271
- paths: [path],
272
- entityId: collateralVault.asset.address,
277
+ message: "V3 collateral/USD price unavailable; used on-chain fallback.",
278
+ locations: [
279
+ dataIssueLocation(vaultCollateralDiagnosticOwner(liabilityVault.chainId, liabilityVault.address, collateralVault.address), path),
280
+ ],
273
281
  source: "priceService",
274
282
  originalValue: backendError instanceof Error ? backendError.message : undefined,
275
- normalizedValue: fallbackPrice.amountOutMid.toString(),
283
+ normalizedValue: fallbackPrice,
276
284
  });
277
285
  }
278
286
  return { result: fallbackPrice, errors: compressDataIssues(errors) };
@@ -311,7 +319,7 @@ export class PriceService {
311
319
  assetSymbol: symbol,
312
320
  };
313
321
  }
314
- const usdValue = assetAmount * +formatUnits(price.amountOutMid, price.decimals);
322
+ const usdValue = assetAmount * price;
315
323
  return {
316
324
  display: "",
317
325
  hasPrice: true,
@@ -335,13 +343,7 @@ export class PriceService {
335
343
  if (oraclePrice) {
336
344
  const uoaRate = await this.fetchUnitOfAccountUsdRate(vault);
337
345
  if (uoaRate) {
338
- const oracleScale = getDecimalScale(oraclePrice.decimals);
339
- return {
340
- amountOutMid: (oraclePrice.amountOutMid * uoaRate) / oracleScale,
341
- amountOutAsk: (oraclePrice.amountOutAsk * uoaRate) / oracleScale,
342
- amountOutBid: (oraclePrice.amountOutBid * uoaRate) / oracleScale,
343
- decimals: USD_DECIMALS,
344
- };
346
+ return (scaledBigIntToNumber(oraclePrice.amountOutMid, oraclePrice.decimals) * uoaRate);
345
347
  }
346
348
  }
347
349
  }
@@ -351,13 +353,7 @@ export class PriceService {
351
353
  const priceInfo = await this.fetchAssetPriceInfo(chainId, assetAddress);
352
354
  if (!priceInfo?.amountOutMid)
353
355
  return undefined;
354
- const mid = priceInfo.amountOutMid;
355
- return {
356
- amountOutMid: mid,
357
- amountOutAsk: mid,
358
- amountOutBid: mid,
359
- decimals: USD_DECIMALS,
360
- };
356
+ return scaledBigIntToNumber(priceInfo.amountOutMid, USD_DECIMALS);
361
357
  }
362
358
  /**
363
359
  * Get collateral USD price from on-chain oracles.
@@ -369,13 +365,8 @@ export class PriceService {
369
365
  const uoaRate = await this.fetchUnitOfAccountUsdRate(liabilityVault);
370
366
  if (!uoaRate)
371
367
  return undefined;
372
- const oracleScale = getDecimalScale(oraclePrice.decimals);
373
- return {
374
- amountOutMid: (oraclePrice.amountOutMid * uoaRate) / oracleScale,
375
- amountOutAsk: (oraclePrice.amountOutAsk * uoaRate) / oracleScale,
376
- amountOutBid: (oraclePrice.amountOutBid * uoaRate) / oracleScale,
377
- decimals: USD_DECIMALS,
378
- };
368
+ return (scaledBigIntToNumber(oraclePrice.amountOutMid, oraclePrice.decimals) *
369
+ uoaRate);
379
370
  }
380
371
  /**
381
372
  * Call utilsLens.getAssetPriceInfo(asset, USD_ADDRESS) on-chain.
@@ -407,7 +398,7 @@ export class PriceService {
407
398
  */
408
399
  export function getAssetOraclePrice(vault) {
409
400
  const { oraclePriceRaw, unitOfAccount } = vault;
410
- if (!oraclePriceRaw || !oraclePriceRaw.amountOutMid || !unitOfAccount)
401
+ if (!oraclePriceRaw?.amountOutMid || !unitOfAccount)
411
402
  return undefined;
412
403
  const { amountOutMid, amountOutAsk, amountOutBid } = oraclePriceRaw;
413
404
  const ask = amountOutAsk && amountOutAsk > 0n ? amountOutAsk : amountOutMid;
@@ -482,18 +473,4 @@ export function getCollateralOraclePrice(liabilityVault, collateralVault) {
482
473
  decimals: uoaDecimals,
483
474
  };
484
475
  }
485
- // ---------------------------------------------------------------------------
486
- // Helpers
487
- // ---------------------------------------------------------------------------
488
- function backendPriceToPriceResult(price) {
489
- const mid = backendPriceToBigInt(price);
490
- if (mid <= 0n)
491
- return undefined;
492
- return {
493
- amountOutMid: mid,
494
- amountOutAsk: mid,
495
- amountOutBid: mid,
496
- decimals: USD_DECIMALS,
497
- };
498
- }
499
476
  //# sourceMappingURL=priceService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"priceService.js","sourceRoot":"","sources":["../../../../src/services/priceService/priceService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,UAAU,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAI7D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAEN,oBAAoB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAqB,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EACN,kBAAkB,GAGlB,MAAM,kCAAkC,CAAC;AAE1C,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC;AAEjC,8DAA8D;AAC9D,MAAM,CAAC,MAAM,WAAW,GACvB,4CAA4C,CAAC;AAE9C,MAAM,YAAY,GAAG,EAAE,CAAC;AAExB,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAU,EAAE,CAAC,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC;AA4F9E,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,MAAM,OAAO,YAAY;IAEf;IACA;IACA;IAHT,YACS,eAAgC,EAChC,iBAAoC,EACpC,aAAoC,EAC5C,UAAyB;QAHjB,oBAAe,GAAf,eAAe,CAAiB;QAChC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,kBAAa,GAAb,aAAa,CAAuB;QAG5C,IAAI,UAAU;YAAE,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACnD,CAAC;IAED,kBAAkB,CAAC,eAAgC;QAClD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACxC,CAAC;IAED,gBAAgB,CAAC,aAA+C;QAC/D,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACpC,CAAC;IAED,mBAAmB,GAAG,KAAK,EAC1B,QAAoD,EACpD,gBAAyB,EACzB,YAAqB,EACpB,EAAE;QACH,OAAO,QAAQ,CAAC,YAAY,CAAC;YAC5B,OAAO,EAAE,gBAAgB;YACzB,GAAG,EAAE,iBAAiB;YACtB,YAAY,EAAE,mBAAmB;YACjC,IAAI,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;SACjC,CAGC,CAAC;IACJ,CAAC,CAAC;IAEF,sBAAsB,CAAC,EAAmC;QACzD,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;IAC/B,CAAC;IAED,0EAA0E;IAC1E,+CAA+C;IAC/C,0EAA0E;IAE1E,mBAAmB,CAAC,KAAa;QAChC,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,6BAA6B,CAC5B,cAAsB,EACtB,eAA6B;QAE7B,OAAO,6BAA6B,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IACvE,CAAC;IAED,wBAAwB,CACvB,cAAsB,EACtB,eAA6B;QAE7B,OAAO,wBAAwB,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IAClE,CAAC;IAED,0EAA0E;IAC1E,iBAAiB;IACjB,0EAA0E;IAE1E;;;;;OAKG;IACH,KAAK,CAAC,yBAAyB,CAAC,KAAa;QAC5C,OAAO,CAAC,MAAM,IAAI,CAAC,wCAAwC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,wCAAwC,CAC7C,KAAa,EACb,IAAI,GAAG,GAAG;QAEV,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC;QAChD,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;YAChD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QACtC,CAAC;QAED,4BAA4B;QAC5B,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACxD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACnC,CAAC;QAED,IAAI,YAAqB,CAAC;QAC1B,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAE7B,oBAAoB;QACpB,IAAI,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,CAAC;YACtC,gBAAgB,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC;gBACJ,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;oBAC1D,OAAO,EAAE,UAAU;oBACnB,OAAO,EAAE,KAAK,CAAC,OAAO;iBACtB,CAAC,CAAC;gBACH,IAAI,YAAY,EAAE,CAAC;oBAClB,MAAM,IAAI,GAAG,oBAAoB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;oBACtD,IAAI,IAAI,GAAG,EAAE;wBAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gBAChD,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,YAAY,GAAG,KAAK,CAAC;YACtB,CAAC;QACF,CAAC;QAED,iEAAiE;QACjE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC5E,MAAM,YAAY,GAAG,SAAS,EAAE,YAAY,IAAI,SAAS,CAAC;QAC1D,IAAI,gBAAgB,IAAI,YAAY,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,eAAe;gBACrB,QAAQ,EAAE,MAAM;gBAChB,OAAO,EAAE,2DAA2D;gBACpE,KAAK,EAAE,CAAC,IAAI,CAAC;gBACb,QAAQ,EAAE,UAAU;gBACpB,MAAM,EAAE,cAAc;gBACtB,aAAa,EACZ,YAAY,YAAY,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;gBACjE,eAAe,EAAE,YAAY,CAAC,QAAQ,EAAE;aACxC,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;IACrE,CAAC;IAED,0EAA0E;IAC1E,sBAAsB;IACtB,0EAA0E;IAE1E;;;;;OAKG;IACH,KAAK,CAAC,kBAAkB,CACvB,KAAmB;QAEnB,OAAO,CAAC,MAAM,IAAI,CAAC,iCAAiC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,iCAAiC,CACtC,KAAmB,EACnB,IAAI,GAAG,GAAG;QAEV,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAEjD,IAAI,YAAqB,CAAC;QAC1B,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAE7B,oBAAoB;QACpB,IAAI,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,CAAC;YACtC,gBAAgB,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC;gBACJ,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;oBAC1D,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO;oBAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;iBACtB,CAAC,CAAC;gBACH,IAAI,YAAY,EAAE,CAAC;oBAClB,MAAM,MAAM,GAAG,yBAAyB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;oBAC7D,IAAI,MAAM;wBAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;gBACvC,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,YAAY,GAAG,KAAK,CAAC;YACtB,CAAC;QACF,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC;QACrE,IAAI,gBAAgB,IAAI,aAAa,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,eAAe;gBACrB,QAAQ,EAAE,MAAM;gBAChB,OAAO,EAAE,8DAA8D;gBACvE,KAAK,EAAE,CAAC,IAAI,CAAC;gBACb,QAAQ,EAAE,KAAK,CAAC,OAAO;gBACvB,MAAM,EAAE,cAAc;gBACtB,aAAa,EACZ,YAAY,YAAY,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;gBACjE,eAAe,EAAE,aAAa,CAAC,YAAY,CAAC,QAAQ,EAAE;aACtD,CAAC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,oBAAoB;gBAC1B,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,gCAAgC;gBACzC,KAAK,EAAE,CAAC,IAAI,CAAC;gBACb,QAAQ,EAAE,KAAK,CAAC,OAAO;gBACvB,MAAM,EAAE,cAAc;aACtB,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;IACtE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,2BAA2B,CAChC,OAAe,EACf,YAAqB;QAErB,OAAO,CACN,MAAM,IAAI,CAAC,0CAA0C,CACpD,OAAO,EACP,YAAY,CACZ,CACD,CAAC,MAAM,CAAC;IACV,CAAC;IAED,KAAK,CAAC,0CAA0C,CAC/C,OAAe,EACf,YAAqB,EACrB,IAAI,GAAG,GAAG;QAEV,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,IAAI,YAAqB,CAAC;QAC1B,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAE7B,oBAAoB;QACpB,IAAI,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,CAAC;YACtC,gBAAgB,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC;gBACJ,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;oBAC1D,OAAO,EAAE,YAAY;oBACrB,OAAO;iBACP,CAAC,CAAC;gBACH,IAAI,YAAY,EAAE,CAAC;oBAClB,MAAM,MAAM,GAAG,yBAAyB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;oBAC7D,IAAI,MAAM;wBAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;gBACvC,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,YAAY,GAAG,KAAK,CAAC;YACtB,CAAC;QACF,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,kCAAkC,CAClE,OAAO,EACP,YAAY,CACZ,CAAC;QACF,IAAI,gBAAgB,IAAI,aAAa,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,eAAe;gBACrB,QAAQ,EAAE,MAAM;gBAChB,OAAO,EAAE,8DAA8D;gBACvE,KAAK,EAAE,CAAC,IAAI,CAAC;gBACb,QAAQ,EAAE,YAAY;gBACtB,MAAM,EAAE,cAAc;gBACtB,aAAa,EACZ,YAAY,YAAY,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;gBACjE,eAAe,EAAE,aAAa,CAAC,YAAY,CAAC,QAAQ,EAAE;aACtD,CAAC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,oBAAoB;gBAC1B,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,gCAAgC;gBACzC,KAAK,EAAE,CAAC,IAAI,CAAC;gBACb,QAAQ,EAAE,YAAY;gBACtB,MAAM,EAAE,cAAc;aACtB,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;IACtE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,uBAAuB,CAC5B,cAAsB,EACtB,eAA6B;QAE7B,OAAO,CACN,MAAM,IAAI,CAAC,sCAAsC,CAChD,cAAc,EACd,eAAe,CACf,CACD,CAAC,MAAM,CAAC;IACV,CAAC;IAED,KAAK,CAAC,sCAAsC,CAC3C,cAAsB,EACtB,eAA6B,EAC7B,IAAI,GAAG,GAAG;QAEV,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,IAAI,CAAC,cAAc,IAAI,CAAC,eAAe;YACtC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAEtC,IAAI,YAAqB,CAAC;QAC1B,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAE7B,oBAAoB;QACpB,IAAI,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,CAAC;YACtC,gBAAgB,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC;gBACJ,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;oBAC1D,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC,OAAO;oBACtC,OAAO,EAAE,eAAe,CAAC,OAAO;iBAChC,CAAC,CAAC;gBACH,IAAI,YAAY,EAAE,CAAC;oBAClB,MAAM,MAAM,GAAG,yBAAyB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;oBAC7D,IAAI,MAAM;wBAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;gBACvC,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,YAAY,GAAG,KAAK,CAAC;YACtB,CAAC;QACF,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,iCAAiC,CACjE,cAAc,EACd,eAAe,CACf,CAAC;QACF,IAAI,gBAAgB,IAAI,aAAa,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,eAAe;gBACrB,QAAQ,EAAE,MAAM;gBAChB,OAAO,EACN,mEAAmE;gBACpE,KAAK,EAAE,CAAC,IAAI,CAAC;gBACb,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC,OAAO;gBACvC,MAAM,EAAE,cAAc;gBACtB,aAAa,EACZ,YAAY,YAAY,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;gBACjE,eAAe,EAAE,aAAa,CAAC,YAAY,CAAC,QAAQ,EAAE;aACtD,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;IACtE,CAAC;IAED,0EAA0E;IAC1E,kBAAkB;IAClB,0EAA0E;IAE1E;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CACrB,MAAc,EACd,KAAmB,EACnB,UAAmC,EAAE;QAErC,MAAM,EAAE,WAAW,GAAG,CAAC,EAAE,WAAW,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC;QAErD,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO;gBACN,OAAO,EAAE,GAAG;gBACZ,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,CAAC;gBACX,WAAW,EAAE,CAAC;gBACd,WAAW,EAAE,EAAE;aACf,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QAElC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAEnD,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,OAAO,GAAG,WAAW,CAAC,cAAc,CAAC,OAAO,EAAE;gBACnD,qBAAqB,EAAE,WAAW;gBAClC,qBAAqB,EAAE,WAAW;aAClC,CAAC,CAAC;YACH,OAAO;gBACN,OAAO,EAAE,GAAG,OAAO,IAAI,MAAM,EAAE;gBAC/B,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,CAAC;gBACX,WAAW;gBACX,WAAW,EAAE,MAAM;aACnB,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GACb,WAAW,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChE,OAAO;YACN,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,IAAI;YACd,QAAQ;YACR,WAAW;YACX,WAAW,EAAE,MAAM;SACnB,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,mBAAmB;IACnB,0EAA0E;IAE1E;;;;OAIG;IACK,KAAK,CAAC,4BAA4B,CACzC,KAAmB;QAEnB,8DAA8D;QAC9D,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;YACrC,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAe,CAAC,CAAC;YAC9D,IAAI,WAAW,EAAE,CAAC;gBACjB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,KAAe,CAAC,CAAC;gBACtE,IAAI,OAAO,EAAE,CAAC;oBACb,MAAM,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;oBAC1D,OAAO;wBACN,YAAY,EAAE,CAAC,WAAW,CAAC,YAAY,GAAG,OAAO,CAAC,GAAG,WAAW;wBAChE,YAAY,EAAE,CAAC,WAAW,CAAC,YAAY,GAAG,OAAO,CAAC,GAAG,WAAW;wBAChE,YAAY,EAAE,CAAC,WAAW,CAAC,YAAY,GAAG,OAAO,CAAC,GAAG,WAAW;wBAChE,QAAQ,EAAE,YAAY;qBACtB,CAAC;gBACH,CAAC;YACF,CAAC;QACF,CAAC;QAED,OAAO,IAAI,CAAC,kCAAkC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpF,CAAC;IAEO,KAAK,CAAC,kCAAkC,CAC/C,OAAe,EACf,YAAqB;QAErB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAExE,IAAI,CAAC,SAAS,EAAE,YAAY;YAAE,OAAO,SAAS,CAAC;QAE/C,MAAM,GAAG,GAAG,SAAS,CAAC,YAAY,CAAC;QACnC,OAAO;YACN,YAAY,EAAE,GAAG;YACjB,YAAY,EAAE,GAAG;YACjB,YAAY,EAAE,GAAG;YACjB,QAAQ,EAAE,YAAY;SACtB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iCAAiC,CAC9C,cAAsB,EACtB,eAA6B;QAE7B,MAAM,WAAW,GAAG,IAAI,CAAC,wBAAwB,CAChD,cAAc,EACd,eAAe,CACf,CAAC;QACF,IAAI,CAAC,WAAW;YAAE,OAAO,SAAS,CAAC;QAEnC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC;QACrE,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAC/B,MAAM,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE1D,OAAO;YACN,YAAY,EAAE,CAAC,WAAW,CAAC,YAAY,GAAG,OAAO,CAAC,GAAG,WAAW;YAChE,YAAY,EAAE,CAAC,WAAW,CAAC,YAAY,GAAG,OAAO,CAAC,GAAG,WAAW;YAChE,YAAY,EAAE,CAAC,WAAW,CAAC,YAAY,GAAG,OAAO,CAAC,GAAG,WAAW;YAChE,QAAQ,EAAE,YAAY;SACtB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAChC,OAAe,EACf,YAAqB;QAErB,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC3D,MAAM,gBAAgB,GACrB,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS;iBAC/D,SAAS,CAAC;YAEb,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAC/C,QAAQ,EACR,gBAAgB,EAChB,YAAY,CACZ,CAAC;YAEF,IACC,SAAS,CAAC,YAAY;gBACtB,SAAS,CAAC,YAAY,KAAK,SAAS;gBACpC,SAAS,CAAC,YAAY,KAAK,IAAI,EAC9B,CAAC;gBACF,OAAO,SAAS,CAAC;YAClB,CAAC;YAED,OAAO,EAAE,YAAY,EAAE,SAAS,CAAC,YAAY,EAAE,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,SAAS,CAAC;QAClB,CAAC;IACF,CAAC;CACD;AAED,8EAA8E;AAC9E,4EAA4E;AAC5E,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAChD,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IAChD,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,YAAY,IAAI,CAAC,aAAa;QACpE,OAAO,SAAS,CAAC;IAElB,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,cAAc,CAAC;IACpE,MAAM,GAAG,GAAG,YAAY,IAAI,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;IAC5E,MAAM,GAAG,GAAG,YAAY,IAAI,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;IAE5E,OAAO;QACN,YAAY;QACZ,YAAY,EAAE,GAAG;QACjB,YAAY,EAAE,GAAG;QACjB,QAAQ,EAAE,aAAa,CAAC,QAAQ;KAChC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAC5C,cAAsB,EACtB,eAA6B;IAE7B,MAAM,iBAAiB,GAAG,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAE9D,MAAM,UAAU,GAAG,cAAc,CAAC,WAAW,CAAC,IAAI,CACjD,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,iBAAiB,CAClD,CAAC;IAEF,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAElC,MAAM,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC;IACtC,mEAAmE;IACnE,IACC,CAAC,cAAc,CAAC,YAAY;QAC5B,CAAC,cAAc,CAAC,YAAY;QAC5B,CAAC,cAAc,CAAC,YAAY,EAC3B,CAAC;QACF,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,OAAO,cAAc,CAAC;AACvB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACvC,cAAsB,EACtB,eAA6B;IAE7B,MAAM,UAAU,GAAG,6BAA6B,CAC/C,cAAc,EACd,eAAe,CACf,CAAC;IACF,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAElC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,eAAe,CAAC;IACrD,IAAI,CAAC,cAAc,CAAC,aAAa;QAAE,OAAO,SAAS,CAAC;IACpD,MAAM,WAAW,GAAG,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC;IAE1D,4DAA4D;IAC5D,IAAI,WAAW,KAAK,EAAE,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,UAAU,CAAC,YAAY,CAAC;QACpC,MAAM,GAAG,GACR,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,YAAY,GAAG,EAAE;YACtD,CAAC,CAAC,UAAU,CAAC,YAAY;YACzB,CAAC,CAAC,GAAG,CAAC;QACR,MAAM,GAAG,GACR,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,YAAY,GAAG,EAAE;YACtD,CAAC,CAAC,UAAU,CAAC,YAAY;YACzB,CAAC,CAAC,GAAG,CAAC;QACR,OAAO;YACN,YAAY,EAAE,GAAG;YACjB,YAAY,EAAE,GAAG;YACjB,YAAY,EAAE,GAAG;YACjB,QAAQ,EAAE,WAAW;SACrB,CAAC;IACH,CAAC;IAED,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;QACxB,oDAAoD;QACpD,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,wDAAwD;IACxD,MAAM,YAAY,GAAG,CAAC,UAAU,CAAC,YAAY,GAAG,WAAW,CAAC,GAAG,WAAW,CAAC;IAC3E,MAAM,YAAY,GAAG,CAAC,UAAU,CAAC,YAAY,GAAG,WAAW,CAAC,GAAG,WAAW,CAAC;IAC3E,MAAM,YAAY,GAAG,CAAC,UAAU,CAAC,YAAY,GAAG,WAAW,CAAC,GAAG,WAAW,CAAC;IAE3E,MAAM,GAAG,GAAG,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;IAC5D,MAAM,GAAG,GAAG,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;IAE5D,OAAO;QACN,YAAY;QACZ,YAAY,EAAE,GAAG;QACjB,YAAY,EAAE,GAAG;QACjB,QAAQ,EAAE,WAAW;KACrB,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,SAAS,yBAAyB,CAAC,KAAa;IAC/C,MAAM,GAAG,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,GAAG,IAAI,EAAE;QAAE,OAAO,SAAS,CAAC;IAChC,OAAO;QACN,YAAY,EAAE,GAAG;QACjB,YAAY,EAAE,GAAG;QACjB,YAAY,EAAE,GAAG;QACjB,QAAQ,EAAE,YAAY;KACtB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"priceService.js","sourceRoot":"","sources":["../../../../src/services/priceService/priceService.ts"],"names":[],"mappings":"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"}