@eth-optimism/actions-sdk 0.1.0 → 0.3.0
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/LICENSE +1 -1
- package/dist/__mocks__/MockAssets.d.ts.map +1 -0
- package/dist/{test → __mocks__}/MockAssets.js +2 -0
- package/dist/__mocks__/MockAssets.js.map +1 -0
- package/dist/__mocks__/MockPrivyClient.d.ts.map +1 -0
- package/dist/__mocks__/MockPrivyClient.js.map +1 -0
- package/dist/__mocks__/utils.d.ts.map +1 -0
- package/dist/__mocks__/utils.js.map +1 -0
- package/dist/__tests__/actions.test.d.ts.map +1 -0
- package/dist/{actions.test.js → __tests__/actions.test.js} +5 -9
- package/dist/__tests__/actions.test.js.map +1 -0
- package/dist/actions.d.ts +20 -1
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +37 -13
- package/dist/actions.js.map +1 -1
- package/dist/constants/assets.d.ts +23 -0
- package/dist/constants/assets.d.ts.map +1 -1
- package/dist/constants/assets.js +99 -6
- package/dist/constants/assets.js.map +1 -1
- package/dist/constants/contracts.d.ts +4 -0
- package/dist/constants/contracts.d.ts.map +1 -0
- package/dist/constants/contracts.js +3 -0
- package/dist/constants/contracts.js.map +1 -0
- package/dist/constants/supportedChains.d.ts +1 -1
- package/dist/constants/supportedChains.d.ts.map +1 -1
- package/dist/constants/supportedChains.js +7 -3
- package/dist/constants/supportedChains.js.map +1 -1
- package/dist/core/asset/__mocks__/mockAsset.js +1 -1
- package/dist/core/asset/__mocks__/mockAsset.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/{test → lend/__mocks__}/MockLendProvider.d.ts +7 -6
- package/dist/lend/__mocks__/MockLendProvider.d.ts.map +1 -0
- package/dist/{test → lend/__mocks__}/MockLendProvider.js +20 -21
- package/dist/lend/__mocks__/MockLendProvider.js.map +1 -0
- package/dist/{test → lend/__mocks__}/MockMarkets.d.ts +1 -1
- package/dist/lend/__mocks__/MockMarkets.d.ts.map +1 -0
- package/dist/{test → lend/__mocks__}/MockMarkets.js +1 -1
- package/dist/lend/__mocks__/MockMarkets.js.map +1 -0
- package/dist/lend/__mocks__/mockLendTransaction.d.ts +3 -12
- package/dist/lend/__mocks__/mockLendTransaction.d.ts.map +1 -1
- package/dist/lend/__mocks__/mockLendTransaction.js +3 -19
- package/dist/lend/__mocks__/mockLendTransaction.js.map +1 -1
- package/dist/lend/core/LendProvider.d.ts +14 -8
- package/dist/lend/core/LendProvider.d.ts.map +1 -1
- package/dist/lend/core/LendProvider.js +29 -17
- package/dist/lend/core/LendProvider.js.map +1 -1
- package/dist/lend/core/__tests__/LendProvider.test.js +4 -6
- package/dist/lend/core/__tests__/LendProvider.test.js.map +1 -1
- package/dist/lend/namespaces/ActionsLendNamespace.d.ts +2 -36
- package/dist/lend/namespaces/ActionsLendNamespace.d.ts.map +1 -1
- package/dist/lend/namespaces/ActionsLendNamespace.js +2 -48
- package/dist/lend/namespaces/ActionsLendNamespace.js.map +1 -1
- package/dist/lend/namespaces/BaseLendNamespace.d.ts +47 -0
- package/dist/lend/namespaces/BaseLendNamespace.d.ts.map +1 -0
- package/dist/lend/namespaces/BaseLendNamespace.js +58 -0
- package/dist/lend/namespaces/BaseLendNamespace.js.map +1 -0
- package/dist/lend/namespaces/WalletLendNamespace.d.ts +8 -36
- package/dist/lend/namespaces/WalletLendNamespace.d.ts.map +1 -1
- package/dist/lend/namespaces/WalletLendNamespace.js +14 -69
- package/dist/lend/namespaces/WalletLendNamespace.js.map +1 -1
- package/dist/lend/namespaces/__tests__/ActionsLendNamespace.spec.js +2 -2
- package/dist/lend/namespaces/__tests__/ActionsLendNamespace.spec.js.map +1 -1
- package/dist/lend/namespaces/__tests__/BaseLendNamespace.spec.d.ts +2 -0
- package/dist/lend/namespaces/__tests__/BaseLendNamespace.spec.d.ts.map +1 -0
- package/dist/lend/namespaces/__tests__/BaseLendNamespace.spec.js +110 -0
- package/dist/lend/namespaces/__tests__/BaseLendNamespace.spec.js.map +1 -0
- package/dist/lend/namespaces/__tests__/WalletLendNamespace.spec.js +8 -10
- package/dist/lend/namespaces/__tests__/WalletLendNamespace.spec.js.map +1 -1
- package/dist/lend/providers/aave/AaveLendProvider.d.ts +19 -27
- package/dist/lend/providers/aave/AaveLendProvider.d.ts.map +1 -1
- package/dist/lend/providers/aave/AaveLendProvider.js +124 -180
- package/dist/lend/providers/aave/AaveLendProvider.js.map +1 -1
- package/dist/lend/providers/aave/__mocks__/mockReserve.d.ts +11 -0
- package/dist/lend/providers/aave/__mocks__/mockReserve.d.ts.map +1 -0
- package/dist/lend/providers/aave/__mocks__/mockReserve.js +80 -0
- package/dist/lend/providers/aave/__mocks__/mockReserve.js.map +1 -0
- package/dist/lend/providers/aave/__tests__/AaveLendProvider.test.d.ts +2 -0
- package/dist/lend/providers/aave/__tests__/AaveLendProvider.test.d.ts.map +1 -0
- package/dist/lend/providers/aave/__tests__/AaveLendProvider.test.js +315 -0
- package/dist/lend/providers/aave/__tests__/AaveLendProvider.test.js.map +1 -0
- package/dist/lend/providers/aave/abis/pool.d.ts +153 -0
- package/dist/lend/providers/aave/abis/pool.d.ts.map +1 -0
- package/dist/lend/providers/aave/abis/pool.js +79 -0
- package/dist/lend/providers/aave/abis/pool.js.map +1 -0
- package/dist/lend/providers/aave/sdk.d.ts.map +1 -1
- package/dist/lend/providers/aave/sdk.js +6 -65
- package/dist/lend/providers/aave/sdk.js.map +1 -1
- package/dist/lend/providers/morpho/MorphoLendProvider.d.ts +0 -1
- package/dist/lend/providers/morpho/MorphoLendProvider.d.ts.map +1 -1
- package/dist/lend/providers/morpho/MorphoLendProvider.js +13 -28
- package/dist/lend/providers/morpho/MorphoLendProvider.js.map +1 -1
- package/dist/lend/providers/morpho/__tests__/MorphoLendProvider.test.js +5 -24
- package/dist/lend/providers/morpho/__tests__/MorphoLendProvider.test.js.map +1 -1
- package/dist/lend/providers/morpho/__tests__/api.test.js +248 -54
- package/dist/lend/providers/morpho/__tests__/api.test.js.map +1 -1
- package/dist/lend/providers/morpho/__tests__/sdk.test.js +3 -2
- package/dist/lend/providers/morpho/__tests__/sdk.test.js.map +1 -1
- package/dist/lend/providers/morpho/api.d.ts +4 -0
- package/dist/lend/providers/morpho/api.d.ts.map +1 -1
- package/dist/lend/providers/morpho/api.js.map +1 -1
- package/dist/lend/providers/morpho/contracts.d.ts +19 -0
- package/dist/lend/providers/morpho/contracts.d.ts.map +1 -0
- package/dist/lend/providers/morpho/contracts.js +32 -0
- package/dist/lend/providers/morpho/contracts.js.map +1 -0
- package/dist/lend/providers/morpho/sdk.d.ts.map +1 -1
- package/dist/lend/providers/morpho/sdk.js +177 -71
- package/dist/lend/providers/morpho/sdk.js.map +1 -1
- package/dist/services/ChainManager.d.ts +1 -1
- package/dist/{test → services/__mocks__}/MockChainManager.d.ts +1 -1
- package/dist/services/__mocks__/MockChainManager.d.ts.map +1 -0
- package/dist/services/__mocks__/MockChainManager.js.map +1 -0
- package/dist/services/tokenBalance.d.ts.map +1 -1
- package/dist/services/tokenBalance.js +4 -5
- package/dist/services/tokenBalance.js.map +1 -1
- package/dist/services/tokenBalance.spec.js +2 -2
- package/dist/services/tokenBalance.spec.js.map +1 -1
- package/dist/supported/tokens.d.ts +4 -4
- package/dist/supported/tokens.d.ts.map +1 -1
- package/dist/supported/tokens.js +10 -70
- package/dist/supported/tokens.js.map +1 -1
- package/dist/swap/__mocks__/MockSwapProvider.d.ts +38 -0
- package/dist/swap/__mocks__/MockSwapProvider.d.ts.map +1 -0
- package/dist/swap/__mocks__/MockSwapProvider.js +138 -0
- package/dist/swap/__mocks__/MockSwapProvider.js.map +1 -0
- package/dist/swap/core/SwapProvider.d.ts +56 -0
- package/dist/swap/core/SwapProvider.d.ts.map +1 -0
- package/dist/swap/core/SwapProvider.js +177 -0
- package/dist/swap/core/SwapProvider.js.map +1 -0
- package/dist/swap/core/__tests__/SwapProvider.test.d.ts +2 -0
- package/dist/swap/core/__tests__/SwapProvider.test.d.ts.map +1 -0
- package/dist/swap/core/__tests__/SwapProvider.test.js +329 -0
- package/dist/swap/core/__tests__/SwapProvider.test.js.map +1 -0
- package/dist/swap/index.d.ts +7 -0
- package/dist/swap/index.d.ts.map +1 -0
- package/dist/swap/index.js +8 -0
- package/dist/swap/index.js.map +1 -0
- package/dist/swap/namespaces/ActionsSwapNamespace.d.ts +8 -0
- package/dist/swap/namespaces/ActionsSwapNamespace.d.ts.map +1 -0
- package/dist/swap/namespaces/ActionsSwapNamespace.js +8 -0
- package/dist/swap/namespaces/ActionsSwapNamespace.js.map +1 -0
- package/dist/swap/namespaces/BaseSwapNamespace.d.ts +33 -0
- package/dist/swap/namespaces/BaseSwapNamespace.d.ts.map +1 -0
- package/dist/swap/namespaces/BaseSwapNamespace.js +58 -0
- package/dist/swap/namespaces/BaseSwapNamespace.js.map +1 -0
- package/dist/swap/namespaces/WalletSwapNamespace.d.ts +22 -0
- package/dist/swap/namespaces/WalletSwapNamespace.d.ts.map +1 -0
- package/dist/swap/namespaces/WalletSwapNamespace.js +60 -0
- package/dist/swap/namespaces/WalletSwapNamespace.js.map +1 -0
- package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.d.ts +2 -0
- package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.d.ts.map +1 -0
- package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.js +106 -0
- package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.js.map +1 -0
- package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.d.ts +2 -0
- package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.d.ts.map +1 -0
- package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.js +132 -0
- package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.js.map +1 -0
- package/dist/swap/providers/uniswap/UniswapSwapProvider.d.ts +68 -0
- package/dist/swap/providers/uniswap/UniswapSwapProvider.d.ts.map +1 -0
- package/dist/swap/providers/uniswap/UniswapSwapProvider.js +206 -0
- package/dist/swap/providers/uniswap/UniswapSwapProvider.js.map +1 -0
- package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.d.ts +2 -0
- package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.d.ts.map +1 -0
- package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.js +257 -0
- package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.js.map +1 -0
- package/dist/swap/providers/uniswap/__tests__/sdk.test.d.ts +2 -0
- package/dist/swap/providers/uniswap/__tests__/sdk.test.d.ts.map +1 -0
- package/dist/swap/providers/uniswap/__tests__/sdk.test.js +312 -0
- package/dist/swap/providers/uniswap/__tests__/sdk.test.js.map +1 -0
- package/dist/swap/providers/uniswap/abis.d.ts +227 -0
- package/dist/swap/providers/uniswap/abis.d.ts.map +1 -0
- package/dist/swap/providers/uniswap/abis.js +138 -0
- package/dist/swap/providers/uniswap/abis.js.map +1 -0
- package/dist/swap/providers/uniswap/addresses.d.ts +21 -0
- package/dist/swap/providers/uniswap/addresses.d.ts.map +1 -0
- package/dist/swap/providers/uniswap/addresses.js +81 -0
- package/dist/swap/providers/uniswap/addresses.js.map +1 -0
- package/dist/swap/providers/uniswap/encoding.d.ts +77 -0
- package/dist/swap/providers/uniswap/encoding.d.ts.map +1 -0
- package/dist/swap/providers/uniswap/encoding.js +233 -0
- package/dist/swap/providers/uniswap/encoding.js.map +1 -0
- package/dist/swap/providers/uniswap/types.d.ts +20 -0
- package/dist/swap/providers/uniswap/types.d.ts.map +1 -0
- package/dist/swap/providers/uniswap/types.js +2 -0
- package/dist/swap/providers/uniswap/types.js.map +1 -0
- package/dist/types/actions.d.ts +19 -5
- package/dist/types/actions.d.ts.map +1 -1
- package/dist/types/asset.d.ts +3 -3
- package/dist/types/asset.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/lend/base.d.ts +7 -22
- package/dist/types/lend/base.d.ts.map +1 -1
- package/dist/types/lend/base.js.map +1 -1
- package/dist/types/lend/contracts.d.ts +17 -0
- package/dist/types/lend/contracts.d.ts.map +1 -0
- package/dist/types/lend/contracts.js +2 -0
- package/dist/types/lend/contracts.js.map +1 -0
- package/dist/types/lend/index.d.ts +1 -0
- package/dist/types/lend/index.d.ts.map +1 -1
- package/dist/types/lend/index.js +1 -0
- package/dist/types/lend/index.js.map +1 -1
- package/dist/types/swap/base.d.ts +238 -0
- package/dist/types/swap/base.d.ts.map +1 -0
- package/dist/types/swap/base.js +4 -0
- package/dist/types/swap/base.js.map +1 -0
- package/dist/types/swap/index.d.ts +2 -0
- package/dist/types/swap/index.d.ts.map +1 -0
- package/dist/types/swap/index.js +2 -0
- package/dist/types/swap/index.js.map +1 -0
- package/dist/types/transaction.d.ts +14 -0
- package/dist/types/transaction.d.ts.map +1 -0
- package/dist/types/transaction.js +2 -0
- package/dist/types/transaction.js.map +1 -0
- package/dist/utils/assets.d.ts +11 -6
- package/dist/utils/assets.d.ts.map +1 -1
- package/dist/utils/assets.js +16 -12
- package/dist/utils/assets.js.map +1 -1
- package/dist/utils/assets.test.js +14 -2
- package/dist/utils/assets.test.js.map +1 -1
- package/dist/utils/constants.d.ts +5 -0
- package/dist/utils/constants.d.ts.map +1 -0
- package/dist/utils/constants.js +5 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/permit2.d.ts +46 -0
- package/dist/utils/permit2.d.ts.map +1 -0
- package/dist/utils/permit2.js +100 -0
- package/dist/utils/permit2.js.map +1 -0
- package/dist/utils/permit2.test.d.ts +2 -0
- package/dist/utils/permit2.test.d.ts.map +1 -0
- package/dist/utils/permit2.test.js +110 -0
- package/dist/utils/permit2.test.js.map +1 -0
- package/dist/utils/validation.d.ts +12 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +44 -0
- package/dist/utils/validation.js.map +1 -0
- package/dist/wallet/core/namespace/WalletNamespace.d.ts.map +1 -1
- package/dist/wallet/core/namespace/WalletNamespace.js.map +1 -1
- package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.js +4 -4
- package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.js.map +1 -1
- package/dist/wallet/core/providers/__tests__/WalletProvider.spec.js +4 -4
- package/dist/wallet/core/providers/__tests__/WalletProvider.spec.js.map +1 -1
- package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.d.ts +7 -1
- package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.d.ts.map +1 -1
- package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.js +2 -1
- package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.js.map +1 -1
- package/dist/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.js +2 -2
- package/dist/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.js.map +1 -1
- package/dist/wallet/core/providers/hosted/types/index.d.ts +5 -1
- package/dist/wallet/core/providers/hosted/types/index.d.ts.map +1 -1
- package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.d.ts +7 -1
- package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.d.ts.map +1 -1
- package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.js +5 -1
- package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.js.map +1 -1
- package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.js +5 -5
- package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.js.map +1 -1
- package/dist/wallet/core/wallets/abstract/Wallet.d.ts +13 -2
- package/dist/wallet/core/wallets/abstract/Wallet.d.ts.map +1 -1
- package/dist/wallet/core/wallets/abstract/Wallet.js +7 -1
- package/dist/wallet/core/wallets/abstract/Wallet.js.map +1 -1
- package/dist/wallet/core/wallets/abstract/__tests__/Wallet.spec.js +2 -2
- package/dist/wallet/core/wallets/abstract/__tests__/Wallet.spec.js.map +1 -1
- package/dist/wallet/core/wallets/eoa/__tests__/EOAWallet.spec.js +2 -2
- package/dist/wallet/core/wallets/eoa/__tests__/EOAWallet.spec.js.map +1 -1
- package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts +7 -2
- package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts.map +1 -1
- package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.js +6 -5
- package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.js.map +1 -1
- package/dist/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.js +3 -3
- package/dist/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.js.map +1 -1
- package/dist/wallet/core/wallets/smart/default/utils/__tests__/findSignerInArray.spec.js +1 -1
- package/dist/wallet/core/wallets/smart/default/utils/__tests__/findSignerInArray.spec.js.map +1 -1
- package/dist/wallet/core/wallets/smart/default/utils/__tests__/getSignerPublicKey.spec.js +1 -1
- package/dist/wallet/core/wallets/smart/default/utils/__tests__/getSignerPublicKey.spec.js.map +1 -1
- package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.d.ts +6 -1
- package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.d.ts.map +1 -1
- package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.js +3 -1
- package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.js.map +1 -1
- package/dist/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js +4 -4
- package/dist/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js.map +1 -1
- package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.d.ts.map +1 -1
- package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.js +4 -3
- package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.js.map +1 -1
- package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.js +2 -2
- package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.js.map +1 -1
- package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts +5 -1
- package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts.map +1 -1
- package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js +4 -2
- package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js.map +1 -1
- package/dist/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js +2 -2
- package/dist/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js.map +1 -1
- package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.d.ts +6 -1
- package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.d.ts.map +1 -1
- package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.js +4 -3
- package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.js.map +1 -1
- package/dist/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.js +3 -3
- package/dist/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.js.map +1 -1
- package/dist/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.js +2 -2
- package/dist/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.js.map +1 -1
- package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.d.ts +5 -1
- package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.d.ts.map +1 -1
- package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.js +2 -2
- package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.js.map +1 -1
- package/dist/wallet/node/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.js +2 -2
- package/dist/wallet/node/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.js.map +1 -1
- package/dist/wallet/node/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.js +1 -1
- package/dist/wallet/node/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.js.map +1 -1
- package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.d.ts +7 -1
- package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.d.ts.map +1 -1
- package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js +6 -2
- package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js.map +1 -1
- package/dist/wallet/react/providers/hosted/dynamic/__mocks__/DynamicHostedWalletProviderMock.d.ts.map +1 -1
- package/dist/wallet/react/providers/hosted/dynamic/__mocks__/DynamicHostedWalletProviderMock.js +1 -1
- package/dist/wallet/react/providers/hosted/dynamic/__mocks__/DynamicHostedWalletProviderMock.js.map +1 -1
- package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.js +6 -2
- package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.js.map +1 -1
- package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.d.ts +6 -1
- package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.d.ts.map +1 -1
- package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js +5 -2
- package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js.map +1 -1
- package/dist/wallet/react/providers/hosted/privy/__mocks__/PrivyHostedWalletProviderMock.d.ts.map +1 -1
- package/dist/wallet/react/providers/hosted/privy/__mocks__/PrivyHostedWalletProviderMock.js +1 -1
- package/dist/wallet/react/providers/hosted/privy/__mocks__/PrivyHostedWalletProviderMock.js.map +1 -1
- package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js +3 -2
- package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js.map +1 -1
- package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts +6 -3
- package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts.map +1 -1
- package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js +5 -4
- package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js.map +1 -1
- package/dist/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js +2 -2
- package/dist/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js.map +1 -1
- package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.d.ts.map +1 -1
- package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.js +6 -6
- package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.js.map +1 -1
- package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.js +1 -1
- package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.js.map +1 -1
- package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.d.ts +7 -1
- package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.d.ts.map +1 -1
- package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.js +5 -3
- package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.js.map +1 -1
- package/dist/wallet/react/wallets/hosted/dynamic/__tests__/DynamicWallet.spec.js +2 -2
- package/dist/wallet/react/wallets/hosted/dynamic/__tests__/DynamicWallet.spec.js.map +1 -1
- package/dist/wallet/react/wallets/hosted/dynamic/utils/__tests__/createSigner.spec.js +1 -1
- package/dist/wallet/react/wallets/hosted/dynamic/utils/__tests__/createSigner.spec.js.map +1 -1
- package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.d.ts +5 -1
- package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.d.ts.map +1 -1
- package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.js +3 -3
- package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.js.map +1 -1
- package/dist/wallet/react/wallets/hosted/privy/__tests__/PrivyWallet.spec.js +2 -2
- package/dist/wallet/react/wallets/hosted/privy/__tests__/PrivyWallet.spec.js.map +1 -1
- package/dist/wallet/react/wallets/hosted/privy/utils/__tests__/createSigner.spec.js +1 -1
- package/dist/wallet/react/wallets/hosted/privy/utils/__tests__/createSigner.spec.js.map +1 -1
- package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.d.ts +5 -1
- package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.d.ts.map +1 -1
- package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.js +2 -2
- package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.js.map +1 -1
- package/dist/wallet/react/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.js +2 -2
- package/dist/wallet/react/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.js.map +1 -1
- package/dist/wallet/react/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.js +1 -1
- package/dist/wallet/react/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.js.map +1 -1
- package/package.json +2 -2
- package/src/{test → __mocks__}/MockAssets.ts +2 -0
- package/src/{test → __mocks__}/MockPrivyClient.ts +1 -1
- package/src/{actions.test.ts → __tests__/actions.test.ts} +2 -6
- package/src/actions.ts +57 -19
- package/src/constants/assets.ts +108 -8
- package/src/constants/contracts.ts +5 -0
- package/src/constants/supportedChains.ts +10 -2
- package/src/core/asset/__mocks__/mockAsset.ts +1 -1
- package/src/index.ts +30 -2
- package/src/{test → lend/__mocks__}/MockLendProvider.ts +20 -23
- package/src/{test → lend/__mocks__}/MockMarkets.ts +1 -1
- package/src/lend/__mocks__/mockLendTransaction.ts +4 -26
- package/src/lend/core/LendProvider.ts +40 -20
- package/src/lend/core/__tests__/LendProvider.test.ts +4 -7
- package/src/lend/namespaces/ActionsLendNamespace.ts +2 -85
- package/src/lend/namespaces/BaseLendNamespace.ts +89 -0
- package/src/lend/namespaces/WalletLendNamespace.ts +25 -121
- package/src/lend/namespaces/__tests__/ActionsLendNamespace.spec.ts +10 -9
- package/src/lend/namespaces/__tests__/BaseLendNamespace.spec.ts +137 -0
- package/src/lend/namespaces/__tests__/WalletLendNamespace.spec.ts +19 -22
- package/src/lend/providers/aave/AaveLendProvider.ts +163 -231
- package/src/lend/providers/aave/__mocks__/mockReserve.ts +84 -0
- package/src/lend/providers/aave/__tests__/AaveLendProvider.test.ts +419 -0
- package/src/lend/providers/aave/abis/pool.ts +81 -0
- package/src/lend/providers/aave/sdk.ts +7 -69
- package/src/lend/providers/morpho/MorphoLendProvider.ts +20 -41
- package/src/lend/providers/morpho/__tests__/MorphoLendProvider.test.ts +8 -32
- package/src/lend/providers/morpho/__tests__/api.test.ts +277 -51
- package/src/lend/providers/morpho/__tests__/sdk.test.ts +3 -2
- package/src/lend/providers/morpho/api.ts +4 -0
- package/src/lend/providers/morpho/contracts.ts +37 -0
- package/src/lend/providers/morpho/sdk.ts +241 -84
- package/src/services/tokenBalance.spec.ts +2 -2
- package/src/services/tokenBalance.ts +6 -7
- package/src/supported/tokens.ts +18 -77
- package/src/swap/__mocks__/MockSwapProvider.ts +216 -0
- package/src/swap/core/SwapProvider.ts +319 -0
- package/src/swap/core/__tests__/SwapProvider.test.ts +478 -0
- package/src/swap/index.ts +14 -0
- package/src/swap/namespaces/ActionsSwapNamespace.ts +7 -0
- package/src/swap/namespaces/BaseSwapNamespace.ts +77 -0
- package/src/swap/namespaces/WalletSwapNamespace.ts +82 -0
- package/src/swap/namespaces/__tests__/BaseSwapNamespace.spec.ts +138 -0
- package/src/swap/namespaces/__tests__/WalletSwapNamespace.spec.ts +162 -0
- package/src/swap/providers/uniswap/UniswapSwapProvider.ts +304 -0
- package/src/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.ts +299 -0
- package/src/swap/providers/uniswap/__tests__/sdk.test.ts +370 -0
- package/src/swap/providers/uniswap/abis.ts +144 -0
- package/src/swap/providers/uniswap/addresses.ts +108 -0
- package/src/swap/providers/uniswap/encoding.ts +406 -0
- package/src/swap/providers/uniswap/types.ts +24 -0
- package/src/types/actions.ts +22 -6
- package/src/types/asset.ts +3 -3
- package/src/types/index.ts +2 -0
- package/src/types/lend/base.ts +12 -25
- package/src/types/lend/contracts.ts +18 -0
- package/src/types/lend/index.ts +1 -0
- package/src/types/swap/base.ts +259 -0
- package/src/types/swap/index.ts +1 -0
- package/src/types/transaction.ts +14 -0
- package/src/utils/assets.test.ts +17 -2
- package/src/utils/assets.ts +28 -11
- package/src/utils/constants.ts +4 -0
- package/src/utils/permit2.test.ts +142 -0
- package/src/utils/permit2.ts +144 -0
- package/src/utils/validation.ts +76 -0
- package/src/wallet/core/namespace/WalletNamespace.ts +2 -4
- package/src/wallet/core/namespace/__tests__/WalletNamespace.spec.ts +6 -6
- package/src/wallet/core/providers/__tests__/WalletProvider.spec.ts +6 -6
- package/src/wallet/core/providers/hosted/abstract/HostedWalletProvider.ts +9 -1
- package/src/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.ts +3 -3
- package/src/wallet/core/providers/hosted/types/index.ts +5 -1
- package/src/wallet/core/providers/smart/default/DefaultSmartWalletProvider.ts +13 -1
- package/src/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.ts +9 -9
- package/src/wallet/core/wallets/abstract/Wallet.ts +18 -2
- package/src/wallet/core/wallets/abstract/__tests__/Wallet.spec.ts +2 -2
- package/src/wallet/core/wallets/eoa/__tests__/EOAWallet.spec.ts +2 -2
- package/src/wallet/core/wallets/smart/default/DefaultSmartWallet.ts +14 -5
- package/src/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.ts +3 -3
- package/src/wallet/core/wallets/smart/default/utils/__tests__/findSignerInArray.spec.ts +1 -1
- package/src/wallet/core/wallets/smart/default/utils/__tests__/getSignerPublicKey.spec.ts +1 -1
- package/src/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.ts +13 -2
- package/src/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.ts +5 -5
- package/src/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.ts +10 -2
- package/src/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.ts +3 -3
- package/src/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.ts +8 -2
- package/src/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.ts +2 -2
- package/src/wallet/node/wallets/hosted/privy/PrivyWallet.ts +11 -2
- package/src/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.ts +4 -4
- package/src/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.ts +2 -2
- package/src/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.ts +10 -2
- package/src/wallet/node/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.ts +2 -2
- package/src/wallet/node/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.ts +1 -1
- package/src/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.ts +10 -2
- package/src/wallet/react/providers/hosted/dynamic/__mocks__/DynamicHostedWalletProviderMock.ts +1 -1
- package/src/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.ts +9 -5
- package/src/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.ts +9 -2
- package/src/wallet/react/providers/hosted/privy/__mocks__/PrivyHostedWalletProviderMock.ts +1 -1
- package/src/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.ts +5 -5
- package/src/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.ts +9 -4
- package/src/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.ts +2 -2
- package/src/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.ts +18 -6
- package/src/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.ts +5 -7
- package/src/wallet/react/wallets/hosted/dynamic/DynamicWallet.ts +12 -2
- package/src/wallet/react/wallets/hosted/dynamic/__tests__/DynamicWallet.spec.ts +2 -2
- package/src/wallet/react/wallets/hosted/dynamic/utils/__tests__/createSigner.spec.ts +1 -1
- package/src/wallet/react/wallets/hosted/privy/PrivyWallet.ts +10 -2
- package/src/wallet/react/wallets/hosted/privy/__tests__/PrivyWallet.spec.ts +2 -2
- package/src/wallet/react/wallets/hosted/privy/utils/__tests__/createSigner.spec.ts +1 -1
- package/src/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.ts +10 -2
- package/src/wallet/react/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.ts +2 -2
- package/src/wallet/react/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.ts +1 -1
- package/dist/actions.test.d.ts.map +0 -1
- package/dist/actions.test.js.map +0 -1
- package/dist/test/MockAssets.d.ts.map +0 -1
- package/dist/test/MockAssets.js.map +0 -1
- package/dist/test/MockChainManager.d.ts.map +0 -1
- package/dist/test/MockChainManager.js.map +0 -1
- package/dist/test/MockLendProvider.d.ts.map +0 -1
- package/dist/test/MockLendProvider.js.map +0 -1
- package/dist/test/MockMarkets.d.ts.map +0 -1
- package/dist/test/MockMarkets.js.map +0 -1
- package/dist/test/MockPrivyClient.d.ts.map +0 -1
- package/dist/test/MockPrivyClient.js.map +0 -1
- package/dist/test/utils.d.ts.map +0 -1
- package/dist/test/utils.js.map +0 -1
- /package/dist/{test → __mocks__}/MockAssets.d.ts +0 -0
- /package/dist/{test → __mocks__}/MockPrivyClient.d.ts +0 -0
- /package/dist/{test → __mocks__}/MockPrivyClient.js +0 -0
- /package/dist/{test → __mocks__}/utils.d.ts +0 -0
- /package/dist/{test → __mocks__}/utils.js +0 -0
- /package/dist/{actions.test.d.ts → __tests__/actions.test.d.ts} +0 -0
- /package/dist/{test → services/__mocks__}/MockChainManager.js +0 -0
- /package/src/{test → __mocks__}/utils.ts +0 -0
- /package/src/{test → services/__mocks__}/MockChainManager.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AaveLendProvider.d.ts","sourceRoot":"","sources":["../../../../src/lend/providers/aave/AaveLendProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AaveLendProvider.d.ts","sourceRoot":"","sources":["../../../../src/lend/providers/aave/AaveLendProvider.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,8BAA8B,EAC9B,eAAe,EAChB,MAAM,uBAAuB,CAAA;AAW9B;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAA6B,SAAS,MAAM,EAAE,CAAA;AAE9E;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,YAAY,CAAC,kBAAkB,CAAC;IACpE,SAAS,CAAC,QAAQ,CAAC,mBAAmB,oBAAsB;IAE5D;;;;OAIG;gBACS,MAAM,EAAE,kBAAkB,EAAE,YAAY,EAAE,YAAY;IAIlE;;;;;OAKG;cACa,aAAa,CAC3B,MAAM,EAAE,8BAA8B,GACrC,OAAO,CAAC,eAAe,CAAC;IA8B3B;;;;;OAKG;cACa,cAAc,CAC5B,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,eAAe,CAAC;IA2B3B;;;;OAIG;cACa,UAAU,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;IAQvE;;;;OAIG;cACa,WAAW,CACzB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,UAAU,EAAE,CAAC;IAUxB;;;;OAIG;cACa,YAAY,CAC1B,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,kBAAkB,CAAC;IAoD9B;;;OAGG;YACW,gBAAgB;IAwC9B;;;OAGG;YACW,kBAAkB;IAwChC;;;OAGG;YACW,iBAAiB;IAoD/B;;OAEG;YACW,mBAAmB;CAoClC"}
|
|
@@ -1,27 +1,10 @@
|
|
|
1
|
-
import { encodeFunctionData, erc20Abi, formatUnits
|
|
1
|
+
import { encodeFunctionData, erc20Abi, formatUnits } from 'viem';
|
|
2
|
+
import { WETH } from '../../../constants/assets.js';
|
|
2
3
|
import { LendProvider } from '../../core/LendProvider.js';
|
|
3
|
-
import { getAssetAddress } from '../../../utils/assets.js';
|
|
4
|
+
import { getAssetAddress, isNativeAsset } from '../../../utils/assets.js';
|
|
5
|
+
import { POOL_ABI, WETH_GATEWAY_ABI } from './abis/pool.js';
|
|
4
6
|
import { getPoolAddress, getSupportedChainIds, getWETHGatewayAddress, } from './addresses.js';
|
|
5
|
-
import { getReserve, getReserves } from './sdk.js';
|
|
6
|
-
/**
|
|
7
|
-
* WETH predeploy address on OP Stack chains
|
|
8
|
-
* @description WETH is deployed at the same address on all OP Stack chains (Optimism, Base, etc.)
|
|
9
|
-
*/
|
|
10
|
-
const WETH_ADDRESS = '0x4200000000000000000000000000000000000006';
|
|
11
|
-
/**
|
|
12
|
-
* Aave Pool ABI - only the functions we need
|
|
13
|
-
*/
|
|
14
|
-
const POOL_ABI = parseAbi([
|
|
15
|
-
'function supply(address asset, uint256 amount, address onBehalfOf, uint16 referralCode)',
|
|
16
|
-
'function withdraw(address asset, uint256 amount, address to) returns (uint256)',
|
|
17
|
-
]);
|
|
18
|
-
/**
|
|
19
|
-
* Aave WETHGateway ABI - for native ETH deposits/withdrawals
|
|
20
|
-
*/
|
|
21
|
-
const WETH_GATEWAY_ABI = parseAbi([
|
|
22
|
-
'function depositETH(address pool, address onBehalfOf, uint16 referralCode) payable',
|
|
23
|
-
'function withdrawETH(address pool, uint256 amount, address to)',
|
|
24
|
-
]);
|
|
7
|
+
import { getATokenAddress, getReserve, getReserves } from './sdk.js';
|
|
25
8
|
/**
|
|
26
9
|
* Supported chain IDs for Aave lending
|
|
27
10
|
* @description Array of chain IDs where Aave V3 is available on Optimism Superchain
|
|
@@ -38,18 +21,8 @@ export class AaveLendProvider extends LendProvider {
|
|
|
38
21
|
* @param chainManager - Chain manager for blockchain interactions
|
|
39
22
|
*/
|
|
40
23
|
constructor(config, chainManager) {
|
|
41
|
-
super(config);
|
|
24
|
+
super(config, chainManager);
|
|
42
25
|
this.SUPPORTED_CHAIN_IDS = SUPPORTED_CHAIN_IDS;
|
|
43
|
-
this.chainManager = chainManager;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Check if market is a WETH market
|
|
47
|
-
* @param marketId - Market identifier
|
|
48
|
-
* @returns true if market is for WETH
|
|
49
|
-
* @description WETH is a predeploy at the same address on all OP Stack chains
|
|
50
|
-
*/
|
|
51
|
-
isWETHMarket(marketId) {
|
|
52
|
-
return marketId.address.toLowerCase() === WETH_ADDRESS.toLowerCase();
|
|
53
26
|
}
|
|
54
27
|
/**
|
|
55
28
|
* Open a lending position in an Aave market
|
|
@@ -69,22 +42,117 @@ export class AaveLendProvider extends LendProvider {
|
|
|
69
42
|
address: params.marketId.address,
|
|
70
43
|
chainId: params.marketId.chainId,
|
|
71
44
|
});
|
|
72
|
-
// Check if this is a
|
|
73
|
-
if (
|
|
74
|
-
return this.
|
|
45
|
+
// Check if this is a native ETH market
|
|
46
|
+
if (isNativeAsset(params.asset)) {
|
|
47
|
+
return this._openETHPosition(params, poolAddress, marketInfo);
|
|
75
48
|
}
|
|
76
49
|
// Standard ERC-20 flow
|
|
77
50
|
return this._openERC20Position(params, poolAddress, marketInfo);
|
|
78
51
|
}
|
|
79
|
-
catch
|
|
80
|
-
throw new Error(`Failed to open position with ${params.amountWei} of ${params.asset.metadata.symbol}
|
|
52
|
+
catch {
|
|
53
|
+
throw new Error(`Failed to open position with ${params.amountWei} of ${params.asset.metadata.symbol}`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Close a position in an Aave market
|
|
58
|
+
* @description Withdraws assets from an Aave reserve
|
|
59
|
+
* @param params - Position closing operation parameters
|
|
60
|
+
* @returns Promise resolving to withdrawal transaction details
|
|
61
|
+
*/
|
|
62
|
+
async _closePosition(params) {
|
|
63
|
+
try {
|
|
64
|
+
// Get Pool address for this chain
|
|
65
|
+
const poolAddress = getPoolAddress(params.marketId.chainId);
|
|
66
|
+
if (!poolAddress) {
|
|
67
|
+
throw new Error(`Aave V3 not deployed on chain ${params.marketId.chainId}`);
|
|
68
|
+
}
|
|
69
|
+
const marketInfo = await this.getMarket({
|
|
70
|
+
address: params.marketId.address,
|
|
71
|
+
chainId: params.marketId.chainId,
|
|
72
|
+
});
|
|
73
|
+
// Check if this is a native ETH market
|
|
74
|
+
if (isNativeAsset(marketInfo.asset)) {
|
|
75
|
+
return this._closeETHPosition(params, poolAddress, marketInfo);
|
|
76
|
+
}
|
|
77
|
+
// Standard ERC-20 flow
|
|
78
|
+
return this._closeERC20Position(params, poolAddress, marketInfo);
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
throw new Error('Failed to close position');
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Get detailed market information
|
|
86
|
+
* @param marketId - Market identifier containing address and chainId
|
|
87
|
+
* @returns Promise resolving to market information
|
|
88
|
+
*/
|
|
89
|
+
async _getMarket(marketId) {
|
|
90
|
+
return getReserve({
|
|
91
|
+
marketId,
|
|
92
|
+
chainManager: this.chainManager,
|
|
93
|
+
lendConfig: this._config,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Get list of available lending markets
|
|
98
|
+
* @param params - Filtering parameters
|
|
99
|
+
* @returns Promise resolving to array of market information
|
|
100
|
+
*/
|
|
101
|
+
async _getMarkets(params) {
|
|
102
|
+
const marketConfigs = params.markets || [];
|
|
103
|
+
return getReserves({
|
|
104
|
+
chainManager: this.chainManager,
|
|
105
|
+
lendConfig: this._config,
|
|
106
|
+
markets: marketConfigs,
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Get position for a specific wallet address
|
|
111
|
+
* @param params - Parameters for fetching position
|
|
112
|
+
* @returns Promise resolving to position information
|
|
113
|
+
*/
|
|
114
|
+
async _getPosition(params) {
|
|
115
|
+
try {
|
|
116
|
+
const publicClient = this.chainManager.getPublicClient(params.marketId.chainId);
|
|
117
|
+
const market = await this._getMarket(params.marketId);
|
|
118
|
+
const poolAddress = getPoolAddress(params.marketId.chainId);
|
|
119
|
+
if (!poolAddress) {
|
|
120
|
+
throw new Error(`Aave V3 not deployed on chain ${params.marketId.chainId}`);
|
|
121
|
+
}
|
|
122
|
+
// Get the aToken address from Pool.getReserveData
|
|
123
|
+
// For native assets, use WETH address since Aave uses WETH internally
|
|
124
|
+
const assetAddress = isNativeAsset(market.asset)
|
|
125
|
+
? getAssetAddress(WETH, params.marketId.chainId)
|
|
126
|
+
: getAssetAddress(market.asset, params.marketId.chainId);
|
|
127
|
+
const aTokenAddress = await getATokenAddress({
|
|
128
|
+
underlyingAsset: assetAddress,
|
|
129
|
+
chainId: params.marketId.chainId,
|
|
130
|
+
chainManager: this.chainManager,
|
|
131
|
+
});
|
|
132
|
+
const balance = await publicClient.readContract({
|
|
133
|
+
address: aTokenAddress,
|
|
134
|
+
abi: erc20Abi,
|
|
135
|
+
functionName: 'balanceOf',
|
|
136
|
+
args: [params.walletAddress],
|
|
137
|
+
});
|
|
138
|
+
const balanceFormatted = formatUnits(balance, market.asset.metadata.decimals);
|
|
139
|
+
return {
|
|
140
|
+
balance,
|
|
141
|
+
balanceFormatted,
|
|
142
|
+
shares: balance, // In Aave, aTokens are 1:1 with underlying
|
|
143
|
+
sharesFormatted: balanceFormatted,
|
|
144
|
+
marketId: params.marketId,
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
catch {
|
|
148
|
+
throw new Error(`Failed to get market balance for ${params.walletAddress} in market ${params.marketId.address}`);
|
|
81
149
|
}
|
|
82
150
|
}
|
|
83
151
|
/**
|
|
84
|
-
* Open position for
|
|
152
|
+
* Open position for native ETH using WETHGateway
|
|
85
153
|
* @description Deposits native ETH via WETHGateway which wraps and deposits in one tx
|
|
86
154
|
*/
|
|
87
|
-
async
|
|
155
|
+
async _openETHPosition(params, poolAddress, marketInfo) {
|
|
88
156
|
const gatewayAddress = getWETHGatewayAddress(params.marketId.chainId);
|
|
89
157
|
if (!gatewayAddress) {
|
|
90
158
|
throw new Error(`WETHGateway not available on chain ${params.marketId.chainId}`);
|
|
@@ -99,19 +167,19 @@ export class AaveLendProvider extends LendProvider {
|
|
|
99
167
|
0, // referralCode (0 = no referral)
|
|
100
168
|
],
|
|
101
169
|
});
|
|
170
|
+
const wethAddress = getAssetAddress(WETH, params.marketId.chainId);
|
|
102
171
|
return {
|
|
103
172
|
amount: params.amountWei,
|
|
104
|
-
asset:
|
|
173
|
+
asset: wethAddress,
|
|
105
174
|
marketId: params.marketId.address,
|
|
106
175
|
apy: marketInfo.apy.total,
|
|
107
176
|
transactionData: {
|
|
108
|
-
|
|
177
|
+
position: {
|
|
109
178
|
to: gatewayAddress,
|
|
110
179
|
data: depositCallData,
|
|
111
180
|
value: params.amountWei, // Send ETH as msg.value
|
|
112
181
|
},
|
|
113
182
|
},
|
|
114
|
-
slippage: params.options?.slippage ?? 50,
|
|
115
183
|
};
|
|
116
184
|
}
|
|
117
185
|
/**
|
|
@@ -119,17 +187,8 @@ export class AaveLendProvider extends LendProvider {
|
|
|
119
187
|
* @description Standard approve + supply flow for non-WETH assets
|
|
120
188
|
*/
|
|
121
189
|
async _openERC20Position(params, poolAddress, marketInfo) {
|
|
122
|
-
// Get asset address for the chain
|
|
123
|
-
const assetAddress = params.asset
|
|
124
|
-
if (!assetAddress) {
|
|
125
|
-
throw new Error(`Asset not supported on chain ${params.marketId.chainId}`);
|
|
126
|
-
}
|
|
127
|
-
// Generate approval transaction
|
|
128
|
-
const approvalCallData = encodeFunctionData({
|
|
129
|
-
abi: erc20Abi,
|
|
130
|
-
functionName: 'approve',
|
|
131
|
-
args: [poolAddress, params.amountWei],
|
|
132
|
-
});
|
|
190
|
+
// Get asset address for the chain (throws for native assets)
|
|
191
|
+
const assetAddress = getAssetAddress(params.asset, params.marketId.chainId);
|
|
133
192
|
// Generate supply transaction
|
|
134
193
|
const supplyCallData = encodeFunctionData({
|
|
135
194
|
abi: POOL_ABI,
|
|
@@ -147,72 +206,32 @@ export class AaveLendProvider extends LendProvider {
|
|
|
147
206
|
marketId: params.marketId.address,
|
|
148
207
|
apy: marketInfo.apy.total,
|
|
149
208
|
transactionData: {
|
|
150
|
-
approval:
|
|
151
|
-
|
|
152
|
-
data: approvalCallData,
|
|
153
|
-
value: 0n,
|
|
154
|
-
},
|
|
155
|
-
openPosition: {
|
|
209
|
+
approval: this.buildApprovalTx(assetAddress, poolAddress, params.amountWei),
|
|
210
|
+
position: {
|
|
156
211
|
to: poolAddress,
|
|
157
212
|
data: supplyCallData,
|
|
158
213
|
value: 0n,
|
|
159
214
|
},
|
|
160
215
|
},
|
|
161
|
-
slippage: params.options?.slippage ?? 50,
|
|
162
216
|
};
|
|
163
217
|
}
|
|
164
218
|
/**
|
|
165
|
-
* Close
|
|
166
|
-
* @description Withdraws assets from an Aave reserve
|
|
167
|
-
* @param params - Position closing operation parameters
|
|
168
|
-
* @returns Promise resolving to withdrawal transaction details
|
|
169
|
-
*/
|
|
170
|
-
async _closePosition(params) {
|
|
171
|
-
try {
|
|
172
|
-
// Get Pool address for this chain
|
|
173
|
-
const poolAddress = getPoolAddress(params.marketId.chainId);
|
|
174
|
-
if (!poolAddress) {
|
|
175
|
-
throw new Error(`Aave V3 not deployed on chain ${params.marketId.chainId}`);
|
|
176
|
-
}
|
|
177
|
-
const marketInfo = await this.getMarket({
|
|
178
|
-
address: params.marketId.address,
|
|
179
|
-
chainId: params.marketId.chainId,
|
|
180
|
-
});
|
|
181
|
-
// Check if this is a WETH market
|
|
182
|
-
if (this.isWETHMarket(params.marketId)) {
|
|
183
|
-
return this._closeWETHPosition(params, poolAddress, marketInfo);
|
|
184
|
-
}
|
|
185
|
-
// Standard ERC-20 flow
|
|
186
|
-
return this._closeERC20Position(params, poolAddress, marketInfo);
|
|
187
|
-
}
|
|
188
|
-
catch (error) {
|
|
189
|
-
throw new Error(`Failed to close position: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
/**
|
|
193
|
-
* Close position for WETH market using WETHGateway
|
|
219
|
+
* Close position for native ETH using WETHGateway
|
|
194
220
|
* @description Withdraws aWETH, unwraps to ETH, and sends to user
|
|
195
221
|
*/
|
|
196
|
-
async
|
|
222
|
+
async _closeETHPosition(params, poolAddress, marketInfo) {
|
|
197
223
|
const gatewayAddress = getWETHGatewayAddress(params.marketId.chainId);
|
|
198
224
|
if (!gatewayAddress) {
|
|
199
225
|
throw new Error(`WETHGateway not available on chain ${params.marketId.chainId}`);
|
|
200
226
|
}
|
|
227
|
+
const wethAddress = getAssetAddress(WETH, params.marketId.chainId);
|
|
201
228
|
// Get the aToken address for the underlying WETH asset
|
|
202
|
-
// Note: params.marketId.address is the underlying WETH address, not the aToken
|
|
203
|
-
const { getATokenAddress } = await import('./sdk.js');
|
|
204
229
|
const aWETHAddress = await getATokenAddress({
|
|
205
|
-
underlyingAsset:
|
|
230
|
+
underlyingAsset: wethAddress,
|
|
206
231
|
chainId: params.marketId.chainId,
|
|
207
232
|
chainManager: this.chainManager,
|
|
208
233
|
});
|
|
209
|
-
//
|
|
210
|
-
const approvalCallData = encodeFunctionData({
|
|
211
|
-
abi: erc20Abi,
|
|
212
|
-
functionName: 'approve',
|
|
213
|
-
args: [gatewayAddress, params.amount],
|
|
214
|
-
});
|
|
215
|
-
// Second: Call withdrawETH on gateway
|
|
234
|
+
// Call withdrawETH on gateway
|
|
216
235
|
const withdrawCallData = encodeFunctionData({
|
|
217
236
|
abi: WETH_GATEWAY_ABI,
|
|
218
237
|
functionName: 'withdrawETH',
|
|
@@ -224,22 +243,17 @@ export class AaveLendProvider extends LendProvider {
|
|
|
224
243
|
});
|
|
225
244
|
return {
|
|
226
245
|
amount: params.amount,
|
|
227
|
-
asset:
|
|
246
|
+
asset: wethAddress,
|
|
228
247
|
marketId: params.marketId.address,
|
|
229
248
|
apy: marketInfo.apy.total,
|
|
230
249
|
transactionData: {
|
|
231
|
-
approval:
|
|
232
|
-
|
|
233
|
-
data: approvalCallData,
|
|
234
|
-
value: 0n,
|
|
235
|
-
},
|
|
236
|
-
closePosition: {
|
|
250
|
+
approval: this.buildApprovalTx(aWETHAddress, gatewayAddress, params.amount),
|
|
251
|
+
position: {
|
|
237
252
|
to: gatewayAddress,
|
|
238
253
|
data: withdrawCallData,
|
|
239
254
|
value: 0n,
|
|
240
255
|
},
|
|
241
256
|
},
|
|
242
|
-
slippage: params.options?.slippage ?? 50,
|
|
243
257
|
};
|
|
244
258
|
}
|
|
245
259
|
/**
|
|
@@ -264,83 +278,13 @@ export class AaveLendProvider extends LendProvider {
|
|
|
264
278
|
marketId: params.marketId.address,
|
|
265
279
|
apy: marketInfo.apy.total,
|
|
266
280
|
transactionData: {
|
|
267
|
-
|
|
281
|
+
position: {
|
|
268
282
|
to: poolAddress,
|
|
269
283
|
data: withdrawCallData,
|
|
270
284
|
value: 0n,
|
|
271
285
|
},
|
|
272
286
|
},
|
|
273
|
-
slippage: params.options?.slippage ?? 50,
|
|
274
287
|
};
|
|
275
288
|
}
|
|
276
|
-
/**
|
|
277
|
-
* Get detailed market information
|
|
278
|
-
* @param marketId - Market identifier containing address and chainId
|
|
279
|
-
* @returns Promise resolving to market information
|
|
280
|
-
*/
|
|
281
|
-
async _getMarket(marketId) {
|
|
282
|
-
return getReserve({
|
|
283
|
-
marketId,
|
|
284
|
-
chainManager: this.chainManager,
|
|
285
|
-
lendConfig: this._config,
|
|
286
|
-
});
|
|
287
|
-
}
|
|
288
|
-
/**
|
|
289
|
-
* Get list of available lending markets
|
|
290
|
-
* @param params - Filtering parameters
|
|
291
|
-
* @returns Promise resolving to array of market information
|
|
292
|
-
*/
|
|
293
|
-
async _getMarkets(params) {
|
|
294
|
-
const marketConfigs = params.markets || [];
|
|
295
|
-
return getReserves({
|
|
296
|
-
chainManager: this.chainManager,
|
|
297
|
-
lendConfig: this._config,
|
|
298
|
-
markets: marketConfigs,
|
|
299
|
-
});
|
|
300
|
-
}
|
|
301
|
-
/**
|
|
302
|
-
* Get position for a specific wallet address
|
|
303
|
-
* @param params - Parameters for fetching position
|
|
304
|
-
* @returns Promise resolving to position information
|
|
305
|
-
*/
|
|
306
|
-
async _getPosition(params) {
|
|
307
|
-
try {
|
|
308
|
-
const publicClient = this.chainManager.getPublicClient(params.marketId.chainId);
|
|
309
|
-
const market = await this._getMarket(params.marketId);
|
|
310
|
-
const poolAddress = getPoolAddress(params.marketId.chainId);
|
|
311
|
-
if (!poolAddress) {
|
|
312
|
-
throw new Error(`Aave V3 not deployed on chain ${params.marketId.chainId}`);
|
|
313
|
-
}
|
|
314
|
-
// Get the aToken address from Pool.getReserveData
|
|
315
|
-
const assetAddress = getAssetAddress(market.asset, params.marketId.chainId);
|
|
316
|
-
const reserveData = (await publicClient.readContract({
|
|
317
|
-
address: poolAddress,
|
|
318
|
-
abi: parseAbi([
|
|
319
|
-
'struct ReserveData { uint256 configuration; uint128 liquidityIndex; uint128 currentLiquidityRate; uint128 variableBorrowIndex; uint128 currentVariableBorrowRate; uint128 currentStableBorrowRate; uint40 lastUpdateTimestamp; uint16 id; address aTokenAddress; address stableDebtTokenAddress; address variableDebtTokenAddress; address interestRateStrategyAddress; uint128 accruedToTreasury; uint128 unbacked; uint128 isolationModeTotalDebt; }',
|
|
320
|
-
'function getReserveData(address asset) view returns (ReserveData)',
|
|
321
|
-
]),
|
|
322
|
-
functionName: 'getReserveData',
|
|
323
|
-
args: [assetAddress],
|
|
324
|
-
}));
|
|
325
|
-
const aTokenAddress = reserveData.aTokenAddress;
|
|
326
|
-
const balance = await publicClient.readContract({
|
|
327
|
-
address: aTokenAddress,
|
|
328
|
-
abi: erc20Abi,
|
|
329
|
-
functionName: 'balanceOf',
|
|
330
|
-
args: [params.walletAddress],
|
|
331
|
-
});
|
|
332
|
-
const balanceFormatted = formatUnits(balance, market.asset.metadata.decimals);
|
|
333
|
-
return {
|
|
334
|
-
balance,
|
|
335
|
-
balanceFormatted,
|
|
336
|
-
shares: balance, // In Aave, aTokens are 1:1 with underlying
|
|
337
|
-
sharesFormatted: balanceFormatted,
|
|
338
|
-
marketId: params.marketId,
|
|
339
|
-
};
|
|
340
|
-
}
|
|
341
|
-
catch (error) {
|
|
342
|
-
throw new Error(`Failed to get market balance for ${params.walletAddress} in market ${params.marketId.address}: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
343
|
-
}
|
|
344
|
-
}
|
|
345
289
|
}
|
|
346
290
|
//# sourceMappingURL=AaveLendProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AaveLendProvider.js","sourceRoot":"","sources":["../../../../src/lend/providers/aave/AaveLendProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"AaveLendProvider.js","sourceRoot":"","sources":["../../../../src/lend/providers/aave/AaveLendProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { LendMarket } from '../../../../types/lend/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Creates mock Aave reserve data for testing
|
|
4
|
+
*/
|
|
5
|
+
export declare function createMockAaveReserve(): LendMarket;
|
|
6
|
+
/**
|
|
7
|
+
* Creates mock ETH reserve data for testing (native asset)
|
|
8
|
+
* @description Uses type: 'native' to test native ETH handling via WETHGateway
|
|
9
|
+
*/
|
|
10
|
+
export declare function createMockWETHReserve(): LendMarket;
|
|
11
|
+
//# sourceMappingURL=mockReserve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mockReserve.d.ts","sourceRoot":"","sources":["../../../../../src/lend/providers/aave/__mocks__/mockReserve.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAEvD;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,UAAU,CAmClD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,UAAU,CAmClD"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates mock Aave reserve data for testing
|
|
3
|
+
*/
|
|
4
|
+
export function createMockAaveReserve() {
|
|
5
|
+
return {
|
|
6
|
+
marketId: {
|
|
7
|
+
address: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', // USDC on Base
|
|
8
|
+
chainId: 8453,
|
|
9
|
+
},
|
|
10
|
+
name: 'Aave USDC Base',
|
|
11
|
+
asset: {
|
|
12
|
+
metadata: {
|
|
13
|
+
name: 'USD Coin',
|
|
14
|
+
symbol: 'USDC',
|
|
15
|
+
decimals: 6,
|
|
16
|
+
},
|
|
17
|
+
address: {
|
|
18
|
+
8453: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',
|
|
19
|
+
},
|
|
20
|
+
type: 'erc20',
|
|
21
|
+
},
|
|
22
|
+
supply: {
|
|
23
|
+
totalAssets: BigInt(10000000e6),
|
|
24
|
+
totalShares: BigInt(10000000e6),
|
|
25
|
+
},
|
|
26
|
+
apy: {
|
|
27
|
+
total: 0.0325, // 3.25%
|
|
28
|
+
native: 0.0325,
|
|
29
|
+
totalRewards: 0,
|
|
30
|
+
performanceFee: 0,
|
|
31
|
+
},
|
|
32
|
+
metadata: {
|
|
33
|
+
owner: '0xA238Dd80C259a72e81d7e4664a9801593F98d1c5',
|
|
34
|
+
curator: '0xA238Dd80C259a72e81d7e4664a9801593F98d1c5',
|
|
35
|
+
fee: 0,
|
|
36
|
+
lastUpdate: Math.floor(Date.now() / 1000),
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Creates mock ETH reserve data for testing (native asset)
|
|
42
|
+
* @description Uses type: 'native' to test native ETH handling via WETHGateway
|
|
43
|
+
*/
|
|
44
|
+
export function createMockWETHReserve() {
|
|
45
|
+
return {
|
|
46
|
+
marketId: {
|
|
47
|
+
address: '0x4200000000000000000000000000000000000006', // WETH on OP Stack
|
|
48
|
+
chainId: 8453,
|
|
49
|
+
},
|
|
50
|
+
name: 'Aave ETH Base',
|
|
51
|
+
asset: {
|
|
52
|
+
metadata: {
|
|
53
|
+
name: 'Ethereum',
|
|
54
|
+
symbol: 'ETH',
|
|
55
|
+
decimals: 18,
|
|
56
|
+
},
|
|
57
|
+
address: {
|
|
58
|
+
8453: 'native',
|
|
59
|
+
},
|
|
60
|
+
type: 'native',
|
|
61
|
+
},
|
|
62
|
+
supply: {
|
|
63
|
+
totalAssets: BigInt(5000e18),
|
|
64
|
+
totalShares: BigInt(5000e18),
|
|
65
|
+
},
|
|
66
|
+
apy: {
|
|
67
|
+
total: 0.018, // 1.8%
|
|
68
|
+
native: 0.018,
|
|
69
|
+
totalRewards: 0,
|
|
70
|
+
performanceFee: 0,
|
|
71
|
+
},
|
|
72
|
+
metadata: {
|
|
73
|
+
owner: '0xA238Dd80C259a72e81d7e4664a9801593F98d1c5',
|
|
74
|
+
curator: '0xA238Dd80C259a72e81d7e4664a9801593F98d1c5',
|
|
75
|
+
fee: 0,
|
|
76
|
+
lastUpdate: Math.floor(Date.now() / 1000),
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=mockReserve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mockReserve.js","sourceRoot":"","sources":["../../../../../src/lend/providers/aave/__mocks__/mockReserve.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,QAAQ,EAAE;YACR,OAAO,EAAE,4CAAuD,EAAE,eAAe;YACjF,OAAO,EAAE,IAAI;SACd;QACD,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE;YACL,QAAQ,EAAE;gBACR,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,CAAC;aACZ;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,4CAAuD;aAC9D;YACD,IAAI,EAAE,OAAO;SACd;QACD,MAAM,EAAE;YACN,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC;YAC/B,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC;SAChC;QACD,GAAG,EAAE;YACH,KAAK,EAAE,MAAM,EAAE,QAAQ;YACvB,MAAM,EAAE,MAAM;YACd,YAAY,EAAE,CAAC;YACf,cAAc,EAAE,CAAC;SAClB;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,4CAAuD;YAC9D,OAAO,EAAE,4CAAuD;YAChE,GAAG,EAAE,CAAC;YACN,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;SAC1C;KACF,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,QAAQ,EAAE;YACR,OAAO,EAAE,4CAAuD,EAAE,mBAAmB;YACrF,OAAO,EAAE,IAAI;SACd;QACD,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE;YACL,QAAQ,EAAE;gBACR,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,EAAE;aACb;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;aACf;YACD,IAAI,EAAE,QAAQ;SACf;QACD,MAAM,EAAE;YACN,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC;YAC5B,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC;SAC7B;QACD,GAAG,EAAE;YACH,KAAK,EAAE,KAAK,EAAE,OAAO;YACrB,MAAM,EAAE,KAAK;YACb,YAAY,EAAE,CAAC;YACf,cAAc,EAAE,CAAC;SAClB;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,4CAAuD;YAC9D,OAAO,EAAE,4CAAuD;YAChE,GAAG,EAAE,CAAC;YACN,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;SAC1C;KACF,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AaveLendProvider.test.d.ts","sourceRoot":"","sources":["../../../../../src/lend/providers/aave/__tests__/AaveLendProvider.test.ts"],"names":[],"mappings":""}
|