@eulerxyz/euler-v2-sdk 0.2.3-beta → 0.2.5-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 (115) hide show
  1. package/README.md +14 -11
  2. package/dist/src/entities/ERC4626Vault.d.ts +8 -0
  3. package/dist/src/entities/ERC4626Vault.d.ts.map +1 -1
  4. package/dist/src/entities/ERC4626Vault.js +4 -0
  5. package/dist/src/entities/ERC4626Vault.js.map +1 -1
  6. package/dist/src/entities/EVault.d.ts +6 -0
  7. package/dist/src/entities/EVault.d.ts.map +1 -1
  8. package/dist/src/entities/EVault.js +11 -0
  9. package/dist/src/entities/EVault.js.map +1 -1
  10. package/dist/src/entities/SecuritizeCollateralVault.d.ts +2 -0
  11. package/dist/src/entities/SecuritizeCollateralVault.d.ts.map +1 -1
  12. package/dist/src/entities/SecuritizeCollateralVault.js +4 -0
  13. package/dist/src/entities/SecuritizeCollateralVault.js.map +1 -1
  14. package/dist/src/index.d.ts +2 -0
  15. package/dist/src/index.d.ts.map +1 -1
  16. package/dist/src/index.js +2 -0
  17. package/dist/src/index.js.map +1 -1
  18. package/dist/src/sdk/buildSDK.d.ts +8 -0
  19. package/dist/src/sdk/buildSDK.d.ts.map +1 -1
  20. package/dist/src/sdk/buildSDK.js +309 -101
  21. package/dist/src/sdk/buildSDK.js.map +1 -1
  22. package/dist/src/sdk/config.d.ts +8 -2
  23. package/dist/src/sdk/config.d.ts.map +1 -1
  24. package/dist/src/sdk/config.js +6 -1
  25. package/dist/src/sdk/config.js.map +1 -1
  26. package/dist/src/sdk/sdk.d.ts +3 -0
  27. package/dist/src/sdk/sdk.d.ts.map +1 -1
  28. package/dist/src/sdk/sdk.js +2 -0
  29. package/dist/src/sdk/sdk.js.map +1 -1
  30. package/dist/src/services/accountService/accountServiceConfig.d.ts +2 -2
  31. package/dist/src/services/accountService/accountServiceConfig.d.ts.map +1 -1
  32. package/dist/src/services/executionService/abis/cowSwapWrapperAbi.d.ts +199 -0
  33. package/dist/src/services/executionService/abis/cowSwapWrapperAbi.d.ts.map +1 -0
  34. package/dist/src/services/executionService/abis/cowSwapWrapperAbi.js +95 -0
  35. package/dist/src/services/executionService/abis/cowSwapWrapperAbi.js.map +1 -0
  36. package/dist/src/services/executionService/cowExecutor.d.ts +53 -0
  37. package/dist/src/services/executionService/cowExecutor.d.ts.map +1 -0
  38. package/dist/src/services/executionService/cowExecutor.js +392 -0
  39. package/dist/src/services/executionService/cowExecutor.js.map +1 -0
  40. package/dist/src/services/executionService/cowSwapHelpers.d.ts +255 -0
  41. package/dist/src/services/executionService/cowSwapHelpers.d.ts.map +1 -0
  42. package/dist/src/services/executionService/cowSwapHelpers.js +525 -0
  43. package/dist/src/services/executionService/cowSwapHelpers.js.map +1 -0
  44. package/dist/src/services/executionService/execute.d.ts +18 -3
  45. package/dist/src/services/executionService/execute.d.ts.map +1 -1
  46. package/dist/src/services/executionService/execute.js +9 -2
  47. package/dist/src/services/executionService/execute.js.map +1 -1
  48. package/dist/src/services/executionService/executionService.d.ts +53 -2
  49. package/dist/src/services/executionService/executionService.d.ts.map +1 -1
  50. package/dist/src/services/executionService/executionService.js +367 -20
  51. package/dist/src/services/executionService/executionService.js.map +1 -1
  52. package/dist/src/services/executionService/executionServiceTypes.d.ts +130 -3
  53. package/dist/src/services/executionService/executionServiceTypes.d.ts.map +1 -1
  54. package/dist/src/services/executionService/executionServiceTypes.js +13 -0
  55. package/dist/src/services/executionService/executionServiceTypes.js.map +1 -1
  56. package/dist/src/services/executionService/index.d.ts +6 -3
  57. package/dist/src/services/executionService/index.d.ts.map +1 -1
  58. package/dist/src/services/executionService/index.js +4 -2
  59. package/dist/src/services/executionService/index.js.map +1 -1
  60. package/dist/src/services/executionService/simulate.d.ts +1 -1
  61. package/dist/src/services/executionService/simulate.d.ts.map +1 -1
  62. package/dist/src/services/executionService/simulate.js +25 -9
  63. package/dist/src/services/executionService/simulate.js.map +1 -1
  64. package/dist/src/services/executionService/tokenApprovalReset.d.ts +3 -0
  65. package/dist/src/services/executionService/tokenApprovalReset.d.ts.map +1 -0
  66. package/dist/src/services/executionService/tokenApprovalReset.js +8 -0
  67. package/dist/src/services/executionService/tokenApprovalReset.js.map +1 -0
  68. package/dist/src/services/priceService/backendClient.d.ts +3 -1
  69. package/dist/src/services/priceService/backendClient.d.ts.map +1 -1
  70. package/dist/src/services/priceService/backendClient.js +30 -12
  71. package/dist/src/services/priceService/backendClient.js.map +1 -1
  72. package/dist/src/services/reulLockService/index.d.ts +3 -0
  73. package/dist/src/services/reulLockService/index.d.ts.map +1 -0
  74. package/dist/src/services/reulLockService/index.js +2 -0
  75. package/dist/src/services/reulLockService/index.js.map +1 -0
  76. package/dist/src/services/reulLockService/reulLockService.d.ts +82 -0
  77. package/dist/src/services/reulLockService/reulLockService.d.ts.map +1 -0
  78. package/dist/src/services/reulLockService/reulLockService.js +120 -0
  79. package/dist/src/services/reulLockService/reulLockService.js.map +1 -0
  80. package/dist/src/services/reulLockService/reulLockServiceTypes.d.ts +41 -0
  81. package/dist/src/services/reulLockService/reulLockServiceTypes.d.ts.map +1 -0
  82. package/dist/src/services/reulLockService/reulLockServiceTypes.js +2 -0
  83. package/dist/src/services/reulLockService/reulLockServiceTypes.js.map +1 -0
  84. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.d.ts.map +1 -1
  85. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.js +93 -5
  86. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.js.map +1 -1
  87. package/dist/src/services/rewardsService/rewardsService.d.ts +1 -7
  88. package/dist/src/services/rewardsService/rewardsService.d.ts.map +1 -1
  89. package/dist/src/services/rewardsService/rewardsService.js +5 -130
  90. package/dist/src/services/rewardsService/rewardsService.js.map +1 -1
  91. package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts +13 -2
  92. package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts.map +1 -1
  93. package/dist/src/services/swapService/index.d.ts +3 -2
  94. package/dist/src/services/swapService/index.d.ts.map +1 -1
  95. package/dist/src/services/swapService/index.js +1 -0
  96. package/dist/src/services/swapService/index.js.map +1 -1
  97. package/dist/src/services/swapService/swapAllowlist.d.ts +16 -0
  98. package/dist/src/services/swapService/swapAllowlist.d.ts.map +1 -0
  99. package/dist/src/services/swapService/swapAllowlist.js +51 -0
  100. package/dist/src/services/swapService/swapAllowlist.js.map +1 -0
  101. package/dist/src/services/swapService/swapService.d.ts +15 -0
  102. package/dist/src/services/swapService/swapService.d.ts.map +1 -1
  103. package/dist/src/services/swapService/swapService.js +237 -12
  104. package/dist/src/services/swapService/swapService.js.map +1 -1
  105. package/dist/src/services/swapService/swapServiceTypes.d.ts +33 -0
  106. package/dist/src/services/swapService/swapServiceTypes.d.ts.map +1 -1
  107. package/dist/src/services/vaults/eVaultService/eVaultServiceConfig.d.ts +2 -2
  108. package/dist/src/services/vaults/eVaultService/eVaultServiceConfig.d.ts.map +1 -1
  109. package/dist/src/services/vaults/eulerEarnService/eulerEarnServiceConfig.d.ts +2 -2
  110. package/dist/src/services/vaults/eulerEarnService/eulerEarnServiceConfig.d.ts.map +1 -1
  111. package/dist/src/utils/fallbackAdapter.d.ts +69 -0
  112. package/dist/src/utils/fallbackAdapter.d.ts.map +1 -0
  113. package/dist/src/utils/fallbackAdapter.js +139 -0
  114. package/dist/src/utils/fallbackAdapter.js.map +1 -0
  115. package/package.json +1 -1
@@ -25,12 +25,14 @@ import { OracleAdapterService, } from "../services/oracleAdapterService/index.js
25
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 { REULLockService, } from "../services/reulLockService/index.js";
28
29
  import { readEulerSDKEnvConfig, } from "./config.js";
29
30
  import { EVaultOnchainAdapter } from "../services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.js";
30
31
  import { EVaultV3Adapter } from "../services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.js";
31
32
  import { VaultMetaService, VaultTypeSubgraphAdapter, VaultTypeV3Adapter, } from "../services/vaults/vaultMetaService/index.js";
32
33
  import { VaultType } from "../utils/types.js";
33
34
  import { createQueryCacheBuildQuery, } from "../utils/buildQuery.js";
35
+ import { createFallbackAdapter, } from "../utils/fallbackAdapter.js";
34
36
  import { BatchSimulationAdapter } from "../plugins/batchSimulation.js";
35
37
  function pickConfigValue(configValue, explicitValue, envValue, defaultValue) {
36
38
  return configValue ?? explicitValue ?? envValue ?? defaultValue;
@@ -205,7 +207,7 @@ function resolveRewardsDirectAdapterConfig(explicitConfig, envConfig, config) {
205
207
  };
206
208
  }
207
209
  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;
210
+ const { config, v3ApiKey, accountServiceConfig, eVaultServiceConfig, eulerEarnServiceConfig, accountVaultsAdapterConfig, vaultTypeAdapterConfig, additionalVaultServices, eulerLabelsAdapterConfig, tokenlistServiceConfig, swapServiceConfig, pricingServiceConfig, rewardsServiceConfig, intrinsicApyServiceConfig, oracleAdapterServiceConfig, queryCacheConfig, buildQuery, plugins, onFallback, servicesOverrides, feeFlowServiceConfig, } = options;
209
211
  const envConfig = readEulerSDKEnvConfig();
210
212
  const resolvedRpcUrls = mergeNumberRecords(undefined, envConfig.rpcUrls, undefined, config?.rpcUrls);
211
213
  const resolvedQueryCacheConfig = {
@@ -226,34 +228,76 @@ export async function buildEulerSDK(options = {}) {
226
228
  const deploymentService = servicesOverrides?.deploymentService ??
227
229
  (await DeploymentService.build(resolvedDeploymentServiceConfig, resolvedBuildQuery));
228
230
  const providerService = servicesOverrides?.providerService ?? new ProviderService(resolvedRpcUrls);
231
+ const disableV3 = pickConfigValue(config?.disableV3, undefined, envConfig.disableV3) ?? false;
229
232
  // Account adapter is built early so it can be used when building account service (after vault meta service)
230
233
  const resolvedAccountServiceConfig = accountServiceConfig ?? {};
231
- const resolvedAccountServiceAdapter = pickConfigValue(config?.accountServiceAdapter, resolvedAccountServiceConfig.adapter, envConfig.accountServiceAdapter);
234
+ const resolvedAccountServiceAdapter = pickConfigValue(config?.accountServiceAdapter, resolvedAccountServiceConfig.adapter, envConfig.accountServiceAdapter) ?? "fallback";
235
+ const effectiveAccountServiceAdapter = (() => {
236
+ if (!disableV3)
237
+ return resolvedAccountServiceAdapter;
238
+ if (resolvedAccountServiceAdapter === "v3") {
239
+ console.warn("[buildEulerSDK] disableV3 is set but accountServiceAdapter='v3'; forcing 'onchain'.");
240
+ return "onchain";
241
+ }
242
+ if (resolvedAccountServiceAdapter === "fallback")
243
+ return "onchain";
244
+ return resolvedAccountServiceAdapter;
245
+ })();
246
+ const accountV3Config = resolveV3AdapterConfig(defaultAccountV3AdapterConfig, {
247
+ explicitConfig: resolvedAccountServiceConfig.v3AdapterConfig,
248
+ explicitV3ApiKey: v3ApiKey,
249
+ envConfig,
250
+ config,
251
+ envEndpoint: envConfig.accountV3ApiUrl,
252
+ configEndpoint: config?.accountV3ApiUrl,
253
+ envApiKey: envConfig.accountV3ApiKey,
254
+ configApiKey: config?.accountV3ApiKey,
255
+ envExtra: {
256
+ ...maybeField("forceFresh", envConfig.accountV3ForceFresh),
257
+ },
258
+ configExtra: {
259
+ ...maybeField("forceFresh", config?.accountV3ForceFresh),
260
+ },
261
+ });
262
+ const accountVaultsSubgraphUrls = mergeNumberRecords(defaultAccountVaultsAdapterConfig.subgraphURLs, envConfig.accountVaultsSubgraphUrls, accountVaultsAdapterConfig?.subgraphURLs, config?.accountVaultsSubgraphUrls);
263
+ const canBuildAccountV3 = !!accountV3Config.endpoint;
264
+ const canBuildAccountOnchain = Object.keys(accountVaultsSubgraphUrls).length > 0;
232
265
  let accountOnchainAdapter;
233
- const accountAdapter = resolvedAccountServiceAdapter === "onchain"
234
- ? (() => {
235
- const accountVaultsAdapter = new AccountVaultsSubgraphAdapter({
236
- subgraphURLs: mergeNumberRecords(defaultAccountVaultsAdapterConfig.subgraphURLs, envConfig.accountVaultsSubgraphUrls, accountVaultsAdapterConfig?.subgraphURLs, config?.accountVaultsSubgraphUrls),
237
- }, resolvedBuildQuery);
238
- accountOnchainAdapter = new AccountOnchainAdapter(providerService, deploymentService, accountVaultsAdapter, resolvedBuildQuery);
239
- return accountOnchainAdapter;
240
- })()
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);
266
+ const buildAccountV3 = () => new AccountV3Adapter(accountV3Config, resolvedBuildQuery);
267
+ const buildAccountOnchain = () => {
268
+ const accountVaultsAdapter = new AccountVaultsSubgraphAdapter({ subgraphURLs: accountVaultsSubgraphUrls }, resolvedBuildQuery);
269
+ accountOnchainAdapter = new AccountOnchainAdapter(providerService, deploymentService, accountVaultsAdapter, resolvedBuildQuery);
270
+ return accountOnchainAdapter;
271
+ };
272
+ let accountAdapter;
273
+ if (effectiveAccountServiceAdapter === "v3") {
274
+ if (!canBuildAccountV3)
275
+ throw new Error("[buildEulerSDK] accountServiceAdapter='v3' but no V3 endpoint is configured.");
276
+ accountAdapter = buildAccountV3();
277
+ }
278
+ else if (effectiveAccountServiceAdapter === "onchain") {
279
+ if (!canBuildAccountOnchain)
280
+ throw new Error("[buildEulerSDK] accountServiceAdapter='onchain' but no accountVaultsSubgraphUrls are configured.");
281
+ accountAdapter = buildAccountOnchain();
282
+ }
283
+ else if (canBuildAccountV3 && canBuildAccountOnchain) {
284
+ accountAdapter = createFallbackAdapter(buildAccountV3(), buildAccountOnchain(), {
285
+ methods: ["fetchAccount", "fetchSubAccount"],
286
+ adapterNames: { primary: "accountV3", secondary: "accountOnchain" },
287
+ onFallback,
288
+ });
289
+ }
290
+ else if (canBuildAccountV3) {
291
+ console.warn("[buildEulerSDK] accountService fallback disabled: onchain adapter requires accountVaultsSubgraphUrls. Using V3 only.");
292
+ accountAdapter = buildAccountV3();
293
+ }
294
+ else if (canBuildAccountOnchain) {
295
+ console.warn("[buildEulerSDK] accountService fallback disabled: V3 endpoint not configured. Using onchain only.");
296
+ accountAdapter = buildAccountOnchain();
297
+ }
298
+ else {
299
+ throw new Error("[buildEulerSDK] cannot build account adapter: neither V3 endpoint nor accountVaultsSubgraphUrls are configured.");
300
+ }
257
301
  // Build wallet service if not overridden
258
302
  let walletService;
259
303
  if (servicesOverrides?.walletService) {
@@ -271,28 +315,65 @@ export async function buildEulerSDK(options = {}) {
271
315
  }
272
316
  else {
273
317
  const resolvedEVaultServiceConfig = eVaultServiceConfig ?? {};
274
- const resolvedEVaultServiceAdapter = pickConfigValue(config?.eVaultServiceAdapter, resolvedEVaultServiceConfig.adapter, envConfig.eVaultServiceAdapter);
275
- const selectedEVaultAdapter = resolvedEVaultServiceAdapter === "onchain"
276
- ? (() => {
277
- eVaultAdapter = new EVaultOnchainAdapter(providerService, deploymentService, resolvedBuildQuery);
278
- return eVaultAdapter;
279
- })()
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);
318
+ const resolvedEVaultServiceAdapter = pickConfigValue(config?.eVaultServiceAdapter, resolvedEVaultServiceConfig.adapter, envConfig.eVaultServiceAdapter) ?? "fallback";
319
+ const effectiveEVaultServiceAdapter = (() => {
320
+ if (!disableV3)
321
+ return resolvedEVaultServiceAdapter;
322
+ if (resolvedEVaultServiceAdapter === "v3") {
323
+ console.warn("[buildEulerSDK] disableV3 is set but eVaultServiceAdapter='v3'; forcing 'onchain'.");
324
+ return "onchain";
325
+ }
326
+ if (resolvedEVaultServiceAdapter === "fallback")
327
+ return "onchain";
328
+ return resolvedEVaultServiceAdapter;
329
+ })();
330
+ const eVaultV3Config = resolveV3AdapterConfig(defaultEVaultV3AdapterConfig, {
331
+ explicitConfig: resolvedEVaultServiceConfig.v3AdapterConfig,
332
+ explicitV3ApiKey: v3ApiKey,
333
+ envConfig,
334
+ config,
335
+ envEndpoint: envConfig.eVaultV3ApiUrl,
336
+ configEndpoint: config?.eVaultV3ApiUrl,
337
+ envApiKey: envConfig.eVaultV3ApiKey,
338
+ configApiKey: config?.eVaultV3ApiKey,
339
+ envExtra: { ...maybeField("batchSize", envConfig.eVaultV3BatchSize) },
340
+ configExtra: { ...maybeField("batchSize", config?.eVaultV3BatchSize) },
341
+ });
342
+ const canBuildEVaultV3 = !!eVaultV3Config.endpoint;
343
+ const canBuildEVaultOnchain = true; // onchain only needs provider + deployment, always available
344
+ const buildEVaultV3 = () => new EVaultV3Adapter(eVaultV3Config, providerService, resolvedBuildQuery);
345
+ const buildEVaultOnchain = () => {
346
+ eVaultAdapter = new EVaultOnchainAdapter(providerService, deploymentService, resolvedBuildQuery);
347
+ return eVaultAdapter;
348
+ };
349
+ let selectedEVaultAdapter;
350
+ if (effectiveEVaultServiceAdapter === "v3") {
351
+ if (!canBuildEVaultV3)
352
+ throw new Error("[buildEulerSDK] eVaultServiceAdapter='v3' but no V3 endpoint is configured.");
353
+ selectedEVaultAdapter = buildEVaultV3();
354
+ }
355
+ else if (effectiveEVaultServiceAdapter === "onchain") {
356
+ selectedEVaultAdapter = buildEVaultOnchain();
357
+ }
358
+ else if (canBuildEVaultV3 && canBuildEVaultOnchain) {
359
+ selectedEVaultAdapter = createFallbackAdapter(buildEVaultV3(), buildEVaultOnchain(), {
360
+ methods: [
361
+ "fetchVaults",
362
+ "fetchAllVaults",
363
+ "fetchVerifiedVaultsAddresses",
364
+ ],
365
+ adapterNames: { primary: "eVaultV3", secondary: "eVaultOnchain" },
366
+ onFallback,
367
+ });
368
+ }
369
+ else if (canBuildEVaultV3) {
370
+ console.warn("[buildEulerSDK] eVaultService fallback disabled: onchain adapter unavailable. Using V3 only.");
371
+ selectedEVaultAdapter = buildEVaultV3();
372
+ }
373
+ else {
374
+ console.warn("[buildEulerSDK] eVaultService fallback disabled: V3 endpoint not configured. Using onchain only.");
375
+ selectedEVaultAdapter = buildEVaultOnchain();
376
+ }
296
377
  eVaultService = new EVaultService(selectedEVaultAdapter, deploymentService);
297
378
  }
298
379
  // Build eulerEarn service if not overridden
@@ -302,19 +383,58 @@ export async function buildEulerSDK(options = {}) {
302
383
  }
303
384
  else {
304
385
  const resolvedEulerEarnServiceConfig = eulerEarnServiceConfig ?? {};
305
- const resolvedEulerEarnServiceAdapter = pickConfigValue(config?.eulerEarnServiceAdapter, resolvedEulerEarnServiceConfig.adapter, envConfig.eulerEarnServiceAdapter);
306
- const eulerEarnAdapter = resolvedEulerEarnServiceAdapter === "onchain"
307
- ? new EulerEarnOnchainAdapter(providerService, deploymentService, 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);
386
+ const resolvedEulerEarnServiceAdapter = pickConfigValue(config?.eulerEarnServiceAdapter, resolvedEulerEarnServiceConfig.adapter, envConfig.eulerEarnServiceAdapter) ?? "fallback";
387
+ const effectiveEulerEarnServiceAdapter = (() => {
388
+ if (!disableV3)
389
+ return resolvedEulerEarnServiceAdapter;
390
+ if (resolvedEulerEarnServiceAdapter === "v3") {
391
+ console.warn("[buildEulerSDK] disableV3 is set but eulerEarnServiceAdapter='v3'; forcing 'onchain'.");
392
+ return "onchain";
393
+ }
394
+ if (resolvedEulerEarnServiceAdapter === "fallback")
395
+ return "onchain";
396
+ return resolvedEulerEarnServiceAdapter;
397
+ })();
398
+ const eulerEarnV3Config = resolveV3AdapterConfig(defaultEulerEarnV3AdapterConfig, {
399
+ explicitConfig: resolvedEulerEarnServiceConfig.v3AdapterConfig,
400
+ explicitV3ApiKey: v3ApiKey,
401
+ envConfig,
402
+ config,
403
+ envEndpoint: envConfig.eulerEarnV3ApiUrl,
404
+ configEndpoint: config?.eulerEarnV3ApiUrl,
405
+ envApiKey: envConfig.eulerEarnV3ApiKey,
406
+ configApiKey: config?.eulerEarnV3ApiKey,
407
+ });
408
+ const canBuildEulerEarnV3 = !!eulerEarnV3Config.endpoint;
409
+ const buildEulerEarnV3 = () => new EulerEarnV3Adapter(eulerEarnV3Config, resolvedBuildQuery);
410
+ const buildEulerEarnOnchain = () => new EulerEarnOnchainAdapter(providerService, deploymentService, resolvedBuildQuery);
411
+ let eulerEarnAdapter;
412
+ if (effectiveEulerEarnServiceAdapter === "v3") {
413
+ if (!canBuildEulerEarnV3)
414
+ throw new Error("[buildEulerSDK] eulerEarnServiceAdapter='v3' but no V3 endpoint is configured.");
415
+ eulerEarnAdapter = buildEulerEarnV3();
416
+ }
417
+ else if (effectiveEulerEarnServiceAdapter === "onchain") {
418
+ eulerEarnAdapter = buildEulerEarnOnchain();
419
+ }
420
+ else if (canBuildEulerEarnV3) {
421
+ eulerEarnAdapter = createFallbackAdapter(buildEulerEarnV3(), buildEulerEarnOnchain(), {
422
+ methods: [
423
+ "fetchVaults",
424
+ "fetchAllVaults",
425
+ "fetchVerifiedVaultsAddresses",
426
+ ],
427
+ adapterNames: {
428
+ primary: "eulerEarnV3",
429
+ secondary: "eulerEarnOnchain",
430
+ },
431
+ onFallback,
432
+ });
433
+ }
434
+ else {
435
+ console.warn("[buildEulerSDK] eulerEarnService fallback disabled: V3 endpoint not configured. Using onchain only.");
436
+ eulerEarnAdapter = buildEulerEarnOnchain();
437
+ }
318
438
  eulerEarnService = new EulerEarnService(eulerEarnAdapter, deploymentService, eVaultService);
319
439
  }
320
440
  // Build securitizeVault service if not overridden
@@ -337,32 +457,75 @@ export async function buildEulerSDK(options = {}) {
337
457
  ? "subgraph"
338
458
  : "v3"
339
459
  : 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);
460
+ const resolvedVaultTypeAdapterKind = pickConfigValue(config?.vaultTypeAdapter, explicitVaultTypeAdapterKind, envConfig.vaultTypeAdapter, "fallback");
461
+ const effectiveVaultTypeAdapterKind = (() => {
462
+ if (!disableV3)
463
+ return resolvedVaultTypeAdapterKind;
464
+ if (resolvedVaultTypeAdapterKind === "v3") {
465
+ console.warn("[buildEulerSDK] disableV3 is set but vaultTypeAdapter='v3'; forcing 'subgraph'.");
466
+ return "subgraph";
467
+ }
468
+ if (resolvedVaultTypeAdapterKind === "fallback")
469
+ return "subgraph";
470
+ return resolvedVaultTypeAdapterKind;
471
+ })();
472
+ const vaultTypeSubgraphUrls = mergeNumberRecords(defaultAccountVaultsAdapterConfig.subgraphURLs, envConfig.vaultTypeSubgraphUrls, vaultTypeAdapterConfig && "subgraphURLs" in vaultTypeAdapterConfig
473
+ ? vaultTypeAdapterConfig.subgraphURLs
474
+ : undefined, config?.vaultTypeSubgraphUrls);
475
+ const vaultTypeV3Config = resolveV3AdapterConfig(defaultVaultTypeAdapterConfig, {
476
+ explicitConfig: vaultTypeAdapterConfig &&
477
+ !("subgraphURLs" in vaultTypeAdapterConfig)
478
+ ? {
479
+ ...vaultTypeAdapterConfig,
480
+ ...maybeField("typeMap", mergeStringRecords(envConfig.vaultTypeV3TypeMap, vaultTypeAdapterConfig.typeMap, config?.vaultTypeV3TypeMap)),
481
+ }
482
+ : {
483
+ ...maybeField("typeMap", mergeStringRecords(envConfig.vaultTypeV3TypeMap, undefined, config?.vaultTypeV3TypeMap)),
484
+ },
485
+ explicitV3ApiKey: v3ApiKey,
486
+ envConfig,
487
+ config,
488
+ envEndpoint: envConfig.vaultTypeV3ApiUrl,
489
+ configEndpoint: config?.vaultTypeV3ApiUrl,
490
+ envApiKey: envConfig.vaultTypeV3ApiKey,
491
+ configApiKey: config?.vaultTypeV3ApiKey,
492
+ });
493
+ const canBuildVaultTypeV3 = !!vaultTypeV3Config.endpoint;
494
+ const canBuildVaultTypeSubgraph = Object.keys(vaultTypeSubgraphUrls).length > 0;
495
+ const buildVaultTypeV3 = () => new VaultTypeV3Adapter(vaultTypeV3Config, resolvedBuildQuery);
496
+ const buildVaultTypeSubgraph = () => new VaultTypeSubgraphAdapter({ subgraphURLs: vaultTypeSubgraphUrls }, resolvedBuildQuery);
497
+ let vaultTypeAdapter;
498
+ if (effectiveVaultTypeAdapterKind === "v3") {
499
+ if (!canBuildVaultTypeV3)
500
+ throw new Error("[buildEulerSDK] vaultTypeAdapter='v3' but no V3 endpoint is configured.");
501
+ vaultTypeAdapter = buildVaultTypeV3();
502
+ }
503
+ else if (effectiveVaultTypeAdapterKind === "subgraph") {
504
+ if (!canBuildVaultTypeSubgraph)
505
+ throw new Error("[buildEulerSDK] vaultTypeAdapter='subgraph' but no subgraph URLs are configured.");
506
+ vaultTypeAdapter = buildVaultTypeSubgraph();
507
+ }
508
+ else if (canBuildVaultTypeV3 && canBuildVaultTypeSubgraph) {
509
+ vaultTypeAdapter = createFallbackAdapter(buildVaultTypeV3(), buildVaultTypeSubgraph(), {
510
+ methods: ["fetchVaultType", "fetchVaultFactories", "fetchVaultTypes"],
511
+ adapterNames: {
512
+ primary: "vaultTypeV3",
513
+ secondary: "vaultTypeSubgraph",
514
+ },
515
+ onFallback,
516
+ });
517
+ }
518
+ else if (canBuildVaultTypeV3) {
519
+ console.warn("[buildEulerSDK] vaultTypeAdapter fallback disabled: subgraph URLs not configured. Using V3 only.");
520
+ vaultTypeAdapter = buildVaultTypeV3();
521
+ }
522
+ else if (canBuildVaultTypeSubgraph) {
523
+ console.warn("[buildEulerSDK] vaultTypeAdapter fallback disabled: V3 endpoint not configured. Using subgraph only.");
524
+ vaultTypeAdapter = buildVaultTypeSubgraph();
525
+ }
526
+ else {
527
+ throw new Error("[buildEulerSDK] cannot build vault type adapter: neither V3 endpoint nor subgraph URLs are configured.");
528
+ }
366
529
  const allVaultServices = [
367
530
  {
368
531
  type: VaultType.EVault,
@@ -469,22 +632,64 @@ export async function buildEulerSDK(options = {}) {
469
632
  // Build rewards service if not overridden
470
633
  const rewardsService = servicesOverrides?.rewardsService ??
471
634
  (() => {
472
- const resolvedRewardsServiceAdapter = pickConfigValue(config?.rewardsServiceAdapter, rewardsServiceConfig?.adapter, envConfig.rewardsServiceAdapter, "v3");
635
+ const resolvedRewardsServiceAdapter = pickConfigValue(config?.rewardsServiceAdapter, rewardsServiceConfig?.adapter, envConfig.rewardsServiceAdapter) ?? "fallback";
636
+ const effectiveRewardsServiceAdapter = (() => {
637
+ if (!disableV3)
638
+ return resolvedRewardsServiceAdapter;
639
+ if (resolvedRewardsServiceAdapter === "v3") {
640
+ console.warn("[buildEulerSDK] disableV3 is set but rewardsServiceAdapter='v3'; forcing 'direct'.");
641
+ return "direct";
642
+ }
643
+ if (resolvedRewardsServiceAdapter === "fallback")
644
+ return "direct";
645
+ return resolvedRewardsServiceAdapter;
646
+ })();
473
647
  const directAdapterConfig = resolveRewardsDirectAdapterConfig(rewardsServiceConfig, envConfig, config);
648
+ // directAdapter is always constructed because RewardsService also reads
649
+ // merkl/fuul addresses from it, regardless of which adapter serves data.
474
650
  const directAdapter = new RewardsDirectAdapter(directAdapterConfig, resolvedBuildQuery);
475
- const rewardsAdapter = resolvedRewardsServiceAdapter === "direct"
476
- ? 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, {
651
+ const rewardsV3Config = resolveV3AdapterConfig(defaultRewardsV3AdapterConfig, {
652
+ explicitConfig: rewardsServiceConfig?.v3AdapterConfig,
653
+ explicitV3ApiKey: v3ApiKey,
654
+ envConfig,
655
+ config,
656
+ envEndpoint: envConfig.rewardsV3ApiUrl,
657
+ configEndpoint: config?.rewardsV3ApiUrl,
658
+ envApiKey: envConfig.rewardsV3ApiKey,
659
+ configApiKey: config?.rewardsV3ApiKey,
660
+ });
661
+ const canBuildRewardsV3 = !!rewardsV3Config.endpoint;
662
+ const buildRewardsV3 = () => new RewardsV3Adapter(rewardsV3Config, resolvedBuildQuery);
663
+ let rewardsAdapter;
664
+ if (effectiveRewardsServiceAdapter === "direct") {
665
+ rewardsAdapter = directAdapter;
666
+ }
667
+ else if (effectiveRewardsServiceAdapter === "v3") {
668
+ if (!canBuildRewardsV3)
669
+ throw new Error("[buildEulerSDK] rewardsServiceAdapter='v3' but no V3 endpoint is configured.");
670
+ rewardsAdapter = buildRewardsV3();
671
+ }
672
+ else if (canBuildRewardsV3) {
673
+ rewardsAdapter = createFallbackAdapter(buildRewardsV3(), directAdapter, {
674
+ methods: [
675
+ "fetchVaultRewards",
676
+ "fetchChainRewards",
677
+ "fetchUserRewards",
678
+ "fetchFuulTotals",
679
+ "fetchFuulClaimChecks",
680
+ ],
681
+ adapterNames: {
682
+ primary: "rewardsV3",
683
+ secondary: "rewardsDirect",
684
+ },
685
+ onFallback,
686
+ });
687
+ }
688
+ else {
689
+ console.warn("[buildEulerSDK] rewardsService fallback disabled: V3 endpoint not configured. Using direct only.");
690
+ rewardsAdapter = directAdapter;
691
+ }
692
+ return new RewardsService(rewardsAdapter, {
488
693
  merklDistributorAddress: directAdapter.getMerklDistributorAddress(),
489
694
  fuulManagerAddress: directAdapter.getFuulManagerAddress(),
490
695
  fuulFactoryAddress: directAdapter.getFuulFactoryAddress(),
@@ -532,6 +737,8 @@ export async function buildEulerSDK(options = {}) {
532
737
  ...maybeField("feeFlowControllerUtilAddress", config?.feeFlowControllerUtilAddress),
533
738
  ...maybeField("defaultBuyDeadlineSeconds", config?.feeFlowDefaultBuyDeadlineSeconds),
534
739
  }, resolvedBuildQuery);
740
+ const reulLockService = servicesOverrides?.reulLockService ??
741
+ new REULLockService(providerService, deploymentService);
535
742
  if (executionService instanceof ExecutionService) {
536
743
  executionService.setProviderService(providerService);
537
744
  executionService.setVaultMetaService(vaultMetaService);
@@ -613,6 +820,7 @@ export async function buildEulerSDK(options = {}) {
613
820
  intrinsicApyService,
614
821
  oracleAdapterService,
615
822
  feeFlowService,
823
+ reulLockService,
616
824
  plugins,
617
825
  });
618
826
  if (executionService instanceof ExecutionService) {
@@ -1 +1 @@
1
- {"version":3,"file":"buildSDK.js","sourceRoot":"","sources":["../../../src/sdk/buildSDK.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildSDK.js","sourceRoot":"","sources":["../../../src/sdk/buildSDK.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,18 @@ import type { Address } from "viem";
2
2
  import type { AccountServiceAdapter } from "../services/accountService/accountServiceConfig.js";
3
3
  import type { EVaultServiceAdapter } from "../services/vaults/eVaultService/eVaultServiceConfig.js";
4
4
  import type { EulerEarnServiceAdapter } from "../services/vaults/eulerEarnService/eulerEarnServiceConfig.js";
5
- export type VaultTypeAdapterKind = "v3" | "subgraph";
6
- export type RewardsServiceAdapterKind = "v3" | "direct";
5
+ export type VaultTypeAdapterKind = "v3" | "subgraph" | "fallback";
6
+ export type RewardsServiceAdapterKind = "v3" | "direct" | "fallback";
7
7
  export interface EulerSDKConfig {
8
8
  rpcUrls?: Record<number, string>;
9
9
  v3ApiUrl?: string;
10
10
  v3ApiKey?: string;
11
+ /**
12
+ * Globally disables the V3 HTTP adapter as the primary in all fallback chains.
13
+ * When true, services configured for `fallback` use the secondary adapter only
14
+ * (onchain / direct / subgraph). Per-service `adapter` overrides still apply.
15
+ */
16
+ disableV3?: boolean;
11
17
  accountServiceAdapter?: AccountServiceAdapter;
12
18
  accountV3ApiUrl?: string;
13
19
  accountV3ApiKey?: string;