@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
@@ -22,41 +22,238 @@ import { PriceService, PricingBackendClient, } from "../services/priceService/in
22
22
  import { RewardsDirectAdapter, RewardsService, RewardsV3Adapter, } from "../services/rewardsService/index.js";
23
23
  import { IntrinsicApyService, IntrinsicApyV3Adapter, } from "../services/intrinsicApyService/index.js";
24
24
  import { OracleAdapterService, } from "../services/oracleAdapterService/index.js";
25
- import { defaultAccountV3AdapterConfig, defaultAccountVaultsAdapterConfig, defaultBackendConfig, defaultDeploymentServiceConfig, defaultEulerEarnV3AdapterConfig, defaultEulerLabelsURLAdapterConfig, defaultIntrinsicApyV3AdapterConfig, defaultRewardsV3AdapterConfig, defaultSwapServiceConfig, defaultTokenlistServiceConfig, defaultVaultTypeAdapterConfig, } from "./defaultConfig.js";
25
+ import { DEFAULT_EULER_LABELS_BASE_URL, DEFAULT_TOKENLIST_API_BASE_URL, defaultAccountV3AdapterConfig, defaultAccountVaultsAdapterConfig, defaultDeploymentServiceConfig, defaultEulerEarnV3AdapterConfig, defaultEulerLabelsURLAdapterConfig, defaultIntrinsicApyV3AdapterConfig, defaultPricingServiceConfig, defaultRewardsV3AdapterConfig, defaultSwapServiceConfig, defaultTokenlistServiceConfig, defaultVaultTypeAdapterConfig, } from "./defaultConfig.js";
26
26
  import { defaultEVaultV3AdapterConfig } from "./defaultConfig.js";
27
27
  import { FeeFlowService, } from "../services/feeFlowService/index.js";
28
+ import { readEulerSDKEnvConfig, } from "./config.js";
28
29
  import { EVaultOnchainAdapter } from "../services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.js";
29
30
  import { EVaultV3Adapter } from "../services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.js";
30
31
  import { VaultMetaService, VaultTypeSubgraphAdapter, VaultTypeV3Adapter, } from "../services/vaults/vaultMetaService/index.js";
31
32
  import { VaultType } from "../utils/types.js";
32
33
  import { createQueryCacheBuildQuery, } from "../utils/buildQuery.js";
33
34
  import { BatchSimulationAdapter } from "../plugins/batchSimulation.js";
34
- export async function buildEulerSDK(options) {
35
- const { rpcUrls, v3ApiKey, accountServiceConfig, eVaultServiceConfig, eulerEarnServiceConfig, accountVaultsAdapterConfig, vaultTypeAdapterConfig, additionalVaultServices, eulerLabelsAdapterConfig, tokenlistServiceConfig, swapServiceConfig, backendConfig, rewardsServiceConfig, intrinsicApyServiceConfig, oracleAdapterServiceConfig, queryCacheConfig, buildQuery, plugins, servicesOverrides, feeFlowServiceConfig, } = options;
36
- const resolvedBuildQuery = buildQuery ?? createQueryCacheBuildQuery(queryCacheConfig);
35
+ function pickConfigValue(configValue, explicitValue, envValue, defaultValue) {
36
+ return configValue ?? explicitValue ?? envValue ?? defaultValue;
37
+ }
38
+ function mergeNumberRecords(defaultRecord, envRecord, explicitRecord, configRecord) {
39
+ return {
40
+ ...(defaultRecord ?? {}),
41
+ ...(envRecord ?? {}),
42
+ ...(explicitRecord ?? {}),
43
+ ...(configRecord ?? {}),
44
+ };
45
+ }
46
+ function mergeStringRecords(envRecord, explicitRecord, configRecord) {
47
+ const merged = {
48
+ ...(envRecord ?? {}),
49
+ ...(explicitRecord ?? {}),
50
+ ...(configRecord ?? {}),
51
+ };
52
+ return Object.keys(merged).length > 0 ? merged : undefined;
53
+ }
54
+ function maybeField(key, value) {
55
+ return value === undefined
56
+ ? {}
57
+ : { [key]: value };
58
+ }
59
+ function resolveV3AdapterConfig(defaultConfig, args) {
60
+ const { explicitConfig, explicitV3ApiKey, envConfig, config, envEndpoint, configEndpoint, envApiKey, configApiKey, envExtra, configExtra, } = args;
61
+ return {
62
+ ...defaultConfig,
63
+ ...maybeField("endpoint", envConfig.v3ApiUrl),
64
+ ...maybeField("apiKey", envConfig.v3ApiKey),
65
+ ...maybeField("endpoint", envEndpoint),
66
+ ...maybeField("apiKey", envApiKey),
67
+ ...(envExtra ?? {}),
68
+ ...maybeField("apiKey", explicitV3ApiKey),
69
+ ...(explicitConfig ?? {}),
70
+ ...maybeField("endpoint", config?.v3ApiUrl),
71
+ ...maybeField("apiKey", config?.v3ApiKey),
72
+ ...maybeField("endpoint", configEndpoint),
73
+ ...maybeField("apiKey", configApiKey),
74
+ ...(configExtra ?? {}),
75
+ };
76
+ }
77
+ function applyTemplate(template, values) {
78
+ return Object.entries(values).reduce((result, [key, value]) => result.replaceAll(`{${key}}`, String(value)), template);
79
+ }
80
+ function makeEulerLabelsConfig(config) {
81
+ if (!config)
82
+ return {};
83
+ const baseUrl = config.eulerLabelsBaseUrl ?? DEFAULT_EULER_LABELS_BASE_URL;
84
+ const hasBaseOverride = config.eulerLabelsBaseUrl !== undefined;
85
+ return {
86
+ ...(hasBaseOverride || config.eulerLabelsEntitiesUrlTemplate
87
+ ? {
88
+ getEulerLabelsEntitiesUrl: (chainId) => config.eulerLabelsEntitiesUrlTemplate
89
+ ? applyTemplate(config.eulerLabelsEntitiesUrlTemplate, {
90
+ base: baseUrl,
91
+ chainId,
92
+ })
93
+ : `${baseUrl}/${chainId}/entities.json`,
94
+ }
95
+ : {}),
96
+ ...(hasBaseOverride || config.eulerLabelsProductsUrlTemplate
97
+ ? {
98
+ getEulerLabelsProductsUrl: (chainId) => config.eulerLabelsProductsUrlTemplate
99
+ ? applyTemplate(config.eulerLabelsProductsUrlTemplate, {
100
+ base: baseUrl,
101
+ chainId,
102
+ })
103
+ : `${baseUrl}/${chainId}/products.json`,
104
+ }
105
+ : {}),
106
+ ...(hasBaseOverride || config.eulerLabelsPointsUrlTemplate
107
+ ? {
108
+ getEulerLabelsPointsUrl: (chainId) => config.eulerLabelsPointsUrlTemplate
109
+ ? applyTemplate(config.eulerLabelsPointsUrlTemplate, {
110
+ base: baseUrl,
111
+ chainId,
112
+ })
113
+ : `${baseUrl}/${chainId}/points.json`,
114
+ }
115
+ : {}),
116
+ ...(hasBaseOverride || config.eulerLabelsEarnVaultsUrlTemplate
117
+ ? {
118
+ getEulerLabelsEarnVaultsUrl: (chainId) => config.eulerLabelsEarnVaultsUrlTemplate
119
+ ? applyTemplate(config.eulerLabelsEarnVaultsUrlTemplate, {
120
+ base: baseUrl,
121
+ chainId,
122
+ })
123
+ : `${baseUrl}/${chainId}/earn-vaults.json`,
124
+ }
125
+ : {}),
126
+ ...(hasBaseOverride || config.eulerLabelsAssetsUrlTemplate
127
+ ? {
128
+ getEulerLabelsAssetsUrl: (chainId) => config.eulerLabelsAssetsUrlTemplate
129
+ ? applyTemplate(config.eulerLabelsAssetsUrlTemplate, {
130
+ base: baseUrl,
131
+ chainId,
132
+ })
133
+ : `${baseUrl}/${chainId}/assets.json`,
134
+ }
135
+ : {}),
136
+ ...(hasBaseOverride || config.eulerLabelsGlobalAssetsUrl
137
+ ? {
138
+ getEulerLabelsGlobalAssetsUrl: () => config.eulerLabelsGlobalAssetsUrl ?? `${baseUrl}/all/assets.json`,
139
+ }
140
+ : {}),
141
+ ...(hasBaseOverride || config.eulerLabelsLogoUrlTemplate
142
+ ? {
143
+ getEulerLabelsLogoUrl: (filename) => config.eulerLabelsLogoUrlTemplate
144
+ ? applyTemplate(config.eulerLabelsLogoUrlTemplate, {
145
+ base: baseUrl,
146
+ filename,
147
+ })
148
+ : `${baseUrl}/logo/${filename}`,
149
+ }
150
+ : {}),
151
+ };
152
+ }
153
+ function makeTokenlistConfig(config) {
154
+ if (!config?.tokenlistApiBaseUrl && !config?.tokenlistUrlTemplate)
155
+ return {};
156
+ const baseUrl = config.tokenlistApiBaseUrl ?? DEFAULT_TOKENLIST_API_BASE_URL;
157
+ return {
158
+ getTokenListUrl: (chainId) => config.tokenlistUrlTemplate
159
+ ? applyTemplate(config.tokenlistUrlTemplate, { base: baseUrl, chainId })
160
+ : `${baseUrl}/v1/tokens?chainId=${chainId}`,
161
+ };
162
+ }
163
+ function resolveRewardsDirectAdapterConfig(explicitConfig, envConfig, config) {
164
+ return {
165
+ ...maybeField("merklApiUrl", envConfig.rewardsMerklApiUrl),
166
+ ...maybeField("brevisApiUrl", envConfig.rewardsBrevisApiUrl),
167
+ ...maybeField("brevisProofsApiUrl", envConfig.rewardsBrevisProofsApiUrl),
168
+ ...maybeField("fuulApiUrl", envConfig.rewardsFuulApiUrl),
169
+ ...maybeField("fuulTotalsUrl", envConfig.rewardsFuulTotalsUrl),
170
+ ...maybeField("fuulClaimChecksUrl", envConfig.rewardsFuulClaimChecksUrl),
171
+ ...maybeField("brevisChainIds", envConfig.rewardsBrevisChainIds),
172
+ ...maybeField("merklDistributorAddress", envConfig.rewardsMerklDistributorAddress),
173
+ ...maybeField("fuulManagerAddress", envConfig.rewardsFuulManagerAddress),
174
+ ...maybeField("fuulFactoryAddress", envConfig.rewardsFuulFactoryAddress),
175
+ ...maybeField("enableMerkl", envConfig.rewardsEnableMerkl),
176
+ ...maybeField("enableBrevis", envConfig.rewardsEnableBrevis),
177
+ ...maybeField("enableFuul", envConfig.rewardsEnableFuul),
178
+ ...maybeField("merklApiUrl", explicitConfig?.merklApiUrl),
179
+ ...maybeField("brevisApiUrl", explicitConfig?.brevisApiUrl),
180
+ ...maybeField("brevisProofsApiUrl", explicitConfig?.brevisProofsApiUrl),
181
+ ...maybeField("fuulApiUrl", explicitConfig?.fuulApiUrl),
182
+ ...maybeField("fuulTotalsUrl", explicitConfig?.fuulTotalsUrl),
183
+ ...maybeField("fuulClaimChecksUrl", explicitConfig?.fuulClaimChecksUrl),
184
+ ...maybeField("brevisChainIds", explicitConfig?.brevisChainIds),
185
+ ...maybeField("merklDistributorAddress", explicitConfig?.merklDistributorAddress),
186
+ ...maybeField("fuulManagerAddress", explicitConfig?.fuulManagerAddress),
187
+ ...maybeField("fuulFactoryAddress", explicitConfig?.fuulFactoryAddress),
188
+ ...maybeField("enableMerkl", explicitConfig?.enableMerkl),
189
+ ...maybeField("enableBrevis", explicitConfig?.enableBrevis),
190
+ ...maybeField("enableFuul", explicitConfig?.enableFuul),
191
+ ...(explicitConfig?.directAdapterConfig ?? {}),
192
+ ...maybeField("merklApiUrl", config?.rewardsMerklApiUrl),
193
+ ...maybeField("brevisApiUrl", config?.rewardsBrevisApiUrl),
194
+ ...maybeField("brevisProofsApiUrl", config?.rewardsBrevisProofsApiUrl),
195
+ ...maybeField("fuulApiUrl", config?.rewardsFuulApiUrl),
196
+ ...maybeField("fuulTotalsUrl", config?.rewardsFuulTotalsUrl),
197
+ ...maybeField("fuulClaimChecksUrl", config?.rewardsFuulClaimChecksUrl),
198
+ ...maybeField("brevisChainIds", config?.rewardsBrevisChainIds),
199
+ ...maybeField("merklDistributorAddress", config?.rewardsMerklDistributorAddress),
200
+ ...maybeField("fuulManagerAddress", config?.rewardsFuulManagerAddress),
201
+ ...maybeField("fuulFactoryAddress", config?.rewardsFuulFactoryAddress),
202
+ ...maybeField("enableMerkl", config?.rewardsEnableMerkl),
203
+ ...maybeField("enableBrevis", config?.rewardsEnableBrevis),
204
+ ...maybeField("enableFuul", config?.rewardsEnableFuul),
205
+ };
206
+ }
207
+ export async function buildEulerSDK(options = {}) {
208
+ const { config, v3ApiKey, accountServiceConfig, eVaultServiceConfig, eulerEarnServiceConfig, accountVaultsAdapterConfig, vaultTypeAdapterConfig, additionalVaultServices, eulerLabelsAdapterConfig, tokenlistServiceConfig, swapServiceConfig, pricingServiceConfig, rewardsServiceConfig, intrinsicApyServiceConfig, oracleAdapterServiceConfig, queryCacheConfig, buildQuery, plugins, servicesOverrides, feeFlowServiceConfig, } = options;
209
+ const envConfig = readEulerSDKEnvConfig();
210
+ const resolvedRpcUrls = mergeNumberRecords(undefined, envConfig.rpcUrls, undefined, config?.rpcUrls);
211
+ const resolvedQueryCacheConfig = {
212
+ ...maybeField("enabled", envConfig.queryCacheEnabled),
213
+ ...maybeField("ttlMs", envConfig.queryCacheTtlMs),
214
+ ...(queryCacheConfig ?? {}),
215
+ ...maybeField("enabled", config?.queryCacheEnabled),
216
+ ...maybeField("ttlMs", config?.queryCacheTtlMs),
217
+ };
218
+ const resolvedBuildQuery = buildQuery ?? createQueryCacheBuildQuery(resolvedQueryCacheConfig);
219
+ const resolvedDeploymentServiceConfig = {
220
+ ...defaultDeploymentServiceConfig,
221
+ ...maybeField("deploymentsUrl", envConfig.deploymentsUrl),
222
+ ...maybeField("deploymentsUrl", config?.deploymentsUrl),
223
+ };
37
224
  // Build core services (these may be needed for adapters even if overridden)
38
225
  const abiService = servicesOverrides?.abiService ?? new ABIService(resolvedBuildQuery);
39
226
  const deploymentService = servicesOverrides?.deploymentService ??
40
- (await DeploymentService.build(defaultDeploymentServiceConfig, resolvedBuildQuery));
41
- const providerService = servicesOverrides?.providerService ?? new ProviderService(rpcUrls);
227
+ (await DeploymentService.build(resolvedDeploymentServiceConfig, resolvedBuildQuery));
228
+ const providerService = servicesOverrides?.providerService ?? new ProviderService(resolvedRpcUrls);
42
229
  // Account adapter is built early so it can be used when building account service (after vault meta service)
43
230
  const resolvedAccountServiceConfig = accountServiceConfig ?? {};
231
+ const resolvedAccountServiceAdapter = pickConfigValue(config?.accountServiceAdapter, resolvedAccountServiceConfig.adapter, envConfig.accountServiceAdapter);
44
232
  let accountOnchainAdapter;
45
- const accountAdapter = resolvedAccountServiceConfig.adapter === "onchain"
233
+ const accountAdapter = resolvedAccountServiceAdapter === "onchain"
46
234
  ? (() => {
47
- const accountVaultsAdapter = new AccountVaultsSubgraphAdapter(accountVaultsAdapterConfig || defaultAccountVaultsAdapterConfig, resolvedBuildQuery);
235
+ const accountVaultsAdapter = new AccountVaultsSubgraphAdapter({
236
+ subgraphURLs: mergeNumberRecords(defaultAccountVaultsAdapterConfig.subgraphURLs, envConfig.accountVaultsSubgraphUrls, accountVaultsAdapterConfig?.subgraphURLs, config?.accountVaultsSubgraphUrls),
237
+ }, resolvedBuildQuery);
48
238
  accountOnchainAdapter = new AccountOnchainAdapter(providerService, deploymentService, accountVaultsAdapter, resolvedBuildQuery);
49
239
  return accountOnchainAdapter;
50
240
  })()
51
- : new AccountV3Adapter({
52
- ...(resolvedAccountServiceConfig.v3AdapterConfig ??
53
- defaultAccountV3AdapterConfig),
54
- ...(v3ApiKey !== undefined ? { apiKey: v3ApiKey } : {}),
55
- ...(resolvedAccountServiceConfig.v3AdapterConfig?.apiKey !==
56
- undefined
57
- ? { apiKey: resolvedAccountServiceConfig.v3AdapterConfig.apiKey }
58
- : {}),
59
- }, resolvedBuildQuery);
241
+ : new AccountV3Adapter(resolveV3AdapterConfig(defaultAccountV3AdapterConfig, {
242
+ explicitConfig: resolvedAccountServiceConfig.v3AdapterConfig,
243
+ explicitV3ApiKey: v3ApiKey,
244
+ envConfig,
245
+ config,
246
+ envEndpoint: envConfig.accountV3ApiUrl,
247
+ configEndpoint: config?.accountV3ApiUrl,
248
+ envApiKey: envConfig.accountV3ApiKey,
249
+ configApiKey: config?.accountV3ApiKey,
250
+ envExtra: {
251
+ ...maybeField("forceFresh", envConfig.accountV3ForceFresh),
252
+ },
253
+ configExtra: {
254
+ ...maybeField("forceFresh", config?.accountV3ForceFresh),
255
+ },
256
+ }), resolvedBuildQuery);
60
257
  // Build wallet service if not overridden
61
258
  let walletService;
62
259
  if (servicesOverrides?.walletService) {
@@ -74,20 +271,28 @@ export async function buildEulerSDK(options) {
74
271
  }
75
272
  else {
76
273
  const resolvedEVaultServiceConfig = eVaultServiceConfig ?? {};
77
- const selectedEVaultAdapter = resolvedEVaultServiceConfig.adapter === "onchain"
274
+ const resolvedEVaultServiceAdapter = pickConfigValue(config?.eVaultServiceAdapter, resolvedEVaultServiceConfig.adapter, envConfig.eVaultServiceAdapter);
275
+ const selectedEVaultAdapter = resolvedEVaultServiceAdapter === "onchain"
78
276
  ? (() => {
79
277
  eVaultAdapter = new EVaultOnchainAdapter(providerService, deploymentService, resolvedBuildQuery);
80
278
  return eVaultAdapter;
81
279
  })()
82
- : new EVaultV3Adapter({
83
- ...(resolvedEVaultServiceConfig.v3AdapterConfig ??
84
- defaultEVaultV3AdapterConfig),
85
- ...(v3ApiKey !== undefined ? { apiKey: v3ApiKey } : {}),
86
- ...(resolvedEVaultServiceConfig.v3AdapterConfig?.apiKey !==
87
- undefined
88
- ? { apiKey: resolvedEVaultServiceConfig.v3AdapterConfig.apiKey }
89
- : {}),
90
- }, resolvedBuildQuery);
280
+ : new EVaultV3Adapter(resolveV3AdapterConfig(defaultEVaultV3AdapterConfig, {
281
+ explicitConfig: resolvedEVaultServiceConfig.v3AdapterConfig,
282
+ explicitV3ApiKey: v3ApiKey,
283
+ envConfig,
284
+ config,
285
+ envEndpoint: envConfig.eVaultV3ApiUrl,
286
+ configEndpoint: config?.eVaultV3ApiUrl,
287
+ envApiKey: envConfig.eVaultV3ApiKey,
288
+ configApiKey: config?.eVaultV3ApiKey,
289
+ envExtra: {
290
+ ...maybeField("batchSize", envConfig.eVaultV3BatchSize),
291
+ },
292
+ configExtra: {
293
+ ...maybeField("batchSize", config?.eVaultV3BatchSize),
294
+ },
295
+ }), providerService, resolvedBuildQuery);
91
296
  eVaultService = new EVaultService(selectedEVaultAdapter, deploymentService);
92
297
  }
93
298
  // Build eulerEarn service if not overridden
@@ -97,19 +302,19 @@ export async function buildEulerSDK(options) {
97
302
  }
98
303
  else {
99
304
  const resolvedEulerEarnServiceConfig = eulerEarnServiceConfig ?? {};
100
- const eulerEarnAdapter = resolvedEulerEarnServiceConfig.adapter === "onchain"
305
+ const resolvedEulerEarnServiceAdapter = pickConfigValue(config?.eulerEarnServiceAdapter, resolvedEulerEarnServiceConfig.adapter, envConfig.eulerEarnServiceAdapter);
306
+ const eulerEarnAdapter = resolvedEulerEarnServiceAdapter === "onchain"
101
307
  ? new EulerEarnOnchainAdapter(providerService, deploymentService, resolvedBuildQuery)
102
- : new EulerEarnV3Adapter({
103
- ...(resolvedEulerEarnServiceConfig.v3AdapterConfig ??
104
- defaultEulerEarnV3AdapterConfig),
105
- ...(v3ApiKey !== undefined ? { apiKey: v3ApiKey } : {}),
106
- ...(resolvedEulerEarnServiceConfig.v3AdapterConfig?.apiKey !==
107
- undefined
108
- ? {
109
- apiKey: resolvedEulerEarnServiceConfig.v3AdapterConfig.apiKey,
110
- }
111
- : {}),
112
- }, resolvedBuildQuery);
308
+ : new EulerEarnV3Adapter(resolveV3AdapterConfig(defaultEulerEarnV3AdapterConfig, {
309
+ explicitConfig: resolvedEulerEarnServiceConfig.v3AdapterConfig,
310
+ explicitV3ApiKey: v3ApiKey,
311
+ envConfig,
312
+ config,
313
+ envEndpoint: envConfig.eulerEarnV3ApiUrl,
314
+ configEndpoint: config?.eulerEarnV3ApiUrl,
315
+ envApiKey: envConfig.eulerEarnV3ApiKey,
316
+ configApiKey: config?.eulerEarnV3ApiKey,
317
+ }), resolvedBuildQuery);
113
318
  eulerEarnService = new EulerEarnService(eulerEarnAdapter, deploymentService, eVaultService);
114
319
  }
115
320
  // Build securitizeVault service if not overridden
@@ -127,17 +332,37 @@ export async function buildEulerSDK(options) {
127
332
  vaultMetaService = servicesOverrides.vaultMetaService;
128
333
  }
129
334
  else {
130
- const resolvedVaultTypeAdapterConfig = vaultTypeAdapterConfig ?? defaultVaultTypeAdapterConfig;
131
- const vaultTypeAdapter = "subgraphURLs" in resolvedVaultTypeAdapterConfig
132
- ? new VaultTypeSubgraphAdapter(resolvedVaultTypeAdapterConfig, resolvedBuildQuery)
133
- : new VaultTypeV3Adapter({
134
- ...resolvedVaultTypeAdapterConfig,
135
- ...(v3ApiKey !== undefined ? { apiKey: v3ApiKey } : {}),
136
- ...("apiKey" in resolvedVaultTypeAdapterConfig &&
137
- resolvedVaultTypeAdapterConfig.apiKey !== undefined
138
- ? { apiKey: resolvedVaultTypeAdapterConfig.apiKey }
139
- : {}),
140
- }, resolvedBuildQuery);
335
+ const explicitVaultTypeAdapterKind = vaultTypeAdapterConfig
336
+ ? "subgraphURLs" in vaultTypeAdapterConfig
337
+ ? "subgraph"
338
+ : "v3"
339
+ : undefined;
340
+ const resolvedVaultTypeAdapterKind = pickConfigValue(config?.vaultTypeAdapter, explicitVaultTypeAdapterKind, envConfig.vaultTypeAdapter, "v3");
341
+ const vaultTypeAdapter = resolvedVaultTypeAdapterKind === "subgraph"
342
+ ? new VaultTypeSubgraphAdapter({
343
+ subgraphURLs: mergeNumberRecords(defaultAccountVaultsAdapterConfig.subgraphURLs, envConfig.vaultTypeSubgraphUrls, vaultTypeAdapterConfig &&
344
+ "subgraphURLs" in vaultTypeAdapterConfig
345
+ ? vaultTypeAdapterConfig.subgraphURLs
346
+ : undefined, config?.vaultTypeSubgraphUrls),
347
+ }, resolvedBuildQuery)
348
+ : new VaultTypeV3Adapter(resolveV3AdapterConfig(defaultVaultTypeAdapterConfig, {
349
+ explicitConfig: vaultTypeAdapterConfig &&
350
+ !("subgraphURLs" in vaultTypeAdapterConfig)
351
+ ? {
352
+ ...vaultTypeAdapterConfig,
353
+ ...maybeField("typeMap", mergeStringRecords(envConfig.vaultTypeV3TypeMap, vaultTypeAdapterConfig.typeMap, config?.vaultTypeV3TypeMap)),
354
+ }
355
+ : {
356
+ ...maybeField("typeMap", mergeStringRecords(envConfig.vaultTypeV3TypeMap, undefined, config?.vaultTypeV3TypeMap)),
357
+ },
358
+ explicitV3ApiKey: v3ApiKey,
359
+ envConfig,
360
+ config,
361
+ envEndpoint: envConfig.vaultTypeV3ApiUrl,
362
+ configEndpoint: config?.vaultTypeV3ApiUrl,
363
+ envApiKey: envConfig.vaultTypeV3ApiKey,
364
+ configApiKey: config?.vaultTypeV3ApiKey,
365
+ }), resolvedBuildQuery);
141
366
  const allVaultServices = [
142
367
  {
143
368
  type: VaultType.EVault,
@@ -188,7 +413,12 @@ export async function buildEulerSDK(options) {
188
413
  const portfolioService = servicesOverrides?.portfolioService ??
189
414
  new PortfolioService(accountService);
190
415
  // Build eulerLabels service if not overridden
191
- const eulerLabelsConfig = eulerLabelsAdapterConfig || defaultEulerLabelsURLAdapterConfig;
416
+ const eulerLabelsConfig = {
417
+ ...defaultEulerLabelsURLAdapterConfig,
418
+ ...makeEulerLabelsConfig(envConfig),
419
+ ...(eulerLabelsAdapterConfig ?? {}),
420
+ ...makeEulerLabelsConfig(config),
421
+ };
192
422
  const eulerLabelsService = servicesOverrides?.eulerLabelsService ??
193
423
  (() => {
194
424
  const eulerLabelsAdapter = new EulerLabelsURLAdapter(eulerLabelsConfig, resolvedBuildQuery);
@@ -196,10 +426,22 @@ export async function buildEulerSDK(options) {
196
426
  })();
197
427
  // Build tokenlist service if not overridden
198
428
  const tokenlistService = servicesOverrides?.tokenlistService ??
199
- new TokenlistService(tokenlistServiceConfig || defaultTokenlistServiceConfig, resolvedBuildQuery);
429
+ new TokenlistService({
430
+ ...defaultTokenlistServiceConfig,
431
+ ...makeTokenlistConfig(envConfig),
432
+ ...(tokenlistServiceConfig ?? {}),
433
+ ...makeTokenlistConfig(config),
434
+ }, resolvedBuildQuery);
200
435
  // Build swap service if not overridden
201
436
  const swapService = servicesOverrides?.swapService ??
202
- new SwapService(swapServiceConfig || defaultSwapServiceConfig, deploymentService, resolvedBuildQuery);
437
+ new SwapService({
438
+ ...defaultSwapServiceConfig,
439
+ ...maybeField("swapApiUrl", envConfig.swapApiUrl),
440
+ ...maybeField("defaultDeadline", envConfig.swapDefaultDeadline),
441
+ ...(swapServiceConfig ?? {}),
442
+ ...maybeField("swapApiUrl", config?.swapApiUrl),
443
+ ...maybeField("defaultDeadline", config?.swapDefaultDeadline),
444
+ }, deploymentService, resolvedBuildQuery);
203
445
  // Build execution service if not overridden
204
446
  const executionService = servicesOverrides?.executionService ??
205
447
  (() => {
@@ -211,56 +453,38 @@ export async function buildEulerSDK(options) {
211
453
  // Build price service if not overridden
212
454
  const priceService = servicesOverrides?.priceService ??
213
455
  (() => {
214
- const resolvedBackendConfig = backendConfig ?? defaultBackendConfig;
215
- const backendClient = new PricingBackendClient({
216
- ...resolvedBackendConfig,
217
- ...(v3ApiKey !== undefined ? { apiKey: v3ApiKey } : {}),
218
- ...(resolvedBackendConfig.apiKey !== undefined
219
- ? { apiKey: resolvedBackendConfig.apiKey }
220
- : {}),
221
- }, resolvedBuildQuery);
456
+ const resolvedPricingServiceConfig = resolveV3AdapterConfig(defaultPricingServiceConfig, {
457
+ explicitConfig: pricingServiceConfig,
458
+ explicitV3ApiKey: v3ApiKey,
459
+ envConfig,
460
+ config,
461
+ envEndpoint: envConfig.pricingApiUrl,
462
+ configEndpoint: config?.pricingApiUrl,
463
+ envApiKey: envConfig.pricingApiKey,
464
+ configApiKey: config?.pricingApiKey,
465
+ });
466
+ const backendClient = new PricingBackendClient(resolvedPricingServiceConfig, resolvedBuildQuery);
222
467
  return new PriceService(providerService, deploymentService, backendClient, resolvedBuildQuery);
223
468
  })();
224
469
  // Build rewards service if not overridden
225
470
  const rewardsService = servicesOverrides?.rewardsService ??
226
471
  (() => {
227
- const resolvedRewardsServiceConfig = rewardsServiceConfig ?? {};
228
- const legacyDirectAdapterConfig = {
229
- merklApiUrl: resolvedRewardsServiceConfig.merklApiUrl,
230
- brevisApiUrl: resolvedRewardsServiceConfig.brevisApiUrl,
231
- brevisProofsApiUrl: resolvedRewardsServiceConfig.brevisProofsApiUrl,
232
- fuulApiUrl: resolvedRewardsServiceConfig.fuulApiUrl,
233
- fuulTotalsUrl: resolvedRewardsServiceConfig.fuulTotalsUrl,
234
- fuulClaimChecksUrl: resolvedRewardsServiceConfig.fuulClaimChecksUrl,
235
- brevisChainIds: resolvedRewardsServiceConfig.brevisChainIds,
236
- merklDistributorAddress: resolvedRewardsServiceConfig.merklDistributorAddress,
237
- fuulManagerAddress: resolvedRewardsServiceConfig.fuulManagerAddress,
238
- fuulFactoryAddress: resolvedRewardsServiceConfig.fuulFactoryAddress,
239
- enableMerkl: resolvedRewardsServiceConfig.enableMerkl,
240
- enableBrevis: resolvedRewardsServiceConfig.enableBrevis,
241
- enableFuul: resolvedRewardsServiceConfig.enableFuul,
242
- };
243
- const directAdapterConfig = {
244
- ...legacyDirectAdapterConfig,
245
- ...(resolvedRewardsServiceConfig.directAdapterConfig ?? {}),
246
- };
472
+ const resolvedRewardsServiceAdapter = pickConfigValue(config?.rewardsServiceAdapter, rewardsServiceConfig?.adapter, envConfig.rewardsServiceAdapter, "v3");
473
+ const directAdapterConfig = resolveRewardsDirectAdapterConfig(rewardsServiceConfig, envConfig, config);
247
474
  const directAdapter = new RewardsDirectAdapter(directAdapterConfig, resolvedBuildQuery);
248
- const rewardsAdapter = resolvedRewardsServiceConfig.adapter === "direct"
475
+ const rewardsAdapter = resolvedRewardsServiceAdapter === "direct"
249
476
  ? directAdapter
250
- : new RewardsV3Adapter({
251
- ...(resolvedRewardsServiceConfig.v3AdapterConfig ??
252
- defaultRewardsV3AdapterConfig),
253
- ...(v3ApiKey !== undefined ? { apiKey: v3ApiKey } : {}),
254
- ...(resolvedRewardsServiceConfig.v3AdapterConfig?.apiKey !==
255
- undefined
256
- ? {
257
- apiKey: resolvedRewardsServiceConfig.v3AdapterConfig.apiKey,
258
- }
259
- : {}),
260
- }, resolvedBuildQuery);
261
- return new RewardsService(rewardsAdapter, resolvedRewardsServiceConfig.adapter === "direct"
262
- ? undefined
263
- : directAdapter, {
477
+ : new RewardsV3Adapter(resolveV3AdapterConfig(defaultRewardsV3AdapterConfig, {
478
+ explicitConfig: rewardsServiceConfig?.v3AdapterConfig,
479
+ explicitV3ApiKey: v3ApiKey,
480
+ envConfig,
481
+ config,
482
+ envEndpoint: envConfig.rewardsV3ApiUrl,
483
+ configEndpoint: config?.rewardsV3ApiUrl,
484
+ envApiKey: envConfig.rewardsV3ApiKey,
485
+ configApiKey: config?.rewardsV3ApiKey,
486
+ }), resolvedBuildQuery);
487
+ return new RewardsService(rewardsAdapter, resolvedRewardsServiceAdapter === "direct" ? undefined : directAdapter, {
264
488
  merklDistributorAddress: directAdapter.getMerklDistributorAddress(),
265
489
  fuulManagerAddress: directAdapter.getFuulManagerAddress(),
266
490
  fuulFactoryAddress: directAdapter.getFuulFactoryAddress(),
@@ -270,23 +494,44 @@ export async function buildEulerSDK(options) {
270
494
  const intrinsicApyService = servicesOverrides?.intrinsicApyService ??
271
495
  (() => {
272
496
  const resolvedIntrinsicApyServiceConfig = intrinsicApyServiceConfig ?? {};
273
- const intrinsicApyAdapter = new IntrinsicApyV3Adapter({
274
- ...(resolvedIntrinsicApyServiceConfig.v3AdapterConfig ??
275
- defaultIntrinsicApyV3AdapterConfig),
276
- ...(v3ApiKey !== undefined ? { apiKey: v3ApiKey } : {}),
277
- ...(resolvedIntrinsicApyServiceConfig.v3AdapterConfig?.apiKey !==
278
- undefined
279
- ? {
280
- apiKey: resolvedIntrinsicApyServiceConfig.v3AdapterConfig.apiKey,
281
- }
282
- : {}),
283
- }, resolvedBuildQuery);
497
+ const intrinsicApyAdapter = new IntrinsicApyV3Adapter(resolveV3AdapterConfig(defaultIntrinsicApyV3AdapterConfig, {
498
+ explicitConfig: resolvedIntrinsicApyServiceConfig.v3AdapterConfig,
499
+ explicitV3ApiKey: v3ApiKey,
500
+ envConfig,
501
+ config,
502
+ envEndpoint: envConfig.intrinsicApyV3ApiUrl,
503
+ configEndpoint: config?.intrinsicApyV3ApiUrl,
504
+ envApiKey: envConfig.intrinsicApyV3ApiKey,
505
+ configApiKey: config?.intrinsicApyV3ApiKey,
506
+ envExtra: {
507
+ ...maybeField("pageSize", envConfig.intrinsicApyV3PageSize),
508
+ ...maybeField("maxAssetsPerRequest", envConfig.intrinsicApyV3MaxAssetsPerRequest),
509
+ },
510
+ configExtra: {
511
+ ...maybeField("pageSize", config?.intrinsicApyV3PageSize),
512
+ ...maybeField("maxAssetsPerRequest", config?.intrinsicApyV3MaxAssetsPerRequest),
513
+ },
514
+ }), resolvedBuildQuery);
284
515
  return new IntrinsicApyService(intrinsicApyAdapter);
285
516
  })();
286
517
  const oracleAdapterService = servicesOverrides?.oracleAdapterService ??
287
- new OracleAdapterService(oracleAdapterServiceConfig, resolvedBuildQuery);
518
+ new OracleAdapterService({
519
+ ...maybeField("baseUrl", envConfig.oracleAdaptersBaseUrl),
520
+ ...maybeField("cacheMs", envConfig.oracleAdaptersCacheMs),
521
+ ...(oracleAdapterServiceConfig ?? {}),
522
+ ...maybeField("baseUrl", config?.oracleAdaptersBaseUrl),
523
+ ...maybeField("cacheMs", config?.oracleAdaptersCacheMs),
524
+ }, resolvedBuildQuery);
288
525
  const feeFlowService = servicesOverrides?.feeFlowService ??
289
- new FeeFlowService(feeFlowServiceConfig, resolvedBuildQuery);
526
+ new FeeFlowService({
527
+ ...maybeField("feeFlowControllerAddress", envConfig.feeFlowControllerAddress),
528
+ ...maybeField("feeFlowControllerUtilAddress", envConfig.feeFlowControllerUtilAddress),
529
+ ...maybeField("defaultBuyDeadlineSeconds", envConfig.feeFlowDefaultBuyDeadlineSeconds),
530
+ ...(feeFlowServiceConfig ?? {}),
531
+ ...maybeField("feeFlowControllerAddress", config?.feeFlowControllerAddress),
532
+ ...maybeField("feeFlowControllerUtilAddress", config?.feeFlowControllerUtilAddress),
533
+ ...maybeField("defaultBuyDeadlineSeconds", config?.feeFlowDefaultBuyDeadlineSeconds),
534
+ }, resolvedBuildQuery);
290
535
  if (executionService instanceof ExecutionService) {
291
536
  executionService.setProviderService(providerService);
292
537
  executionService.setVaultMetaService(vaultMetaService);
@@ -348,7 +593,7 @@ export async function buildEulerSDK(options) {
348
593
  if (securitizeVaultService instanceof SecuritizeVaultService) {
349
594
  securitizeVaultService.setEulerLabelsService(eulerLabelsService);
350
595
  }
351
- return new EulerSDK({
596
+ const sdk = new EulerSDK({
352
597
  accountService,
353
598
  portfolioService,
354
599
  walletService,
@@ -370,5 +615,9 @@ export async function buildEulerSDK(options) {
370
615
  feeFlowService,
371
616
  plugins,
372
617
  });
618
+ if (executionService instanceof ExecutionService) {
619
+ executionService.setPluginProcessor((plan, account, chainId) => sdk.processPlugins(plan, account, chainId));
620
+ }
621
+ return sdk;
373
622
  }
374
623
  //# sourceMappingURL=buildSDK.js.map