@eulerxyz/euler-v2-sdk 0.1.3-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.
- package/README.md +24 -25
- package/dist/src/entities/Account.d.ts +48 -47
- package/dist/src/entities/Account.d.ts.map +1 -1
- package/dist/src/entities/Account.js +78 -64
- package/dist/src/entities/Account.js.map +1 -1
- package/dist/src/entities/ERC4626Vault.d.ts +6 -5
- package/dist/src/entities/ERC4626Vault.d.ts.map +1 -1
- package/dist/src/entities/ERC4626Vault.js +13 -6
- package/dist/src/entities/ERC4626Vault.js.map +1 -1
- package/dist/src/entities/EVault.d.ts +30 -15
- package/dist/src/entities/EVault.d.ts.map +1 -1
- package/dist/src/entities/EVault.js +66 -14
- package/dist/src/entities/EVault.js.map +1 -1
- package/dist/src/entities/EulerEarn.d.ts +3 -0
- package/dist/src/entities/EulerEarn.d.ts.map +1 -1
- package/dist/src/entities/EulerEarn.js +12 -3
- package/dist/src/entities/EulerEarn.js.map +1 -1
- package/dist/src/entities/EulerLabels.d.ts +74 -0
- package/dist/src/entities/EulerLabels.d.ts.map +1 -1
- package/dist/src/entities/Portfolio.d.ts +20 -19
- package/dist/src/entities/Portfolio.d.ts.map +1 -1
- package/dist/src/entities/Portfolio.js +34 -17
- package/dist/src/entities/Portfolio.js.map +1 -1
- package/dist/src/entities/Wallet.d.ts +1 -0
- package/dist/src/entities/Wallet.d.ts.map +1 -1
- package/dist/src/entities/Wallet.js +2 -2
- package/dist/src/entities/Wallet.js.map +1 -1
- package/dist/src/index.d.ts +4 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/plugins/keyring/keyringPlugin.d.ts.map +1 -1
- package/dist/src/plugins/keyring/keyringPlugin.js +59 -10
- package/dist/src/plugins/keyring/keyringPlugin.js.map +1 -1
- package/dist/src/plugins/pyth/pythPlugin.d.ts.map +1 -1
- package/dist/src/plugins/pyth/pythPlugin.js +132 -11
- package/dist/src/plugins/pyth/pythPlugin.js.map +1 -1
- package/dist/src/plugins/types.d.ts +4 -7
- package/dist/src/plugins/types.d.ts.map +1 -1
- package/dist/src/plugins/types.js.map +1 -1
- package/dist/src/sdk/buildSDK.d.ts +10 -4
- package/dist/src/sdk/buildSDK.d.ts.map +1 -1
- package/dist/src/sdk/buildSDK.js +359 -110
- package/dist/src/sdk/buildSDK.js.map +1 -1
- package/dist/src/sdk/config.d.ts +74 -0
- package/dist/src/sdk/config.d.ts.map +1 -0
- package/dist/src/sdk/config.js +187 -0
- package/dist/src/sdk/config.js.map +1 -0
- package/dist/src/sdk/defaultConfig.d.ts +5 -2
- package/dist/src/sdk/defaultConfig.d.ts.map +1 -1
- package/dist/src/sdk/defaultConfig.js +21 -18
- package/dist/src/sdk/defaultConfig.js.map +1 -1
- package/dist/src/sdk/sdk.d.ts +4 -3
- package/dist/src/sdk/sdk.d.ts.map +1 -1
- package/dist/src/sdk/sdk.js +2 -4
- package/dist/src/sdk/sdk.js.map +1 -1
- package/dist/src/services/accountService/accountService.d.ts.map +1 -1
- package/dist/src/services/accountService/accountService.js +10 -7
- package/dist/src/services/accountService/accountService.js.map +1 -1
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.d.ts +2 -2
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.d.ts.map +1 -1
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.js +22 -17
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.js.map +1 -1
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.d.ts +1 -1
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.d.ts.map +1 -1
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.js +16 -17
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.js.map +1 -1
- package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.d.ts.map +1 -1
- package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.js +58 -53
- package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.js.map +1 -1
- package/dist/src/services/deploymentService/deploymentService.d.ts +1 -0
- package/dist/src/services/deploymentService/deploymentService.d.ts.map +1 -1
- package/dist/src/services/deploymentService/deploymentService.js.map +1 -1
- package/dist/src/services/eulerLabelsService/eulerLabelsService.d.ts +18 -1
- package/dist/src/services/eulerLabelsService/eulerLabelsService.d.ts.map +1 -1
- package/dist/src/services/eulerLabelsService/eulerLabelsService.js +373 -30
- package/dist/src/services/eulerLabelsService/eulerLabelsService.js.map +1 -1
- package/dist/src/services/executionService/execute.d.ts +2 -1
- package/dist/src/services/executionService/execute.d.ts.map +1 -1
- package/dist/src/services/executionService/execute.js +10 -6
- package/dist/src/services/executionService/execute.js.map +1 -1
- package/dist/src/services/executionService/executionService.d.ts +10 -4
- package/dist/src/services/executionService/executionService.d.ts.map +1 -1
- package/dist/src/services/executionService/executionService.js +19 -2
- package/dist/src/services/executionService/executionService.js.map +1 -1
- package/dist/src/services/executionService/simulate.d.ts.map +1 -1
- package/dist/src/services/executionService/simulate.js +3 -2
- package/dist/src/services/executionService/simulate.js.map +1 -1
- package/dist/src/services/oracleAdapterService/oracleAdapterService.d.ts +5 -0
- package/dist/src/services/oracleAdapterService/oracleAdapterService.d.ts.map +1 -1
- package/dist/src/services/oracleAdapterService/oracleAdapterService.js +38 -11
- package/dist/src/services/oracleAdapterService/oracleAdapterService.js.map +1 -1
- package/dist/src/services/priceService/backendClient.d.ts +7 -11
- package/dist/src/services/priceService/backendClient.d.ts.map +1 -1
- package/dist/src/services/priceService/backendClient.js +7 -14
- package/dist/src/services/priceService/backendClient.js.map +1 -1
- package/dist/src/services/priceService/index.d.ts +2 -2
- package/dist/src/services/priceService/index.d.ts.map +1 -1
- package/dist/src/services/priceService/index.js +1 -1
- package/dist/src/services/priceService/index.js.map +1 -1
- package/dist/src/services/priceService/priceService.d.ts +19 -17
- package/dist/src/services/priceService/priceService.d.ts.map +1 -1
- package/dist/src/services/priceService/priceService.js +53 -76
- package/dist/src/services/priceService/priceService.js.map +1 -1
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.d.ts +1 -1
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.d.ts.map +1 -1
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.js +6 -13
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.js.map +1 -1
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.d.ts +1 -1
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.d.ts.map +1 -1
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.js +69 -51
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.js.map +1 -1
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.d.ts +5 -2
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.d.ts.map +1 -1
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.js +50 -18
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.js.map +1 -1
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.d.ts +1 -1
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.d.ts.map +1 -1
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.js +106 -111
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.js.map +1 -1
- package/dist/src/services/vaults/eVaultService/eVaultService.d.ts +4 -4
- package/dist/src/services/vaults/eVaultService/eVaultService.d.ts.map +1 -1
- package/dist/src/services/vaults/eVaultService/eVaultService.js +56 -57
- package/dist/src/services/vaults/eVaultService/eVaultService.js.map +1 -1
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.d.ts +1 -1
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.d.ts.map +1 -1
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.js +22 -21
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.js.map +1 -1
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.d.ts.map +1 -1
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.js +27 -32
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.js.map +1 -1
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.d.ts +1 -1
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.d.ts.map +1 -1
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.js +113 -72
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.js.map +1 -1
- package/dist/src/services/vaults/eulerEarnService/eulerEarnService.d.ts +5 -5
- package/dist/src/services/vaults/eulerEarnService/eulerEarnService.d.ts.map +1 -1
- package/dist/src/services/vaults/eulerEarnService/eulerEarnService.js +30 -28
- package/dist/src/services/vaults/eulerEarnService/eulerEarnService.js.map +1 -1
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.d.ts +1 -1
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.d.ts.map +1 -1
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.js +10 -7
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.js.map +1 -1
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.d.ts.map +1 -1
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.js +6 -8
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.js.map +1 -1
- package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.d.ts +2 -2
- package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.d.ts.map +1 -1
- package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.js +13 -18
- package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.js.map +1 -1
- package/dist/src/services/vaults/vaultMetaService/vaultMetaService.d.ts +3 -3
- package/dist/src/services/vaults/vaultMetaService/vaultMetaService.d.ts.map +1 -1
- package/dist/src/services/vaults/vaultMetaService/vaultMetaService.js +31 -32
- package/dist/src/services/vaults/vaultMetaService/vaultMetaService.js.map +1 -1
- package/dist/src/services/walletService/adapters/walletOnchainAdapter.d.ts +5 -1
- package/dist/src/services/walletService/adapters/walletOnchainAdapter.d.ts.map +1 -1
- package/dist/src/services/walletService/adapters/walletOnchainAdapter.js +181 -40
- package/dist/src/services/walletService/adapters/walletOnchainAdapter.js.map +1 -1
- package/dist/src/services/walletService/walletService.d.ts +1 -1
- package/dist/src/services/walletService/walletService.d.ts.map +1 -1
- package/dist/src/services/walletService/walletService.js +4 -3
- package/dist/src/services/walletService/walletService.js.map +1 -1
- package/dist/src/utils/accountComputations.d.ts +14 -13
- package/dist/src/utils/accountComputations.d.ts.map +1 -1
- package/dist/src/utils/accountComputations.js +59 -37
- package/dist/src/utils/accountComputations.js.map +1 -1
- package/dist/src/utils/buildQuery.d.ts +1 -0
- package/dist/src/utils/buildQuery.d.ts.map +1 -1
- package/dist/src/utils/buildQuery.js +1 -1
- package/dist/src/utils/buildQuery.js.map +1 -1
- package/dist/src/utils/entityDiagnostics.d.ts +75 -12
- package/dist/src/utils/entityDiagnostics.d.ts.map +1 -1
- package/dist/src/utils/entityDiagnostics.js +85 -19
- package/dist/src/utils/entityDiagnostics.js.map +1 -1
- package/dist/src/utils/eulerLabels.d.ts +34 -0
- package/dist/src/utils/eulerLabels.d.ts.map +1 -0
- package/dist/src/utils/eulerLabels.js +156 -0
- package/dist/src/utils/eulerLabels.js.map +1 -0
- package/dist/src/utils/healthCheckSets.d.ts +14 -0
- package/dist/src/utils/healthCheckSets.d.ts.map +1 -0
- package/dist/src/utils/healthCheckSets.js +174 -0
- package/dist/src/utils/healthCheckSets.js.map +1 -0
- package/dist/src/utils/normalization.d.ts +10 -4
- package/dist/src/utils/normalization.d.ts.map +1 -1
- package/dist/src/utils/normalization.js +38 -11
- package/dist/src/utils/normalization.js.map +1 -1
- package/dist/src/utils/oracle.d.ts.map +1 -1
- package/dist/src/utils/oracle.js +12 -1
- package/dist/src/utils/oracle.js.map +1 -1
- package/dist/src/utils/parsing.d.ts +2 -2
- package/dist/src/utils/parsing.d.ts.map +1 -1
- package/dist/src/utils/parsing.js +12 -22
- package/dist/src/utils/parsing.js.map +1 -1
- package/package.json +1 -1
package/dist/src/sdk/buildSDK.js
CHANGED
|
@@ -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,
|
|
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
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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(
|
|
41
|
-
const providerService = servicesOverrides?.providerService ?? new ProviderService(
|
|
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 =
|
|
233
|
+
const accountAdapter = resolvedAccountServiceAdapter === "onchain"
|
|
46
234
|
? (() => {
|
|
47
|
-
const accountVaultsAdapter = new AccountVaultsSubgraphAdapter(
|
|
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
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
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
|
|
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
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
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
|
|
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
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
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
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
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 =
|
|
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(
|
|
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(
|
|
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
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
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
|
|
228
|
-
const
|
|
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 =
|
|
475
|
+
const rewardsAdapter = resolvedRewardsServiceAdapter === "direct"
|
|
249
476
|
? directAdapter
|
|
250
|
-
: new RewardsV3Adapter({
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
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
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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
|