@eulerxyz/euler-v2-sdk 0.2.2-beta → 0.2.4-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 +14 -11
- package/dist/src/entities/Account.d.ts +1 -1
- package/dist/src/entities/Account.d.ts.map +1 -1
- package/dist/src/entities/Account.js +28 -38
- package/dist/src/entities/Account.js.map +1 -1
- package/dist/src/entities/ERC4626Vault.d.ts +8 -0
- package/dist/src/entities/ERC4626Vault.d.ts.map +1 -1
- package/dist/src/entities/ERC4626Vault.js +4 -0
- package/dist/src/entities/ERC4626Vault.js.map +1 -1
- package/dist/src/entities/EVault.d.ts +6 -0
- package/dist/src/entities/EVault.d.ts.map +1 -1
- package/dist/src/entities/EVault.js +11 -0
- package/dist/src/entities/EVault.js.map +1 -1
- package/dist/src/entities/Portfolio.d.ts +3 -3
- package/dist/src/entities/Portfolio.d.ts.map +1 -1
- package/dist/src/entities/Portfolio.js +8 -4
- package/dist/src/entities/Portfolio.js.map +1 -1
- package/dist/src/entities/SecuritizeCollateralVault.d.ts +2 -0
- package/dist/src/entities/SecuritizeCollateralVault.d.ts.map +1 -1
- package/dist/src/entities/SecuritizeCollateralVault.js +4 -0
- package/dist/src/entities/SecuritizeCollateralVault.js.map +1 -1
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/sdk/buildSDK.d.ts +8 -0
- package/dist/src/sdk/buildSDK.d.ts.map +1 -1
- package/dist/src/sdk/buildSDK.js +309 -101
- package/dist/src/sdk/buildSDK.js.map +1 -1
- package/dist/src/sdk/config.d.ts +8 -2
- package/dist/src/sdk/config.d.ts.map +1 -1
- package/dist/src/sdk/config.js +6 -1
- package/dist/src/sdk/config.js.map +1 -1
- package/dist/src/sdk/sdk.d.ts +3 -0
- package/dist/src/sdk/sdk.d.ts.map +1 -1
- package/dist/src/sdk/sdk.js +2 -0
- package/dist/src/sdk/sdk.js.map +1 -1
- package/dist/src/services/accountService/accountServiceConfig.d.ts +2 -2
- package/dist/src/services/accountService/accountServiceConfig.d.ts.map +1 -1
- package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.d.ts +2 -2
- package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.d.ts.map +1 -1
- package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.js +3 -3
- package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.js.map +1 -1
- package/dist/src/services/executionService/abis/cowSwapWrapperAbi.d.ts +199 -0
- package/dist/src/services/executionService/abis/cowSwapWrapperAbi.d.ts.map +1 -0
- package/dist/src/services/executionService/abis/cowSwapWrapperAbi.js +95 -0
- package/dist/src/services/executionService/abis/cowSwapWrapperAbi.js.map +1 -0
- package/dist/src/services/executionService/cowExecutor.d.ts +53 -0
- package/dist/src/services/executionService/cowExecutor.d.ts.map +1 -0
- package/dist/src/services/executionService/cowExecutor.js +390 -0
- package/dist/src/services/executionService/cowExecutor.js.map +1 -0
- package/dist/src/services/executionService/cowSwapHelpers.d.ts +254 -0
- package/dist/src/services/executionService/cowSwapHelpers.d.ts.map +1 -0
- package/dist/src/services/executionService/cowSwapHelpers.js +524 -0
- package/dist/src/services/executionService/cowSwapHelpers.js.map +1 -0
- package/dist/src/services/executionService/execute.d.ts +18 -3
- package/dist/src/services/executionService/execute.d.ts.map +1 -1
- package/dist/src/services/executionService/execute.js +9 -2
- package/dist/src/services/executionService/execute.js.map +1 -1
- package/dist/src/services/executionService/executionService.d.ts +53 -2
- package/dist/src/services/executionService/executionService.d.ts.map +1 -1
- package/dist/src/services/executionService/executionService.js +368 -15
- package/dist/src/services/executionService/executionService.js.map +1 -1
- package/dist/src/services/executionService/executionServiceTypes.d.ts +130 -3
- package/dist/src/services/executionService/executionServiceTypes.d.ts.map +1 -1
- package/dist/src/services/executionService/executionServiceTypes.js +13 -0
- package/dist/src/services/executionService/executionServiceTypes.js.map +1 -1
- package/dist/src/services/executionService/index.d.ts +5 -3
- package/dist/src/services/executionService/index.d.ts.map +1 -1
- package/dist/src/services/executionService/index.js +3 -2
- package/dist/src/services/executionService/index.js.map +1 -1
- package/dist/src/services/executionService/simulate.d.ts +1 -1
- package/dist/src/services/executionService/simulate.d.ts.map +1 -1
- package/dist/src/services/executionService/simulate.js +25 -9
- package/dist/src/services/executionService/simulate.js.map +1 -1
- package/dist/src/services/priceService/backendClient.d.ts +3 -1
- package/dist/src/services/priceService/backendClient.d.ts.map +1 -1
- package/dist/src/services/priceService/backendClient.js +30 -12
- package/dist/src/services/priceService/backendClient.js.map +1 -1
- package/dist/src/services/reulLockService/index.d.ts +3 -0
- package/dist/src/services/reulLockService/index.d.ts.map +1 -0
- package/dist/src/services/reulLockService/index.js +2 -0
- package/dist/src/services/reulLockService/index.js.map +1 -0
- package/dist/src/services/reulLockService/reulLockService.d.ts +82 -0
- package/dist/src/services/reulLockService/reulLockService.d.ts.map +1 -0
- package/dist/src/services/reulLockService/reulLockService.js +120 -0
- package/dist/src/services/reulLockService/reulLockService.js.map +1 -0
- package/dist/src/services/reulLockService/reulLockServiceTypes.d.ts +41 -0
- package/dist/src/services/reulLockService/reulLockServiceTypes.d.ts.map +1 -0
- package/dist/src/services/reulLockService/reulLockServiceTypes.js +2 -0
- package/dist/src/services/reulLockService/reulLockServiceTypes.js.map +1 -0
- package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.d.ts.map +1 -1
- package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.js +93 -5
- package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.js.map +1 -1
- package/dist/src/services/rewardsService/rewardsService.d.ts +1 -7
- package/dist/src/services/rewardsService/rewardsService.d.ts.map +1 -1
- package/dist/src/services/rewardsService/rewardsService.js +5 -130
- package/dist/src/services/rewardsService/rewardsService.js.map +1 -1
- package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts +13 -2
- package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts.map +1 -1
- package/dist/src/services/swapService/index.d.ts +2 -2
- package/dist/src/services/swapService/index.d.ts.map +1 -1
- package/dist/src/services/swapService/index.js.map +1 -1
- package/dist/src/services/swapService/swapService.d.ts +15 -0
- package/dist/src/services/swapService/swapService.d.ts.map +1 -1
- package/dist/src/services/swapService/swapService.js +217 -7
- package/dist/src/services/swapService/swapService.js.map +1 -1
- package/dist/src/services/swapService/swapServiceTypes.d.ts +33 -0
- package/dist/src/services/swapService/swapServiceTypes.d.ts.map +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 +103 -140
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.js.map +1 -1
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterTypes.d.ts +33 -33
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterTypes.d.ts.map +1 -1
- package/dist/src/services/vaults/eVaultService/eVaultServiceConfig.d.ts +2 -2
- package/dist/src/services/vaults/eVaultService/eVaultServiceConfig.d.ts.map +1 -1
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.d.ts +9 -9
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.d.ts.map +1 -1
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.js +10 -10
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.js.map +1 -1
- package/dist/src/services/vaults/eulerEarnService/eulerEarnServiceConfig.d.ts +2 -2
- package/dist/src/services/vaults/eulerEarnService/eulerEarnServiceConfig.d.ts.map +1 -1
- package/dist/src/utils/accountComputations.d.ts.map +1 -1
- package/dist/src/utils/accountComputations.js +4 -2
- package/dist/src/utils/accountComputations.js.map +1 -1
- package/dist/src/utils/eulerLabels.d.ts.map +1 -1
- package/dist/src/utils/eulerLabels.js +4 -1
- package/dist/src/utils/eulerLabels.js.map +1 -1
- package/dist/src/utils/fallbackAdapter.d.ts +69 -0
- package/dist/src/utils/fallbackAdapter.d.ts.map +1 -0
- package/dist/src/utils/fallbackAdapter.js +139 -0
- package/dist/src/utils/fallbackAdapter.js.map +1 -0
- package/dist/src/utils/parsing.d.ts +17 -1
- package/dist/src/utils/parsing.d.ts.map +1 -1
- package/dist/src/utils/parsing.js +39 -0
- package/dist/src/utils/parsing.js.map +1 -1
- package/package.json +1 -1
|
@@ -18,5 +18,9 @@ export class SecuritizeCollateralVault extends ERC4626Vault {
|
|
|
18
18
|
convertToShares(assets) {
|
|
19
19
|
return assets;
|
|
20
20
|
}
|
|
21
|
+
/** 1:1 conversion (rounding-up is a no-op when totalShares === totalAssets). */
|
|
22
|
+
previewWithdraw(assets) {
|
|
23
|
+
return assets;
|
|
24
|
+
}
|
|
21
25
|
}
|
|
22
26
|
//# sourceMappingURL=SecuritizeCollateralVault.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecuritizeCollateralVault.js","sourceRoot":"","sources":["../../../src/entities/SecuritizeCollateralVault.ts"],"names":[],"mappings":"AACA,OAAO,EACN,YAAY,GAGZ,MAAM,mBAAmB,CAAC;AAO3B,MAAM,OAAO,yBACZ,SAAQ,YAAY;IAGpB,QAAQ,CAAU;IAClB,SAAS,CAAS;IAElB,YAAY,IAAgC;QAC3C,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACjC,CAAC;IAED,IAAa,YAAY;QACxB,OAAO,KAAK,CAAC;IACd,CAAC;IAED,0EAA0E;IACjE,eAAe,CAAC,MAAc;QACtC,OAAO,MAAM,CAAC;IACf,CAAC;IAED,0EAA0E;IACjE,eAAe,CAAC,MAAc;QACtC,OAAO,MAAM,CAAC;IACf,CAAC;CACD"}
|
|
1
|
+
{"version":3,"file":"SecuritizeCollateralVault.js","sourceRoot":"","sources":["../../../src/entities/SecuritizeCollateralVault.ts"],"names":[],"mappings":"AACA,OAAO,EACN,YAAY,GAGZ,MAAM,mBAAmB,CAAC;AAO3B,MAAM,OAAO,yBACZ,SAAQ,YAAY;IAGpB,QAAQ,CAAU;IAClB,SAAS,CAAS;IAElB,YAAY,IAAgC;QAC3C,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACjC,CAAC;IAED,IAAa,YAAY;QACxB,OAAO,KAAK,CAAC;IACd,CAAC;IAED,0EAA0E;IACjE,eAAe,CAAC,MAAc;QACtC,OAAO,MAAM,CAAC;IACf,CAAC;IAED,0EAA0E;IACjE,eAAe,CAAC,MAAc;QACtC,OAAO,MAAM,CAAC;IACf,CAAC;IAED,gFAAgF;IACvE,eAAe,CAAC,MAAc;QACtC,OAAO,MAAM,CAAC;IACf,CAAC;CACD"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -31,6 +31,7 @@ export * from "./services/rewardsService/index.js";
|
|
|
31
31
|
export * from "./services/intrinsicApyService/index.js";
|
|
32
32
|
export * from "./services/oracleAdapterService/index.js";
|
|
33
33
|
export * from "./services/feeFlowService/index.js";
|
|
34
|
+
export * from "./services/reulLockService/index.js";
|
|
34
35
|
export * from "./plugins/index.js";
|
|
35
36
|
export * from "./utils/subAccounts.js";
|
|
36
37
|
export * from "./utils/accountPositionClassification.js";
|
|
@@ -42,6 +43,7 @@ export * from "./utils/oracle.js";
|
|
|
42
43
|
export * from "./utils/accountComputations.js";
|
|
43
44
|
export * from "./utils/callBundler.js";
|
|
44
45
|
export * from "./utils/entityDiagnostics.js";
|
|
46
|
+
export * from "./utils/fallbackAdapter.js";
|
|
45
47
|
export * from "./utils/normalization.js";
|
|
46
48
|
export * from "./utils/parsing.js";
|
|
47
49
|
export * from "./utils/decodeSmartContractErrors.js";
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yCAAyC,CAAC;AACxD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,qCAAqC,EAAE,MAAM,wBAAwB,CAAC;AAC/E,+CAA+C;AAC/C,OAAO,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG9D,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,sCAAsC,CAAC;AACrD,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,0CAA0C,CAAC;AACzD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sCAAsC,CAAC;AACrD,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,yCAAyC,CAAC;AACxD,cAAc,0CAA0C,CAAC;AACzD,cAAc,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yCAAyC,CAAC;AACxD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,qCAAqC,EAAE,MAAM,wBAAwB,CAAC;AAC/E,+CAA+C;AAC/C,OAAO,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG9D,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,sCAAsC,CAAC;AACrD,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,0CAA0C,CAAC;AACzD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sCAAsC,CAAC;AACrD,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,yCAAyC,CAAC;AACxD,cAAc,0CAA0C,CAAC;AACzD,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AAGpD,cAAc,oBAAoB,CAAC;AAGnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0CAA0C,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,eAAe,EACf,0BAA0B,EAC1B,mBAAmB,EACnB,2BAA2B,EAC3B,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAChF,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC;AAClC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -32,6 +32,7 @@ export * from "./services/rewardsService/index.js";
|
|
|
32
32
|
export * from "./services/intrinsicApyService/index.js";
|
|
33
33
|
export * from "./services/oracleAdapterService/index.js";
|
|
34
34
|
export * from "./services/feeFlowService/index.js";
|
|
35
|
+
export * from "./services/reulLockService/index.js";
|
|
35
36
|
// Plugins
|
|
36
37
|
export * from "./plugins/index.js";
|
|
37
38
|
// Utils
|
|
@@ -44,6 +45,7 @@ export * from "./utils/oracle.js";
|
|
|
44
45
|
export * from "./utils/accountComputations.js";
|
|
45
46
|
export * from "./utils/callBundler.js";
|
|
46
47
|
export * from "./utils/entityDiagnostics.js";
|
|
48
|
+
export * from "./utils/fallbackAdapter.js";
|
|
47
49
|
export * from "./utils/normalization.js";
|
|
48
50
|
export * from "./utils/parsing.js";
|
|
49
51
|
export * from "./utils/decodeSmartContractErrors.js";
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yCAAyC,CAAC;AACxD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,qCAAqC,EAAE,MAAM,wBAAwB,CAAC;AAC/E,+CAA+C;AAC/C,OAAO,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE9D,WAAW;AACX,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,sCAAsC,CAAC;AACrD,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,0CAA0C,CAAC;AACzD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sCAAsC,CAAC;AACrD,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,yCAAyC,CAAC;AACxD,cAAc,0CAA0C,CAAC;AACzD,cAAc,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yCAAyC,CAAC;AACxD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,qCAAqC,EAAE,MAAM,wBAAwB,CAAC;AAC/E,+CAA+C;AAC/C,OAAO,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE9D,WAAW;AACX,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,sCAAsC,CAAC;AACrD,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,0CAA0C,CAAC;AACzD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sCAAsC,CAAC;AACrD,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,yCAAyC,CAAC;AACxD,cAAc,0CAA0C,CAAC;AACzD,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AAEpD,UAAU;AACV,cAAc,oBAAoB,CAAC;AAEnC,QAAQ;AACR,cAAc,wBAAwB,CAAC;AACvC,cAAc,0CAA0C,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAIL,eAAe,EACf,0BAA0B,EAC1B,mBAAmB,EACnB,2BAA2B,EAC3B,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAE/B,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC;AAClC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC"}
|
|
@@ -20,12 +20,14 @@ import { type IRewardsService, type RewardsServiceConfig } from "../services/rew
|
|
|
20
20
|
import { type IIntrinsicApyService, type IntrinsicApyServiceConfig } from "../services/intrinsicApyService/index.js";
|
|
21
21
|
import { type IOracleAdapterService, type OracleAdapterServiceConfig } from "../services/oracleAdapterService/index.js";
|
|
22
22
|
import { type IFeeFlowService, type FeeFlowServiceConfig } from "../services/feeFlowService/index.js";
|
|
23
|
+
import { type IREULLockService } from "../services/reulLockService/index.js";
|
|
23
24
|
import { type EulerSDKConfig } from "./config.js";
|
|
24
25
|
import type { TokenlistServiceConfig } from "../services/tokenlistService/index.js";
|
|
25
26
|
import { type IVaultMetaService, type VaultEntity, type VaultServiceEntry } from "../services/vaults/vaultMetaService/index.js";
|
|
26
27
|
import type { VaultTypeSubgraphAdapterConfig, VaultTypeV3AdapterConfig } from "../services/vaults/vaultMetaService/index.js";
|
|
27
28
|
import type { IVaultEntity } from "../entities/Account.js";
|
|
28
29
|
import { type BuildQueryFn, type QueryCacheConfig } from "../utils/buildQuery.js";
|
|
30
|
+
import { type FallbackInfo } from "../utils/fallbackAdapter.js";
|
|
29
31
|
import type { EulerPlugin } from "../plugins/types.js";
|
|
30
32
|
export interface BuildSDKOverrides<TVaultEntity extends IVaultEntity = VaultEntity> {
|
|
31
33
|
abiService?: IABIService;
|
|
@@ -47,6 +49,7 @@ export interface BuildSDKOverrides<TVaultEntity extends IVaultEntity = VaultEnti
|
|
|
47
49
|
intrinsicApyService?: IIntrinsicApyService;
|
|
48
50
|
oracleAdapterService?: IOracleAdapterService;
|
|
49
51
|
feeFlowService?: IFeeFlowService;
|
|
52
|
+
reulLockService?: IREULLockService;
|
|
50
53
|
}
|
|
51
54
|
export type { EulerSDKConfig } from "./config.js";
|
|
52
55
|
export interface BuildSDKOptions<TVaultEntity extends IVaultEntity = VaultEntity> {
|
|
@@ -78,6 +81,11 @@ export interface BuildSDKOptions<TVaultEntity extends IVaultEntity = VaultEntity
|
|
|
78
81
|
buildQuery?: BuildQueryFn;
|
|
79
82
|
/** Plugins that enrich on-chain reads (via batchSimulation) and transaction plans (via processPlan). */
|
|
80
83
|
plugins?: EulerPlugin[];
|
|
84
|
+
/**
|
|
85
|
+
* Optional callback invoked whenever a built-in fallback adapter routes a call from the primary
|
|
86
|
+
* to the secondary. Use for telemetry, dashboards, or in-app diagnostics.
|
|
87
|
+
*/
|
|
88
|
+
onFallback?: (info: FallbackInfo) => void;
|
|
81
89
|
servicesOverrides?: BuildSDKOverrides<TVaultEntity>;
|
|
82
90
|
}
|
|
83
91
|
export declare function buildEulerSDK<TVaultEntity extends IVaultEntity = VaultEntity>(options?: BuildSDKOptions<TVaultEntity>): Promise<EulerSDK<TVaultEntity>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildSDK.d.ts","sourceRoot":"","sources":["../../../src/sdk/buildSDK.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"buildSDK.d.ts","sourceRoot":"","sources":["../../../src/sdk/buildSDK.ts"],"names":[],"mappings":"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"}
|
package/dist/src/sdk/buildSDK.js
CHANGED
|
@@ -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
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
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
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
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
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
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, "
|
|
341
|
-
const
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
}
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
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
|
|
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
|
|
476
|
-
|
|
477
|
-
:
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
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) {
|