@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
@@ -1,4 +1,268 @@
1
1
  import { applyBuildQuery } from "../../utils/buildQuery.js";
2
+ import { getAddress } from "viem";
3
+ const EMPTY_LABELS_DATA = {
4
+ products: {},
5
+ entities: {},
6
+ points: {},
7
+ verifiedVaultAddresses: [],
8
+ earnVaults: [],
9
+ earnVaultEntries: {},
10
+ earnVaultBlocks: {},
11
+ earnVaultRestrictions: {},
12
+ featuredEarnVaults: new Set(),
13
+ deprecatedEarnVaults: {},
14
+ earnVaultDescriptions: {},
15
+ earnVaultNotices: {},
16
+ notExplorableEarnVaults: new Set(),
17
+ assetBlocks: {},
18
+ assetRestrictions: {},
19
+ assetPatternRules: [],
20
+ };
21
+ const isHttpUrl = (value) => {
22
+ if (!value)
23
+ return false;
24
+ try {
25
+ const { protocol } = new URL(value);
26
+ return protocol === "http:" || protocol === "https:";
27
+ }
28
+ catch {
29
+ return false;
30
+ }
31
+ };
32
+ const normalizeAddressOrThrow = (address) => getAddress(address);
33
+ const tryNormalizeAddress = (address) => {
34
+ if (typeof address !== "string")
35
+ return undefined;
36
+ try {
37
+ return normalizeAddressOrThrow(address);
38
+ }
39
+ catch {
40
+ return undefined;
41
+ }
42
+ };
43
+ const filterStringArray = (value) => {
44
+ if (!Array.isArray(value))
45
+ return undefined;
46
+ const filtered = value.filter((v) => typeof v === "string");
47
+ return filtered.length > 0 ? filtered : undefined;
48
+ };
49
+ const extractVaultOverrides = (raw) => {
50
+ const overrides = {};
51
+ const rawOverrides = raw.vaultOverrides;
52
+ if (!rawOverrides || typeof rawOverrides !== "object")
53
+ return overrides;
54
+ for (const [key, value] of Object.entries(rawOverrides)) {
55
+ const normalizedKey = tryNormalizeAddress(key);
56
+ if (!normalizedKey || typeof value !== "object" || value === null)
57
+ continue;
58
+ const entry = value;
59
+ const override = {};
60
+ if (typeof entry.name === "string")
61
+ override.name = entry.name;
62
+ if (typeof entry.description === "string")
63
+ override.description = entry.description;
64
+ if (typeof entry.portfolioNotice === "string")
65
+ override.portfolioNotice = entry.portfolioNotice;
66
+ const reason = entry.deprecationReason ?? entry.deprecateReason;
67
+ if (typeof reason === "string")
68
+ override.deprecationReason = reason;
69
+ const block = filterStringArray(entry.block);
70
+ if (block)
71
+ override.block = block;
72
+ const restricted = filterStringArray(entry.restricted);
73
+ if (restricted)
74
+ override.restricted = restricted;
75
+ if (typeof entry.notExplorableLend === "boolean")
76
+ override.notExplorableLend = entry.notExplorableLend;
77
+ if (typeof entry.notExplorableBorrow === "boolean")
78
+ override.notExplorableBorrow = entry.notExplorableBorrow;
79
+ if (typeof entry.keyring === "boolean")
80
+ override.keyring = entry.keyring;
81
+ if (Object.keys(override).length > 0) {
82
+ overrides[normalizedKey] = override;
83
+ }
84
+ }
85
+ return overrides;
86
+ };
87
+ const normalizeProducts = (data) => {
88
+ const products = {};
89
+ const allVaults = new Set();
90
+ for (const [key, product] of Object.entries(data ?? {})) {
91
+ const normalizedVaults = (Array.isArray(product.vaults) ? product.vaults : [])
92
+ .map(tryNormalizeAddress)
93
+ .filter((v) => v !== undefined);
94
+ const normalizedDeprecated = (Array.isArray(product.deprecatedVaults) ? product.deprecatedVaults : [])
95
+ .map(tryNormalizeAddress)
96
+ .filter((v) => v !== undefined);
97
+ const normalizedFeatured = (Array.isArray(product.featuredVaults) ? product.featuredVaults : [])
98
+ .map(tryNormalizeAddress)
99
+ .filter((v) => v !== undefined);
100
+ const raw = product;
101
+ const fallbackReason = typeof raw.deprecateReason === "string" ? raw.deprecateReason : undefined;
102
+ products[key] = {
103
+ ...product,
104
+ vaults: normalizedVaults,
105
+ deprecatedVaults: normalizedDeprecated,
106
+ featuredVaults: normalizedFeatured,
107
+ deprecationReason: product.deprecationReason || fallbackReason,
108
+ vaultOverrides: extractVaultOverrides(raw),
109
+ };
110
+ normalizedVaults.forEach((v) => allVaults.add(v));
111
+ normalizedDeprecated.forEach((v) => allVaults.add(v));
112
+ }
113
+ return { products, vaultAddresses: [...allVaults] };
114
+ };
115
+ const normalizeEntities = (data) => {
116
+ const entities = {};
117
+ for (const [key, entity] of Object.entries(data ?? {})) {
118
+ const addresses = {};
119
+ for (const [address, label] of Object.entries(entity.addresses ?? {})) {
120
+ const normalized = tryNormalizeAddress(address);
121
+ if (normalized)
122
+ addresses[normalized] = label;
123
+ }
124
+ entities[key] = {
125
+ ...entity,
126
+ addresses,
127
+ url: isHttpUrl(entity.url) ? entity.url : "",
128
+ };
129
+ }
130
+ return entities;
131
+ };
132
+ const normalizePoints = (points) => {
133
+ const byVault = {};
134
+ for (const point of points ?? []) {
135
+ if (!Array.isArray(point.collateralVaults))
136
+ continue;
137
+ for (const vaultAddress of point.collateralVaults) {
138
+ const normalized = tryNormalizeAddress(vaultAddress);
139
+ if (!normalized)
140
+ continue;
141
+ byVault[normalized] ??= [];
142
+ byVault[normalized].push(point);
143
+ }
144
+ }
145
+ return byVault;
146
+ };
147
+ const normalizeEarnVaults = (entries) => {
148
+ const earnVaults = [];
149
+ const earnVaultBlocks = {};
150
+ const earnVaultRestrictions = {};
151
+ const featuredEarnVaults = new Set();
152
+ const deprecatedEarnVaults = {};
153
+ const earnVaultDescriptions = {};
154
+ const earnVaultNotices = {};
155
+ const notExplorableEarnVaults = new Set();
156
+ const earnVaultEntries = {};
157
+ for (const entry of entries ?? []) {
158
+ const normalized = tryNormalizeAddress(typeof entry === "string" ? entry : entry.address);
159
+ if (!normalized)
160
+ continue;
161
+ const key = normalized.toLowerCase();
162
+ earnVaults.push(normalized);
163
+ if (typeof entry === "string") {
164
+ earnVaultEntries[key] = { address: normalized };
165
+ continue;
166
+ }
167
+ const normalizedEntry = { ...entry, address: normalized };
168
+ earnVaultEntries[key] = normalizedEntry;
169
+ if (entry.block?.length)
170
+ earnVaultBlocks[key] = entry.block;
171
+ if (entry.restricted?.length)
172
+ earnVaultRestrictions[key] = entry.restricted;
173
+ if (entry.featured)
174
+ featuredEarnVaults.add(normalized);
175
+ if (entry.deprecated)
176
+ deprecatedEarnVaults[key] = entry.deprecationReason ?? "";
177
+ if (entry.description)
178
+ earnVaultDescriptions[key] = entry.description;
179
+ if (entry.portfolioNotice)
180
+ earnVaultNotices[key] = entry.portfolioNotice;
181
+ if (entry.notExplorable)
182
+ notExplorableEarnVaults.add(key);
183
+ }
184
+ return {
185
+ earnVaults,
186
+ earnVaultEntries,
187
+ earnVaultBlocks,
188
+ earnVaultRestrictions,
189
+ featuredEarnVaults,
190
+ deprecatedEarnVaults,
191
+ earnVaultDescriptions,
192
+ earnVaultNotices,
193
+ notExplorableEarnVaults,
194
+ };
195
+ };
196
+ const normalizeAssets = (entries) => {
197
+ const assetBlocks = {};
198
+ const assetRestrictions = {};
199
+ const assetPatternRules = [];
200
+ for (const entry of entries ?? []) {
201
+ if (!entry)
202
+ continue;
203
+ const normalizedAddress = tryNormalizeAddress(entry.address);
204
+ if (normalizedAddress) {
205
+ const key = normalizedAddress.toLowerCase();
206
+ if (entry.block?.length)
207
+ assetBlocks[key] = entry.block;
208
+ if (entry.restricted?.length)
209
+ assetRestrictions[key] = entry.restricted;
210
+ }
211
+ const rule = {
212
+ block: entry.block?.length ? entry.block : undefined,
213
+ restricted: entry.restricted?.length ? entry.restricted : undefined,
214
+ };
215
+ if (!rule.block && !rule.restricted)
216
+ continue;
217
+ if (entry.symbols?.length) {
218
+ rule.symbolsLower = new Set(entry.symbols.map((s) => s.toLowerCase()));
219
+ }
220
+ if (entry.names?.length) {
221
+ rule.namesLower = new Set(entry.names.map((s) => s.toLowerCase()));
222
+ }
223
+ if (entry.symbolRegex) {
224
+ try {
225
+ rule.symbolRegex = new RegExp(entry.symbolRegex, "i");
226
+ }
227
+ catch {
228
+ // Match lite semantics: invalid regexes do not poison the whole file.
229
+ }
230
+ }
231
+ if (entry.nameRegex) {
232
+ try {
233
+ rule.nameRegex = new RegExp(entry.nameRegex, "i");
234
+ }
235
+ catch {
236
+ // Match lite semantics: invalid regexes do not poison the whole file.
237
+ }
238
+ }
239
+ if (rule.symbolsLower ||
240
+ rule.symbolRegex ||
241
+ rule.namesLower ||
242
+ rule.nameRegex) {
243
+ assetPatternRules.push(rule);
244
+ }
245
+ }
246
+ return { assetBlocks, assetRestrictions, assetPatternRules };
247
+ };
248
+ const applyVaultOverrides = (product, vaultAddress) => {
249
+ const override = product.vaultOverrides?.[vaultAddress];
250
+ if (!override)
251
+ return product;
252
+ return {
253
+ ...product,
254
+ ...(override.name !== undefined && { name: override.name }),
255
+ ...(override.description !== undefined && {
256
+ description: override.description,
257
+ }),
258
+ ...(override.portfolioNotice !== undefined && {
259
+ portfolioNotice: override.portfolioNotice,
260
+ }),
261
+ ...(override.deprecationReason !== undefined && {
262
+ deprecationReason: override.deprecationReason,
263
+ }),
264
+ };
265
+ };
2
266
  export class EulerLabelsService {
3
267
  adapter;
4
268
  resolveLogoUrlFn;
@@ -21,19 +285,55 @@ export class EulerLabelsService {
21
285
  async fetchEulerLabelsPoints(chainId) {
22
286
  return this.adapter.fetchEulerLabelsPoints(chainId);
23
287
  }
24
- async populateLabels(vaults) {
25
- if (vaults.length === 0)
26
- return;
27
- const chainId = vaults[0].chainId;
28
- const [labelsEntities, labelsProducts, labelsPoints] = await Promise.all([
288
+ async fetchEulerLabelsEarnVaults(chainId) {
289
+ return this.adapter.fetchEulerLabelsEarnVaults?.(chainId) ?? [];
290
+ }
291
+ async fetchEulerLabelsAssets(chainId) {
292
+ return this.adapter.fetchEulerLabelsAssets?.(chainId) ?? [];
293
+ }
294
+ async fetchEulerLabelsData(chainId) {
295
+ const [entitiesRaw, productsRaw, pointsRaw, earnRaw, assetsRaw] = await Promise.all([
29
296
  this.fetchEulerLabelsEntities(chainId).catch(() => ({})),
30
297
  this.fetchEulerLabelsProducts(chainId).catch(() => ({})),
31
298
  this.fetchEulerLabelsPoints(chainId).catch(() => []),
299
+ this.fetchEulerLabelsEarnVaults(chainId).catch(() => []),
300
+ this.fetchEulerLabelsAssets(chainId).catch(() => []),
32
301
  ]);
302
+ const normalizedProducts = normalizeProducts(productsRaw);
303
+ const earn = normalizeEarnVaults(earnRaw);
304
+ const assets = normalizeAssets(assetsRaw);
305
+ return {
306
+ ...EMPTY_LABELS_DATA,
307
+ products: normalizedProducts.products,
308
+ verifiedVaultAddresses: normalizedProducts.vaultAddresses,
309
+ entities: normalizeEntities(entitiesRaw),
310
+ points: normalizePoints(pointsRaw),
311
+ earnVaults: earn.earnVaults,
312
+ earnVaultEntries: earn.earnVaultEntries,
313
+ earnVaultBlocks: earn.earnVaultBlocks,
314
+ earnVaultRestrictions: earn.earnVaultRestrictions,
315
+ featuredEarnVaults: earn.featuredEarnVaults,
316
+ deprecatedEarnVaults: earn.deprecatedEarnVaults,
317
+ earnVaultDescriptions: earn.earnVaultDescriptions,
318
+ earnVaultNotices: earn.earnVaultNotices,
319
+ notExplorableEarnVaults: earn.notExplorableEarnVaults,
320
+ assetBlocks: assets.assetBlocks,
321
+ assetRestrictions: assets.assetRestrictions,
322
+ assetPatternRules: assets.assetPatternRules,
323
+ };
324
+ }
325
+ async populateLabels(vaults) {
326
+ if (vaults.length === 0)
327
+ return;
328
+ const chainId = vaults[0].chainId;
329
+ const labelsData = await this.fetchEulerLabelsData(chainId);
33
330
  // Pre-index products by lowercase vault address for efficient lookup
34
331
  const productsByVault = new Map();
35
- for (const product of Object.values(labelsProducts)) {
36
- for (const vaultAddr of product.vaults) {
332
+ for (const product of Object.values(labelsData.products)) {
333
+ for (const vaultAddr of [
334
+ ...product.vaults,
335
+ ...(product.deprecatedVaults ?? []),
336
+ ]) {
37
337
  const key = vaultAddr.toLowerCase();
38
338
  const list = productsByVault.get(key) ?? [];
39
339
  list.push(product);
@@ -42,32 +342,28 @@ export class EulerLabelsService {
42
342
  }
43
343
  // Pre-index deprecated vaults: address -> deprecationReason
44
344
  const deprecatedVaultsMap = new Map();
45
- for (const product of Object.values(labelsProducts)) {
345
+ for (const product of Object.values(labelsData.products)) {
46
346
  if (!product.deprecatedVaults)
47
347
  continue;
48
348
  for (const vaultAddr of product.deprecatedVaults) {
49
- deprecatedVaultsMap.set(vaultAddr.toLowerCase(), product.deprecationReason ?? "");
50
- }
51
- }
52
- // Pre-index points by lowercase collateral vault address
53
- const pointsByCollateralVault = new Map();
54
- for (const point of labelsPoints) {
55
- if (!point.collateralVaults)
56
- continue;
57
- for (const vaultAddr of point.collateralVaults) {
58
- const key = vaultAddr.toLowerCase();
59
- const list = pointsByCollateralVault.get(key) ?? [];
60
- list.push(point);
61
- pointsByCollateralVault.set(key, list);
349
+ const normalized = tryNormalizeAddress(vaultAddr);
350
+ if (!normalized)
351
+ continue;
352
+ const override = product.vaultOverrides?.[normalized]?.deprecationReason;
353
+ deprecatedVaultsMap.set(normalized.toLowerCase(), override ?? product.deprecationReason ?? "");
62
354
  }
63
355
  }
64
356
  for (const vault of vaults) {
65
- const addrLower = vault.address.toLowerCase();
357
+ const normalizedAddress = normalizeAddressOrThrow(vault.address);
358
+ const addrLower = normalizedAddress.toLowerCase();
66
359
  // Resolve products this vault belongs to (with logos)
67
- const products = (productsByVault.get(addrLower) ?? []).map((p) => ({
68
- ...p,
69
- logo: p.logo ? this.resolveLogoUrl(p.logo) : undefined,
70
- }));
360
+ const products = (productsByVault.get(addrLower) ?? []).map((p) => {
361
+ const product = applyVaultOverrides(p, normalizedAddress);
362
+ return {
363
+ ...product,
364
+ logo: product.logo ? this.resolveLogoUrl(product.logo) : undefined,
365
+ };
366
+ });
71
367
  // Derive curator entities from the vault's products. The product `entity`
72
368
  // field is sometimes a bare string and sometimes an array — normalize to
73
369
  // an array. Dedupe by slug while preserving first-seen order so the
@@ -84,7 +380,7 @@ export class EulerLabelsService {
84
380
  if (seenEntitySlugs.has(slug))
85
381
  continue;
86
382
  seenEntitySlugs.add(slug);
87
- const entity = labelsEntities[slug];
383
+ const entity = labelsData.entities[slug];
88
384
  if (!entity)
89
385
  continue;
90
386
  entities.push({
@@ -94,15 +390,18 @@ export class EulerLabelsService {
94
390
  }
95
391
  }
96
392
  // Resolve points where this vault is a collateral vault (with logos)
97
- const points = (pointsByCollateralVault.get(addrLower) ?? []).map((p) => ({
393
+ const points = (labelsData.points[normalizedAddress] ?? []).map((p) => ({
98
394
  ...p,
99
395
  logo: p.logo ? this.resolveLogoUrl(p.logo) : p.logo,
100
396
  }));
101
- const deprecationReason = deprecatedVaultsMap.get(addrLower);
397
+ const earnVault = labelsData.earnVaultEntries[addrLower];
398
+ const earnDeprecationReason = labelsData.deprecatedEarnVaults[addrLower];
399
+ const deprecationReason = deprecatedVaultsMap.get(addrLower) ?? earnDeprecationReason;
102
400
  const hasAnyLabel = products.length > 0 ||
103
401
  entities.length > 0 ||
104
402
  points.length > 0 ||
105
- deprecationReason !== undefined;
403
+ deprecationReason !== undefined ||
404
+ earnVault !== undefined;
106
405
  if (hasAnyLabel) {
107
406
  vault.eulerLabel = {
108
407
  entities,
@@ -112,6 +411,15 @@ export class EulerLabelsService {
112
411
  deprecated: true,
113
412
  deprecationReason,
114
413
  }),
414
+ ...(earnVault && { earnVault }),
415
+ ...(earnVault?.description && { description: earnVault.description }),
416
+ ...(earnVault?.portfolioNotice && {
417
+ portfolioNotice: earnVault.portfolioNotice,
418
+ }),
419
+ ...(earnVault?.featured && { featured: true }),
420
+ ...(earnVault?.notExplorable && { notExplorable: true }),
421
+ ...(earnVault?.block && { block: earnVault.block }),
422
+ ...(earnVault?.restricted && { restricted: earnVault.restricted }),
115
423
  };
116
424
  }
117
425
  vault.populated.labels = true;
@@ -155,6 +463,26 @@ export class EulerLabelsURLAdapter {
155
463
  setQueryEulerLabelsPoints(fn) {
156
464
  this.queryEulerLabelsPoints = fn;
157
465
  }
466
+ queryEulerLabelsEarnVaults = async (url) => {
467
+ const response = await fetch(url);
468
+ if (!response.ok) {
469
+ throw new Error(`Failed to fetch Euler labels earn vaults: ${response.statusText}`);
470
+ }
471
+ return response.json();
472
+ };
473
+ setQueryEulerLabelsEarnVaults(fn) {
474
+ this.queryEulerLabelsEarnVaults = fn;
475
+ }
476
+ queryEulerLabelsAssets = async (url) => {
477
+ const response = await fetch(url);
478
+ if (!response.ok) {
479
+ throw new Error(`Failed to fetch Euler labels assets: ${response.statusText}`);
480
+ }
481
+ return response.json();
482
+ };
483
+ setQueryEulerLabelsAssets(fn) {
484
+ this.queryEulerLabelsAssets = fn;
485
+ }
158
486
  async fetchEulerLabelsEntities(chainId) {
159
487
  return this.queryEulerLabelsEntities(this.config.getEulerLabelsEntitiesUrl(chainId));
160
488
  }
@@ -164,5 +492,20 @@ export class EulerLabelsURLAdapter {
164
492
  async fetchEulerLabelsPoints(chainId) {
165
493
  return this.queryEulerLabelsPoints(this.config.getEulerLabelsPointsUrl(chainId));
166
494
  }
495
+ async fetchEulerLabelsEarnVaults(chainId) {
496
+ if (!this.config.getEulerLabelsEarnVaultsUrl)
497
+ return [];
498
+ return this.queryEulerLabelsEarnVaults(this.config.getEulerLabelsEarnVaultsUrl(chainId));
499
+ }
500
+ async fetchEulerLabelsAssets(chainId) {
501
+ if (!this.config.getEulerLabelsAssetsUrl)
502
+ return [];
503
+ const urls = [
504
+ this.config.getEulerLabelsAssetsUrl(chainId),
505
+ this.config.getEulerLabelsGlobalAssetsUrl?.(),
506
+ ].filter((url) => typeof url === "string");
507
+ const results = await Promise.all(urls.map((url) => this.queryEulerLabelsAssets(url).catch(() => [])));
508
+ return results.flat();
509
+ }
167
510
  }
168
511
  //# sourceMappingURL=eulerLabelsService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"eulerLabelsService.js","sourceRoot":"","sources":["../../../../src/services/eulerLabelsService/eulerLabelsService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eulerLabelsService.js","sourceRoot":"","sources":["../../../../src/services/eulerLabelsService/eulerLabelsService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { type Address, type Hex } from "viem";
2
+ import { type EVCBatchItem, type EncodeBorrowArgs, type EncodeDepositArgs, type EncodeDepositWithSwapFromWalletArgs, type EncodeLiquidationArgs, type EncodeMigrateSameAssetCollateralArgs, type EncodeMigrateSameAssetDebtArgs, type EncodeMintArgs, type EncodeMultiplySameAssetArgs, type EncodeMultiplyWithSwapArgs, type EncodePermit2CallArgs, type EncodePullDebtArgs, type EncodeRedeemArgs, type EncodeRepayFromDepositArgs, type EncodeRepayFromWalletArgs, type EncodeRepayWithSwapArgs, type EncodeSwapCollateralArgs, type EncodeSwapDebtArgs, type EncodeSwapFromWalletArgs, type EncodeTransferArgs, type EncodeWithdrawArgs, type GetPermit2TypedDataArgs, type PermitSingleTypedData } from "./executionServiceTypes.js";
3
+ export declare function encodeBatch(items: EVCBatchItem[]): Hex;
4
+ export declare function encodePermit2Call(permit2: Address, { owner, message, signature }: EncodePermit2CallArgs): EVCBatchItem;
5
+ export declare function encodeEnableCollateral(evc: Address, account: Address, vault: Address): EVCBatchItem;
6
+ export declare function encodeDisableCollateral(evc: Address, account: Address, vault: Address): EVCBatchItem;
7
+ export declare function encodeEnableController(evc: Address, account: Address, vault: Address): EVCBatchItem;
8
+ export declare function encodeDisableController(vault: Address, account: Address): EVCBatchItem;
9
+ export declare function encodeTransferFromMax(vault: Address, from: Address, to: Address): EVCBatchItem;
10
+ export declare function getPermit2TypedData(permit2: Address, args: GetPermit2TypedDataArgs): PermitSingleTypedData;
11
+ export declare function encodeDeposit(evc: Address, permit2: Address, { chainId, vault, amount, receiver, owner, enableCollateral, permit2: permit2Data, }: EncodeDepositArgs): EVCBatchItem[];
12
+ export declare function encodeMint(evc: Address, permit2: Address, { chainId, vault, shares, receiver, owner, enableCollateral, permit2: permit2Data, }: EncodeMintArgs): EVCBatchItem[];
13
+ export declare function encodeWithdraw(evc: Address, { vault, assets, receiver, owner, disableCollateral }: EncodeWithdrawArgs): EVCBatchItem[];
14
+ export declare function encodeRedeem(evc: Address, { vault, shares, receiver, owner, disableCollateral }: EncodeRedeemArgs): EVCBatchItem[];
15
+ export declare function encodeBorrow(evc: Address, permit2: Address, args: EncodeBorrowArgs): EVCBatchItem[];
16
+ export declare function encodeLiquidation(evc: Address, { vault, violator, collateral, repayAssets, minYieldBalance, liquidatorSubAccountAddress, enableCollateral, enableController, }: EncodeLiquidationArgs): EVCBatchItem[];
17
+ export declare function encodePullDebt(evc: Address, { vault, amount, from, to, enableController }: EncodePullDebtArgs): EVCBatchItem[];
18
+ export declare function encodeMultiplyWithSwap(evc: Address, permit2: Address, { chainId, collateralVault, collateralAmount, liabilityVault, liabilityAmount, longVault, owner, receiver, enableCollateral, enableCollateralLong, currentController, enableController, collateralPermit2, collateralShareSource, swapQuote, }: EncodeMultiplyWithSwapArgs): EVCBatchItem[];
19
+ export declare function encodeMultiplySameAsset(evc: Address, permit2: Address, { chainId, collateralVault, collateralAmount, liabilityVault, liabilityAmount, longVault, owner, receiver, enableCollateral, enableCollateralLong, enableController, currentController, collateralPermit2, collateralShareSource, }: EncodeMultiplySameAssetArgs): EVCBatchItem[];
20
+ export declare function encodeRepayFromWallet(permit2: Address, { chainId, sender, liabilityVault, liabilityAmount, receiver, disableControllerOnMax, isMax, permit2: permit2Data, }: EncodeRepayFromWalletArgs): EVCBatchItem[];
21
+ export declare function encodeRepayFromDeposit({ liabilityVault, liabilityAsset, liabilityAmount, from, receiver, fromVault, fromAsset, disableControllerOnMax, isMax, }: EncodeRepayFromDepositArgs): EVCBatchItem[];
22
+ export declare function encodeRepayWithSwap({ swapQuote, maxWithdraw, isMax, disableControllerOnMax, }: EncodeRepayWithSwapArgs): EVCBatchItem[];
23
+ export declare function encodeDepositWithSwapFromWallet(evc: Address, { swapQuote, amount, sender, enableCollateral }: EncodeDepositWithSwapFromWalletArgs): EVCBatchItem[];
24
+ export declare function encodeSwapFromWallet({ swapQuote, amount, sender, }: EncodeSwapFromWalletArgs): EVCBatchItem[];
25
+ export declare function encodeSwapCollateral(evc: Address, { swapQuote, enableCollateral, disableCollateralOnMax, isMax, }: EncodeSwapCollateralArgs): EVCBatchItem[];
26
+ export declare function encodeSwapDebt(evc: Address, { swapQuote, enableController, disableControllerOnMax, isMax, }: EncodeSwapDebtArgs): EVCBatchItem[];
27
+ export declare function encodeMigrateSameAssetCollateral(evc: Address, { fromVault, toVault, amount, account, isMax, maxShares, enableCollateralTo, disableCollateralFrom, }: EncodeMigrateSameAssetCollateralArgs): EVCBatchItem[];
28
+ export declare function encodeMigrateSameAssetDebt(evc: Address, { oldLiabilityVault, newLiabilityVault, amount, account, enableController, disableController, sweepExcess, transferRemainingSharesTo, }: EncodeMigrateSameAssetDebtArgs): EVCBatchItem[];
29
+ export declare function encodeTransfer(evc: Address, { vault, to, amount, from, enableCollateralTo, disableCollateralFrom }: EncodeTransferArgs): EVCBatchItem[];
30
+ //# sourceMappingURL=encode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encode.d.ts","sourceRoot":"","sources":["../../../../src/services/executionService/encode.ts"],"names":[],"mappings":"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"}