@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
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import { encodeAbiParameters, encodeFunctionData, formatUnits, keccak256, zeroAddress, } from 'viem';
|
|
2
|
+
import { CURRENCY_AMOUNT_PARAMS, EXACT_INPUT_SINGLE_PARAMS, EXACT_OUTPUT_SINGLE_PARAMS, EXTSLOAD_ABI, POOL_KEY_ABI_TYPE, QUOTER_ABI, UNIVERSAL_ROUTER_ABI, } from './abis.js';
|
|
3
|
+
import { getAssetAddress, isNativeAsset } from '../../../utils/assets.js';
|
|
4
|
+
/**
|
|
5
|
+
* V4 represents native ETH as address(0) in pool keys and settle/take params,
|
|
6
|
+
* unlike V3 which required WETH. Named for clarity at call sites.
|
|
7
|
+
* @see https://github.com/Uniswap/v4-core/blob/main/src/types/Currency.sol
|
|
8
|
+
*/
|
|
9
|
+
const NATIVE_CURRENCY = zeroAddress;
|
|
10
|
+
/**
|
|
11
|
+
* Resolve token addresses, currency sorting, and pool key for a V4 swap
|
|
12
|
+
*/
|
|
13
|
+
function resolvePoolParams(assetIn, assetOut, chainId, fee, tickSpacing) {
|
|
14
|
+
const tokenIn = isNativeAsset(assetIn)
|
|
15
|
+
? NATIVE_CURRENCY
|
|
16
|
+
: getAssetAddress(assetIn, chainId);
|
|
17
|
+
const tokenOut = isNativeAsset(assetOut)
|
|
18
|
+
? NATIVE_CURRENCY
|
|
19
|
+
: getAssetAddress(assetOut, chainId);
|
|
20
|
+
// V4 requires sorted tokens: currency0 < currency1
|
|
21
|
+
const [currency0, currency1] = tokenIn.toLowerCase() < tokenOut.toLowerCase()
|
|
22
|
+
? [tokenIn, tokenOut]
|
|
23
|
+
: [tokenOut, tokenIn];
|
|
24
|
+
const zeroForOne = tokenIn.toLowerCase() === currency0.toLowerCase();
|
|
25
|
+
const poolKey = {
|
|
26
|
+
currency0,
|
|
27
|
+
currency1,
|
|
28
|
+
fee,
|
|
29
|
+
tickSpacing,
|
|
30
|
+
hooks: '0x0000000000000000000000000000000000000000',
|
|
31
|
+
};
|
|
32
|
+
return { tokenIn, tokenOut, zeroForOne, poolKey };
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Get a swap quote from the Quoter contract
|
|
36
|
+
*/
|
|
37
|
+
export async function getQuote(params) {
|
|
38
|
+
const { assetIn, assetOut, amountInWei, amountOutWei, chainId, publicClient, quoterAddress, poolManagerAddress, fee, tickSpacing, } = params;
|
|
39
|
+
const { tokenIn, zeroForOne, poolKey } = resolvePoolParams(assetIn, assetOut, chainId, fee, tickSpacing);
|
|
40
|
+
const isExactInput = amountInWei !== undefined;
|
|
41
|
+
// Read pool mid-price and quote in parallel — no extra sequential RPC call
|
|
42
|
+
const [sqrtPriceX96, quoteResult] = await Promise.all([
|
|
43
|
+
getPoolSqrtPrice({ publicClient, poolManagerAddress, poolKey }),
|
|
44
|
+
isExactInput
|
|
45
|
+
? publicClient.simulateContract({
|
|
46
|
+
address: quoterAddress,
|
|
47
|
+
abi: QUOTER_ABI,
|
|
48
|
+
functionName: 'quoteExactInputSingle',
|
|
49
|
+
args: [
|
|
50
|
+
{
|
|
51
|
+
poolKey,
|
|
52
|
+
zeroForOne,
|
|
53
|
+
exactAmount: amountInWei,
|
|
54
|
+
hookData: '0x',
|
|
55
|
+
},
|
|
56
|
+
],
|
|
57
|
+
})
|
|
58
|
+
: publicClient.simulateContract({
|
|
59
|
+
address: quoterAddress,
|
|
60
|
+
abi: QUOTER_ABI,
|
|
61
|
+
functionName: 'quoteExactOutputSingle',
|
|
62
|
+
args: [
|
|
63
|
+
{
|
|
64
|
+
poolKey,
|
|
65
|
+
zeroForOne,
|
|
66
|
+
exactAmount: amountOutWei,
|
|
67
|
+
hookData: '0x',
|
|
68
|
+
},
|
|
69
|
+
],
|
|
70
|
+
}),
|
|
71
|
+
]);
|
|
72
|
+
const amountIn = isExactInput ? amountInWei : quoteResult.result[0];
|
|
73
|
+
const amountOut = isExactInput ? quoteResult.result[0] : amountOutWei;
|
|
74
|
+
const gasEstimate = quoteResult.result[1];
|
|
75
|
+
const price = calculatePrice(amountIn, amountOut, assetIn, assetOut);
|
|
76
|
+
const priceInverse = calculatePrice(amountOut, amountIn, assetOut, assetIn);
|
|
77
|
+
const priceImpact = calculatePriceImpact({
|
|
78
|
+
sqrtPriceX96,
|
|
79
|
+
amountIn,
|
|
80
|
+
amountOut,
|
|
81
|
+
zeroForOne,
|
|
82
|
+
});
|
|
83
|
+
const route = {
|
|
84
|
+
path: [assetIn, assetOut],
|
|
85
|
+
pools: [
|
|
86
|
+
{
|
|
87
|
+
address: tokenIn,
|
|
88
|
+
fee,
|
|
89
|
+
version: 'v4',
|
|
90
|
+
},
|
|
91
|
+
],
|
|
92
|
+
};
|
|
93
|
+
return {
|
|
94
|
+
price,
|
|
95
|
+
priceInverse,
|
|
96
|
+
amountIn: parseFloat(formatUnits(amountIn, assetIn.metadata.decimals)),
|
|
97
|
+
amountOut: parseFloat(formatUnits(amountOut, assetOut.metadata.decimals)),
|
|
98
|
+
amountInWei: amountIn,
|
|
99
|
+
amountOutWei: amountOut,
|
|
100
|
+
priceImpact,
|
|
101
|
+
route,
|
|
102
|
+
gasEstimate,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
// V4 Universal Router command
|
|
106
|
+
const V4_SWAP = 0x10;
|
|
107
|
+
// V4 action types
|
|
108
|
+
const SWAP_EXACT_IN_SINGLE = 0x06;
|
|
109
|
+
const SWAP_EXACT_OUT_SINGLE = 0x07;
|
|
110
|
+
const SETTLE_ALL = 0x0c;
|
|
111
|
+
const TAKE_ALL = 0x0f;
|
|
112
|
+
/**
|
|
113
|
+
* Encode Universal Router V4 swap calldata
|
|
114
|
+
* @description Builds calldata for executing a V4 swap through Universal Router
|
|
115
|
+
*/
|
|
116
|
+
export function encodeUniversalRouterSwap(params) {
|
|
117
|
+
const { amountInWei, assetIn, assetOut, slippage, deadline, chainId, quote, fee, tickSpacing, } = params;
|
|
118
|
+
const { tokenIn, tokenOut, zeroForOne, poolKey } = resolvePoolParams(assetIn, assetOut, chainId, fee, tickSpacing);
|
|
119
|
+
const isExactInput = amountInWei !== undefined;
|
|
120
|
+
let actions;
|
|
121
|
+
let actionParams;
|
|
122
|
+
if (isExactInput) {
|
|
123
|
+
const minAmountOut = (quote.amountOutWei * BigInt(Math.round((1 - slippage) * 10000))) / 10000n;
|
|
124
|
+
actions =
|
|
125
|
+
`0x${[SWAP_EXACT_IN_SINGLE, SETTLE_ALL, TAKE_ALL].map((a) => a.toString(16).padStart(2, '0')).join('')}`;
|
|
126
|
+
actionParams = [
|
|
127
|
+
encodeAbiParameters(EXACT_INPUT_SINGLE_PARAMS, [
|
|
128
|
+
{
|
|
129
|
+
poolKey,
|
|
130
|
+
zeroForOne,
|
|
131
|
+
amountIn: amountInWei,
|
|
132
|
+
amountOutMinimum: minAmountOut,
|
|
133
|
+
hookData: '0x',
|
|
134
|
+
},
|
|
135
|
+
]),
|
|
136
|
+
encodeAbiParameters(CURRENCY_AMOUNT_PARAMS, [tokenIn, amountInWei]),
|
|
137
|
+
encodeAbiParameters(CURRENCY_AMOUNT_PARAMS, [tokenOut, minAmountOut]),
|
|
138
|
+
];
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
const maxAmountIn = quote.amountInWei +
|
|
142
|
+
(quote.amountInWei * BigInt(Math.round(slippage * 10000))) / 10000n;
|
|
143
|
+
actions =
|
|
144
|
+
`0x${[SWAP_EXACT_OUT_SINGLE, SETTLE_ALL, TAKE_ALL].map((a) => a.toString(16).padStart(2, '0')).join('')}`;
|
|
145
|
+
actionParams = [
|
|
146
|
+
encodeAbiParameters(EXACT_OUTPUT_SINGLE_PARAMS, [
|
|
147
|
+
{
|
|
148
|
+
poolKey,
|
|
149
|
+
zeroForOne,
|
|
150
|
+
amountOut: quote.amountOutWei,
|
|
151
|
+
amountInMaximum: maxAmountIn,
|
|
152
|
+
hookData: '0x',
|
|
153
|
+
},
|
|
154
|
+
]),
|
|
155
|
+
encodeAbiParameters(CURRENCY_AMOUNT_PARAMS, [tokenIn, maxAmountIn]),
|
|
156
|
+
encodeAbiParameters(CURRENCY_AMOUNT_PARAMS, [
|
|
157
|
+
tokenOut,
|
|
158
|
+
quote.amountOutWei,
|
|
159
|
+
]),
|
|
160
|
+
];
|
|
161
|
+
}
|
|
162
|
+
// Encode V4_SWAP input: abi.encode(bytes actions, bytes[] params)
|
|
163
|
+
const v4SwapInput = encodeAbiParameters([{ type: 'bytes' }, { type: 'bytes[]' }], [actions, actionParams]);
|
|
164
|
+
return encodeFunctionData({
|
|
165
|
+
abi: UNIVERSAL_ROUTER_ABI,
|
|
166
|
+
functionName: 'execute',
|
|
167
|
+
args: [
|
|
168
|
+
`0x${V4_SWAP.toString(16).padStart(2, '0')}`,
|
|
169
|
+
[v4SwapInput],
|
|
170
|
+
BigInt(deadline),
|
|
171
|
+
],
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
function calculatePrice(amountIn, amountOut, assetIn, assetOut) {
|
|
175
|
+
const inDecimals = assetIn.metadata.decimals;
|
|
176
|
+
const outDecimals = assetOut.metadata.decimals;
|
|
177
|
+
const normalizedIn = parseFloat(formatUnits(amountIn, inDecimals));
|
|
178
|
+
const normalizedOut = parseFloat(formatUnits(amountOut, outDecimals));
|
|
179
|
+
return (normalizedOut / normalizedIn).toFixed(6);
|
|
180
|
+
}
|
|
181
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
182
|
+
// Price impact via pool mid-price read from PoolManager storage (extsload)
|
|
183
|
+
// Formula mirrors Uniswap SDK's computePriceImpact:
|
|
184
|
+
// (quotedOutput - actualOutput) / quotedOutput
|
|
185
|
+
// @see https://github.com/Uniswap/sdks/blob/main/sdks/sdk-core/src/utils/computePriceImpact.ts
|
|
186
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
187
|
+
/** @see https://docs.uniswap.org/contracts/v4/reference/core/libraries/StateLibrary */
|
|
188
|
+
const POOLS_SLOT = 6n;
|
|
189
|
+
/**
|
|
190
|
+
* Read sqrtPriceX96 from a V4 pool via PoolManager.extsload (single SLOAD)
|
|
191
|
+
*/
|
|
192
|
+
export async function getPoolSqrtPrice(params) {
|
|
193
|
+
const { publicClient, poolManagerAddress, poolKey } = params;
|
|
194
|
+
const poolId = keccak256(encodeAbiParameters(POOL_KEY_ABI_TYPE, [
|
|
195
|
+
poolKey.currency0,
|
|
196
|
+
poolKey.currency1,
|
|
197
|
+
poolKey.fee,
|
|
198
|
+
poolKey.tickSpacing,
|
|
199
|
+
poolKey.hooks,
|
|
200
|
+
]));
|
|
201
|
+
// pools[poolId].slot0 — slot0 is at offset 0 from the mapping base
|
|
202
|
+
const slot = keccak256(encodeAbiParameters([{ type: 'bytes32' }, { type: 'uint256' }], [poolId, POOLS_SLOT]));
|
|
203
|
+
const result = await publicClient.readContract({
|
|
204
|
+
address: poolManagerAddress,
|
|
205
|
+
abi: EXTSLOAD_ABI,
|
|
206
|
+
functionName: 'extsload',
|
|
207
|
+
args: [slot],
|
|
208
|
+
});
|
|
209
|
+
// sqrtPriceX96 is packed in the lower 160 bits of slot0
|
|
210
|
+
return BigInt(result) & ((1n << 160n) - 1n);
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Price impact as a decimal (0.03 = 3%). Returns 0 if unavailable.
|
|
214
|
+
*/
|
|
215
|
+
export function calculatePriceImpact(params) {
|
|
216
|
+
const { sqrtPriceX96, amountIn, amountOut, zeroForOne } = params;
|
|
217
|
+
if (sqrtPriceX96 === 0n)
|
|
218
|
+
return 0;
|
|
219
|
+
// price(currency0→currency1) = sqrtPriceX96² / 2¹⁹² (raw wei units)
|
|
220
|
+
const Q192 = 1n << 192n;
|
|
221
|
+
const sqrtPriceSq = sqrtPriceX96 * sqrtPriceX96;
|
|
222
|
+
// What you'd receive at mid-price
|
|
223
|
+
const quotedOutput = zeroForOne
|
|
224
|
+
? (amountIn * sqrtPriceSq) / Q192
|
|
225
|
+
: (amountIn * Q192) / sqrtPriceSq;
|
|
226
|
+
if (quotedOutput === 0n)
|
|
227
|
+
return 0;
|
|
228
|
+
const SCALE = 10n ** 18n;
|
|
229
|
+
const impactScaled = ((quotedOutput - amountOut) * SCALE) / quotedOutput;
|
|
230
|
+
const impact = Number(impactScaled) / Number(SCALE);
|
|
231
|
+
return Math.max(0, impact);
|
|
232
|
+
}
|
|
233
|
+
//# sourceMappingURL=encoding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../../../src/swap/providers/uniswap/encoding.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { SwapMarketConfig, SwapProviderConfig } from '../../../types/swap/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Uniswap-specific market config with V4 pool parameters
|
|
4
|
+
*/
|
|
5
|
+
export interface UniswapMarketConfig extends SwapMarketConfig {
|
|
6
|
+
/** Fee tier in pips (e.g. 100 = 0.01%) */
|
|
7
|
+
fee?: number;
|
|
8
|
+
/** Tick spacing for the pool */
|
|
9
|
+
tickSpacing?: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Uniswap swap provider configuration
|
|
13
|
+
*/
|
|
14
|
+
export interface UniswapSwapProviderConfig extends SwapProviderConfig {
|
|
15
|
+
marketAllowlist?: UniswapMarketConfig[];
|
|
16
|
+
marketBlocklist?: UniswapMarketConfig[];
|
|
17
|
+
/** Permit2 approval expiry in seconds from now. Defaults to 30 days. */
|
|
18
|
+
permit2ExpirySeconds?: number;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/swap/providers/uniswap/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,uBAAuB,CAAA;AAE9B;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,kBAAkB;IACnE,eAAe,CAAC,EAAE,mBAAmB,EAAE,CAAA;IACvC,eAAe,CAAC,EAAE,mBAAmB,EAAE,CAAA;IACvC,wEAAwE;IACxE,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAC9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/swap/providers/uniswap/types.ts"],"names":[],"mappings":""}
|
package/dist/types/actions.d.ts
CHANGED
|
@@ -1,18 +1,30 @@
|
|
|
1
|
+
import type { UniswapSwapProviderConfig } from '../swap/providers/uniswap/types.js';
|
|
1
2
|
import type { Asset } from './asset.js';
|
|
2
3
|
import type { ChainConfig } from './chain.js';
|
|
3
4
|
import type { LendProviderConfig } from './lend/index.js';
|
|
5
|
+
import type { SwapProviderConfig } from './swap/index.js';
|
|
4
6
|
import type { ProviderSpec } from '../wallet/core/providers/hosted/types/index.js';
|
|
5
|
-
export type { LendProviderConfig };
|
|
7
|
+
export type { LendProviderConfig, SwapProviderConfig };
|
|
8
|
+
/** Require at least one property to be defined */
|
|
9
|
+
type RequireAtLeastOne<T> = {
|
|
10
|
+
[K in keyof T]-?: Required<Pick<T, K>> & Partial<Pick<T, Exclude<keyof T, K>>>;
|
|
11
|
+
}[keyof T];
|
|
6
12
|
/**
|
|
7
|
-
* Lending configuration
|
|
8
|
-
* @description Configuration for all lending providers
|
|
13
|
+
* Lending configuration — at least one provider must be configured
|
|
9
14
|
*/
|
|
10
|
-
export
|
|
15
|
+
export type LendConfig = RequireAtLeastOne<{
|
|
11
16
|
/** Morpho lending provider configuration */
|
|
12
17
|
morpho?: LendProviderConfig;
|
|
13
18
|
/** Aave lending provider configuration */
|
|
14
19
|
aave?: LendProviderConfig;
|
|
15
|
-
}
|
|
20
|
+
}>;
|
|
21
|
+
/**
|
|
22
|
+
* Swap configuration — at least one provider must be configured
|
|
23
|
+
*/
|
|
24
|
+
export type SwapConfig = RequireAtLeastOne<{
|
|
25
|
+
/** Uniswap swap provider configuration */
|
|
26
|
+
uniswap?: UniswapSwapProviderConfig;
|
|
27
|
+
}>;
|
|
16
28
|
/**
|
|
17
29
|
* Network configuration for lending providers
|
|
18
30
|
* @description Basic network information that lending providers need
|
|
@@ -42,6 +54,8 @@ export interface ActionsConfig<THostedWalletProviderType extends string, TConfig
|
|
|
42
54
|
wallet: WalletConfig<THostedWalletProviderType, TConfigMap>;
|
|
43
55
|
/** Lending providers configuration (optional) */
|
|
44
56
|
lend?: LendConfig;
|
|
57
|
+
/** Swap providers configuration (optional) */
|
|
58
|
+
swap?: SwapConfig;
|
|
45
59
|
/** Assets configuration (optional) */
|
|
46
60
|
assets?: AssetsConfig;
|
|
47
61
|
/** Chains to use for the SDK */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/types/actions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAA;AAGjF,YAAY,EAAE,kBAAkB,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/types/actions.ts"],"names":[],"mappings":"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"}
|
package/dist/types/asset.d.ts
CHANGED
|
@@ -4,8 +4,8 @@ import type { SupportedChainId } from '../constants/supportedChains.js';
|
|
|
4
4
|
* Asset type inspired by EIP 7811 but adapted for multi-chain asset definitions
|
|
5
5
|
*/
|
|
6
6
|
export interface Asset {
|
|
7
|
-
/** Multi-chain address mapping */
|
|
8
|
-
address: Partial<Record<SupportedChainId, Address>>;
|
|
7
|
+
/** Multi-chain address mapping. Native assets use 'native' string to prevent accidental contract calls. */
|
|
8
|
+
address: Partial<Record<SupportedChainId, Address | 'native'>>;
|
|
9
9
|
/** Asset metadata */
|
|
10
10
|
metadata: {
|
|
11
11
|
decimals: number;
|
|
@@ -25,7 +25,7 @@ export interface TokenBalance {
|
|
|
25
25
|
chainBalances: Array<{
|
|
26
26
|
chainId: SupportedChainId;
|
|
27
27
|
balance: bigint;
|
|
28
|
-
tokenAddress: Address;
|
|
28
|
+
tokenAddress: Address | 'native';
|
|
29
29
|
formattedBalance: string;
|
|
30
30
|
}>;
|
|
31
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../src/types/asset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAEtE;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,
|
|
1
|
+
{"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../src/types/asset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAEtE;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,2GAA2G;IAC3G,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAA;IAC9D,qBAAqB;IACrB,QAAQ,EAAE;QACR,QAAQ,EAAE,MAAM,CAAA;QAChB,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;IACD,qCAAqC;IACrC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAA;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,aAAa,EAAE,KAAK,CAAC;QACnB,OAAO,EAAE,gBAAgB,CAAA;QACzB,OAAO,EAAE,MAAM,CAAA;QACf,YAAY,EAAE,OAAO,GAAG,QAAQ,CAAA;QAChC,gBAAgB,EAAE,MAAM,CAAA;KACzB,CAAC,CAAA;CACH"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA"}
|
package/dist/types/index.js
CHANGED
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import type { Address
|
|
1
|
+
import type { Address } from 'viem';
|
|
2
2
|
import type { SupportedChainId } from '../../constants/supportedChains.js';
|
|
3
3
|
import type { Asset } from '../asset.js';
|
|
4
|
+
import type { TransactionData } from '../transaction.js';
|
|
4
5
|
import type { BatchTransactionReturnType, TransactionReturnType } from '../../wallet/core/wallets/abstract/types/index.js';
|
|
5
6
|
export { LendProvider } from '../../lend/core/LendProvider.js';
|
|
6
7
|
export { ActionsLendNamespace } from '../../lend/namespaces/ActionsLendNamespace.js';
|
|
7
8
|
export { WalletLendNamespace } from '../../lend/namespaces/WalletLendNamespace.js';
|
|
9
|
+
export type { TransactionData };
|
|
8
10
|
/**
|
|
9
11
|
* Lending market identifier
|
|
10
12
|
* @description Unique identifier for a lending market
|
|
@@ -35,18 +37,6 @@ export type LendMarketConfig = LendMarketId & LendMarketConfigMetadata;
|
|
|
35
37
|
* @description Requires market identifier (address and chainId)
|
|
36
38
|
*/
|
|
37
39
|
export type GetLendMarketParams = LendMarketId;
|
|
38
|
-
/**
|
|
39
|
-
* Transaction data for execution
|
|
40
|
-
* @description Raw transaction data for wallet execution
|
|
41
|
-
*/
|
|
42
|
-
export interface TransactionData {
|
|
43
|
-
/** Target contract address */
|
|
44
|
-
to: Address;
|
|
45
|
-
/** Encoded function call data */
|
|
46
|
-
data: Hex;
|
|
47
|
-
/** ETH value to send */
|
|
48
|
-
value: bigint;
|
|
49
|
-
}
|
|
50
40
|
/**
|
|
51
41
|
* Supply metrics for a lending market
|
|
52
42
|
* @description Total assets and shares in the vault
|
|
@@ -71,16 +61,13 @@ export interface LendTransaction {
|
|
|
71
61
|
marketId: string;
|
|
72
62
|
/** Estimated APY at time of lending */
|
|
73
63
|
apy: number;
|
|
74
|
-
/** Transaction data for execution
|
|
75
|
-
transactionData
|
|
64
|
+
/** Transaction data for execution */
|
|
65
|
+
transactionData: {
|
|
76
66
|
/** Approval transaction (if needed) */
|
|
77
67
|
approval?: TransactionData;
|
|
78
|
-
/** Main
|
|
79
|
-
|
|
80
|
-
closePosition?: TransactionData;
|
|
68
|
+
/** Main position transaction */
|
|
69
|
+
position: TransactionData;
|
|
81
70
|
};
|
|
82
|
-
/** Slippage tolerance used */
|
|
83
|
-
slippage?: number;
|
|
84
71
|
}
|
|
85
72
|
/**
|
|
86
73
|
* Lending transaction receipt
|
|
@@ -183,8 +170,6 @@ export interface LendMarket {
|
|
|
183
170
|
* @description Configuration options for lending operations
|
|
184
171
|
*/
|
|
185
172
|
export interface LendOptions {
|
|
186
|
-
/** Maximum slippage tolerance (basis points) */
|
|
187
|
-
slippage?: number;
|
|
188
173
|
/** Deadline for transaction (timestamp) */
|
|
189
174
|
deadline?: number;
|
|
190
175
|
/** Gas limit override */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/types/lend/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/types/lend/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,KAAK,EACV,0BAA0B,EAC1B,qBAAqB,EACtB,MAAM,+CAA+C,CAAA;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAA;AAC9E,YAAY,EAAE,eAAe,EAAE,CAAA;AAE/B;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,gBAAgB,CAAA;CAC1B,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAA;IACZ,wCAAwC;IACxC,KAAK,EAAE,KAAK,CAAA;IACZ,4BAA4B;IAC5B,YAAY,EAAE,QAAQ,GAAG,MAAM,CAAA;CAChC,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,wBAAwB,CAAA;AAEtE;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAAA;AAE9C;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAA;IACnB,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,oBAAoB;IACpB,KAAK,EAAE,OAAO,CAAA;IACd,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAA;IACX,qCAAqC;IACrC,eAAe,EAAE;QACf,uCAAuC;QACvC,QAAQ,CAAC,EAAE,eAAe,CAAA;QAC1B,gCAAgC;QAChC,QAAQ,EAAE,eAAe,CAAA;KAC1B,CAAA;CACF;AAED;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAC9B,qBAAqB,GACrB,0BAA0B,CAAA;AAE9B;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,6BAA6B;IAC7B,SAAS,EAAE,OAAO,CAAA;IAClB,+BAA+B;IAC/B,eAAe,EAAE,OAAO,CAAA;IACxB,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAA;IACnB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAe,SAAQ,cAAc;IACpD,qBAAqB;IACrB,MAAM,EAAE,OAAO,CAAA;IACf,kCAAkC;IAClC,GAAG,EAAE,OAAO,CAAA;IACZ,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAA;IACb,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAA;IACd,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAA;IACpB,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sCAAsC;IACtC,cAAc,EAAE,MAAM,CAAA;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,0BAA0B;IAC1B,KAAK,EAAE,OAAO,CAAA;IACd,4BAA4B;IAC5B,OAAO,EAAE,OAAO,CAAA;IAChB,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAA;IACX,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,wBAAwB;IACxB,QAAQ,EAAE,YAAY,CAAA;IACtB,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,wBAAwB;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ,qBAAqB;IACrB,MAAM,EAAE,gBAAgB,CAAA;IACxB,oBAAoB;IACpB,GAAG,EAAE,YAAY,CAAA;IACjB,gCAAgC;IAChC,QAAQ,EAAE,kBAAkB,CAAA;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,iDAAiD;IACjD,eAAe,CAAC,EAAE,gBAAgB,EAAE,CAAA;IACpC,mDAAmD;IACnD,eAAe,CAAC,EAAE,gBAAgB,EAAE,CAAA;CACrC;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,8BAA8B;IAC9B,gBAAgB,EAAE,MAAM,CAAA;IACxB,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,8BAA8B;IAC9B,eAAe,EAAE,MAAM,CAAA;IACvB,wBAAwB;IACxB,QAAQ,EAAE,YAAY,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,oBAAoB;IACpB,KAAK,EAAE,KAAK,CAAA;IACZ,uDAAuD;IACvD,QAAQ,EAAE,YAAY,CAAA;IACtB,+FAA+F;IAC/F,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,qCAAqC;IACrC,OAAO,CAAC,EAAE,WAAW,CAAA;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAuB,SAAQ,0BAA0B;IACxE,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,8BAA+B,SAAQ,IAAI,CAC1D,0BAA0B,EAC1B,eAAe,CAChB;IACC,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,qFAAqF;IACrF,aAAa,EAAE,OAAO,CAAA;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,wEAAwE;IACxE,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,uDAAuD;IACvD,QAAQ,EAAE,YAAY,CAAA;IACtB,uDAAuD;IACvD,aAAa,EAAE,OAAO,CAAA;IACtB,wCAAwC;IACxC,OAAO,CAAC,EAAE,WAAW,CAAA;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAA;IACd,wEAAwE;IACxE,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,uDAAuD;IACvD,QAAQ,EAAE,YAAY,CAAA;IACtB,+FAA+F;IAC/F,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,wCAAwC;IACxC,OAAO,CAAC,EAAE,WAAW,CAAA;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,sDAAsD;IACtD,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,KAAK,CAAA;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kCAAkC;IAClC,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,qCAAqC;IACrC,OAAO,CAAC,EAAE,gBAAgB,CAAA;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,2CAA2C;IAC3C,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,uDAAuD;IACvD,QAAQ,EAAE,YAAY,CAAA;IACtB,+CAA+C;IAC/C,aAAa,EAAE,OAAO,CAAA;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,aAAa,CACX,MAAM,EAAE,8BAA8B,GACrC,OAAO,CAAC,eAAe,CAAC,CAAA;IAE3B;;;;OAIG;IACH,cAAc,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;IAEzE;;;;OAIG;IACH,UAAU,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAEvD;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA;IAEhE;;;;OAIG;IACH,YAAY,CAAC,EACX,QAAQ,EACR,aAAa,GACd,EAAE,sBAAsB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;CACxD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/types/lend/base.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/types/lend/base.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Address } from 'viem';
|
|
2
|
+
/**
|
|
3
|
+
* Morpho contract addresses needed per chain
|
|
4
|
+
*/
|
|
5
|
+
export interface MorphoContracts {
|
|
6
|
+
/** Morpho Blue core contract - market state, positions, supply/withdraw */
|
|
7
|
+
morphoBlue: Address;
|
|
8
|
+
/** Interest Rate Model contract - borrow rate calculation for APY */
|
|
9
|
+
irm: Address;
|
|
10
|
+
/** MetaMorpho vault factory (optional, only for vault creation) */
|
|
11
|
+
metaMorphoFactory?: Address;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Registry mapping chainId to Morpho contracts
|
|
15
|
+
*/
|
|
16
|
+
export type MorphoContractsRegistry = Record<number, MorphoContracts>;
|
|
17
|
+
//# sourceMappingURL=contracts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../src/types/lend/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,2EAA2E;IAC3E,UAAU,EAAE,OAAO,CAAA;IACnB,qEAAqE;IACrE,GAAG,EAAE,OAAO,CAAA;IACZ,mEAAmE;IACnE,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../src/types/lend/contracts.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/lend/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/lend/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA"}
|
package/dist/types/lend/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/lend/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/lend/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA"}
|