@eulerxyz/euler-v2-sdk 0.1.2-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 (235) 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 +85 -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 +38 -17
  21. package/dist/src/entities/Portfolio.d.ts.map +1 -1
  22. package/dist/src/entities/Portfolio.js +71 -23
  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 +5 -2
  29. package/dist/src/index.d.ts.map +1 -1
  30. package/dist/src/index.js +5 -2
  31. package/dist/src/index.js.map +1 -1
  32. package/dist/src/plugins/keyring/keyringPlugin.d.ts +1 -1
  33. package/dist/src/plugins/keyring/keyringPlugin.d.ts.map +1 -1
  34. package/dist/src/plugins/keyring/keyringPlugin.js +70 -12
  35. package/dist/src/plugins/keyring/keyringPlugin.js.map +1 -1
  36. package/dist/src/plugins/pyth/pythPlugin.d.ts.map +1 -1
  37. package/dist/src/plugins/pyth/pythPlugin.js +132 -11
  38. package/dist/src/plugins/pyth/pythPlugin.js.map +1 -1
  39. package/dist/src/plugins/types.d.ts +4 -7
  40. package/dist/src/plugins/types.d.ts.map +1 -1
  41. package/dist/src/plugins/types.js.map +1 -1
  42. package/dist/src/sdk/buildSDK.d.ts +11 -7
  43. package/dist/src/sdk/buildSDK.d.ts.map +1 -1
  44. package/dist/src/sdk/buildSDK.js +369 -116
  45. package/dist/src/sdk/buildSDK.js.map +1 -1
  46. package/dist/src/sdk/config.d.ts +74 -0
  47. package/dist/src/sdk/config.d.ts.map +1 -0
  48. package/dist/src/sdk/config.js +187 -0
  49. package/dist/src/sdk/config.js.map +1 -0
  50. package/dist/src/sdk/defaultConfig.d.ts +5 -2
  51. package/dist/src/sdk/defaultConfig.d.ts.map +1 -1
  52. package/dist/src/sdk/defaultConfig.js +21 -18
  53. package/dist/src/sdk/defaultConfig.js.map +1 -1
  54. package/dist/src/sdk/sdk.d.ts +6 -8
  55. package/dist/src/sdk/sdk.d.ts.map +1 -1
  56. package/dist/src/sdk/sdk.js +2 -6
  57. package/dist/src/sdk/sdk.js.map +1 -1
  58. package/dist/src/services/accountService/accountService.d.ts.map +1 -1
  59. package/dist/src/services/accountService/accountService.js +10 -7
  60. package/dist/src/services/accountService/accountService.js.map +1 -1
  61. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.d.ts +2 -2
  62. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.d.ts.map +1 -1
  63. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.js +22 -17
  64. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.js.map +1 -1
  65. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.d.ts +1 -1
  66. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.d.ts.map +1 -1
  67. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.js +16 -17
  68. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.js.map +1 -1
  69. package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.d.ts +7 -1
  70. package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.d.ts.map +1 -1
  71. package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.js +141 -54
  72. package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.js.map +1 -1
  73. package/dist/src/services/deploymentService/deploymentService.d.ts +1 -0
  74. package/dist/src/services/deploymentService/deploymentService.d.ts.map +1 -1
  75. package/dist/src/services/deploymentService/deploymentService.js.map +1 -1
  76. package/dist/src/services/eulerLabelsService/eulerLabelsService.d.ts +18 -1
  77. package/dist/src/services/eulerLabelsService/eulerLabelsService.d.ts.map +1 -1
  78. package/dist/src/services/eulerLabelsService/eulerLabelsService.js +373 -30
  79. package/dist/src/services/eulerLabelsService/eulerLabelsService.js.map +1 -1
  80. package/dist/src/services/executionService/encode.d.ts +30 -0
  81. package/dist/src/services/executionService/encode.d.ts.map +1 -0
  82. package/dist/src/services/executionService/encode.js +841 -0
  83. package/dist/src/services/executionService/encode.js.map +1 -0
  84. package/dist/src/services/executionService/execute.d.ts +65 -0
  85. package/dist/src/services/executionService/execute.d.ts.map +1 -0
  86. package/dist/src/services/executionService/execute.js +185 -0
  87. package/dist/src/services/executionService/execute.js.map +1 -0
  88. package/dist/src/services/executionService/executionService.d.ts +169 -37
  89. package/dist/src/services/executionService/executionService.d.ts.map +1 -1
  90. package/dist/src/services/executionService/executionService.js +510 -893
  91. package/dist/src/services/executionService/executionService.js.map +1 -1
  92. package/dist/src/services/executionService/executionServiceTypes.d.ts +93 -9
  93. package/dist/src/services/executionService/executionServiceTypes.d.ts.map +1 -1
  94. package/dist/src/services/executionService/executionServiceTypes.js +6 -0
  95. package/dist/src/services/executionService/executionServiceTypes.js.map +1 -1
  96. package/dist/src/services/executionService/index.d.ts +5 -2
  97. package/dist/src/services/executionService/index.d.ts.map +1 -1
  98. package/dist/src/services/executionService/index.js +3 -1
  99. package/dist/src/services/executionService/index.js.map +1 -1
  100. package/dist/src/services/{simulationService/simulationService.d.ts → executionService/simulate.d.ts} +26 -40
  101. package/dist/src/services/executionService/simulate.d.ts.map +1 -0
  102. package/dist/src/services/executionService/simulate.js +532 -0
  103. package/dist/src/services/executionService/simulate.js.map +1 -0
  104. package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3AdapterTypes.d.ts +1 -1
  105. package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3AdapterTypes.d.ts.map +1 -1
  106. package/dist/src/services/oracleAdapterService/oracleAdapterService.d.ts +5 -0
  107. package/dist/src/services/oracleAdapterService/oracleAdapterService.d.ts.map +1 -1
  108. package/dist/src/services/oracleAdapterService/oracleAdapterService.js +38 -11
  109. package/dist/src/services/oracleAdapterService/oracleAdapterService.js.map +1 -1
  110. package/dist/src/services/priceService/backendClient.d.ts +7 -13
  111. package/dist/src/services/priceService/backendClient.d.ts.map +1 -1
  112. package/dist/src/services/priceService/backendClient.js +7 -14
  113. package/dist/src/services/priceService/backendClient.js.map +1 -1
  114. package/dist/src/services/priceService/index.d.ts +2 -2
  115. package/dist/src/services/priceService/index.d.ts.map +1 -1
  116. package/dist/src/services/priceService/index.js +1 -1
  117. package/dist/src/services/priceService/index.js.map +1 -1
  118. package/dist/src/services/priceService/priceService.d.ts +19 -17
  119. package/dist/src/services/priceService/priceService.d.ts.map +1 -1
  120. package/dist/src/services/priceService/priceService.js +53 -76
  121. package/dist/src/services/priceService/priceService.js.map +1 -1
  122. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.d.ts.map +1 -1
  123. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.js +26 -13
  124. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.js.map +1 -1
  125. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.d.ts +10 -10
  126. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.d.ts.map +1 -1
  127. package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts +1 -1
  128. package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts.map +1 -1
  129. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.d.ts +1 -1
  130. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.d.ts.map +1 -1
  131. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.js +6 -13
  132. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.js.map +1 -1
  133. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.d.ts +1 -1
  134. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.d.ts.map +1 -1
  135. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.js +69 -51
  136. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.js.map +1 -1
  137. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.d.ts +6 -2
  138. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.d.ts.map +1 -1
  139. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.js +70 -21
  140. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.js.map +1 -1
  141. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.d.ts +1 -1
  142. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.d.ts.map +1 -1
  143. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.js +106 -111
  144. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.js.map +1 -1
  145. package/dist/src/services/vaults/eVaultService/eVaultService.d.ts +4 -4
  146. package/dist/src/services/vaults/eVaultService/eVaultService.d.ts.map +1 -1
  147. package/dist/src/services/vaults/eVaultService/eVaultService.js +56 -57
  148. package/dist/src/services/vaults/eVaultService/eVaultService.js.map +1 -1
  149. package/dist/src/services/vaults/eVaultService/eVaultServiceConfig.d.ts +1 -1
  150. package/dist/src/services/vaults/eVaultService/eVaultServiceConfig.d.ts.map +1 -1
  151. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.d.ts +1 -1
  152. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.d.ts.map +1 -1
  153. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.js +22 -21
  154. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.js.map +1 -1
  155. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.d.ts.map +1 -1
  156. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.js +27 -32
  157. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.js.map +1 -1
  158. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.d.ts +1 -1
  159. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.d.ts.map +1 -1
  160. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.js +113 -72
  161. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.js.map +1 -1
  162. package/dist/src/services/vaults/eulerEarnService/eulerEarnService.d.ts +5 -5
  163. package/dist/src/services/vaults/eulerEarnService/eulerEarnService.d.ts.map +1 -1
  164. package/dist/src/services/vaults/eulerEarnService/eulerEarnService.js +30 -28
  165. package/dist/src/services/vaults/eulerEarnService/eulerEarnService.js.map +1 -1
  166. package/dist/src/services/vaults/eulerEarnService/eulerEarnServiceConfig.d.ts +1 -1
  167. package/dist/src/services/vaults/eulerEarnService/eulerEarnServiceConfig.d.ts.map +1 -1
  168. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.d.ts +1 -1
  169. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.d.ts.map +1 -1
  170. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.js +10 -7
  171. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.js.map +1 -1
  172. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.d.ts.map +1 -1
  173. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.js +6 -8
  174. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.js.map +1 -1
  175. package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.d.ts +2 -2
  176. package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.d.ts.map +1 -1
  177. package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.js +13 -18
  178. package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.js.map +1 -1
  179. package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeV3Adapter.d.ts +1 -1
  180. package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeV3Adapter.d.ts.map +1 -1
  181. package/dist/src/services/vaults/vaultMetaService/vaultMetaService.d.ts +3 -3
  182. package/dist/src/services/vaults/vaultMetaService/vaultMetaService.d.ts.map +1 -1
  183. package/dist/src/services/vaults/vaultMetaService/vaultMetaService.js +31 -32
  184. package/dist/src/services/vaults/vaultMetaService/vaultMetaService.js.map +1 -1
  185. package/dist/src/services/walletService/adapters/walletOnchainAdapter.d.ts +5 -1
  186. package/dist/src/services/walletService/adapters/walletOnchainAdapter.d.ts.map +1 -1
  187. package/dist/src/services/walletService/adapters/walletOnchainAdapter.js +181 -40
  188. package/dist/src/services/walletService/adapters/walletOnchainAdapter.js.map +1 -1
  189. package/dist/src/services/walletService/walletService.d.ts +1 -1
  190. package/dist/src/services/walletService/walletService.d.ts.map +1 -1
  191. package/dist/src/services/walletService/walletService.js +4 -3
  192. package/dist/src/services/walletService/walletService.js.map +1 -1
  193. package/dist/src/utils/accountComputations.d.ts +42 -12
  194. package/dist/src/utils/accountComputations.d.ts.map +1 -1
  195. package/dist/src/utils/accountComputations.js +142 -40
  196. package/dist/src/utils/accountComputations.js.map +1 -1
  197. package/dist/src/utils/accountPositionClassification.d.ts +15 -0
  198. package/dist/src/utils/accountPositionClassification.d.ts.map +1 -0
  199. package/dist/src/utils/accountPositionClassification.js +27 -0
  200. package/dist/src/utils/accountPositionClassification.js.map +1 -0
  201. package/dist/src/utils/buildQuery.d.ts +1 -0
  202. package/dist/src/utils/buildQuery.d.ts.map +1 -1
  203. package/dist/src/utils/buildQuery.js +1 -1
  204. package/dist/src/utils/buildQuery.js.map +1 -1
  205. package/dist/src/utils/entityDiagnostics.d.ts +75 -12
  206. package/dist/src/utils/entityDiagnostics.d.ts.map +1 -1
  207. package/dist/src/utils/entityDiagnostics.js +85 -19
  208. package/dist/src/utils/entityDiagnostics.js.map +1 -1
  209. package/dist/src/utils/eulerLabels.d.ts +34 -0
  210. package/dist/src/utils/eulerLabels.d.ts.map +1 -0
  211. package/dist/src/utils/eulerLabels.js +156 -0
  212. package/dist/src/utils/eulerLabels.js.map +1 -0
  213. package/dist/src/utils/healthCheckSets.d.ts +14 -0
  214. package/dist/src/utils/healthCheckSets.d.ts.map +1 -0
  215. package/dist/src/utils/healthCheckSets.js +174 -0
  216. package/dist/src/utils/healthCheckSets.js.map +1 -0
  217. package/dist/src/utils/normalization.d.ts +10 -4
  218. package/dist/src/utils/normalization.d.ts.map +1 -1
  219. package/dist/src/utils/normalization.js +38 -11
  220. package/dist/src/utils/normalization.js.map +1 -1
  221. package/dist/src/utils/oracle.d.ts.map +1 -1
  222. package/dist/src/utils/oracle.js +12 -1
  223. package/dist/src/utils/oracle.js.map +1 -1
  224. package/dist/src/utils/parsing.d.ts +2 -2
  225. package/dist/src/utils/parsing.d.ts.map +1 -1
  226. package/dist/src/utils/parsing.js +12 -22
  227. package/dist/src/utils/parsing.js.map +1 -1
  228. package/package.json +2 -2
  229. package/dist/src/services/simulationService/index.d.ts +0 -3
  230. package/dist/src/services/simulationService/index.d.ts.map +0 -1
  231. package/dist/src/services/simulationService/index.js +0 -2
  232. package/dist/src/services/simulationService/index.js.map +0 -1
  233. package/dist/src/services/simulationService/simulationService.d.ts.map +0 -1
  234. package/dist/src/services/simulationService/simulationService.js +0 -533
  235. package/dist/src/services/simulationService/simulationService.js.map +0 -1
@@ -2,6 +2,7 @@
2
2
  * Pure computation functions for sub-account metrics and leverage utilities.
3
3
  * All functions return `undefined` when prerequisites are missing.
4
4
  */
5
+ import { getAddress, isAddressEqual } from "viem";
5
6
  const WAD = 10n ** 18n;
6
7
  // ---------------------------------------------------------------------------
7
8
  // Sub-account risk metrics (oracle-denominated, not USD)
@@ -49,30 +50,32 @@ export function computeLiquidationLTV(subAccount) {
49
50
  // Sub-account USD metrics (require populated market prices)
50
51
  // ---------------------------------------------------------------------------
51
52
  /**
52
- * Leverage multiplier for a sub-account (WAD, 1e18 = 1x).
53
- * `totalCollateralValueUsd / (totalCollateralValueUsd - borrowedValueUsd)`.
53
+ * Leverage multiplier for a sub-account (1 = 1x).
54
+ * `suppliedCollateralValueUsd / (suppliedCollateralValueUsd - borrowedValueUsd)`.
54
55
  */
55
56
  export function computeMultiplier(subAccount) {
56
- const liq = findLiquidity(subAccount);
57
- if (!liq?.totalCollateralValueUsd)
57
+ const borrow = findBorrowPosition(subAccount);
58
+ if (!borrow)
58
59
  return undefined;
59
- const borrowedUsd = findBorrowedValueUsd(subAccount);
60
- if (borrowedUsd == null)
60
+ return computeCollateralMultiplier(sumPositionUsd(findCollateralPositionsForBorrow(subAccount, borrow), "suppliedValueUsd"), borrow.borrowedValueUsd);
61
+ }
62
+ export function computeCollateralMultiplier(suppliedValueUsd, borrowedValueUsd) {
63
+ if (suppliedValueUsd == null || borrowedValueUsd == null)
61
64
  return undefined;
62
- const equity = liq.totalCollateralValueUsd - borrowedUsd;
63
- if (equity <= 0n)
65
+ const equity = suppliedValueUsd - borrowedValueUsd;
66
+ if (equity <= 0)
64
67
  return undefined;
65
- return (liq.totalCollateralValueUsd * WAD) / equity;
68
+ return suppliedValueUsd / equity;
66
69
  }
67
70
  /**
68
- * Total collateral value in USD for a sub-account (18 dec).
71
+ * Total collateral value in USD for a sub-account.
69
72
  * Sourced from sub-account liquidity and populated by `populateMarketPrices`.
70
73
  */
71
74
  export function computeSubAccountTotalCollateralValueUsd(subAccount) {
72
75
  return findLiquidity(subAccount)?.totalCollateralValueUsd;
73
76
  }
74
77
  /**
75
- * Liability value in USD for a sub-account (18 dec).
78
+ * Liability value in USD for a sub-account.
76
79
  * Sourced from sub-account liquidity and populated by `populateMarketPrices`.
77
80
  */
78
81
  export function computeSubAccountLiabilityValueUsd(subAccount) {
@@ -86,13 +89,13 @@ export function computeSubAccountNetValueUsd(subAccount) {
86
89
  let borrowed;
87
90
  for (const p of subAccount.positions) {
88
91
  if (p.suppliedValueUsd != null)
89
- supplied = (supplied ?? 0n) + p.suppliedValueUsd;
92
+ supplied = (supplied ?? 0) + p.suppliedValueUsd;
90
93
  if (p.borrowedValueUsd != null)
91
- borrowed = (borrowed ?? 0n) + p.borrowedValueUsd;
94
+ borrowed = (borrowed ?? 0) + p.borrowedValueUsd;
92
95
  }
93
96
  if (supplied == null)
94
97
  return undefined;
95
- return supplied - (borrowed ?? 0n);
98
+ return supplied - (borrowed ?? 0);
96
99
  }
97
100
  // ---------------------------------------------------------------------------
98
101
  // Liquidation price multipliers (oracle-denominated)
@@ -147,8 +150,8 @@ export function computeSubAccountRoe(subAccount) {
147
150
  continue;
148
151
  const intrinsicApyDecimal = getVaultIntrinsicApy(vault);
149
152
  // Supply side
150
- if (p.suppliedValueUsd != null && p.suppliedValueUsd > 0n) {
151
- const supplyUsd = Number(p.suppliedValueUsd) / 1e18;
153
+ if (p.suppliedValueUsd != null && p.suppliedValueUsd > 0) {
154
+ const supplyUsd = p.suppliedValueUsd;
152
155
  const supplyApy = getVaultSupplyApy(vault);
153
156
  if (supplyApy != null) {
154
157
  hasData = true;
@@ -159,8 +162,8 @@ export function computeSubAccountRoe(subAccount) {
159
162
  }
160
163
  }
161
164
  // Borrow side
162
- if (p.borrowedValueUsd != null && p.borrowedValueUsd > 0n) {
163
- const borrowUsd = Number(p.borrowedValueUsd) / 1e18;
165
+ if (p.borrowedValueUsd != null && p.borrowedValueUsd > 0) {
166
+ const borrowUsd = p.borrowedValueUsd;
164
167
  const borrowApy = getVaultBorrowApy(vault);
165
168
  if (borrowApy != null) {
166
169
  hasData = true;
@@ -242,6 +245,46 @@ export function computePositionsRoe(positions) {
242
245
  return 0;
243
246
  return totals.totalNetYield / totals.totalEquityUsd;
244
247
  }
248
+ /**
249
+ * APY contribution breakdown across a pre-filtered set of positions, relative to supplied value.
250
+ */
251
+ export function computePositionsNetApyBreakdown(positions) {
252
+ const totals = computePositionYieldTotals(positions);
253
+ if (!totals)
254
+ return undefined;
255
+ if (totals.totalSupplyUsd === 0)
256
+ return zeroYieldApyBreakdown();
257
+ return divideYieldTotals(totals, totals.totalSupplyUsd);
258
+ }
259
+ /**
260
+ * ROE contribution breakdown across a pre-filtered set of positions, relative to net asset value.
261
+ */
262
+ export function computePositionsRoeBreakdown(positions) {
263
+ const totals = computePositionYieldTotals(positions);
264
+ if (!totals)
265
+ return undefined;
266
+ if (totals.totalEquityUsd <= 0)
267
+ return zeroYieldApyBreakdown();
268
+ return divideYieldTotals(totals, totals.totalEquityUsd);
269
+ }
270
+ /**
271
+ * APY breakdown for a single supplied vault position.
272
+ * Does not require USD values because a single supply-side APY is value-independent.
273
+ */
274
+ export function computeSupplyApyBreakdown(vault) {
275
+ if (!vault)
276
+ return undefined;
277
+ const lending = getVaultSupplyApy(vault) ?? 0;
278
+ const intrinsicApy = getIntrinsicApyContribution(lending, getVaultIntrinsicApy(vault));
279
+ const rewards = getVaultRewardApr(vault, "LEND");
280
+ return {
281
+ lending,
282
+ borrowing: 0,
283
+ rewards,
284
+ intrinsicApy,
285
+ total: lending + rewards + intrinsicApy,
286
+ };
287
+ }
245
288
  // ---------------------------------------------------------------------------
246
289
  // Yield computations (use `number` since APYs are percentages)
247
290
  // ---------------------------------------------------------------------------
@@ -300,12 +343,28 @@ function findLiquidity(subAccount) {
300
343
  }
301
344
  return undefined;
302
345
  }
303
- function findBorrowedValueUsd(subAccount) {
304
- for (const p of subAccount.positions) {
305
- if (p.borrowedValueUsd != null)
306
- return p.borrowedValueUsd;
346
+ function findBorrowPosition(subAccount) {
347
+ return subAccount.positions.find((position) => position.borrowed > 0n);
348
+ }
349
+ function findCollateralPositionsForBorrow(subAccount, borrow) {
350
+ const collateralAddresses = borrow.liquidity?.collaterals.map((collateral) => getAddress(collateral.address)) ??
351
+ subAccount.enabledCollaterals.map((collateral) => getAddress(collateral));
352
+ const collateralPositions = collateralAddresses.flatMap((collateralAddress) => {
353
+ const position = subAccount.positions.find((candidate) => isAddressEqual(candidate.vaultAddress, collateralAddress));
354
+ return position ? [position] : [];
355
+ });
356
+ return collateralPositions.length > 0
357
+ ? collateralPositions
358
+ : subAccount.positions.filter((position) => position.isCollateral);
359
+ }
360
+ function sumPositionUsd(positions, field) {
361
+ let total;
362
+ for (const position of positions) {
363
+ if (position[field] != null) {
364
+ total = (total ?? 0) + position[field];
365
+ }
307
366
  }
308
- return undefined;
367
+ return total;
309
368
  }
310
369
  function computeAccountYieldTotals(account) {
311
370
  function* positions() {
@@ -319,6 +378,10 @@ function computeAccountYieldTotals(account) {
319
378
  }
320
379
  function computePositionYieldTotals(positions) {
321
380
  let totalNetYield = 0;
381
+ let totalLendingYield = 0;
382
+ let totalBorrowingYield = 0;
383
+ let totalRewardYield = 0;
384
+ let totalIntrinsicYield = 0;
322
385
  let totalSupplyUsd = 0;
323
386
  let totalBorrowUsd = 0;
324
387
  let hasUsdData = false;
@@ -326,19 +389,29 @@ function computePositionYieldTotals(positions) {
326
389
  const vault = position.vault;
327
390
  if (!vault)
328
391
  continue;
329
- if (position.suppliedValueUsd != null && position.suppliedValueUsd > 0n) {
330
- const supplyUsd = Number(position.suppliedValueUsd) / 1e18;
331
- const supplyApy = applyIntrinsicApy(getVaultSupplyApy(vault) ?? 0, getVaultIntrinsicApy(vault));
392
+ if (position.suppliedValueUsd != null && position.suppliedValueUsd > 0) {
393
+ const supplyUsd = position.suppliedValueUsd;
394
+ const baseSupplyApy = getVaultSupplyApy(vault) ?? 0;
395
+ const intrinsicSupplyApy = getIntrinsicApyContribution(baseSupplyApy, getVaultIntrinsicApy(vault));
396
+ const supplyApy = baseSupplyApy + intrinsicSupplyApy;
332
397
  const supplyRewardApy = getVaultRewardApr(vault, "LEND");
333
398
  totalNetYield += supplyUsd * (supplyApy + supplyRewardApy);
399
+ totalLendingYield += supplyUsd * baseSupplyApy;
400
+ totalRewardYield += supplyUsd * supplyRewardApy;
401
+ totalIntrinsicYield += supplyUsd * intrinsicSupplyApy;
334
402
  totalSupplyUsd += supplyUsd;
335
403
  hasUsdData = true;
336
404
  }
337
- if (position.borrowedValueUsd != null && position.borrowedValueUsd > 0n) {
338
- const borrowUsd = Number(position.borrowedValueUsd) / 1e18;
339
- const borrowApy = applyIntrinsicApy(getVaultBorrowApy(vault) ?? 0, getVaultIntrinsicApy(vault));
405
+ if (position.borrowedValueUsd != null && position.borrowedValueUsd > 0) {
406
+ const borrowUsd = position.borrowedValueUsd;
407
+ const baseBorrowApy = getVaultBorrowApy(vault) ?? 0;
408
+ const intrinsicBorrowApy = getIntrinsicApyContribution(baseBorrowApy, getVaultIntrinsicApy(vault));
409
+ const borrowApy = baseBorrowApy + intrinsicBorrowApy;
340
410
  const borrowRewardApy = getVaultRewardApr(vault, "BORROW");
341
411
  totalNetYield -= borrowUsd * (borrowApy - borrowRewardApy);
412
+ totalBorrowingYield += borrowUsd * baseBorrowApy;
413
+ totalRewardYield += borrowUsd * borrowRewardApy;
414
+ totalIntrinsicYield -= borrowUsd * intrinsicBorrowApy;
342
415
  totalBorrowUsd += borrowUsd;
343
416
  hasUsdData = true;
344
417
  }
@@ -347,18 +420,45 @@ function computePositionYieldTotals(positions) {
347
420
  return undefined;
348
421
  return {
349
422
  totalNetYield,
423
+ totalLendingYield,
424
+ totalBorrowingYield,
425
+ totalRewardYield,
426
+ totalIntrinsicYield,
350
427
  totalEquityUsd: totalSupplyUsd - totalBorrowUsd,
351
428
  totalSupplyUsd,
352
429
  };
353
430
  }
354
- /** Duck-type supply APY from a vault entity (EVault string or EulerEarn number getter). */
431
+ function divideYieldTotals(totals, denominator) {
432
+ const lending = totals.totalLendingYield / denominator;
433
+ const borrowing = -totals.totalBorrowingYield / denominator;
434
+ const rewards = totals.totalRewardYield / denominator;
435
+ const intrinsicApy = totals.totalIntrinsicYield / denominator;
436
+ return {
437
+ lending,
438
+ borrowing,
439
+ rewards,
440
+ intrinsicApy,
441
+ total: totals.totalNetYield / denominator,
442
+ };
443
+ }
444
+ function zeroYieldApyBreakdown() {
445
+ return {
446
+ lending: 0,
447
+ borrowing: 0,
448
+ rewards: 0,
449
+ intrinsicApy: 0,
450
+ total: 0,
451
+ };
452
+ }
453
+ /** Duck-type supply APY from a vault entity (percentage points). */
355
454
  function getVaultSupplyApy(vault) {
356
- // EVault: interestRates.supplyAPY (string, decimal fraction via formatUnits(_, 27))
357
455
  if (vault.interestRates?.supplyAPY != null) {
358
- const val = parseFloat(vault.interestRates.supplyAPY);
456
+ const val = typeof vault.interestRates.supplyAPY === "number"
457
+ ? vault.interestRates.supplyAPY
458
+ : parseFloat(vault.interestRates.supplyAPY);
359
459
  return Number.isFinite(val) ? val : undefined;
360
460
  }
361
- // EulerEarn: supplyApy1h (decimal fraction)
461
+ // EulerEarn: supplyApy1h (percentage points)
362
462
  if (typeof vault.supplyApy1h === "number") {
363
463
  return Number.isFinite(vault.supplyApy1h) ? vault.supplyApy1h : undefined;
364
464
  }
@@ -367,30 +467,32 @@ function getVaultSupplyApy(vault) {
367
467
  /** Duck-type borrow APY from a vault entity (EVault only). */
368
468
  function getVaultBorrowApy(vault) {
369
469
  if (vault.interestRates?.borrowAPY != null) {
370
- const val = parseFloat(vault.interestRates.borrowAPY);
470
+ const val = typeof vault.interestRates.borrowAPY === "number"
471
+ ? vault.interestRates.borrowAPY
472
+ : parseFloat(vault.interestRates.borrowAPY);
371
473
  return Number.isFinite(val) ? val : undefined;
372
474
  }
373
475
  return undefined;
374
476
  }
375
- /** Intrinsic APY as a decimal fraction from vault's populated intrinsicApy field. */
477
+ /** Intrinsic APY as percentage points from vault's populated intrinsicApy field. */
376
478
  function getVaultIntrinsicApy(vault) {
377
479
  if (vault.intrinsicApy?.apy != null &&
378
480
  typeof vault.intrinsicApy.apy === "number") {
379
- return vault.intrinsicApy.apy / 100;
481
+ return vault.intrinsicApy.apy;
380
482
  }
381
483
  return 0;
382
484
  }
383
- function applyIntrinsicApy(baseApy, intrinsicApy) {
384
- return baseApy + (1 + baseApy) * intrinsicApy;
485
+ function getIntrinsicApyContribution(baseApy, intrinsicApy) {
486
+ return (1 + baseApy / 100) * intrinsicApy;
385
487
  }
386
- /** Sum reward APRs for a given action (LEND or BORROW) from vault campaigns. */
488
+ /** Sum reward APRs for a given action as percentage points from vault campaigns. */
387
489
  function getVaultRewardApr(vault, action) {
388
490
  if (!vault.rewards?.campaigns)
389
491
  return 0;
390
492
  let total = 0;
391
493
  for (const c of vault.rewards.campaigns) {
392
494
  if (c.action === action && typeof c.apr === "number") {
393
- total += c.apr;
495
+ total += c.apr * 100;
394
496
  }
395
497
  }
396
498
  return total;
@@ -1 +1 @@
1
- {"version":3,"file":"accountComputations.js","sourceRoot":"","sources":["../../../src/utils/accountComputations.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,MAAM,GAAG,GAAG,GAAG,IAAI,GAAG,CAAC;AAEvB,8EAA8E;AAC9E,yDAAyD;AACzD,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAClC,UAAyC;IAEzC,MAAM,GAAG,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IACtC,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,IAAI,GAAG,CAAC,cAAc,CAAC,WAAW,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IAC5D,OAAO,CACN,CAAC,GAAG,CAAC,oBAAoB,CAAC,WAAW,GAAG,GAAG,CAAC;QAC5C,GAAG,CAAC,cAAc,CAAC,WAAW,CAC9B,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAChC,UAAyC;IAEzC,MAAM,GAAG,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IACtC,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,IAAI,GAAG,CAAC,oBAAoB,CAAC,SAAS,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IAChE,OAAO,CACN,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,oBAAoB,CAAC,SAAS,CACzE,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACpC,UAAyC;IAEzC,MAAM,GAAG,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IACtC,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,IAAI,GAAG,CAAC,oBAAoB,CAAC,SAAS,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IAChE,OAAO,CACN,CAAC,GAAG,CAAC,oBAAoB,CAAC,WAAW,GAAG,GAAG,CAAC;QAC5C,GAAG,CAAC,oBAAoB,CAAC,SAAS,CAClC,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,4DAA4D;AAC5D,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAChC,UAAyC;IAEzC,MAAM,GAAG,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IACtC,IAAI,CAAC,GAAG,EAAE,uBAAuB;QAAE,OAAO,SAAS,CAAC;IAEpD,MAAM,WAAW,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACrD,IAAI,WAAW,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC;IAE1C,MAAM,MAAM,GAAG,GAAG,CAAC,uBAAuB,GAAG,WAAW,CAAC;IACzD,IAAI,MAAM,IAAI,EAAE;QAAE,OAAO,SAAS,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,uBAAuB,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wCAAwC,CACvD,UAAyC;IAEzC,OAAO,aAAa,CAAC,UAAU,CAAC,EAAE,uBAAuB,CAAC;AAC3D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kCAAkC,CACjD,UAAyC;IAEzC,OAAO,aAAa,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAC3C,UAAyC;IAEzC,IAAI,QAA4B,CAAC;IACjC,IAAI,QAA4B,CAAC;IAEjC,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;QACtC,IAAI,CAAC,CAAC,gBAAgB,IAAI,IAAI;YAC7B,QAAQ,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,gBAAgB,CAAC;QAClD,IAAI,CAAC,CAAC,gBAAgB,IAAI,IAAI;YAC7B,QAAQ,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,gBAAgB,CAAC;IACnD,CAAC;IAED,IAAI,QAAQ,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC;IACvC,OAAO,QAAQ,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,8EAA8E;AAC9E,qDAAqD;AACrD,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,kCAAkC,CACjD,SAA8C;IAE9C,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,MAAM,SAAS,GAAG,SAAS,CAAC,oBAAoB,CAAC,WAAW,CAAC;IAC7D,MAAM,SAAS,GAAG,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC;IAEvD,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;QACvC,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,KAAK,EAAE;YAAE,SAAS;QACzC,MAAM,SAAS,GAAG,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;QAClD,MAAM,GAAG,GAAG,SAAS,GAAG,SAAS,CAAC;QAClC,IAAI,GAAG,IAAI,EAAE;YAAE,SAAS;QACxB,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;IACvD,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAC5C,SAA8C;IAE9C,IAAI,SAAS,CAAC,cAAc,CAAC,WAAW,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IAClE,OAAO,CACN,CAAC,SAAS,CAAC,oBAAoB,CAAC,WAAW,GAAG,GAAG,CAAC;QAClD,SAAS,CAAC,cAAc,CAAC,WAAW,CACpC,CAAC;AACH,CAAC;AAuBD;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CACnC,UAAyC;IAEzC,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAY,CAAC;QAC7B,IAAI,CAAC,KAAK;YAAE,SAAS;QAErB,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAExD,cAAc;QACd,IAAI,CAAC,CAAC,gBAAgB,IAAI,IAAI,IAAI,CAAC,CAAC,gBAAgB,GAAG,EAAE,EAAE,CAAC;YAC3D,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;YAEpD,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;gBACvB,OAAO,GAAG,IAAI,CAAC;gBACf,cAAc,IAAI,SAAS,CAAC;gBAC5B,iBAAiB,IAAI,SAAS,GAAG,SAAS,CAAC;gBAC3C,gBAAgB,IAAI,SAAS,GAAG,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACjE,mBAAmB,IAAI,SAAS,GAAG,mBAAmB,CAAC;YACxD,CAAC;QACF,CAAC;QAED,cAAc;QACd,IAAI,CAAC,CAAC,gBAAgB,IAAI,IAAI,IAAI,CAAC,CAAC,gBAAgB,GAAG,EAAE,EAAE,CAAC;YAC3D,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;YACpD,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;gBACvB,OAAO,GAAG,IAAI,CAAC;gBACf,cAAc,IAAI,SAAS,CAAC;gBAC5B,mBAAmB,IAAI,SAAS,GAAG,SAAS,CAAC;gBAC7C,gBAAgB,IAAI,SAAS,GAAG,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBACnE,mBAAmB,IAAI,SAAS,GAAG,mBAAmB,CAAC;YACxD,CAAC;QACF,CAAC;IACF,CAAC;IAED,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAE/B,MAAM,MAAM,GAAG,cAAc,GAAG,cAAc,CAAC;IAC/C,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAElC,MAAM,OAAO,GAAG,iBAAiB,GAAG,MAAM,CAAC;IAC3C,MAAM,SAAS,GAAG,CAAC,mBAAmB,GAAG,MAAM,CAAC;IAChD,MAAM,OAAO,GAAG,gBAAgB,GAAG,MAAM,CAAC;IAC1C,MAAM,YAAY,GAAG,mBAAmB,GAAG,MAAM,CAAC;IAElD,OAAO;QACN,OAAO;QACP,SAAS;QACT,OAAO;QACP,YAAY;QACZ,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,YAAY;KACnD,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,0EAA0E;AAC1E,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CACnC,OAAmC;IAEnC,MAAM,MAAM,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,IAAI,MAAM,CAAC,cAAc,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CACrC,SAAyC;IAEzC,MAAM,MAAM,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,IAAI,MAAM,CAAC,cAAc,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC;AACrD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAChC,OAAmC;IAEnC,MAAM,MAAM,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,IAAI,MAAM,CAAC,cAAc,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAClC,SAAyC;IAEzC,MAAM,MAAM,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,IAAI,MAAM,CAAC,cAAc,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC;AACrD,CAAC;AAED,8EAA8E;AAC9E,+DAA+D;AAC/D,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,SAAS,CACxB,SAAiB,EACjB,SAAiB,EACjB,SAAiB,EACjB,SAAiB,EACjB,eAAe,GAAG,CAAC,EACnB,eAAe,GAAG,CAAC;IAEnB,IAAI,SAAS,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,CACN,CAAC,SAAS,GAAG,CAAC,SAAS,GAAG,eAAe,CAAC;QACzC,SAAS,GAAG,CAAC,SAAS,GAAG,eAAe,CAAC,CAAC;QAC3C,SAAS,CACT,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,MAAM,CACrB,SAAiB,EACjB,SAAiB,EACjB,SAAiB,EACjB,SAAiB,EACjB,eAAe,GAAG,CAAC,EACnB,eAAe,GAAG,CAAC;IAEnB,MAAM,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IACrC,IAAI,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC3B,OAAO,CACN,CAAC,SAAS,GAAG,CAAC,SAAS,GAAG,eAAe,CAAC;QACzC,SAAS,GAAG,CAAC,SAAS,GAAG,eAAe,CAAC,CAAC;QAC3C,MAAM,CACN,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC/B,SAAiB,EACjB,YAAY,GAAG,KAAK;IAEpB,MAAM,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;IAC3C,IAAI,SAAS,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAC7B,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAChC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CACxB,aAAqB,EACrB,SAAiB,EACjB,SAAiB;IAEjB,OAAO,SAAS,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;AAClE,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,SAAS,aAAa,CACrB,UAA0B;IAE1B,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;QACtC,IAAI,CAAC,CAAC,SAAS;YAAE,OAAO,CAAC,CAAC,SAAS,CAAC;IACrC,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,oBAAoB,CAC5B,UAA0B;IAE1B,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;QACtC,IAAI,CAAC,CAAC,gBAAgB,IAAI,IAAI;YAAE,OAAO,CAAC,CAAC,gBAAgB,CAAC;IAC3D,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAcD,SAAS,yBAAyB,CACjC,OAAmC;IAEnC,QAAQ,CAAC,CAAC,SAAS;QAClB,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,UAAU;gBAAE,SAAS;YAC1B,KAAK,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;QAC7B,CAAC;IACF,CAAC;IAED,OAAO,0BAA0B,CAAC,SAAS,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,0BAA0B,CAClC,SAAyC;IAEzC,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAY,CAAC;QACpC,IAAI,CAAC,KAAK;YAAE,SAAS;QAErB,IAAI,QAAQ,CAAC,gBAAgB,IAAI,IAAI,IAAI,QAAQ,CAAC,gBAAgB,GAAG,EAAE,EAAE,CAAC;YACzE,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;YAC3D,MAAM,SAAS,GAAG,iBAAiB,CAClC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,EAC7B,oBAAoB,CAAC,KAAK,CAAC,CAC3B,CAAC;YACF,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAEzD,aAAa,IAAI,SAAS,GAAG,CAAC,SAAS,GAAG,eAAe,CAAC,CAAC;YAC3D,cAAc,IAAI,SAAS,CAAC;YAC5B,UAAU,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,IAAI,QAAQ,CAAC,gBAAgB,IAAI,IAAI,IAAI,QAAQ,CAAC,gBAAgB,GAAG,EAAE,EAAE,CAAC;YACzE,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;YAC3D,MAAM,SAAS,GAAG,iBAAiB,CAClC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,EAC7B,oBAAoB,CAAC,KAAK,CAAC,CAC3B,CAAC;YACF,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAE3D,aAAa,IAAI,SAAS,GAAG,CAAC,SAAS,GAAG,eAAe,CAAC,CAAC;YAC3D,cAAc,IAAI,SAAS,CAAC;YAC5B,UAAU,GAAG,IAAI,CAAC;QACnB,CAAC;IACF,CAAC;IAED,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAElC,OAAO;QACN,aAAa;QACb,cAAc,EAAE,cAAc,GAAG,cAAc;QAC/C,cAAc;KACd,CAAC;AACH,CAAC;AAED,2FAA2F;AAC3F,SAAS,iBAAiB,CAAC,KAAU;IACpC,oFAAoF;IACpF,IAAI,KAAK,CAAC,aAAa,EAAE,SAAS,IAAI,IAAI,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACtD,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/C,CAAC;IACD,4CAA4C;IAC5C,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC3C,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,8DAA8D;AAC9D,SAAS,iBAAiB,CAAC,KAAU;IACpC,IAAI,KAAK,CAAC,aAAa,EAAE,SAAS,IAAI,IAAI,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACtD,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/C,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,qFAAqF;AACrF,SAAS,oBAAoB,CAAC,KAAU;IACvC,IACC,KAAK,CAAC,YAAY,EAAE,GAAG,IAAI,IAAI;QAC/B,OAAO,KAAK,CAAC,YAAY,CAAC,GAAG,KAAK,QAAQ,EACzC,CAAC;QACF,OAAO,KAAK,CAAC,YAAY,CAAC,GAAG,GAAG,GAAG,CAAC;IACrC,CAAC;IACD,OAAO,CAAC,CAAC;AACV,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe,EAAE,YAAoB;IAC/D,OAAO,OAAO,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,YAAY,CAAC;AAC/C,CAAC;AAED,gFAAgF;AAChF,SAAS,iBAAiB,CAAC,KAAU,EAAE,MAAc;IACpD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS;QAAE,OAAO,CAAC,CAAC;IACxC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACzC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YACtD,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC;QAChB,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"accountComputations.js","sourceRoot":"","sources":["../../../src/utils/accountComputations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { type Address } from "viem";
2
+ import type { AccountPosition, IHasVaultAddress, SubAccount } from "../entities/Account.js";
3
+ export type AccountPositionFilter<TVaultEntity extends IHasVaultAddress = IHasVaultAddress> = (position: AccountPosition<TVaultEntity>) => boolean;
4
+ /**
5
+ * Resolve the active collateral positions backing a borrow position.
6
+ *
7
+ * This mirrors Portfolio's borrow/savings classification: prefer collateral
8
+ * addresses from account liquidity, then fall back to enabled collaterals when
9
+ * liquidity is unavailable. Only positions actually present on the sub-account
10
+ * are returned, so callers do not treat enabled-but-empty collateral slots as
11
+ * active savings/collateral.
12
+ */
13
+ export declare function resolveBorrowCollateralPositions<TVaultEntity extends IHasVaultAddress>(subAccount: SubAccount<TVaultEntity>, borrow: AccountPosition<TVaultEntity>, positionFilter?: AccountPositionFilter<TVaultEntity>): AccountPosition<TVaultEntity>[];
14
+ export declare function resolveBorrowCollateralVaults<TVaultEntity extends IHasVaultAddress>(subAccount: SubAccount<TVaultEntity>, borrow: AccountPosition<TVaultEntity>): Address[];
15
+ //# sourceMappingURL=accountPositionClassification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accountPositionClassification.d.ts","sourceRoot":"","sources":["../../../src/utils/accountPositionClassification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAA8B,MAAM,MAAM,CAAC;AAChE,OAAO,KAAK,EACX,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,MAAM,wBAAwB,CAAC;AAEhC,MAAM,MAAM,qBAAqB,CAChC,YAAY,SAAS,gBAAgB,GAAG,gBAAgB,IACrD,CAAC,QAAQ,EAAE,eAAe,CAAC,YAAY,CAAC,KAAK,OAAO,CAAC;AAEzD;;;;;;;;GAQG;AACH,wBAAgB,gCAAgC,CAC/C,YAAY,SAAS,gBAAgB,EAErC,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,EACpC,MAAM,EAAE,eAAe,CAAC,YAAY,CAAC,EACrC,cAAc,CAAC,EAAE,qBAAqB,CAAC,YAAY,CAAC,GAClD,eAAe,CAAC,YAAY,CAAC,EAAE,CAWjC;AAED,wBAAgB,6BAA6B,CAC5C,YAAY,SAAS,gBAAgB,EAErC,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,EACpC,MAAM,EAAE,eAAe,CAAC,YAAY,CAAC,GACnC,OAAO,EAAE,CASX"}
@@ -0,0 +1,27 @@
1
+ import { getAddress, isAddressEqual } from "viem";
2
+ /**
3
+ * Resolve the active collateral positions backing a borrow position.
4
+ *
5
+ * This mirrors Portfolio's borrow/savings classification: prefer collateral
6
+ * addresses from account liquidity, then fall back to enabled collaterals when
7
+ * liquidity is unavailable. Only positions actually present on the sub-account
8
+ * are returned, so callers do not treat enabled-but-empty collateral slots as
9
+ * active savings/collateral.
10
+ */
11
+ export function resolveBorrowCollateralPositions(subAccount, borrow, positionFilter) {
12
+ return resolveBorrowCollateralVaults(subAccount, borrow).flatMap((collateralAddress) => {
13
+ const collateral = subAccount.positions.find((position) => isAddressEqual(position.vaultAddress, collateralAddress));
14
+ if (!collateral)
15
+ return [];
16
+ if (positionFilter && !positionFilter(collateral))
17
+ return [];
18
+ return [collateral];
19
+ });
20
+ }
21
+ export function resolveBorrowCollateralVaults(subAccount, borrow) {
22
+ const liquidityCollaterals = borrow.liquidity?.collaterals.map((collateral) => getAddress(collateral.address)) ?? [];
23
+ return liquidityCollaterals.length > 0
24
+ ? liquidityCollaterals
25
+ : subAccount.enabledCollaterals.map((collateral) => getAddress(collateral));
26
+ }
27
+ //# sourceMappingURL=accountPositionClassification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accountPositionClassification.js","sourceRoot":"","sources":["../../../src/utils/accountPositionClassification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,UAAU,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAWhE;;;;;;;;GAQG;AACH,MAAM,UAAU,gCAAgC,CAG/C,UAAoC,EACpC,MAAqC,EACrC,cAAoD;IAEpD,OAAO,6BAA6B,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,OAAO,CAC/D,CAAC,iBAAiB,EAAE,EAAE;QACrB,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CACzD,cAAc,CAAC,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC,CACxD,CAAC;QACF,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAC3B,IAAI,cAAc,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;YAAE,OAAO,EAAE,CAAC;QAC7D,OAAO,CAAC,UAAU,CAAC,CAAC;IACrB,CAAC,CACD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAG5C,UAAoC,EACpC,MAAqC;IAErC,MAAM,oBAAoB,GACzB,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAChD,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAC9B,IAAI,EAAE,CAAC;IAET,OAAO,oBAAoB,CAAC,MAAM,GAAG,CAAC;QACrC,CAAC,CAAC,oBAAoB;QACtB,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;AAC9E,CAAC"}
@@ -11,6 +11,7 @@ export interface QueryCacheConfig {
11
11
  enabled?: boolean;
12
12
  ttlMs?: number;
13
13
  }
14
+ export declare function serializeQueryArgs(args: unknown[]): string | null;
14
15
  export declare function createQueryCacheBuildQuery(config?: QueryCacheConfig): BuildQueryFn;
15
16
  /**
16
17
  * Applies a buildQuery decorator to all `query*` properties on a target object.
@@ -1 +1 @@
1
- {"version":3,"file":"buildQuery.d.ts","sourceRoot":"","sources":["../../../src/utils/buildQuery.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,EACrE,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,CAAC,EACL,MAAM,EAAE,MAAM,KACV,CAAC,CAAC;AAEP,MAAM,WAAW,gBAAgB;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAkBD,wBAAgB,0BAA0B,CACzC,MAAM,CAAC,EAAE,gBAAgB,GACvB,YAAY,CA2Dd;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC9B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,YAAY,GACtB,IAAI,CAMN"}
1
+ {"version":3,"file":"buildQuery.d.ts","sourceRoot":"","sources":["../../../src/utils/buildQuery.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,EACrE,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,CAAC,EACL,MAAM,EAAE,MAAM,KACV,CAAC,CAAC;AAEP,MAAM,WAAW,gBAAgB;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAID,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,GAAG,IAAI,CAYjE;AAED,wBAAgB,0BAA0B,CACzC,MAAM,CAAC,EAAE,gBAAgB,GACvB,YAAY,CA2Dd;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC9B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,YAAY,GACtB,IAAI,CAMN"}
@@ -1,5 +1,5 @@
1
1
  const DEFAULT_QUERY_CACHE_TTL_MS = 5_000;
2
- function serializeQueryArgs(args) {
2
+ export function serializeQueryArgs(args) {
3
3
  try {
4
4
  return JSON.stringify(args, (_key, value) => {
5
5
  if (typeof value === "bigint") {
@@ -1 +1 @@
1
- {"version":3,"file":"buildQuery.js","sourceRoot":"","sources":["../../../src/utils/buildQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildQuery.js","sourceRoot":"","sources":["../../../src/utils/buildQuery.ts"],"names":[],"mappings":"AAmBA,MAAM,0BAA0B,GAAG,KAAK,CAAC;AAEzC,MAAM,UAAU,kBAAkB,CAAC,IAAe;IACjD,IAAI,CAAC;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC/B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;YACtD,CAAC;YACD,IAAI,OAAO,KAAK,KAAK,UAAU;gBAAE,OAAO,YAAY,CAAC;YACrD,OAAO,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED,MAAM,UAAU,0BAA0B,CACzC,MAAyB;IAEzB,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC;IACxC,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,0BAA0B,CAAC;IAE1D,OAAO,CACN,UAAkB,EAClB,EAAK,EACL,OAAe,EACX,EAAE;QACN,IAAI,CAAC,OAAO,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;QAEtC,MAAM,KAAK,GAAG,IAAI,GAAG,EAOlB,CAAC;QAEJ,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,GAAG,IAAmB,EAAE,EAAE;YACjD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACvB,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YACpB,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC;gBACtC,IAAI,MAAM,CAAC,OAAO;oBAAE,OAAO,MAAM,CAAC,OAAO,CAAC;gBAC1C,IAAI,OAAO,IAAI,MAAM;oBAAE,OAAO,MAAM,CAAC,KAA+B,CAAC;YACtE,CAAC;YAED,MAAM,OAAO,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;iBACzB,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE;oBACnB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;oBAC7B,KAAK;iBACL,CAAC,CAAC;gBACH,OAAO,KAAK,CAAC;YACd,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBAChB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACpC,IAAI,OAAO,EAAE,OAAO,KAAK,OAAO,EAAE,CAAC;oBAClC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACxB,CAAC;gBACD,MAAM,KAAK,CAAC;YACb,CAAC,CAAC,CAAC;YAEJ,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE;gBACnB,SAAS,EAAE,GAAG,GAAG,KAAK;gBACtB,OAAO;aACP,CAAC,CAAC;YAEH,OAAO,OAAO,CAAC;QAChB,CAAC,CAAM,CAAC;QAER,OAAO,OAAO,CAAC;IAChB,CAAC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC9B,MAAc,EACd,UAAwB;IAExB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;QACtD,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,OAAQ,MAAc,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE,CAAC;YAC1E,MAAc,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,EAAG,MAAc,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;QACtE,CAAC;IACF,CAAC;AACF,CAAC"}
@@ -1,13 +1,68 @@
1
+ import type { Address } from "viem";
1
2
  export type DataIssueSeverity = "info" | "warning" | "error";
2
3
  export type DataIssueCode = "COERCED_TYPE" | "OUT_OF_RANGE_CLAMPED" | "OUT_OF_RANGE_DROPPED" | "PRECISION_LOSS" | "DEFAULT_APPLIED" | "SOURCE_UNAVAILABLE" | "FALLBACK_USED" | "DECODE_FAILED";
4
+ export type DataIssueOwnerRef = {
5
+ kind: "account";
6
+ chainId: number;
7
+ address: Address;
8
+ } | {
9
+ kind: "subAccount";
10
+ chainId: number;
11
+ address: Address;
12
+ } | {
13
+ kind: "accountPosition";
14
+ chainId: number;
15
+ account: Address;
16
+ vault: Address;
17
+ } | {
18
+ kind: "accountPositionCollateral";
19
+ chainId: number;
20
+ account: Address;
21
+ vault: Address;
22
+ collateral: Address;
23
+ } | {
24
+ kind: "asset";
25
+ chainId: number;
26
+ address: Address;
27
+ } | {
28
+ kind: "vault";
29
+ chainId: number;
30
+ address: Address;
31
+ } | {
32
+ kind: "vaultCollateral";
33
+ chainId: number;
34
+ vault: Address;
35
+ collateral: Address;
36
+ } | {
37
+ kind: "vaultStrategy";
38
+ chainId: number;
39
+ vault: Address;
40
+ strategy: Address;
41
+ } | {
42
+ kind: "wallet";
43
+ chainId: number;
44
+ address: Address;
45
+ } | {
46
+ kind: "walletAsset";
47
+ chainId: number;
48
+ wallet: Address;
49
+ asset: Address;
50
+ } | {
51
+ kind: "service";
52
+ service: string;
53
+ chainId?: number;
54
+ id?: string;
55
+ };
56
+ export interface DataIssueLocation {
57
+ owner: DataIssueOwnerRef;
58
+ /** JSONPath-like, relative to the diagnostic owner. */
59
+ path: string;
60
+ }
3
61
  export interface DataIssue {
4
62
  code: DataIssueCode;
5
63
  severity: DataIssueSeverity;
6
64
  message: string;
7
- /** JSONPath-like, relative to a fetch result root entity. */
8
- paths: string[];
9
- /** Stable entity identifier (address for vault/account/subaccount/wallet/asset when known). */
10
- entityId?: string;
65
+ locations: DataIssueLocation[];
11
66
  source?: string;
12
67
  originalValue?: unknown;
13
68
  normalizedValue?: unknown;
@@ -16,14 +71,22 @@ export interface ServiceResult<T> {
16
71
  result: T;
17
72
  errors: DataIssue[];
18
73
  }
74
+ export declare function vaultDiagnosticOwner(chainId: number, address: Address): DataIssueOwnerRef;
75
+ export declare function assetDiagnosticOwner(chainId: number, address: Address): DataIssueOwnerRef;
76
+ export declare function accountDiagnosticOwner(chainId: number, address: Address): DataIssueOwnerRef;
77
+ export declare function subAccountDiagnosticOwner(chainId: number, address: Address): DataIssueOwnerRef;
78
+ export declare function accountPositionDiagnosticOwner(chainId: number, account: Address, vault: Address): DataIssueOwnerRef;
79
+ export declare function accountPositionCollateralDiagnosticOwner(chainId: number, account: Address, vault: Address, collateral: Address): DataIssueOwnerRef;
80
+ export declare function vaultCollateralDiagnosticOwner(chainId: number, vault: Address, collateral: Address): DataIssueOwnerRef;
81
+ export declare function vaultStrategyDiagnosticOwner(chainId: number, vault: Address, strategy: Address): DataIssueOwnerRef;
82
+ export declare function walletDiagnosticOwner(chainId: number, address: Address): DataIssueOwnerRef;
83
+ export declare function walletAssetDiagnosticOwner(chainId: number, wallet: Address, asset: Address): DataIssueOwnerRef;
84
+ export declare function serviceDiagnosticOwner(service: string, chainId?: number, id?: string): DataIssueOwnerRef;
85
+ export declare function dataIssueLocation(owner: DataIssueOwnerRef, path?: string): DataIssueLocation;
19
86
  export declare function withPathPrefix(path: string, prefix: string): string;
20
- export declare function mapDataIssuePaths(issue: DataIssue, mapPath: (path: string) => string): DataIssue;
21
- export declare function prefixDataIssue(issue: DataIssue, prefix: string): DataIssue;
22
- export declare function prefixDataIssues(errors: DataIssue[], prefix: string): DataIssue[];
23
- /**
24
- * Normalizes list-root diagnostics like "$.vaults[0].x" to "$[0].x" for
25
- * service methods that return top-level arrays.
26
- */
27
- export declare function normalizeTopLevelVaultArrayPath(path: string): string;
87
+ export declare function dataIssueOwnerKey(owner: DataIssueOwnerRef): string;
88
+ export declare function dataIssueLocationKey(location: DataIssueLocation): string;
89
+ export declare function mapDataIssueLocations(issue: DataIssue, mapLocation: (location: DataIssueLocation) => DataIssueLocation): DataIssue;
90
+ export declare function replaceDataIssueLocations(issue: DataIssue, locations: DataIssueLocation[]): DataIssue;
28
91
  export declare function compressDataIssues(errors: DataIssue[]): DataIssue[];
29
92
  //# sourceMappingURL=entityDiagnostics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entityDiagnostics.d.ts","sourceRoot":"","sources":["../../../src/utils/entityDiagnostics.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAE7D,MAAM,MAAM,aAAa,GACtB,cAAc,GACd,sBAAsB,GACtB,sBAAsB,GACtB,gBAAgB,GAChB,iBAAiB,GACjB,oBAAoB,GACpB,eAAe,GACf,eAAe,CAAC;AAEnB,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC/B,MAAM,EAAE,CAAC,CAAC;IACV,MAAM,EAAE,SAAS,EAAE,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAMnE;AAMD,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAC/B,SAAS,CAKX;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAE3E;AAED,wBAAgB,gBAAgB,CAC/B,MAAM,EAAE,SAAS,EAAE,EACnB,MAAM,EAAE,MAAM,GACZ,SAAS,EAAE,CAEb;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKpE;AAkBD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CA0BnE"}
1
+ {"version":3,"file":"entityDiagnostics.d.ts","sourceRoot":"","sources":["../../../src/utils/entityDiagnostics.ts"],"names":[],"mappings":"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"}