@eulerxyz/euler-v2-sdk 0.1.3-beta → 0.2.1-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 (237) hide show
  1. package/README.md +24 -25
  2. package/dist/src/entities/Account.d.ts +50 -49
  3. package/dist/src/entities/Account.d.ts.map +1 -1
  4. package/dist/src/entities/Account.js +80 -66
  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/accountServiceConfig.d.ts +1 -1
  61. package/dist/src/services/accountService/accountServiceConfig.d.ts.map +1 -1
  62. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.d.ts +2 -2
  63. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.d.ts.map +1 -1
  64. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.js +22 -17
  65. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.js.map +1 -1
  66. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.d.ts +1 -1
  67. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.d.ts.map +1 -1
  68. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.js +16 -17
  69. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.js.map +1 -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 +58 -53
  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 +15 -11
  81. package/dist/src/services/executionService/encode.d.ts.map +1 -1
  82. package/dist/src/services/executionService/encode.js +242 -23
  83. package/dist/src/services/executionService/encode.js.map +1 -1
  84. package/dist/src/services/executionService/execute.d.ts +2 -1
  85. package/dist/src/services/executionService/execute.d.ts.map +1 -1
  86. package/dist/src/services/executionService/execute.js +10 -6
  87. package/dist/src/services/executionService/execute.js.map +1 -1
  88. package/dist/src/services/executionService/executionService.d.ts +45 -7
  89. package/dist/src/services/executionService/executionService.d.ts.map +1 -1
  90. package/dist/src/services/executionService/executionService.js +325 -20
  91. package/dist/src/services/executionService/executionService.js.map +1 -1
  92. package/dist/src/services/executionService/executionServiceTypes.d.ts +109 -1
  93. package/dist/src/services/executionService/executionServiceTypes.d.ts.map +1 -1
  94. package/dist/src/services/executionService/executionServiceTypes.js.map +1 -1
  95. package/dist/src/services/executionService/index.d.ts +1 -1
  96. package/dist/src/services/executionService/index.d.ts.map +1 -1
  97. package/dist/src/services/executionService/index.js.map +1 -1
  98. package/dist/src/services/executionService/simulate.d.ts.map +1 -1
  99. package/dist/src/services/executionService/simulate.js +3 -2
  100. package/dist/src/services/executionService/simulate.js.map +1 -1
  101. package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3AdapterTypes.d.ts +1 -1
  102. package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3AdapterTypes.d.ts.map +1 -1
  103. package/dist/src/services/oracleAdapterService/oracleAdapterService.d.ts +5 -0
  104. package/dist/src/services/oracleAdapterService/oracleAdapterService.d.ts.map +1 -1
  105. package/dist/src/services/oracleAdapterService/oracleAdapterService.js +38 -11
  106. package/dist/src/services/oracleAdapterService/oracleAdapterService.js.map +1 -1
  107. package/dist/src/services/priceService/backendClient.d.ts +7 -11
  108. package/dist/src/services/priceService/backendClient.d.ts.map +1 -1
  109. package/dist/src/services/priceService/backendClient.js +7 -14
  110. package/dist/src/services/priceService/backendClient.js.map +1 -1
  111. package/dist/src/services/priceService/index.d.ts +2 -2
  112. package/dist/src/services/priceService/index.d.ts.map +1 -1
  113. package/dist/src/services/priceService/index.js +1 -1
  114. package/dist/src/services/priceService/index.js.map +1 -1
  115. package/dist/src/services/priceService/priceService.d.ts +21 -18
  116. package/dist/src/services/priceService/priceService.d.ts.map +1 -1
  117. package/dist/src/services/priceService/priceService.js +61 -101
  118. package/dist/src/services/priceService/priceService.js.map +1 -1
  119. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.d.ts +4 -1
  120. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.d.ts.map +1 -1
  121. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.js +20 -4
  122. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.js.map +1 -1
  123. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.d.ts.map +1 -1
  124. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.js +5 -2
  125. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.js.map +1 -1
  126. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.d.ts +2 -0
  127. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.d.ts.map +1 -1
  128. package/dist/src/services/rewardsService/rewardsService.d.ts +6 -1
  129. package/dist/src/services/rewardsService/rewardsService.d.ts.map +1 -1
  130. package/dist/src/services/rewardsService/rewardsService.js +128 -3
  131. package/dist/src/services/rewardsService/rewardsService.js.map +1 -1
  132. package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts +5 -3
  133. package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts.map +1 -1
  134. package/dist/src/services/swapService/swapService.d.ts +4 -6
  135. package/dist/src/services/swapService/swapService.d.ts.map +1 -1
  136. package/dist/src/services/swapService/swapService.js +90 -99
  137. package/dist/src/services/swapService/swapService.js.map +1 -1
  138. package/dist/src/services/swapService/swapVerification.d.ts +28 -0
  139. package/dist/src/services/swapService/swapVerification.d.ts.map +1 -0
  140. package/dist/src/services/swapService/swapVerification.js +138 -0
  141. package/dist/src/services/swapService/swapVerification.js.map +1 -0
  142. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.d.ts +1 -1
  143. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.d.ts.map +1 -1
  144. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.js +6 -13
  145. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.js.map +1 -1
  146. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.d.ts +1 -1
  147. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.d.ts.map +1 -1
  148. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.js +69 -51
  149. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.js.map +1 -1
  150. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.d.ts +5 -2
  151. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.d.ts.map +1 -1
  152. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.js +50 -18
  153. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.js.map +1 -1
  154. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.d.ts +1 -1
  155. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.d.ts.map +1 -1
  156. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.js +106 -111
  157. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.js.map +1 -1
  158. package/dist/src/services/vaults/eVaultService/eVaultService.d.ts +4 -4
  159. package/dist/src/services/vaults/eVaultService/eVaultService.d.ts.map +1 -1
  160. package/dist/src/services/vaults/eVaultService/eVaultService.js +56 -57
  161. package/dist/src/services/vaults/eVaultService/eVaultService.js.map +1 -1
  162. package/dist/src/services/vaults/eVaultService/eVaultServiceConfig.d.ts +1 -1
  163. package/dist/src/services/vaults/eVaultService/eVaultServiceConfig.d.ts.map +1 -1
  164. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.d.ts +1 -1
  165. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.d.ts.map +1 -1
  166. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.js +22 -21
  167. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.js.map +1 -1
  168. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.d.ts.map +1 -1
  169. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.js +27 -32
  170. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.js.map +1 -1
  171. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.d.ts +1 -1
  172. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.d.ts.map +1 -1
  173. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.js +113 -72
  174. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.js.map +1 -1
  175. package/dist/src/services/vaults/eulerEarnService/eulerEarnService.d.ts +5 -5
  176. package/dist/src/services/vaults/eulerEarnService/eulerEarnService.d.ts.map +1 -1
  177. package/dist/src/services/vaults/eulerEarnService/eulerEarnService.js +30 -28
  178. package/dist/src/services/vaults/eulerEarnService/eulerEarnService.js.map +1 -1
  179. package/dist/src/services/vaults/eulerEarnService/eulerEarnServiceConfig.d.ts +1 -1
  180. package/dist/src/services/vaults/eulerEarnService/eulerEarnServiceConfig.d.ts.map +1 -1
  181. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.d.ts +1 -1
  182. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.d.ts.map +1 -1
  183. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.js +10 -7
  184. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.js.map +1 -1
  185. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.d.ts.map +1 -1
  186. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.js +6 -8
  187. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.js.map +1 -1
  188. package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.d.ts +2 -2
  189. package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.d.ts.map +1 -1
  190. package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.js +13 -18
  191. package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.js.map +1 -1
  192. package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeV3Adapter.d.ts +1 -1
  193. package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeV3Adapter.d.ts.map +1 -1
  194. package/dist/src/services/vaults/vaultMetaService/vaultMetaService.d.ts +3 -3
  195. package/dist/src/services/vaults/vaultMetaService/vaultMetaService.d.ts.map +1 -1
  196. package/dist/src/services/vaults/vaultMetaService/vaultMetaService.js +31 -32
  197. package/dist/src/services/vaults/vaultMetaService/vaultMetaService.js.map +1 -1
  198. package/dist/src/services/walletService/adapters/walletOnchainAdapter.d.ts +5 -1
  199. package/dist/src/services/walletService/adapters/walletOnchainAdapter.d.ts.map +1 -1
  200. package/dist/src/services/walletService/adapters/walletOnchainAdapter.js +181 -40
  201. package/dist/src/services/walletService/adapters/walletOnchainAdapter.js.map +1 -1
  202. package/dist/src/services/walletService/walletService.d.ts +1 -1
  203. package/dist/src/services/walletService/walletService.d.ts.map +1 -1
  204. package/dist/src/services/walletService/walletService.js +4 -3
  205. package/dist/src/services/walletService/walletService.js.map +1 -1
  206. package/dist/src/utils/accountComputations.d.ts +14 -13
  207. package/dist/src/utils/accountComputations.d.ts.map +1 -1
  208. package/dist/src/utils/accountComputations.js +59 -37
  209. package/dist/src/utils/accountComputations.js.map +1 -1
  210. package/dist/src/utils/buildQuery.d.ts +1 -0
  211. package/dist/src/utils/buildQuery.d.ts.map +1 -1
  212. package/dist/src/utils/buildQuery.js +1 -1
  213. package/dist/src/utils/buildQuery.js.map +1 -1
  214. package/dist/src/utils/entityDiagnostics.d.ts +75 -12
  215. package/dist/src/utils/entityDiagnostics.d.ts.map +1 -1
  216. package/dist/src/utils/entityDiagnostics.js +85 -19
  217. package/dist/src/utils/entityDiagnostics.js.map +1 -1
  218. package/dist/src/utils/eulerLabels.d.ts +34 -0
  219. package/dist/src/utils/eulerLabels.d.ts.map +1 -0
  220. package/dist/src/utils/eulerLabels.js +156 -0
  221. package/dist/src/utils/eulerLabels.js.map +1 -0
  222. package/dist/src/utils/healthCheckSets.d.ts +14 -0
  223. package/dist/src/utils/healthCheckSets.d.ts.map +1 -0
  224. package/dist/src/utils/healthCheckSets.js +174 -0
  225. package/dist/src/utils/healthCheckSets.js.map +1 -0
  226. package/dist/src/utils/normalization.d.ts +10 -4
  227. package/dist/src/utils/normalization.d.ts.map +1 -1
  228. package/dist/src/utils/normalization.js +38 -11
  229. package/dist/src/utils/normalization.js.map +1 -1
  230. package/dist/src/utils/oracle.d.ts.map +1 -1
  231. package/dist/src/utils/oracle.js +12 -1
  232. package/dist/src/utils/oracle.js.map +1 -1
  233. package/dist/src/utils/parsing.d.ts +2 -2
  234. package/dist/src/utils/parsing.d.ts.map +1 -1
  235. package/dist/src/utils/parsing.js +12 -22
  236. package/dist/src/utils/parsing.js.map +1 -1
  237. package/package.json +1 -1
@@ -1,4 +1,5 @@
1
1
  import { getAddress } from "viem";
2
+ import { dataIssueLocation, vaultCollateralDiagnosticOwner, vaultDiagnosticOwner, } from "../../../../../utils/entityDiagnostics.js";
2
3
  import { parseAddressField, parseBigIntField, parseBooleanField, parseNumberField, parseRatio1e4, parseStringField, parseTimestampField, ZERO_ADDRESS, } from "../../../../../utils/parsing.js";
3
4
  import { hasActiveBorrowableLtv, } from "../../../../../entities/EVault.js";
4
5
  import { VaultType } from "../../../../../utils/types.js";
@@ -47,6 +48,10 @@ const DEFAULT_INTEREST_RATES_BLOCK = {
47
48
  borrowAPY: "0",
48
49
  supplyAPY: "0",
49
50
  };
51
+ function parseRate(value) {
52
+ const parsed = Number.parseFloat(value);
53
+ return Number.isFinite(parsed) ? parsed * 100 : 0;
54
+ }
50
55
  const DEFAULT_INTEREST_RATE_MODEL_BLOCK = {
51
56
  address: ZERO_ADDRESS,
52
57
  type: "unknown",
@@ -86,77 +91,77 @@ function mapInterestRateModelType(type) {
86
91
  return InterestRateModelType.UNKNOWN;
87
92
  }
88
93
  }
89
- function convertToken(token, path, entityId, errors) {
94
+ function convertToken(token, path, owner, errors) {
90
95
  return {
91
96
  address: parseAddressField(token.address, {
92
97
  path: `${path}.address`,
93
- entityId,
98
+ owner,
94
99
  errors,
95
100
  source: "eVaultV3",
96
101
  }),
97
102
  name: parseStringField(token.name, {
98
103
  path: `${path}.name`,
99
- entityId,
104
+ owner,
100
105
  errors,
101
106
  source: "eVaultV3",
102
107
  }),
103
108
  symbol: parseStringField(token.symbol, {
104
109
  path: `${path}.symbol`,
105
- entityId,
110
+ owner,
106
111
  errors,
107
112
  source: "eVaultV3",
108
113
  }),
109
114
  decimals: parseNumberField(token.decimals, {
110
115
  path: `${path}.decimals`,
111
- entityId,
116
+ owner,
112
117
  errors,
113
118
  source: "eVaultV3",
114
119
  }),
115
120
  };
116
121
  }
117
- function convertOraclePrice(price, errors, path, entityId) {
122
+ function convertOraclePrice(price, errors, path, owner) {
118
123
  const converted = {
119
124
  queryFailure: parseBooleanField(price.queryFailure, {
120
125
  path: `${path}.queryFailure`,
121
- entityId,
126
+ owner,
122
127
  errors,
123
128
  source: "eVaultV3",
124
129
  fallback: true,
125
130
  }),
126
131
  queryFailureReason: parseStringField(price.queryFailureReason, {
127
132
  path: `${path}.queryFailureReason`,
128
- entityId,
133
+ owner,
129
134
  errors,
130
135
  source: "eVaultV3",
131
136
  fallback: "0x",
132
137
  }),
133
138
  amountIn: parseBigIntField(price.amountIn, {
134
139
  path: `${path}.amountIn`,
135
- entityId,
140
+ owner,
136
141
  errors,
137
142
  source: "eVaultV3",
138
143
  }),
139
144
  amountOutMid: parseBigIntField(price.amountOutMid, {
140
145
  path: `${path}.amountOutMid`,
141
- entityId,
146
+ owner,
142
147
  errors,
143
148
  source: "eVaultV3",
144
149
  }),
145
150
  amountOutBid: parseBigIntField(price.amountOutBid, {
146
151
  path: `${path}.amountOutBid`,
147
- entityId,
152
+ owner,
148
153
  errors,
149
154
  source: "eVaultV3",
150
155
  }),
151
156
  amountOutAsk: parseBigIntField(price.amountOutAsk, {
152
157
  path: `${path}.amountOutAsk`,
153
- entityId,
158
+ owner,
154
159
  errors,
155
160
  source: "eVaultV3",
156
161
  }),
157
162
  timestamp: parseTimestampField(price.timestamp, {
158
163
  path: `${path}.timestamp`,
159
- entityId,
164
+ owner,
160
165
  errors,
161
166
  source: "eVaultV3",
162
167
  }),
@@ -166,8 +171,7 @@ function convertOraclePrice(price, errors, path, entityId) {
166
171
  code: "SOURCE_UNAVAILABLE",
167
172
  severity: "warning",
168
173
  message: "Oracle price query reported failure.",
169
- paths: [path],
170
- entityId,
174
+ locations: [dataIssueLocation(owner, path)],
171
175
  source: "eVaultV3",
172
176
  originalValue: converted.queryFailureReason,
173
177
  normalizedValue: "queryFailure:true",
@@ -175,29 +179,29 @@ function convertOraclePrice(price, errors, path, entityId) {
175
179
  }
176
180
  return converted;
177
181
  }
178
- function convertOracleAdapter(adapter, entityId, errors) {
182
+ function convertOracleAdapter(adapter, owner, errors) {
179
183
  const converted = {
180
184
  oracle: parseAddressField(adapter.oracle, {
181
185
  path: "$.oracle.adapters[].oracle",
182
- entityId,
186
+ owner,
183
187
  errors,
184
188
  source: "eVaultV3",
185
189
  }),
186
190
  name: parseStringField(adapter.name, {
187
191
  path: "$.oracle.adapters[].name",
188
- entityId,
192
+ owner,
189
193
  errors,
190
194
  source: "eVaultV3",
191
195
  }),
192
196
  base: parseAddressField(adapter.base, {
193
197
  path: "$.oracle.adapters[].base",
194
- entityId,
198
+ owner,
195
199
  errors,
196
200
  source: "eVaultV3",
197
201
  }),
198
202
  quote: parseAddressField(adapter.quote, {
199
203
  path: "$.oracle.adapters[].quote",
200
- entityId,
204
+ owner,
201
205
  errors,
202
206
  source: "eVaultV3",
203
207
  }),
@@ -206,38 +210,38 @@ function convertOracleAdapter(adapter, entityId, errors) {
206
210
  converted.pythDetail = {
207
211
  pyth: parseAddressField(adapter.pythDetail.pyth, {
208
212
  path: "$.oracle.adapters[].pythDetail.pyth",
209
- entityId,
213
+ owner,
210
214
  errors,
211
215
  source: "eVaultV3",
212
216
  }),
213
217
  base: parseAddressField(adapter.pythDetail.base, {
214
218
  path: "$.oracle.adapters[].pythDetail.base",
215
- entityId,
219
+ owner,
216
220
  errors,
217
221
  source: "eVaultV3",
218
222
  }),
219
223
  quote: parseAddressField(adapter.pythDetail.quote, {
220
224
  path: "$.oracle.adapters[].pythDetail.quote",
221
- entityId,
225
+ owner,
222
226
  errors,
223
227
  source: "eVaultV3",
224
228
  }),
225
229
  feedId: parseStringField(adapter.pythDetail.feedId, {
226
230
  path: "$.oracle.adapters[].pythDetail.feedId",
227
- entityId,
231
+ owner,
228
232
  errors,
229
233
  source: "eVaultV3",
230
234
  fallback: "0x",
231
235
  }),
232
236
  maxStaleness: parseBigIntField(String(adapter.pythDetail.maxStaleness), {
233
237
  path: "$.oracle.adapters[].pythDetail.maxStaleness",
234
- entityId,
238
+ owner,
235
239
  errors,
236
240
  source: "eVaultV3",
237
241
  }),
238
242
  maxConfWidth: parseBigIntField(String(adapter.pythDetail.maxConfWidth), {
239
243
  path: "$.oracle.adapters[].pythDetail.maxConfWidth",
240
- entityId,
244
+ owner,
241
245
  errors,
242
246
  source: "eVaultV3",
243
247
  }),
@@ -247,7 +251,7 @@ function convertOracleAdapter(adapter, entityId, errors) {
247
251
  converted.chainlinkDetail = {
248
252
  oracle: parseAddressField(adapter.chainlinkDetail.oracle, {
249
253
  path: "$.oracle.adapters[].chainlinkDetail.oracle",
250
- entityId,
254
+ owner,
251
255
  errors,
252
256
  source: "eVaultV3",
253
257
  }),
@@ -255,60 +259,62 @@ function convertOracleAdapter(adapter, entityId, errors) {
255
259
  }
256
260
  return converted;
257
261
  }
258
- function convertOracleResolvedVaults(resolvedVaults, entityId, errors) {
259
- return resolvedVaults.map((resolvedVault, index) => ({
262
+ function convertOracleResolvedVaults(resolvedVaults, owner, errors) {
263
+ return (resolvedVaults ?? []).map((resolvedVault, index) => ({
260
264
  vault: parseAddressField(resolvedVault.vault, {
261
265
  path: `$.oracle.resolvedVaults[${index}].vault`,
262
- entityId,
266
+ owner,
263
267
  errors,
264
268
  source: "eVaultV3",
265
269
  }),
266
270
  quote: parseAddressField(resolvedVault.quote, {
267
271
  path: `$.oracle.resolvedVaults[${index}].quote`,
268
- entityId,
272
+ owner,
269
273
  errors,
270
274
  source: "eVaultV3",
271
275
  }),
272
276
  asset: parseAddressField(resolvedVault.asset, {
273
277
  path: `$.oracle.resolvedVaults[${index}].asset`,
274
- entityId,
278
+ owner,
275
279
  errors,
276
280
  source: "eVaultV3",
277
281
  }),
278
- resolvedAssets: resolvedVault.resolvedAssets.map((asset, assetIndex) => parseAddressField(asset, {
282
+ resolvedAssets: (resolvedVault.resolvedAssets ?? []).map((asset, assetIndex) => parseAddressField(asset, {
279
283
  path: `$.oracle.resolvedVaults[${index}].resolvedAssets[${assetIndex}]`,
280
- entityId,
284
+ owner,
281
285
  errors,
282
286
  source: "eVaultV3",
283
287
  })),
284
288
  }));
285
289
  }
286
- function convertCollaterals(rows, vaultTimestamp, vaultEntityId, errors) {
290
+ function convertCollaterals(rows, vaultTimestamp, vaultEntityId, chainId, errors) {
287
291
  const collaterals = [];
292
+ const vaultOwner = vaultDiagnosticOwner(chainId, vaultEntityId);
288
293
  for (const [index, row] of rows.entries()) {
289
294
  const collateralAddress = parseAddressField(row.collateral, {
290
295
  path: `$.collaterals[${index}].collateral`,
291
- entityId: vaultEntityId,
296
+ owner: vaultOwner,
292
297
  errors,
293
298
  source: "eVaultV3",
294
299
  });
300
+ const collateralOwner = vaultCollateralDiagnosticOwner(chainId, vaultEntityId, collateralAddress);
295
301
  const borrowLTV = parseRatio1e4(row.borrowLTV, {
296
- path: `$.collaterals[${index}].borrowLTV`,
297
- entityId: collateralAddress,
302
+ path: "$.borrowLTV",
303
+ owner: collateralOwner,
298
304
  errors,
299
305
  source: "eVaultV3",
300
306
  });
301
307
  const liquidationLTV = parseRatio1e4(row.liquidationLTV, {
302
- path: `$.collaterals[${index}].liquidationLTV`,
303
- entityId: collateralAddress,
308
+ path: "$.liquidationLTV",
309
+ owner: collateralOwner,
304
310
  errors,
305
311
  source: "eVaultV3",
306
312
  });
307
313
  const targetTimestamp = parseNumberField(typeof row.targetTimestamp === "number"
308
314
  ? row.targetTimestamp
309
315
  : Number(row.targetTimestamp), {
310
- path: `$.collaterals[${index}].targetTimestamp`,
311
- entityId: collateralAddress,
316
+ path: "$.targetTimestamp",
317
+ owner: collateralOwner,
312
318
  errors,
313
319
  source: "eVaultV3",
314
320
  });
@@ -322,7 +328,7 @@ function convertCollaterals(rows, vaultTimestamp, vaultEntityId, errors) {
322
328
  borrowLTV,
323
329
  liquidationLTV,
324
330
  oraclePriceRaw: row.oraclePriceRaw
325
- ? convertOraclePrice(row.oraclePriceRaw, errors, `$.collaterals[${collaterals.length}].oraclePriceRaw`, collateralAddress)
331
+ ? convertOraclePrice(row.oraclePriceRaw, errors, "$.oraclePriceRaw", collateralOwner)
326
332
  : {
327
333
  queryFailure: true,
328
334
  queryFailureReason: "0x",
@@ -338,8 +344,7 @@ function convertCollaterals(rows, vaultTimestamp, vaultEntityId, errors) {
338
344
  code: "DEFAULT_APPLIED",
339
345
  severity: "warning",
340
346
  message: "Missing collateral oraclePriceRaw; default zero-price placeholder applied.",
341
- paths: [`$.collaterals[${collaterals.length}].oraclePriceRaw`],
342
- entityId: collateralAddress,
347
+ locations: [dataIssueLocation(collateralOwner, "$.oraclePriceRaw")],
343
348
  source: "eVaultV3",
344
349
  normalizedValue: "queryFailure:true",
345
350
  });
@@ -347,15 +352,15 @@ function convertCollaterals(rows, vaultTimestamp, vaultEntityId, errors) {
347
352
  if (targetTimestamp > vaultTimestamp) {
348
353
  const ramping = {
349
354
  initialLiquidationLTV: parseRatio1e4(row.initialLiquidationLTV, {
350
- path: `$.collaterals[${collaterals.length}].ramping.initialLiquidationLTV`,
351
- entityId: collateralAddress,
355
+ path: "$.ramping.initialLiquidationLTV",
356
+ owner: collateralOwner,
352
357
  errors,
353
358
  source: "eVaultV3",
354
359
  }),
355
360
  targetTimestamp,
356
361
  rampDuration: parseBigIntField(String(row.rampDuration ?? 0), {
357
- path: `$.collaterals[${collaterals.length}].ramping.rampDuration`,
358
- entityId: collateralAddress,
362
+ path: "$.ramping.rampDuration",
363
+ owner: collateralOwner,
359
364
  errors,
360
365
  source: "eVaultV3",
361
366
  }),
@@ -376,21 +381,21 @@ export function convertVault(detail, collateralRows, errors, fallbackAddress) {
376
381
  return false;
377
382
  }
378
383
  })();
379
- const entityId = parseAddressField(detail.address, {
384
+ const vaultAddress = parseAddressField(detail.address, {
380
385
  path: "$.address",
381
- entityId: fallbackAddress,
386
+ owner: vaultDiagnosticOwner(detail.chainId, fallbackAddress),
382
387
  errors,
383
388
  source: "eVaultV3",
384
389
  fallback: fallbackAddress,
385
390
  fallbackLabel: "requested vault address",
386
391
  });
392
+ const owner = vaultDiagnosticOwner(detail.chainId, vaultAddress);
387
393
  if (!detail.oracle) {
388
394
  errors.push({
389
395
  code: "DEFAULT_APPLIED",
390
396
  severity: "warning",
391
397
  message: "Missing oracle block; defaulted all oracle fields to 0/empty.",
392
- paths: ["$.oracle"],
393
- entityId,
398
+ locations: [dataIssueLocation(owner, "$.oracle")],
394
399
  source: "eVaultV3",
395
400
  normalizedValue: DEFAULT_ORACLE_BLOCK,
396
401
  });
@@ -399,18 +404,18 @@ export function convertVault(detail, collateralRows, errors, fallbackAddress) {
399
404
  const oracle = {
400
405
  oracle: parseAddressField(oracleData.oracle, {
401
406
  path: "$.oracle.oracle",
402
- entityId,
407
+ owner,
403
408
  errors,
404
409
  source: "eVaultV3",
405
410
  }),
406
411
  name: parseStringField(oracleData.name, {
407
412
  path: "$.oracle.name",
408
- entityId,
413
+ owner,
409
414
  errors,
410
415
  source: "eVaultV3",
411
416
  }),
412
- adapters: oracleData.adapters.map((adapter) => convertOracleAdapter(adapter, entityId, errors)),
413
- resolvedVaults: convertOracleResolvedVaults(oracleData.resolvedVaults, entityId, errors),
417
+ adapters: (oracleData.adapters ?? []).map((adapter) => convertOracleAdapter(adapter, owner, errors)),
418
+ resolvedVaults: convertOracleResolvedVaults(oracleData.resolvedVaults, owner, errors),
414
419
  };
415
420
  const suppressUnitOfAccountDiagnostics = hasZeroOracleAddress;
416
421
  if (!detail.shares) {
@@ -418,8 +423,7 @@ export function convertVault(detail, collateralRows, errors, fallbackAddress) {
418
423
  code: "DEFAULT_APPLIED",
419
424
  severity: "warning",
420
425
  message: "Missing shares block; defaulted all share token fields to 0/empty.",
421
- paths: ["$.shares"],
422
- entityId,
426
+ locations: [dataIssueLocation(owner, "$.shares")],
423
427
  source: "eVaultV3",
424
428
  normalizedValue: DEFAULT_TOKEN_BLOCK,
425
429
  });
@@ -430,8 +434,7 @@ export function convertVault(detail, collateralRows, errors, fallbackAddress) {
430
434
  code: "DEFAULT_APPLIED",
431
435
  severity: "warning",
432
436
  message: "Missing asset block; defaulted all asset token fields to 0/empty.",
433
- paths: ["$.asset"],
434
- entityId,
437
+ locations: [dataIssueLocation(owner, "$.asset")],
435
438
  source: "eVaultV3",
436
439
  normalizedValue: DEFAULT_TOKEN_BLOCK,
437
440
  });
@@ -442,8 +445,7 @@ export function convertVault(detail, collateralRows, errors, fallbackAddress) {
442
445
  code: "DEFAULT_APPLIED",
443
446
  severity: "warning",
444
447
  message: "Missing unitOfAccount block; defaulted all unit-of-account fields to 0/empty.",
445
- paths: ["$.unitOfAccount"],
446
- entityId,
448
+ locations: [dataIssueLocation(owner, "$.unitOfAccount")],
447
449
  source: "eVaultV3",
448
450
  normalizedValue: DEFAULT_TOKEN_BLOCK,
449
451
  });
@@ -455,8 +457,7 @@ export function convertVault(detail, collateralRows, errors, fallbackAddress) {
455
457
  code: "DEFAULT_APPLIED",
456
458
  severity: "warning",
457
459
  message: "Missing fees object; defaulted all fee fields to 0.",
458
- paths: ["$.fees"],
459
- entityId,
460
+ locations: [dataIssueLocation(owner, "$.fees")],
460
461
  source: "eVaultV3",
461
462
  normalizedValue: {
462
463
  interestFee: 0,
@@ -480,25 +481,25 @@ export function convertVault(detail, collateralRows, errors, fallbackAddress) {
480
481
  interestFee: feeData.interestFee ?? 0,
481
482
  accumulatedFeesShares: parseBigIntField(feeData.accumulatedFeesShares ?? "0", {
482
483
  path: "$.fees.accumulatedFeesShares",
483
- entityId,
484
+ owner,
484
485
  errors,
485
486
  source: "eVaultV3",
486
487
  }),
487
488
  accumulatedFeesAssets: parseBigIntField(feeData.accumulatedFeesAssets ?? "0", {
488
489
  path: "$.fees.accumulatedFeesAssets",
489
- entityId,
490
+ owner,
490
491
  errors,
491
492
  source: "eVaultV3",
492
493
  }),
493
494
  governorFeeReceiver: parseAddressField(feeData.governorFeeReceiver, {
494
495
  path: "$.fees.governorFeeReceiver",
495
- entityId,
496
+ owner,
496
497
  errors,
497
498
  source: "eVaultV3",
498
499
  }),
499
500
  protocolFeeReceiver: parseAddressField(feeData.protocolFeeReceiver, {
500
501
  path: "$.fees.protocolFeeReceiver",
501
- entityId,
502
+ owner,
502
503
  errors,
503
504
  source: "eVaultV3",
504
505
  }),
@@ -511,7 +512,7 @@ export function convertVault(detail, collateralRows, errors, fallbackAddress) {
511
512
  },
512
513
  hookTarget: parseAddressField(detail.hooks?.hookTarget, {
513
514
  path: "$.hooks.hookTarget",
514
- entityId,
515
+ owner,
515
516
  errors,
516
517
  source: "eVaultV3",
517
518
  }),
@@ -521,8 +522,7 @@ export function convertVault(detail, collateralRows, errors, fallbackAddress) {
521
522
  code: "DEFAULT_APPLIED",
522
523
  severity: "warning",
523
524
  message: "Missing hookedOperations; defaulted all operations to false.",
524
- paths: ["$.hooks.hookedOperations"],
525
- entityId,
525
+ locations: [dataIssueLocation(owner, "$.hooks.hookedOperations")],
526
526
  source: "eVaultV3",
527
527
  normalizedValue: DEFAULT_HOOKED_OPERATIONS,
528
528
  });
@@ -532,8 +532,7 @@ export function convertVault(detail, collateralRows, errors, fallbackAddress) {
532
532
  code: "DEFAULT_APPLIED",
533
533
  severity: "warning",
534
534
  message: "Missing caps block; defaulted all cap fields to 0.",
535
- paths: ["$.caps"],
536
- entityId,
535
+ locations: [dataIssueLocation(owner, "$.caps")],
537
536
  source: "eVaultV3",
538
537
  normalizedValue: DEFAULT_CAPS_BLOCK,
539
538
  });
@@ -542,13 +541,13 @@ export function convertVault(detail, collateralRows, errors, fallbackAddress) {
542
541
  const caps = {
543
542
  supplyCap: parseBigIntField(capsData.supplyCap ?? "0", {
544
543
  path: "$.caps.supplyCap",
545
- entityId,
544
+ owner,
546
545
  errors,
547
546
  source: "eVaultV3",
548
547
  }),
549
548
  borrowCap: parseBigIntField(capsData.borrowCap ?? "0", {
550
549
  path: "$.caps.borrowCap",
551
- entityId,
550
+ owner,
552
551
  errors,
553
552
  source: "eVaultV3",
554
553
  }),
@@ -558,8 +557,7 @@ export function convertVault(detail, collateralRows, errors, fallbackAddress) {
558
557
  code: "DEFAULT_APPLIED",
559
558
  severity: "warning",
560
559
  message: "Missing liquidation block; defaulted all liquidation fields to 0/false.",
561
- paths: ["$.liquidation"],
562
- entityId,
560
+ locations: [dataIssueLocation(owner, "$.liquidation")],
563
561
  source: "eVaultV3",
564
562
  normalizedValue: {
565
563
  maxLiquidationDiscount: 0,
@@ -579,43 +577,41 @@ export function convertVault(detail, collateralRows, errors, fallbackAddress) {
579
577
  code: "DEFAULT_APPLIED",
580
578
  severity: "warning",
581
579
  message: "Missing interestRates block; defaulted all rate fields to 0.",
582
- paths: ["$.interestRates"],
583
- entityId,
580
+ locations: [dataIssueLocation(owner, "$.interestRates")],
584
581
  source: "eVaultV3",
585
582
  normalizedValue: DEFAULT_INTEREST_RATES_BLOCK,
586
583
  });
587
584
  }
588
585
  const interestRatesData = detail.interestRates ?? DEFAULT_INTEREST_RATES_BLOCK;
589
586
  const interestRates = {
590
- borrowSPY: parseStringField(interestRatesData.borrowSPY, {
587
+ borrowSPY: parseRate(parseStringField(interestRatesData.borrowSPY, {
591
588
  path: "$.interestRates.borrowSPY",
592
- entityId,
589
+ owner,
593
590
  errors,
594
591
  source: "eVaultV3",
595
592
  fallback: "0",
596
- }),
597
- borrowAPY: parseStringField(interestRatesData.borrowAPY, {
593
+ })),
594
+ borrowAPY: parseRate(parseStringField(interestRatesData.borrowAPY, {
598
595
  path: "$.interestRates.borrowAPY",
599
- entityId,
596
+ owner,
600
597
  errors,
601
598
  source: "eVaultV3",
602
599
  fallback: "0",
603
- }),
604
- supplyAPY: parseStringField(interestRatesData.supplyAPY, {
600
+ })),
601
+ supplyAPY: parseRate(parseStringField(interestRatesData.supplyAPY, {
605
602
  path: "$.interestRates.supplyAPY",
606
- entityId,
603
+ owner,
607
604
  errors,
608
605
  source: "eVaultV3",
609
606
  fallback: "0",
610
- }),
607
+ })),
611
608
  };
612
609
  if (!detail.interestRateModel) {
613
610
  errors.push({
614
611
  code: "DEFAULT_APPLIED",
615
612
  severity: "warning",
616
613
  message: "Missing interestRateModel block; defaulted all model fields to 0/unknown.",
617
- paths: ["$.interestRateModel"],
618
- entityId,
614
+ locations: [dataIssueLocation(owner, "$.interestRateModel")],
619
615
  source: "eVaultV3",
620
616
  normalizedValue: DEFAULT_INTEREST_RATE_MODEL_BLOCK,
621
617
  });
@@ -623,7 +619,7 @@ export function convertVault(detail, collateralRows, errors, fallbackAddress) {
623
619
  const interestRateModelData = detail.interestRateModel ?? DEFAULT_INTEREST_RATE_MODEL_BLOCK;
624
620
  const interestRateModelType = mapInterestRateModelType(parseStringField(interestRateModelData.type, {
625
621
  path: "$.interestRateModel.type",
626
- entityId,
622
+ owner,
627
623
  errors,
628
624
  source: "eVaultV3",
629
625
  fallback: "unknown",
@@ -631,7 +627,7 @@ export function convertVault(detail, collateralRows, errors, fallbackAddress) {
631
627
  const normalizedIRMData = normalizeIRMParams(interestRateModelType, interestRateModelData.data);
632
628
  const interestRateModelAddress = parseAddressField(interestRateModelData.address, {
633
629
  path: "$.interestRateModel.address",
634
- entityId,
630
+ owner,
635
631
  errors,
636
632
  source: "eVaultV3",
637
633
  });
@@ -675,8 +671,7 @@ export function convertVault(detail, collateralRows, errors, fallbackAddress) {
675
671
  code: "DEFAULT_APPLIED",
676
672
  severity: "warning",
677
673
  message: "Missing oraclePriceRaw block; defaulted all oracle price fields to 0.",
678
- paths: ["$.oraclePriceRaw"],
679
- entityId,
674
+ locations: [dataIssueLocation(owner, "$.oraclePriceRaw")],
680
675
  source: "eVaultV3",
681
676
  normalizedValue: DEFAULT_ORACLE_PRICE_BLOCK,
682
677
  });
@@ -684,64 +679,64 @@ export function convertVault(detail, collateralRows, errors, fallbackAddress) {
684
679
  const oraclePriceData = detail.oraclePriceRaw ?? DEFAULT_ORACLE_PRICE_BLOCK;
685
680
  const timestamp = parseTimestampField(detail.timestamp, {
686
681
  path: "$.timestamp",
687
- entityId,
682
+ owner,
688
683
  errors,
689
684
  source: "eVaultV3",
690
685
  });
691
- const collaterals = convertCollaterals(collateralRows, timestamp, entityId, errors);
692
- const unitOfAccount = normalizeUnitOfAccountToken(convertToken(unitOfAccountData, "$.unitOfAccount", entityId, unitOfAccountErrors));
686
+ const collaterals = convertCollaterals(collateralRows, timestamp, vaultAddress, detail.chainId, errors);
687
+ const unitOfAccount = normalizeUnitOfAccountToken(convertToken(unitOfAccountData, "$.unitOfAccount", owner, unitOfAccountErrors));
693
688
  return {
694
689
  type: VaultType.EVault,
695
690
  chainId: detail.chainId,
696
- address: entityId,
697
- shares: convertToken(sharesData, "$.shares", entityId, errors),
698
- asset: convertToken(assetData, "$.asset", entityId, errors),
691
+ address: vaultAddress,
692
+ shares: convertToken(sharesData, "$.shares", owner, errors),
693
+ asset: convertToken(assetData, "$.asset", owner, errors),
699
694
  unitOfAccount,
700
695
  totalShares: parseBigIntField(detail.totalShares, {
701
696
  path: "$.totalShares",
702
- entityId,
697
+ owner,
703
698
  errors,
704
699
  source: "eVaultV3",
705
700
  }),
706
701
  totalAssets: parseBigIntField(detail.totalAssets, {
707
702
  path: "$.totalAssets",
708
- entityId,
703
+ owner,
709
704
  errors,
710
705
  source: "eVaultV3",
711
706
  }),
712
707
  totalCash: parseBigIntField(detail.totalCash, {
713
708
  path: "$.totalCash",
714
- entityId,
709
+ owner,
715
710
  errors,
716
711
  source: "eVaultV3",
717
712
  }),
718
713
  totalBorrowed: parseBigIntField(detail.totalBorrowed, {
719
714
  path: "$.totalBorrowed",
720
- entityId,
715
+ owner,
721
716
  errors,
722
717
  source: "eVaultV3",
723
718
  }),
724
719
  creator: parseAddressField(detail.creator, {
725
720
  path: "$.creator",
726
- entityId,
721
+ owner,
727
722
  errors,
728
723
  source: "eVaultV3",
729
724
  }),
730
725
  governorAdmin: parseAddressField(detail.governorAdmin, {
731
726
  path: "$.governorAdmin",
732
- entityId,
727
+ owner,
733
728
  errors,
734
729
  source: "eVaultV3",
735
730
  }),
736
731
  dToken: parseAddressField(detail.dToken, {
737
732
  path: "$.dToken",
738
- entityId,
733
+ owner,
739
734
  errors,
740
735
  source: "eVaultV3",
741
736
  }),
742
737
  balanceTracker: parseAddressField(detail.balanceTracker, {
743
738
  path: "$.balanceTracker",
744
- entityId,
739
+ owner,
745
740
  errors,
746
741
  source: "eVaultV3",
747
742
  }),
@@ -756,11 +751,11 @@ export function convertVault(detail, collateralRows, errors, fallbackAddress) {
756
751
  isBorrowable: hasActiveBorrowableLtv(collaterals, timestamp),
757
752
  evcCompatibleAsset: parseBooleanField(detail.evcCompatibleAsset, {
758
753
  path: "$.evcCompatibleAsset",
759
- entityId,
754
+ owner,
760
755
  errors,
761
756
  source: "eVaultV3",
762
757
  }),
763
- oraclePriceRaw: convertOraclePrice(oraclePriceData, errors, "$.oraclePriceRaw", entityId),
758
+ oraclePriceRaw: convertOraclePrice(oraclePriceData, errors, "$.oraclePriceRaw", owner),
764
759
  timestamp,
765
760
  };
766
761
  }