@eulerxyz/euler-v2-sdk 0.1.0-beta → 0.1.2-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 +13 -11
- package/dist/src/entities/Account.d.ts +26 -9
- package/dist/src/entities/Account.d.ts.map +1 -0
- package/dist/src/entities/Account.js +50 -40
- package/dist/src/entities/Account.js.map +1 -1
- package/dist/src/entities/ERC4626Vault.d.ts +1 -0
- package/dist/src/entities/ERC4626Vault.d.ts.map +1 -0
- package/dist/src/entities/EVault.d.ts +1 -0
- package/dist/src/entities/EVault.d.ts.map +1 -0
- package/dist/src/entities/EulerEarn.d.ts +1 -0
- package/dist/src/entities/EulerEarn.d.ts.map +1 -0
- package/dist/src/entities/EulerLabels.d.ts +6 -11
- package/dist/src/entities/EulerLabels.d.ts.map +1 -0
- package/dist/src/entities/Portfolio.d.ts +113 -0
- package/dist/src/entities/Portfolio.d.ts.map +1 -0
- package/dist/src/entities/Portfolio.js +273 -0
- package/dist/src/entities/Portfolio.js.map +1 -0
- package/dist/src/entities/SecuritizeCollateralVault.d.ts +1 -0
- package/dist/src/entities/SecuritizeCollateralVault.d.ts.map +1 -0
- package/dist/src/entities/Wallet.d.ts +1 -0
- package/dist/src/entities/Wallet.d.ts.map +1 -0
- package/dist/src/index.d.ts +4 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +3 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/plugins/batchSimulation.d.ts +1 -0
- package/dist/src/plugins/batchSimulation.d.ts.map +1 -0
- package/dist/src/plugins/index.d.ts +1 -0
- package/dist/src/plugins/index.d.ts.map +1 -0
- package/dist/src/plugins/keyring/index.d.ts +1 -0
- package/dist/src/plugins/keyring/index.d.ts.map +1 -0
- package/dist/src/plugins/keyring/keyringPlugin.d.ts +1 -0
- package/dist/src/plugins/keyring/keyringPlugin.d.ts.map +1 -0
- package/dist/src/plugins/pyth/index.d.ts +1 -0
- package/dist/src/plugins/pyth/index.d.ts.map +1 -0
- package/dist/src/plugins/pyth/pythPlugin.d.ts +1 -0
- package/dist/src/plugins/pyth/pythPlugin.d.ts.map +1 -0
- package/dist/src/plugins/types.d.ts +1 -0
- package/dist/src/plugins/types.d.ts.map +1 -0
- package/dist/src/sdk/buildSDK.d.ts +3 -0
- package/dist/src/sdk/buildSDK.d.ts.map +1 -0
- package/dist/src/sdk/buildSDK.js +5 -1
- package/dist/src/sdk/buildSDK.js.map +1 -1
- package/dist/src/sdk/defaultConfig.d.ts +1 -0
- package/dist/src/sdk/defaultConfig.d.ts.map +1 -0
- package/dist/src/sdk/defaultConfig.js +20 -21
- package/dist/src/sdk/defaultConfig.js.map +1 -1
- package/dist/src/sdk/sdk.d.ts +4 -0
- package/dist/src/sdk/sdk.d.ts.map +1 -0
- package/dist/src/sdk/sdk.js +2 -0
- package/dist/src/sdk/sdk.js.map +1 -1
- package/dist/src/services/abiService/abiService.d.ts +1 -0
- package/dist/src/services/abiService/abiService.d.ts.map +1 -0
- package/dist/src/services/abiService/index.d.ts +1 -0
- package/dist/src/services/abiService/index.d.ts.map +1 -0
- package/dist/src/services/accountService/accountService.d.ts +1 -0
- package/dist/src/services/accountService/accountService.d.ts.map +1 -0
- package/dist/src/services/accountService/accountService.js.map +1 -1
- package/dist/src/services/accountService/accountServiceConfig.d.ts +1 -0
- package/dist/src/services/accountService/accountServiceConfig.d.ts.map +1 -0
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/abis/accountLensAbi.d.ts +1 -0
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/abis/accountLensAbi.d.ts.map +1 -0
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.d.ts +1 -0
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.d.ts.map +1 -0
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.js +23 -8
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.js.map +1 -1
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountLensTypes.d.ts +1 -0
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountLensTypes.d.ts.map +1 -0
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.d.ts +1 -0
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.d.ts.map +1 -0
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountVaultsSubgraphAdapter.d.ts +1 -0
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountVaultsSubgraphAdapter.d.ts.map +1 -0
- package/dist/src/services/accountService/adapters/accountOutputNormalization.d.ts +1 -0
- package/dist/src/services/accountService/adapters/accountOutputNormalization.d.ts.map +1 -0
- package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.d.ts +1 -0
- package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.d.ts.map +1 -0
- package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.js +9 -1
- package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.js.map +1 -1
- package/dist/src/services/accountService/adapters/accountVaultsSubgraphAdapter/accountVaultsSubgraphAdapter.d.ts +1 -0
- package/dist/src/services/accountService/adapters/accountVaultsSubgraphAdapter/accountVaultsSubgraphAdapter.d.ts.map +1 -0
- package/dist/src/services/accountService/index.d.ts +1 -0
- package/dist/src/services/accountService/index.d.ts.map +1 -0
- package/dist/src/services/deploymentService/deploymentService.d.ts +1 -0
- package/dist/src/services/deploymentService/deploymentService.d.ts.map +1 -0
- package/dist/src/services/deploymentService/index.d.ts +1 -0
- package/dist/src/services/deploymentService/index.d.ts.map +1 -0
- package/dist/src/services/eulerLabelsService/eulerLabelsService.d.ts +2 -10
- package/dist/src/services/eulerLabelsService/eulerLabelsService.d.ts.map +1 -0
- package/dist/src/services/eulerLabelsService/eulerLabelsService.js +43 -53
- package/dist/src/services/eulerLabelsService/eulerLabelsService.js.map +1 -1
- package/dist/src/services/eulerLabelsService/index.d.ts +1 -0
- package/dist/src/services/eulerLabelsService/index.d.ts.map +1 -0
- package/dist/src/services/executionService/abis/eVaultAbi.d.ts +1 -0
- package/dist/src/services/executionService/abis/eVaultAbi.d.ts.map +1 -0
- package/dist/src/services/executionService/abis/ethereumVaultConnectorAbi.d.ts +1 -0
- package/dist/src/services/executionService/abis/ethereumVaultConnectorAbi.d.ts.map +1 -0
- package/dist/src/services/executionService/abis/permit2PermitAbi.d.ts +1 -0
- package/dist/src/services/executionService/abis/permit2PermitAbi.d.ts.map +1 -0
- package/dist/src/services/executionService/abis/swapVerifierAbi.d.ts +1 -0
- package/dist/src/services/executionService/abis/swapVerifierAbi.d.ts.map +1 -0
- package/dist/src/services/executionService/abis/swapperAbi.d.ts +1 -0
- package/dist/src/services/executionService/abis/swapperAbi.d.ts.map +1 -0
- package/dist/src/services/executionService/executionService.d.ts +30 -2
- package/dist/src/services/executionService/executionService.d.ts.map +1 -0
- package/dist/src/services/executionService/executionService.js +129 -36
- package/dist/src/services/executionService/executionService.js.map +1 -1
- package/dist/src/services/executionService/executionServiceTypes.d.ts +13 -0
- package/dist/src/services/executionService/executionServiceTypes.d.ts.map +1 -0
- package/dist/src/services/executionService/executionServiceTypes.js.map +1 -1
- package/dist/src/services/executionService/index.d.ts +2 -1
- package/dist/src/services/executionService/index.d.ts.map +1 -0
- package/dist/src/services/feeFlowService/feeFlowService.d.ts +1 -0
- package/dist/src/services/feeFlowService/feeFlowService.d.ts.map +1 -0
- package/dist/src/services/feeFlowService/feeFlowServiceTypes.d.ts +1 -0
- package/dist/src/services/feeFlowService/feeFlowServiceTypes.d.ts.map +1 -0
- package/dist/src/services/feeFlowService/index.d.ts +1 -0
- package/dist/src/services/feeFlowService/index.d.ts.map +1 -0
- package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/index.d.ts +1 -0
- package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/index.d.ts.map +1 -0
- package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3Adapter.d.ts +1 -0
- package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3Adapter.d.ts.map +1 -0
- package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3AdapterTypes.d.ts +1 -0
- package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3AdapterTypes.d.ts.map +1 -0
- package/dist/src/services/intrinsicApyService/index.d.ts +1 -0
- package/dist/src/services/intrinsicApyService/index.d.ts.map +1 -0
- package/dist/src/services/intrinsicApyService/intrinsicApyService.d.ts +1 -0
- package/dist/src/services/intrinsicApyService/intrinsicApyService.d.ts.map +1 -0
- package/dist/src/services/oracleAdapterService/index.d.ts +1 -0
- package/dist/src/services/oracleAdapterService/index.d.ts.map +1 -0
- package/dist/src/services/oracleAdapterService/oracleAdapterService.d.ts +1 -0
- package/dist/src/services/oracleAdapterService/oracleAdapterService.d.ts.map +1 -0
- package/dist/src/services/portfolioService/index.d.ts +3 -0
- package/dist/src/services/portfolioService/index.d.ts.map +1 -0
- package/dist/src/services/portfolioService/index.js +2 -0
- package/dist/src/services/portfolioService/index.js.map +1 -0
- package/dist/src/services/portfolioService/portfolioService.d.ts +18 -0
- package/dist/src/services/portfolioService/portfolioService.d.ts.map +1 -0
- package/dist/src/services/portfolioService/portfolioService.js +21 -0
- package/dist/src/services/portfolioService/portfolioService.js.map +1 -0
- package/dist/src/services/priceService/backendClient.d.ts +1 -0
- package/dist/src/services/priceService/backendClient.d.ts.map +1 -0
- package/dist/src/services/priceService/index.d.ts +1 -0
- package/dist/src/services/priceService/index.d.ts.map +1 -0
- package/dist/src/services/priceService/priceService.d.ts +1 -0
- package/dist/src/services/priceService/priceService.d.ts.map +1 -0
- package/dist/src/services/priceService/utilsLensPriceAbi.d.ts +1 -0
- package/dist/src/services/priceService/utilsLensPriceAbi.d.ts.map +1 -0
- package/dist/src/services/providerService/index.d.ts +1 -0
- package/dist/src/services/providerService/index.d.ts.map +1 -0
- package/dist/src/services/providerService/providerService.d.ts +1 -0
- package/dist/src/services/providerService/providerService.d.ts.map +1 -0
- package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/index.d.ts +1 -0
- package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/index.d.ts.map +1 -0
- package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.d.ts +1 -0
- package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.d.ts.map +1 -0
- package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/index.d.ts +1 -0
- package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/index.d.ts.map +1 -0
- package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.d.ts +1 -0
- package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.d.ts.map +1 -0
- package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.d.ts +1 -0
- package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.d.ts.map +1 -0
- package/dist/src/services/rewardsService/index.d.ts +1 -0
- package/dist/src/services/rewardsService/index.d.ts.map +1 -0
- package/dist/src/services/rewardsService/rewardsService.d.ts +1 -0
- package/dist/src/services/rewardsService/rewardsService.d.ts.map +1 -0
- package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts +5 -4
- package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts.map +1 -0
- package/dist/src/services/simulationService/index.d.ts +2 -1
- package/dist/src/services/simulationService/index.d.ts.map +1 -0
- package/dist/src/services/simulationService/simulationService.d.ts +8 -0
- package/dist/src/services/simulationService/simulationService.d.ts.map +1 -0
- package/dist/src/services/simulationService/simulationService.js +43 -7
- package/dist/src/services/simulationService/simulationService.js.map +1 -1
- package/dist/src/services/swapService/index.d.ts +2 -1
- package/dist/src/services/swapService/index.d.ts.map +1 -0
- package/dist/src/services/swapService/swapService.d.ts +34 -2
- package/dist/src/services/swapService/swapService.d.ts.map +1 -0
- package/dist/src/services/swapService/swapService.js +123 -4
- package/dist/src/services/swapService/swapService.js.map +1 -1
- package/dist/src/services/swapService/swapServiceTypes.d.ts +12 -0
- package/dist/src/services/swapService/swapServiceTypes.d.ts.map +1 -0
- package/dist/src/services/swapService/swapVerifierAbi.d.ts +1 -0
- package/dist/src/services/swapService/swapVerifierAbi.d.ts.map +1 -0
- package/dist/src/services/tokenlistService/index.d.ts +1 -0
- package/dist/src/services/tokenlistService/index.d.ts.map +1 -0
- package/dist/src/services/tokenlistService/tokenlistService.d.ts +1 -0
- package/dist/src/services/tokenlistService/tokenlistService.d.ts.map +1 -0
- package/dist/src/services/tokenlistService/tokenlistServiceTypes.d.ts +1 -0
- package/dist/src/services/tokenlistService/tokenlistServiceTypes.d.ts.map +1 -0
- package/dist/src/services/vaults/IVaultService.d.ts +1 -0
- package/dist/src/services/vaults/IVaultService.d.ts.map +1 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/abis/vaultLensAbi.d.ts +1 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/abis/vaultLensAbi.d.ts.map +1 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultLensTypes.d.ts +1 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultLensTypes.d.ts.map +1 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.d.ts +1 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.d.ts.map +1 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.d.ts +1 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.d.ts.map +1 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.d.ts +1 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.d.ts.map +1 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.d.ts +1 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.d.ts.map +1 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.js +30 -58
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.js.map +1 -1
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterTypes.d.ts +8 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterTypes.d.ts.map +1 -0
- package/dist/src/services/vaults/eVaultService/eVaultService.d.ts +1 -0
- package/dist/src/services/vaults/eVaultService/eVaultService.d.ts.map +1 -0
- package/dist/src/services/vaults/eVaultService/eVaultServiceConfig.d.ts +1 -0
- package/dist/src/services/vaults/eVaultService/eVaultServiceConfig.d.ts.map +1 -0
- package/dist/src/services/vaults/eVaultService/index.d.ts +1 -0
- package/dist/src/services/vaults/eVaultService/index.d.ts.map +1 -0
- package/dist/src/services/vaults/eulerEarnService/adapters/abis/eulerEarnVaultLensAbi.d.ts +1 -0
- package/dist/src/services/vaults/eulerEarnService/adapters/abis/eulerEarnVaultLensAbi.d.ts.map +1 -0
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.d.ts +1 -0
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.d.ts.map +1 -0
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnLensTypes.d.ts +1 -0
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnLensTypes.d.ts.map +1 -0
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.d.ts +1 -0
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.d.ts.map +1 -0
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.d.ts +1 -0
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.d.ts.map +1 -0
- package/dist/src/services/vaults/eulerEarnService/eulerEarnService.d.ts +1 -0
- package/dist/src/services/vaults/eulerEarnService/eulerEarnService.d.ts.map +1 -0
- package/dist/src/services/vaults/eulerEarnService/eulerEarnServiceConfig.d.ts +1 -0
- package/dist/src/services/vaults/eulerEarnService/eulerEarnServiceConfig.d.ts.map +1 -0
- package/dist/src/services/vaults/eulerEarnService/index.d.ts +1 -0
- package/dist/src/services/vaults/eulerEarnService/index.d.ts.map +1 -0
- package/dist/src/services/vaults/index.d.ts +1 -0
- package/dist/src/services/vaults/index.d.ts.map +1 -0
- package/dist/src/services/vaults/securitizeVaultService/adapters/abis/erc4626EvcCollateralSecuritizeAbi.d.ts +1 -0
- package/dist/src/services/vaults/securitizeVaultService/adapters/abis/erc4626EvcCollateralSecuritizeAbi.d.ts.map +1 -0
- package/dist/src/services/vaults/securitizeVaultService/adapters/abis/utilsLensAbi.d.ts +1 -0
- package/dist/src/services/vaults/securitizeVaultService/adapters/abis/utilsLensAbi.d.ts.map +1 -0
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.d.ts +1 -0
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.d.ts.map +1 -0
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultLensTypes.d.ts +1 -0
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultLensTypes.d.ts.map +1 -0
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.d.ts +1 -0
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.d.ts.map +1 -0
- package/dist/src/services/vaults/securitizeVaultService/index.d.ts +1 -0
- package/dist/src/services/vaults/securitizeVaultService/index.d.ts.map +1 -0
- package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.d.ts +1 -0
- package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.d.ts.map +1 -0
- package/dist/src/services/vaults/vaultMetaService/adapters/IVaultTypeAdapter.d.ts +1 -0
- package/dist/src/services/vaults/vaultMetaService/adapters/IVaultTypeAdapter.d.ts.map +1 -0
- package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeSubgraphAdapter.d.ts +1 -0
- package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeSubgraphAdapter.d.ts.map +1 -0
- package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeV3Adapter.d.ts +1 -0
- package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeV3Adapter.d.ts.map +1 -0
- package/dist/src/services/vaults/vaultMetaService/index.d.ts +1 -0
- package/dist/src/services/vaults/vaultMetaService/index.d.ts.map +1 -0
- package/dist/src/services/vaults/vaultMetaService/vaultMetaService.d.ts +1 -0
- package/dist/src/services/vaults/vaultMetaService/vaultMetaService.d.ts.map +1 -0
- package/dist/src/services/walletService/adapters/walletOnchainAdapter.d.ts +1 -0
- package/dist/src/services/walletService/adapters/walletOnchainAdapter.d.ts.map +1 -0
- package/dist/src/services/walletService/index.d.ts +1 -0
- package/dist/src/services/walletService/index.d.ts.map +1 -0
- package/dist/src/services/walletService/walletService.d.ts +1 -0
- package/dist/src/services/walletService/walletService.d.ts.map +1 -0
- package/dist/src/utils/accountComputations.d.ts +30 -1
- package/dist/src/utils/accountComputations.d.ts.map +1 -0
- package/dist/src/utils/accountComputations.js +104 -3
- package/dist/src/utils/accountComputations.js.map +1 -1
- package/dist/src/utils/batch.d.ts +1 -0
- package/dist/src/utils/batch.d.ts.map +1 -0
- package/dist/src/utils/buildQuery.d.ts +1 -0
- package/dist/src/utils/buildQuery.d.ts.map +1 -0
- package/dist/src/utils/callBundler.d.ts +1 -0
- package/dist/src/utils/callBundler.d.ts.map +1 -0
- package/dist/src/utils/decodeSmartContractErrors.d.ts +1 -0
- package/dist/src/utils/decodeSmartContractErrors.d.ts.map +1 -0
- package/dist/src/utils/entityDiagnostics.d.ts +1 -0
- package/dist/src/utils/entityDiagnostics.d.ts.map +1 -0
- package/dist/src/utils/eulerErrorSelectors.d.ts +1 -0
- package/dist/src/utils/eulerErrorSelectors.d.ts.map +1 -0
- package/dist/src/utils/irm.d.ts +1 -0
- package/dist/src/utils/irm.d.ts.map +1 -0
- package/dist/src/utils/normalization.d.ts +1 -0
- package/dist/src/utils/normalization.d.ts.map +1 -0
- package/dist/src/utils/oracle.d.ts +1 -0
- package/dist/src/utils/oracle.d.ts.map +1 -0
- package/dist/src/utils/parsing.d.ts +1 -0
- package/dist/src/utils/parsing.d.ts.map +1 -0
- package/dist/src/utils/queryNames.d.ts +1 -0
- package/dist/src/utils/queryNames.d.ts.map +1 -0
- package/dist/src/utils/stateOverrides/accessList.d.ts +1 -0
- package/dist/src/utils/stateOverrides/accessList.d.ts.map +1 -0
- package/dist/src/utils/stateOverrides/approvalOverrides.d.ts +1 -0
- package/dist/src/utils/stateOverrides/approvalOverrides.d.ts.map +1 -0
- package/dist/src/utils/stateOverrides/balanceOverrides.d.ts +1 -0
- package/dist/src/utils/stateOverrides/balanceOverrides.d.ts.map +1 -0
- package/dist/src/utils/stateOverrides/getStateOverrides.d.ts +1 -0
- package/dist/src/utils/stateOverrides/getStateOverrides.d.ts.map +1 -0
- package/dist/src/utils/stateOverrides/index.d.ts +1 -0
- package/dist/src/utils/stateOverrides/index.d.ts.map +1 -0
- package/dist/src/utils/stateOverrides/mergeStateOverrides.d.ts +1 -0
- package/dist/src/utils/stateOverrides/mergeStateOverrides.d.ts.map +1 -0
- package/dist/src/utils/stateOverrides/types.d.ts +1 -0
- package/dist/src/utils/stateOverrides/types.d.ts.map +1 -0
- package/dist/src/utils/subAccounts.d.ts +14 -0
- package/dist/src/utils/subAccounts.d.ts.map +1 -0
- package/dist/src/utils/subAccounts.js +39 -3
- package/dist/src/utils/subAccounts.js.map +1 -1
- package/dist/src/utils/types.d.ts +1 -0
- package/dist/src/utils/types.d.ts.map +1 -0
- package/package.json +9 -4
|
@@ -12,9 +12,6 @@ export class EulerLabelsService {
|
|
|
12
12
|
resolveLogoUrl(filename) {
|
|
13
13
|
return this.resolveLogoUrlFn ? this.resolveLogoUrlFn(filename) : filename;
|
|
14
14
|
}
|
|
15
|
-
async fetchEulerLabelsVaults(chainId) {
|
|
16
|
-
return this.adapter.fetchEulerLabelsVaults(chainId);
|
|
17
|
-
}
|
|
18
15
|
async fetchEulerLabelsEntities(chainId) {
|
|
19
16
|
return this.adapter.fetchEulerLabelsEntities(chainId);
|
|
20
17
|
}
|
|
@@ -28,17 +25,11 @@ export class EulerLabelsService {
|
|
|
28
25
|
if (vaults.length === 0)
|
|
29
26
|
return;
|
|
30
27
|
const chainId = vaults[0].chainId;
|
|
31
|
-
const [
|
|
32
|
-
this.fetchEulerLabelsVaults(chainId).catch(() => ({})),
|
|
28
|
+
const [labelsEntities, labelsProducts, labelsPoints] = await Promise.all([
|
|
33
29
|
this.fetchEulerLabelsEntities(chainId).catch(() => ({})),
|
|
34
30
|
this.fetchEulerLabelsProducts(chainId).catch(() => ({})),
|
|
35
31
|
this.fetchEulerLabelsPoints(chainId).catch(() => []),
|
|
36
32
|
]);
|
|
37
|
-
// Build a lowercase address -> vault label lookup
|
|
38
|
-
const labelsVaultsLower = new Map();
|
|
39
|
-
for (const [addr, label] of Object.entries(labelsVaults)) {
|
|
40
|
-
labelsVaultsLower.set(addr.toLowerCase(), label);
|
|
41
|
-
}
|
|
42
33
|
// Pre-index products by lowercase vault address for efficient lookup
|
|
43
34
|
const productsByVault = new Map();
|
|
44
35
|
for (const product of Object.values(labelsProducts)) {
|
|
@@ -72,45 +63,57 @@ export class EulerLabelsService {
|
|
|
72
63
|
}
|
|
73
64
|
for (const vault of vaults) {
|
|
74
65
|
const addrLower = vault.address.toLowerCase();
|
|
75
|
-
|
|
76
|
-
if (!vaultLabel) {
|
|
77
|
-
vault.populated.labels = true;
|
|
78
|
-
continue;
|
|
79
|
-
}
|
|
80
|
-
// Resolve entities from the vault's entity field
|
|
81
|
-
const entitySlugs = Array.isArray(vaultLabel.entity)
|
|
82
|
-
? vaultLabel.entity
|
|
83
|
-
: vaultLabel.entity
|
|
84
|
-
? [vaultLabel.entity]
|
|
85
|
-
: [];
|
|
86
|
-
const entities = entitySlugs
|
|
87
|
-
.map((slug) => labelsEntities[slug])
|
|
88
|
-
.filter((e) => !!e)
|
|
89
|
-
.map((e) => ({
|
|
90
|
-
...e,
|
|
91
|
-
logo: e.logo ? this.resolveLogoUrl(e.logo) : e.logo,
|
|
92
|
-
}));
|
|
93
|
-
// Find matching products
|
|
66
|
+
// Resolve products this vault belongs to (with logos)
|
|
94
67
|
const products = (productsByVault.get(addrLower) ?? []).map((p) => ({
|
|
95
68
|
...p,
|
|
96
69
|
logo: p.logo ? this.resolveLogoUrl(p.logo) : undefined,
|
|
97
70
|
}));
|
|
98
|
-
//
|
|
71
|
+
// Derive curator entities from the vault's products. The product `entity`
|
|
72
|
+
// field is sometimes a bare string and sometimes an array — normalize to
|
|
73
|
+
// an array. Dedupe by slug while preserving first-seen order so the
|
|
74
|
+
// primary curator stays first.
|
|
75
|
+
const seenEntitySlugs = new Set();
|
|
76
|
+
const entities = [];
|
|
77
|
+
for (const product of products) {
|
|
78
|
+
if (!product.entity)
|
|
79
|
+
continue;
|
|
80
|
+
const slugs = Array.isArray(product.entity)
|
|
81
|
+
? product.entity
|
|
82
|
+
: [product.entity];
|
|
83
|
+
for (const slug of slugs) {
|
|
84
|
+
if (seenEntitySlugs.has(slug))
|
|
85
|
+
continue;
|
|
86
|
+
seenEntitySlugs.add(slug);
|
|
87
|
+
const entity = labelsEntities[slug];
|
|
88
|
+
if (!entity)
|
|
89
|
+
continue;
|
|
90
|
+
entities.push({
|
|
91
|
+
...entity,
|
|
92
|
+
logo: entity.logo ? this.resolveLogoUrl(entity.logo) : entity.logo,
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
// Resolve points where this vault is a collateral vault (with logos)
|
|
99
97
|
const points = (pointsByCollateralVault.get(addrLower) ?? []).map((p) => ({
|
|
100
98
|
...p,
|
|
101
99
|
logo: p.logo ? this.resolveLogoUrl(p.logo) : p.logo,
|
|
102
100
|
}));
|
|
103
101
|
const deprecationReason = deprecatedVaultsMap.get(addrLower);
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
102
|
+
const hasAnyLabel = products.length > 0 ||
|
|
103
|
+
entities.length > 0 ||
|
|
104
|
+
points.length > 0 ||
|
|
105
|
+
deprecationReason !== undefined;
|
|
106
|
+
if (hasAnyLabel) {
|
|
107
|
+
vault.eulerLabel = {
|
|
108
|
+
entities,
|
|
109
|
+
products,
|
|
110
|
+
points,
|
|
111
|
+
...(deprecationReason !== undefined && {
|
|
112
|
+
deprecated: true,
|
|
113
|
+
deprecationReason,
|
|
114
|
+
}),
|
|
115
|
+
};
|
|
116
|
+
}
|
|
114
117
|
vault.populated.labels = true;
|
|
115
118
|
}
|
|
116
119
|
}
|
|
@@ -122,16 +125,6 @@ export class EulerLabelsURLAdapter {
|
|
|
122
125
|
if (buildQuery)
|
|
123
126
|
applyBuildQuery(this, buildQuery);
|
|
124
127
|
}
|
|
125
|
-
queryEulerLabelsVaults = async (url) => {
|
|
126
|
-
const response = await fetch(url);
|
|
127
|
-
if (!response.ok) {
|
|
128
|
-
throw new Error(`Failed to fetch Euler labels vaults: ${response.statusText}`);
|
|
129
|
-
}
|
|
130
|
-
return response.json();
|
|
131
|
-
};
|
|
132
|
-
setQueryEulerLabelsVaults(fn) {
|
|
133
|
-
this.queryEulerLabelsVaults = fn;
|
|
134
|
-
}
|
|
135
128
|
queryEulerLabelsEntities = async (url) => {
|
|
136
129
|
const response = await fetch(url);
|
|
137
130
|
if (!response.ok) {
|
|
@@ -162,9 +155,6 @@ export class EulerLabelsURLAdapter {
|
|
|
162
155
|
setQueryEulerLabelsPoints(fn) {
|
|
163
156
|
this.queryEulerLabelsPoints = fn;
|
|
164
157
|
}
|
|
165
|
-
async fetchEulerLabelsVaults(chainId) {
|
|
166
|
-
return this.queryEulerLabelsVaults(this.config.getEulerLabelsVaultsUrl(chainId));
|
|
167
|
-
}
|
|
168
158
|
async fetchEulerLabelsEntities(chainId) {
|
|
169
159
|
return this.queryEulerLabelsEntities(this.config.getEulerLabelsEntitiesUrl(chainId));
|
|
170
160
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eulerLabelsService.js","sourceRoot":"","sources":["../../../../src/services/eulerLabelsService/eulerLabelsService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"eulerLabelsService.js","sourceRoot":"","sources":["../../../../src/services/eulerLabelsService/eulerLabelsService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/eulerLabelsService/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,kBAAkB,EAClB,qBAAqB,GACrB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACX,mBAAmB,EACnB,mBAAmB,EACnB,2BAA2B,GAC3B,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eVaultAbi.d.ts","sourceRoot":"","sources":["../../../../../src/services/executionService/abis/eVaultAbi.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAm9EE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ethereumVaultConnectorAbi.d.ts","sourceRoot":"","sources":["../../../../../src/services/executionService/abis/ethereumVaultConnectorAbi.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAy2Cd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permit2PermitAbi.d.ts","sourceRoot":"","sources":["../../../../../src/services/executionService/abis/permit2PermitAbi.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swapVerifierAbi.d.ts","sourceRoot":"","sources":["../../../../../src/services/executionService/abis/swapVerifierAbi.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoElB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swapperAbi.d.ts","sourceRoot":"","sources":["../../../../../src/services/executionService/abis/swapperAbi.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsJb,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { type Hex, type Address, type Abi } from "viem";
|
|
|
2
2
|
import type { DeploymentService } from "../deploymentService/index.js";
|
|
3
3
|
import type { IWalletService } from "../walletService/index.js";
|
|
4
4
|
import type { EulerPlugin } from "../../plugins/types.js";
|
|
5
|
-
import { type EVCBatchItem, type EncodeDepositArgs, type EncodeMintArgs, type EncodeWithdrawArgs, type EncodeRedeemArgs, type EncodeBorrowArgs, type EncodeLiquidationArgs, type EncodePullDebtArgs, type EncodeRepayWithSwapArgs, type EncodeRepayFromWalletArgs, type EncodeRepayFromDepositArgs, type EncodeSwapDebtArgs, type EncodeTransferArgs, type EncodeDepositWithSwapFromWalletArgs, type EncodeSwapCollateralArgs, type EncodePermit2CallArgs, type GetPermit2TypedDataArgs, type TransactionPlanItem, type TransactionPlan, type PlanDepositArgs, type PlanMintArgs, type PlanWithdrawArgs, type PlanRedeemArgs, type PlanBorrowArgs, type PlanLiquidationArgs, type PlanRepayFromWalletArgs, type PlanRepayFromDepositArgs, type PlanRepayWithSwapArgs, type PlanDepositWithSwapFromWalletArgs, type PlanSwapCollateralArgs, type PlanSwapDebtArgs, type PlanTransferArgs, type PlanPullDebtArgs, type BatchItemDescription, type EncodeMultiplyWithSwapArgs, type EncodeMultiplySameAssetArgs, type PlanMultiplyWithSwapArgs, type PlanMultiplySameAssetArgs, type PermitSingleTypedData, type ResolveRequiredApprovalsArgs, type ResolveRequiredApprovalsWithWalletArgs } from "./executionServiceTypes.js";
|
|
5
|
+
import { type EVCBatchItem, type EncodeDepositArgs, type EncodeMintArgs, type EncodeWithdrawArgs, type EncodeRedeemArgs, type EncodeBorrowArgs, type EncodeLiquidationArgs, type EncodePullDebtArgs, type EncodeRepayWithSwapArgs, type EncodeRepayFromWalletArgs, type EncodeRepayFromDepositArgs, type EncodeSwapDebtArgs, type EncodeTransferArgs, type EncodeDepositWithSwapFromWalletArgs, type EncodeSwapFromWalletArgs, type EncodeSwapCollateralArgs, type EncodePermit2CallArgs, type GetPermit2TypedDataArgs, type TransactionPlanItem, type TransactionPlan, type PlanDepositArgs, type PlanMintArgs, type PlanWithdrawArgs, type PlanRedeemArgs, type PlanBorrowArgs, type PlanLiquidationArgs, type PlanRepayFromWalletArgs, type PlanRepayFromDepositArgs, type PlanRepayWithSwapArgs, type PlanDepositWithSwapFromWalletArgs, type PlanSwapFromWalletArgs, type PlanSwapCollateralArgs, type PlanSwapDebtArgs, type PlanTransferArgs, type PlanPullDebtArgs, type BatchItemDescription, type EncodeMultiplyWithSwapArgs, type EncodeMultiplySameAssetArgs, type PlanMultiplyWithSwapArgs, type PlanMultiplySameAssetArgs, type PermitSingleTypedData, type ResolveRequiredApprovalsArgs, type ResolveRequiredApprovalsWithWalletArgs } from "./executionServiceTypes.js";
|
|
6
6
|
export interface IExecutionService {
|
|
7
7
|
encodeBatch(items: EVCBatchItem[]): Hex;
|
|
8
8
|
encodeDeposit(args: EncodeDepositArgs): EVCBatchItem[];
|
|
@@ -16,6 +16,7 @@ export interface IExecutionService {
|
|
|
16
16
|
encodeRepayFromDeposit(args: EncodeRepayFromDepositArgs): EVCBatchItem[];
|
|
17
17
|
encodeRepayWithSwap(args: EncodeRepayWithSwapArgs): EVCBatchItem[];
|
|
18
18
|
encodeDepositWithSwapFromWallet(args: EncodeDepositWithSwapFromWalletArgs): EVCBatchItem[];
|
|
19
|
+
encodeSwapFromWallet(args: EncodeSwapFromWalletArgs): EVCBatchItem[];
|
|
19
20
|
encodeSwapCollateral(args: EncodeSwapCollateralArgs): EVCBatchItem[];
|
|
20
21
|
encodeSwapDebt(args: EncodeSwapDebtArgs): EVCBatchItem[];
|
|
21
22
|
encodeTransfer(args: EncodeTransferArgs): EVCBatchItem[];
|
|
@@ -33,6 +34,7 @@ export interface IExecutionService {
|
|
|
33
34
|
planRepayFromDeposit(args: PlanRepayFromDepositArgs): TransactionPlan;
|
|
34
35
|
planRepayWithSwap(args: PlanRepayWithSwapArgs): TransactionPlan;
|
|
35
36
|
planDepositWithSwapFromWallet(args: PlanDepositWithSwapFromWalletArgs): TransactionPlan;
|
|
37
|
+
planSwapFromWallet(args: PlanSwapFromWalletArgs): TransactionPlan;
|
|
36
38
|
planSwapCollateral(args: PlanSwapCollateralArgs): TransactionPlan;
|
|
37
39
|
planSwapDebt(args: PlanSwapDebtArgs): TransactionPlan;
|
|
38
40
|
planTransfer(args: PlanTransferArgs): TransactionPlan;
|
|
@@ -237,7 +239,6 @@ export declare class ExecutionService implements IExecutionService {
|
|
|
237
239
|
* @param args.fromAsset - Underlying asset of fromVault (must equal liabilityAsset)
|
|
238
240
|
* @param args.disableControllerOnMax - When isMax, whether to disable controller for receiver (default true)
|
|
239
241
|
* @param args.isMax - If true, repays full debt (amount used for withdraw sizing where applicable)
|
|
240
|
-
* @param args.liabilityPermit2 - Optional Permit2 for liability asset when path uses transfer/repay
|
|
241
242
|
* @returns Array of EVC batch items. Throws if fromAsset !== liabilityAsset.
|
|
242
243
|
*/
|
|
243
244
|
encodeRepayFromDeposit(args: EncodeRepayFromDepositArgs): EVCBatchItem[];
|
|
@@ -267,6 +268,20 @@ export declare class ExecutionService implements IExecutionService {
|
|
|
267
268
|
* @returns Array of EVC batch items (transferFromSender, swap, verify, optional enableCollateral)
|
|
268
269
|
*/
|
|
269
270
|
encodeDepositWithSwapFromWallet(args: EncodeDepositWithSwapFromWalletArgs): EVCBatchItem[];
|
|
271
|
+
/**
|
|
272
|
+
* Encodes EVC batch items for swapping a token from the sender's wallet into another token
|
|
273
|
+
* and transferring the output to `swapQuote.receiver`.
|
|
274
|
+
* The approval is given to SwapVerifier, then transferFromSender pulls tokens to Swapper,
|
|
275
|
+
* swap executes, and verifyAmountMinAndTransfer sends the output to the receiver wallet.
|
|
276
|
+
*
|
|
277
|
+
* @param args - Wallet-swap encoding arguments
|
|
278
|
+
* @param args.chainId - Chain ID (unused, kept for encode API symmetry)
|
|
279
|
+
* @param args.swapQuote - Quote with swap and verify steps (verify type transferMin)
|
|
280
|
+
* @param args.amount - Amount of input token to transfer from wallet to swapper
|
|
281
|
+
* @param args.sender - Wallet address providing the tokens (onBehalfOfAccount for transferFromSender)
|
|
282
|
+
* @returns Array of EVC batch items (transferFromSender, swap, verify)
|
|
283
|
+
*/
|
|
284
|
+
encodeSwapFromWallet(args: EncodeSwapFromWalletArgs): EVCBatchItem[];
|
|
270
285
|
/**
|
|
271
286
|
* Encodes EVC batch items for swapping collateral: withdraw from vaultIn → swap → verify/skim to receiver; optional enable/disable collateral.
|
|
272
287
|
* Swap quote should come from swapService.fetchDepositQuote() or match the same structure (verify type skimMin).
|
|
@@ -543,6 +558,18 @@ export declare class ExecutionService implements IExecutionService {
|
|
|
543
558
|
* @returns Array of transaction plan items (approval to SwapVerifier + EVC batch)
|
|
544
559
|
*/
|
|
545
560
|
planDepositWithSwapFromWallet(args: PlanDepositWithSwapFromWalletArgs): TransactionPlan;
|
|
561
|
+
/**
|
|
562
|
+
* Builds a transaction plan for swapping a token from the sender's wallet into another
|
|
563
|
+
* token and transferring the output to the quote receiver.
|
|
564
|
+
*
|
|
565
|
+
* @param args - Wallet-swap plan arguments
|
|
566
|
+
* @param args.swapQuote - Quote from swap service; must use transferOutputToReceiver / transferMin verification
|
|
567
|
+
* @param args.amount - Amount of input token to transfer from wallet
|
|
568
|
+
* @param args.tokenIn - Input token address (for approval to SwapVerifier)
|
|
569
|
+
* @param args.account - Account entity; used for chainId and owner
|
|
570
|
+
* @returns Array of transaction plan items (approval to SwapVerifier + EVC batch)
|
|
571
|
+
*/
|
|
572
|
+
planSwapFromWallet(args: PlanSwapFromWalletArgs): TransactionPlan;
|
|
546
573
|
/**
|
|
547
574
|
* Builds a transaction plan for swapping collateral from one vault to another (withdraw → swap → deposit/skim).
|
|
548
575
|
*
|
|
@@ -617,3 +644,4 @@ export declare class ExecutionService implements IExecutionService {
|
|
|
617
644
|
*/
|
|
618
645
|
planMultiplySameAsset(args: PlanMultiplySameAssetArgs): TransactionPlan;
|
|
619
646
|
}
|
|
647
|
+
//# sourceMappingURL=executionService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executionService.d.ts","sourceRoot":"","sources":["../../../../src/services/executionService/executionService.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,KAAK,GAAG,EAER,KAAK,OAAO,EAMZ,KAAK,GAAG,EACR,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAMvE,OAAO,KAAK,EAEX,cAAc,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,mCAAmC,EACxC,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAE1B,KAAK,uBAAuB,EAE5B,KAAK,mBAAmB,EACxB,KAAK,eAAe,EAGpB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,iCAAiC,EACtC,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAG1B,KAAK,4BAA4B,EACjC,KAAK,sCAAsC,EAC3C,MAAM,4BAA4B,CAAC;AAcpC,MAAM,WAAW,iBAAiB;IACjC,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC;IACxC,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,YAAY,EAAE,CAAC;IACvD,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,YAAY,EAAE,CAAC;IACjD,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,YAAY,EAAE,CAAC;IACzD,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,YAAY,EAAE,CAAC;IACrD,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,YAAY,EAAE,CAAC;IACrD,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,YAAY,EAAE,CAAC;IAC/D,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,YAAY,EAAE,CAAC;IACzD,qBAAqB,CAAC,IAAI,EAAE,yBAAyB,GAAG,YAAY,EAAE,CAAC;IACvE,sBAAsB,CAAC,IAAI,EAAE,0BAA0B,GAAG,YAAY,EAAE,CAAC;IACzE,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,YAAY,EAAE,CAAC;IACnE,+BAA+B,CAC9B,IAAI,EAAE,mCAAmC,GACvC,YAAY,EAAE,CAAC;IAClB,oBAAoB,CAAC,IAAI,EAAE,wBAAwB,GAAG,YAAY,EAAE,CAAC;IACrE,oBAAoB,CAAC,IAAI,EAAE,wBAAwB,GAAG,YAAY,EAAE,CAAC;IACrE,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,YAAY,EAAE,CAAC;IACzD,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,YAAY,EAAE,CAAC;IACzD,sBAAsB,CAAC,IAAI,EAAE,0BAA0B,GAAG,YAAY,EAAE,CAAC;IACzE,uBAAuB,CAAC,IAAI,EAAE,2BAA2B,GAAG,YAAY,EAAE,CAAC;IAC3E,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,YAAY,CAAC;IAC7D,8IAA8I;IAC9I,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,CAAC;IACpD,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,eAAe,CAAC;IAC9C,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe,CAAC;IACtD,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,eAAe,CAAC;IAClD,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,eAAe,CAAC;IAClD,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe,CAAC;IAC5D,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,eAAe,CAAC;IACpE,oBAAoB,CAAC,IAAI,EAAE,wBAAwB,GAAG,eAAe,CAAC;IACtE,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,eAAe,CAAC;IAChE,6BAA6B,CAC5B,IAAI,EAAE,iCAAiC,GACrC,eAAe,CAAC;IACnB,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,eAAe,CAAC;IAClE,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,eAAe,CAAC;IAClE,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe,CAAC;IACtD,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe,CAAC;IACtD,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe,CAAC;IACtD,oBAAoB,CAAC,IAAI,EAAE,wBAAwB,GAAG,eAAe,CAAC;IACtE,qBAAqB,CAAC,IAAI,EAAE,yBAAyB,GAAG,eAAe,CAAC;IAExE,kCAAkC,CACjC,IAAI,EAAE,sCAAsC,GAC1C,eAAe,CAAC;IACnB,wBAAwB,CACvB,IAAI,EAAE,4BAA4B,GAChC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5B,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,qBAAqB,CAAC;IAC1E,aAAa,CACZ,KAAK,EAAE,YAAY,EAAE,EACrB,SAAS,CAAC,EAAE,GAAG,EAAE,GACf,oBAAoB,EAAE,CAAC;IAC1B,6LAA6L;IAC7L,UAAU,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,eAAe,CAAC;IACtD,iGAAiG;IACjG,uBAAuB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC;CAChE;AAOD,qBAAa,gBAAiB,YAAW,iBAAiB;IAIxD,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,aAAa;IAJtB,OAAO,CAAC,OAAO,CAAqB;gBAG3B,iBAAiB,EAAE,iBAAiB,EACpC,aAAa,EAAE,cAAc;IAGtC,gBAAgB,CAAC,aAAa,EAAE,cAAc,GAAG,IAAI;IAIrD,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI;IAIxC;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,GAAG;IAQvC;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,EACb,OAAO,EACP,KAAK,EACL,MAAM,EACN,QAAQ,EACR,KAAK,EACL,gBAAgB,EAChB,OAAO,GACP,EAAE,iBAAiB,GAAG,YAAY,EAAE;IAiCrC;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,QAAQ,EACR,KAAK,EACL,gBAAgB,EAChB,OAAO,GACP,EAAE,cAAc,GAAG,YAAY,EAAE;IAiClC;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EACd,OAAO,EACP,KAAK,EACL,MAAM,EACN,QAAQ,EACR,KAAK,EACL,iBAAiB,GACjB,EAAE,kBAAkB,GAAG,YAAY,EAAE;IAuBtC;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,EACZ,OAAO,EACP,KAAK,EACL,MAAM,EACN,QAAQ,EACR,KAAK,EACL,iBAAiB,GACjB,EAAE,gBAAgB,GAAG,YAAY,EAAE;IAuBpC;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,YAAY,EAAE;IA6DpD;;;;;;;;;;;;;;OAcG;IACH,iBAAiB,CAAC,EACjB,OAAO,EACP,KAAK,EACL,QAAQ,EACR,UAAU,EACV,WAAW,EACX,eAAe,EACf,2BAA2B,EAC3B,gBAAuB,EACvB,gBAAuB,GACvB,EAAE,qBAAqB,GAAG,YAAY,EAAE;IAwCzC;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EACd,OAAO,EACP,KAAK,EACL,MAAM,EACN,IAAI,EACJ,EAAE,EACF,gBAAuB,GACvB,EAAE,kBAAkB,GAAG,YAAY,EAAE;IAuBtC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,sBAAsB,CAAC,IAAI,EAAE,0BAA0B,GAAG,YAAY,EAAE;IAuGxE;;;;;;;;;;;;;;;;;;;OAmBG;IACH,uBAAuB,CAAC,IAAI,EAAE,2BAA2B,GAAG,YAAY,EAAE;IA+F1E;;;;;;;;;;;;;OAaG;IACH,qBAAqB,CAAC,IAAI,EAAE,yBAAyB,GAAG,YAAY,EAAE;IA6CtE;;;;;;;;;;;;;;;;OAgBG;IACH,sBAAsB,CAAC,IAAI,EAAE,0BAA0B,GAAG,YAAY,EAAE;IA0CxE;;;;;;;;;;;OAWG;IACH,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,YAAY,EAAE;IA8DlE;;;;;;;;;;;OAWG;IACH,+BAA+B,CAC9B,IAAI,EAAE,mCAAmC,GACvC,YAAY,EAAE;IAyDjB;;;;;;;;;;;;OAYG;IACH,oBAAoB,CAAC,IAAI,EAAE,wBAAwB,GAAG,YAAY,EAAE;IA0CpE;;;;;;;;;;;OAWG;IACH,oBAAoB,CAAC,IAAI,EAAE,wBAAwB,GAAG,YAAY,EAAE;IA0EpE;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EACd,OAAO,EACP,SAAS,EACT,gBAAuB,EACvB,sBAA6B,EAC7B,KAAa,GACb,EAAE,kBAAkB,GAAG,YAAY,EAAE;IAwDtC;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,EACd,OAAO,EACP,KAAK,EACL,EAAE,EACF,MAAM,EACN,IAAI,EACJ,kBAAkB,EAClB,qBAAqB,GACrB,EAAE,kBAAkB,GAAG,YAAY,EAAE;IA4BtC;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,YAAY;IAiB5D,sBAAsB,CACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,OAAO,GACZ,YAAY;IAef,uBAAuB,CACtB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,OAAO,GACZ,YAAY;IAef,sBAAsB,CACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,OAAO,GACZ,YAAY;IAef,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,YAAY;IAavE;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,qBAAqB;IA+BzE;;;;;;;;;;;;OAYG;IACH,aAAa,CACZ,KAAK,EAAE,YAAY,EAAE,EACrB,SAAS,CAAC,EAAE,GAAG,EAAE,GACf,oBAAoB,EAAE;IAiFzB;;;;;;;;OAQG;IACH,UAAU,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,eAAe;IAgCrD;;;;;;;OAOG;IACH,uBAAuB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,eAAe;IAK/D;;OAEG;IACH,OAAO,CAAC,sCAAsC;IAqC9C;;OAEG;IACH,OAAO,CAAC,4CAA4C;IAoHpD;;;;;;;;;;;;OAYG;IACH,kCAAkC,CACjC,IAAI,EAAE,sCAAsC,GAC1C,mBAAmB,EAAE;IAkJxB;;;;;;;;;;;OAWG;IACG,wBAAwB,CAC7B,IAAI,EAAE,4BAA4B,GAChC,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAqDjC;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,mBAAmB,EAAE;IAoCzD;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,eAAe;IAgD7C;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe;IAiCrD;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,eAAe;IAiCjD;;;;;;;;;;;;;;;OAeG;IACH,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,eAAe;IAsDjD;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe;IAsD3D;;;;;;;;;;OAUG;IACH,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,eAAe;IAyCnE;;;;;;;;;;;;OAYG;IACH,oBAAoB,CAAC,IAAI,EAAE,wBAAwB,GAAG,eAAe;IA+DrE;;;;;;;;OAQG;IACH,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,eAAe;IAyC/D;;;;;;;;;;;;OAYG;IACH,6BAA6B,CAC5B,IAAI,EAAE,iCAAiC,GACrC,eAAe;IAwClB;;;;;;;;;;OAUG;IACH,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,eAAe;IA2BjE;;;;;;;OAOG;IACH,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,eAAe;IAuCjE;;;;;;;OAOG;IACH,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe;IAmCrD;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe;IAmCrD;;;;;;;;;;OAUG;IACH,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe;IA0BrD;;;;;;;;;;;OAWG;IACH,oBAAoB,CAAC,IAAI,EAAE,wBAAwB,GAAG,eAAe;IAmErE;;;;;;;;;;;;;;OAcG;IACH,qBAAqB,CAAC,IAAI,EAAE,yBAAyB,GAAG,eAAe;CA6DvE"}
|
|
@@ -5,6 +5,12 @@ import { permit2PermitAbi } from "./abis/permit2PermitAbi.js";
|
|
|
5
5
|
import { swapperAbi } from "./abis/swapperAbi.js";
|
|
6
6
|
import { swapVerifierAbi } from "./abis/swapVerifierAbi.js";
|
|
7
7
|
import { PERMIT2_TYPES, } from "./executionServiceTypes.js";
|
|
8
|
+
const TOKENS_REQUIRING_ZERO_APPROVAL_RESET = {
|
|
9
|
+
1: [getAddress("0xdAC17F958D2ee523a2206206994597C13D831ec7")],
|
|
10
|
+
};
|
|
11
|
+
function requiresZeroApprovalReset(chainId, token) {
|
|
12
|
+
return (TOKENS_REQUIRING_ZERO_APPROVAL_RESET[chainId]?.some((resetToken) => resetToken === getAddress(token)) ?? false);
|
|
13
|
+
}
|
|
8
14
|
const PERMIT2_SIG_WINDOW = 60n * 60n;
|
|
9
15
|
const WAD = 10n ** 18n;
|
|
10
16
|
// TODO explain how this service is coupled to the concrete abis of ERC4626, permit2 and EVK.
|
|
@@ -545,11 +551,10 @@ export class ExecutionService {
|
|
|
545
551
|
* @param args.fromAsset - Underlying asset of fromVault (must equal liabilityAsset)
|
|
546
552
|
* @param args.disableControllerOnMax - When isMax, whether to disable controller for receiver (default true)
|
|
547
553
|
* @param args.isMax - If true, repays full debt (amount used for withdraw sizing where applicable)
|
|
548
|
-
* @param args.liabilityPermit2 - Optional Permit2 for liability asset when path uses transfer/repay
|
|
549
554
|
* @returns Array of EVC batch items. Throws if fromAsset !== liabilityAsset.
|
|
550
555
|
*/
|
|
551
556
|
encodeRepayFromDeposit(args) {
|
|
552
|
-
const { chainId, liabilityVault, liabilityAsset, liabilityAmount, from, receiver, fromVault, fromAsset, disableControllerOnMax = true, isMax = false,
|
|
557
|
+
const { chainId, liabilityVault, liabilityAsset, liabilityAmount, from, receiver, fromVault, fromAsset, disableControllerOnMax = true, isMax = false, } = args;
|
|
553
558
|
// PATH 1: Same asset, same vault - use repayWithShares
|
|
554
559
|
if (fromAsset === liabilityAsset && fromVault === liabilityVault) {
|
|
555
560
|
return this.encodeRepayWithSharesSameAssetAndVault({
|
|
@@ -564,7 +569,6 @@ export class ExecutionService {
|
|
|
564
569
|
// PATH 2: Same asset, different vault
|
|
565
570
|
if (fromAsset === liabilityAsset) {
|
|
566
571
|
return this.encodeRepayWithSharesSameAssetDifferentVault({
|
|
567
|
-
chainId,
|
|
568
572
|
fromVault,
|
|
569
573
|
toVault: liabilityVault,
|
|
570
574
|
amount: liabilityAmount,
|
|
@@ -572,7 +576,6 @@ export class ExecutionService {
|
|
|
572
576
|
from,
|
|
573
577
|
isMax,
|
|
574
578
|
disableControllerOnMax,
|
|
575
|
-
permit2: liabilityPermit2,
|
|
576
579
|
});
|
|
577
580
|
}
|
|
578
581
|
throw new Error("encodeRepayFromDeposit only supports same-asset paths");
|
|
@@ -685,6 +688,53 @@ export class ExecutionService {
|
|
|
685
688
|
}
|
|
686
689
|
return items;
|
|
687
690
|
}
|
|
691
|
+
/**
|
|
692
|
+
* Encodes EVC batch items for swapping a token from the sender's wallet into another token
|
|
693
|
+
* and transferring the output to `swapQuote.receiver`.
|
|
694
|
+
* The approval is given to SwapVerifier, then transferFromSender pulls tokens to Swapper,
|
|
695
|
+
* swap executes, and verifyAmountMinAndTransfer sends the output to the receiver wallet.
|
|
696
|
+
*
|
|
697
|
+
* @param args - Wallet-swap encoding arguments
|
|
698
|
+
* @param args.chainId - Chain ID (unused, kept for encode API symmetry)
|
|
699
|
+
* @param args.swapQuote - Quote with swap and verify steps (verify type transferMin)
|
|
700
|
+
* @param args.amount - Amount of input token to transfer from wallet to swapper
|
|
701
|
+
* @param args.sender - Wallet address providing the tokens (onBehalfOfAccount for transferFromSender)
|
|
702
|
+
* @returns Array of EVC batch items (transferFromSender, swap, verify)
|
|
703
|
+
*/
|
|
704
|
+
encodeSwapFromWallet(args) {
|
|
705
|
+
const { swapQuote, amount, sender } = args;
|
|
706
|
+
const items = [];
|
|
707
|
+
if (swapQuote.verify.type !== "transferMin") {
|
|
708
|
+
throw new Error("Invalid swap quote type for wallet swap - must be transferMin");
|
|
709
|
+
}
|
|
710
|
+
items.push({
|
|
711
|
+
targetContract: swapQuote.verify.verifierAddress,
|
|
712
|
+
onBehalfOfAccount: sender,
|
|
713
|
+
value: 0n,
|
|
714
|
+
data: encodeFunctionData({
|
|
715
|
+
abi: swapVerifierAbi,
|
|
716
|
+
functionName: "transferFromSender",
|
|
717
|
+
args: [
|
|
718
|
+
swapQuote.tokenIn.address,
|
|
719
|
+
amount,
|
|
720
|
+
swapQuote.swap.swapperAddress,
|
|
721
|
+
],
|
|
722
|
+
}),
|
|
723
|
+
});
|
|
724
|
+
items.push({
|
|
725
|
+
targetContract: swapQuote.swap.swapperAddress,
|
|
726
|
+
onBehalfOfAccount: sender,
|
|
727
|
+
value: 0n,
|
|
728
|
+
data: swapQuote.swap.swapperData,
|
|
729
|
+
});
|
|
730
|
+
items.push({
|
|
731
|
+
targetContract: swapQuote.verify.verifierAddress,
|
|
732
|
+
onBehalfOfAccount: sender,
|
|
733
|
+
value: 0n,
|
|
734
|
+
data: swapQuote.verify.verifierData,
|
|
735
|
+
});
|
|
736
|
+
return items;
|
|
737
|
+
}
|
|
688
738
|
/**
|
|
689
739
|
* Encodes EVC batch items for swapping collateral: withdraw from vaultIn → swap → verify/skim to receiver; optional enable/disable collateral.
|
|
690
740
|
* Swap quote should come from swapService.fetchDepositQuote() or match the same structure (verify type skimMin).
|
|
@@ -1118,8 +1168,8 @@ export class ExecutionService {
|
|
|
1118
1168
|
/**
|
|
1119
1169
|
* Encodes batch items for repaying with shares from same asset but different vault
|
|
1120
1170
|
*/
|
|
1121
|
-
encodeRepayWithSharesSameAssetDifferentVault({
|
|
1122
|
-
receiver, from, isMax, disableControllerOnMax,
|
|
1171
|
+
encodeRepayWithSharesSameAssetDifferentVault({ fromVault, toVault, amount, // if isMax, this should be the total current debt
|
|
1172
|
+
receiver, from, isMax, disableControllerOnMax, }) {
|
|
1123
1173
|
const items = [];
|
|
1124
1174
|
if (isMax) {
|
|
1125
1175
|
// if amount was max uint, skim and repay with shares would not revert if after withdraw funds were skimmed
|
|
@@ -1146,7 +1196,7 @@ export class ExecutionService {
|
|
|
1146
1196
|
// 2. Skim exact withdrawal amount to liability vault
|
|
1147
1197
|
items.push({
|
|
1148
1198
|
targetContract: toVault,
|
|
1149
|
-
onBehalfOfAccount:
|
|
1199
|
+
onBehalfOfAccount: receiver,
|
|
1150
1200
|
value: 0n,
|
|
1151
1201
|
data: encodeFunctionData({
|
|
1152
1202
|
abi: eVaultAbi,
|
|
@@ -1174,7 +1224,7 @@ export class ExecutionService {
|
|
|
1174
1224
|
}
|
|
1175
1225
|
else {
|
|
1176
1226
|
// For partial repay: withdraw, then repay exact amount
|
|
1177
|
-
// 1. Withdraw from
|
|
1227
|
+
// 1. Withdraw from source vault directly to the liability vault.
|
|
1178
1228
|
items.push({
|
|
1179
1229
|
targetContract: fromVault,
|
|
1180
1230
|
onBehalfOfAccount: from,
|
|
@@ -1182,21 +1232,31 @@ export class ExecutionService {
|
|
|
1182
1232
|
data: encodeFunctionData({
|
|
1183
1233
|
abi: eVaultAbi,
|
|
1184
1234
|
functionName: "withdraw",
|
|
1185
|
-
args: [amount,
|
|
1235
|
+
args: [amount, toVault, from],
|
|
1186
1236
|
}),
|
|
1187
1237
|
});
|
|
1188
|
-
// 2.
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1238
|
+
// 2. Skim the received assets into the borrow sub-account.
|
|
1239
|
+
items.push({
|
|
1240
|
+
targetContract: toVault,
|
|
1241
|
+
onBehalfOfAccount: receiver,
|
|
1242
|
+
value: 0n,
|
|
1243
|
+
data: encodeFunctionData({
|
|
1244
|
+
abi: eVaultAbi,
|
|
1245
|
+
functionName: "skim",
|
|
1246
|
+
args: [amount, receiver],
|
|
1247
|
+
}),
|
|
1248
|
+
});
|
|
1249
|
+
// 3. Burn the skimmed shares to repay debt.
|
|
1250
|
+
items.push({
|
|
1251
|
+
targetContract: toVault,
|
|
1252
|
+
onBehalfOfAccount: receiver,
|
|
1253
|
+
value: 0n,
|
|
1254
|
+
data: encodeFunctionData({
|
|
1255
|
+
abi: eVaultAbi,
|
|
1256
|
+
functionName: "repayWithShares",
|
|
1257
|
+
args: [amount > 0n ? amount - 1n : 0n, receiver],
|
|
1258
|
+
}),
|
|
1198
1259
|
});
|
|
1199
|
-
items.push(...repayItems);
|
|
1200
1260
|
}
|
|
1201
1261
|
return items;
|
|
1202
1262
|
}
|
|
@@ -1237,6 +1297,13 @@ export class ExecutionService {
|
|
|
1237
1297
|
args: [approvalSpender, approvalAmount],
|
|
1238
1298
|
}),
|
|
1239
1299
|
});
|
|
1300
|
+
const addApproveWithOptionalReset = (approvalSpender, approvalAmount, currentAllowance) => {
|
|
1301
|
+
if (currentAllowance > 0n &&
|
|
1302
|
+
requiresZeroApprovalReset(chainId, token)) {
|
|
1303
|
+
resolvedItems.push(makeApprove(approvalSpender, 0n));
|
|
1304
|
+
}
|
|
1305
|
+
resolvedItems.push(makeApprove(approvalSpender, approvalAmount));
|
|
1306
|
+
};
|
|
1240
1307
|
const makePermit2 = (permit2Spender, permit2Amount) => ({
|
|
1241
1308
|
type: "permit2",
|
|
1242
1309
|
token,
|
|
@@ -1275,7 +1342,7 @@ export class ExecutionService {
|
|
|
1275
1342
|
}
|
|
1276
1343
|
// If assetForPermit2 is insufficient, we need both approval and permit2 signature
|
|
1277
1344
|
if (!hasSufficientPermit2Allowance) {
|
|
1278
|
-
|
|
1345
|
+
addApproveWithOptionalReset(permit2, unlimitedApproval ? maxUint256 : amount, assetForPermit2);
|
|
1279
1346
|
resolvedItems.push(makePermit2(spender, unlimitedApproval ? maxUint160 : amount));
|
|
1280
1347
|
}
|
|
1281
1348
|
else {
|
|
@@ -1293,7 +1360,7 @@ export class ExecutionService {
|
|
|
1293
1360
|
approval.resolved = [];
|
|
1294
1361
|
continue;
|
|
1295
1362
|
}
|
|
1296
|
-
|
|
1363
|
+
addApproveWithOptionalReset(spender, unlimitedApproval ? maxUint256 : amount, assetForVault);
|
|
1297
1364
|
approval.resolved = resolvedItems;
|
|
1298
1365
|
}
|
|
1299
1366
|
}
|
|
@@ -1673,29 +1740,22 @@ export class ExecutionService {
|
|
|
1673
1740
|
// This path requires a swap, which is handled by planRepayWithSwap
|
|
1674
1741
|
throw new Error("planRepayFromDeposit only supports same-asset paths. Use planRepayWithSwap for different assets.");
|
|
1675
1742
|
}
|
|
1676
|
-
|
|
1677
|
-
|
|
1678
|
-
|
|
1679
|
-
|
|
1680
|
-
type: "requiredApproval",
|
|
1681
|
-
token: liabilityAsset,
|
|
1682
|
-
owner: account.owner,
|
|
1683
|
-
spender: liabilityVault,
|
|
1684
|
-
amount: liabilityAmount,
|
|
1685
|
-
});
|
|
1686
|
-
}
|
|
1743
|
+
const isMax = liabilityAmount === maxUint256;
|
|
1744
|
+
const amount = isMax && fromVault !== liabilityVault
|
|
1745
|
+
? liabilityPosition.borrowed
|
|
1746
|
+
: liabilityAmount;
|
|
1687
1747
|
// Build EVC batch items
|
|
1688
1748
|
const batchItems = this.encodeRepayFromDeposit({
|
|
1689
1749
|
chainId: account.chainId,
|
|
1690
1750
|
liabilityVault,
|
|
1691
1751
|
liabilityAsset,
|
|
1692
|
-
liabilityAmount,
|
|
1693
|
-
from:
|
|
1752
|
+
liabilityAmount: amount,
|
|
1753
|
+
from: fromAccount,
|
|
1694
1754
|
receiver,
|
|
1695
1755
|
fromVault,
|
|
1696
1756
|
fromAsset,
|
|
1697
1757
|
disableControllerOnMax: true,
|
|
1698
|
-
isMax
|
|
1758
|
+
isMax,
|
|
1699
1759
|
// Permit2 is handled separately in the plan
|
|
1700
1760
|
});
|
|
1701
1761
|
plan.push({
|
|
@@ -1784,6 +1844,39 @@ export class ExecutionService {
|
|
|
1784
1844
|
});
|
|
1785
1845
|
return plan;
|
|
1786
1846
|
}
|
|
1847
|
+
/**
|
|
1848
|
+
* Builds a transaction plan for swapping a token from the sender's wallet into another
|
|
1849
|
+
* token and transferring the output to the quote receiver.
|
|
1850
|
+
*
|
|
1851
|
+
* @param args - Wallet-swap plan arguments
|
|
1852
|
+
* @param args.swapQuote - Quote from swap service; must use transferOutputToReceiver / transferMin verification
|
|
1853
|
+
* @param args.amount - Amount of input token to transfer from wallet
|
|
1854
|
+
* @param args.tokenIn - Input token address (for approval to SwapVerifier)
|
|
1855
|
+
* @param args.account - Account entity; used for chainId and owner
|
|
1856
|
+
* @returns Array of transaction plan items (approval to SwapVerifier + EVC batch)
|
|
1857
|
+
*/
|
|
1858
|
+
planSwapFromWallet(args) {
|
|
1859
|
+
const { swapQuote, amount, tokenIn, account } = args;
|
|
1860
|
+
const plan = [];
|
|
1861
|
+
plan.push({
|
|
1862
|
+
type: "requiredApproval",
|
|
1863
|
+
token: tokenIn,
|
|
1864
|
+
owner: account.owner,
|
|
1865
|
+
spender: swapQuote.verify.verifierAddress,
|
|
1866
|
+
amount,
|
|
1867
|
+
});
|
|
1868
|
+
const batchItems = this.encodeSwapFromWallet({
|
|
1869
|
+
chainId: account.chainId,
|
|
1870
|
+
swapQuote,
|
|
1871
|
+
amount,
|
|
1872
|
+
sender: account.owner,
|
|
1873
|
+
});
|
|
1874
|
+
plan.push({
|
|
1875
|
+
type: "evcBatch",
|
|
1876
|
+
items: batchItems,
|
|
1877
|
+
});
|
|
1878
|
+
return plan;
|
|
1879
|
+
}
|
|
1787
1880
|
/**
|
|
1788
1881
|
* Builds a transaction plan for swapping collateral from one vault to another (withdraw → swap → deposit/skim).
|
|
1789
1882
|
*
|