@eth-optimism/actions-sdk 0.3.0 → 0.4.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/dist/__mocks__/MockAssets.d.ts +17 -2
- package/dist/__mocks__/MockAssets.d.ts.map +1 -1
- package/dist/__mocks__/MockAssets.js +49 -6
- package/dist/__mocks__/MockAssets.js.map +1 -1
- package/dist/__tests__/actions.test.js +1 -1
- package/dist/__tests__/actions.test.js.map +1 -1
- package/dist/actions.d.ts +8 -13
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +35 -27
- package/dist/actions.js.map +1 -1
- package/dist/constants/assets.d.ts +215 -4
- package/dist/constants/assets.d.ts.map +1 -1
- package/dist/constants/assets.js +734 -11
- package/dist/constants/assets.js.map +1 -1
- package/dist/constants/providers.d.ts +6 -0
- package/dist/constants/providers.d.ts.map +1 -0
- package/dist/constants/providers.js +6 -0
- package/dist/constants/providers.js.map +1 -0
- package/dist/constants/supportedChains.d.ts +2 -2
- package/dist/constants/supportedChains.d.ts.map +1 -1
- package/dist/constants/supportedChains.js +12 -2
- package/dist/constants/supportedChains.js.map +1 -1
- package/dist/index.d.ts +4 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -4
- package/dist/index.js.map +1 -1
- package/dist/lend/__mocks__/MockLendProvider.d.ts +1 -1
- package/dist/lend/__mocks__/MockLendProvider.d.ts.map +1 -1
- package/dist/lend/__mocks__/MockLendProvider.js +7 -2
- package/dist/lend/__mocks__/MockLendProvider.js.map +1 -1
- package/dist/lend/core/LendProvider.d.ts +12 -8
- package/dist/lend/core/LendProvider.d.ts.map +1 -1
- package/dist/lend/core/LendProvider.js +15 -21
- package/dist/lend/core/LendProvider.js.map +1 -1
- package/dist/lend/namespaces/BaseLendNamespace.d.ts +2 -6
- package/dist/lend/namespaces/BaseLendNamespace.d.ts.map +1 -1
- package/dist/lend/namespaces/BaseLendNamespace.js.map +1 -1
- package/dist/lend/namespaces/__tests__/BaseLendNamespace.spec.js +7 -4
- package/dist/lend/namespaces/__tests__/BaseLendNamespace.spec.js.map +1 -1
- package/dist/lend/providers/aave/AaveLendProvider.d.ts +1 -6
- package/dist/lend/providers/aave/AaveLendProvider.d.ts.map +1 -1
- package/dist/lend/providers/aave/AaveLendProvider.js +3 -6
- package/dist/lend/providers/aave/AaveLendProvider.js.map +1 -1
- package/dist/lend/providers/aave/__tests__/AaveLendProvider.test.js +14 -6
- package/dist/lend/providers/aave/__tests__/AaveLendProvider.test.js.map +1 -1
- package/dist/lend/providers/aave/addresses.d.ts +13 -39
- package/dist/lend/providers/aave/addresses.d.ts.map +1 -1
- package/dist/lend/providers/aave/addresses.js +65 -60
- package/dist/lend/providers/aave/addresses.js.map +1 -1
- package/dist/lend/providers/aave/sdk.d.ts +2 -2
- package/dist/lend/providers/aave/sdk.d.ts.map +1 -1
- package/dist/lend/providers/aave/sdk.js +6 -28
- package/dist/lend/providers/aave/sdk.js.map +1 -1
- package/dist/lend/providers/morpho/MorphoLendProvider.d.ts +1 -6
- package/dist/lend/providers/morpho/MorphoLendProvider.d.ts.map +1 -1
- package/dist/lend/providers/morpho/MorphoLendProvider.js +4 -13
- package/dist/lend/providers/morpho/MorphoLendProvider.js.map +1 -1
- package/dist/lend/providers/morpho/__tests__/api.test.js +52 -43
- package/dist/lend/providers/morpho/__tests__/api.test.js.map +1 -1
- package/dist/lend/providers/morpho/__tests__/sdk.test.js +41 -42
- package/dist/lend/providers/morpho/__tests__/sdk.test.js.map +1 -1
- package/dist/lend/providers/morpho/api.d.ts +3 -7
- package/dist/lend/providers/morpho/api.d.ts.map +1 -1
- package/dist/lend/providers/morpho/api.js +2 -2
- package/dist/lend/providers/morpho/api.js.map +1 -1
- package/dist/lend/providers/morpho/contracts.d.ts +11 -10
- package/dist/lend/providers/morpho/contracts.d.ts.map +1 -1
- package/dist/lend/providers/morpho/contracts.js +43 -10
- package/dist/lend/providers/morpho/contracts.js.map +1 -1
- package/dist/lend/providers/morpho/sdk.d.ts +7 -2
- package/dist/lend/providers/morpho/sdk.d.ts.map +1 -1
- package/dist/lend/providers/morpho/sdk.js +67 -63
- package/dist/lend/providers/morpho/sdk.js.map +1 -1
- package/dist/nodeActionsFactory.d.ts +1 -1
- package/dist/reactActionsFactory.d.ts +1 -1
- package/dist/services/ChainManager.d.ts +8 -8
- package/dist/services/ChainManager.d.ts.map +1 -1
- package/dist/services/ChainManager.js.map +1 -1
- package/dist/services/__mocks__/MockChainManager.d.ts +4 -4
- package/dist/services/__mocks__/MockChainManager.d.ts.map +1 -1
- package/dist/services/__mocks__/MockChainManager.js.map +1 -1
- package/dist/services/tokenBalance.d.ts +1 -1
- package/dist/services/tokenBalance.d.ts.map +1 -1
- package/dist/services/tokenBalance.js +31 -30
- package/dist/services/tokenBalance.js.map +1 -1
- package/dist/services/tokenBalance.spec.js +20 -24
- package/dist/services/tokenBalance.spec.js.map +1 -1
- package/dist/swap/__mocks__/MockSwapProvider.d.ts +20 -8
- package/dist/swap/__mocks__/MockSwapProvider.d.ts.map +1 -1
- package/dist/swap/__mocks__/MockSwapProvider.js +52 -29
- package/dist/swap/__mocks__/MockSwapProvider.js.map +1 -1
- package/dist/swap/core/SwapProvider.d.ts +105 -16
- package/dist/swap/core/SwapProvider.d.ts.map +1 -1
- package/dist/swap/core/SwapProvider.js +218 -36
- package/dist/swap/core/SwapProvider.js.map +1 -1
- package/dist/swap/core/__tests__/SwapProvider.test.js +115 -9
- package/dist/swap/core/__tests__/SwapProvider.test.js.map +1 -1
- package/dist/swap/core/markets.d.ts +47 -0
- package/dist/swap/core/markets.d.ts.map +1 -0
- package/dist/swap/core/markets.js +65 -0
- package/dist/swap/core/markets.js.map +1 -0
- package/dist/swap/index.d.ts +2 -0
- package/dist/swap/index.d.ts.map +1 -1
- package/dist/swap/index.js +1 -0
- package/dist/swap/index.js.map +1 -1
- package/dist/swap/namespaces/ActionsSwapNamespace.d.ts +2 -2
- package/dist/swap/namespaces/ActionsSwapNamespace.js +2 -2
- package/dist/swap/namespaces/BaseSwapNamespace.d.ts +48 -8
- package/dist/swap/namespaces/BaseSwapNamespace.d.ts.map +1 -1
- package/dist/swap/namespaces/BaseSwapNamespace.js +139 -16
- package/dist/swap/namespaces/BaseSwapNamespace.js.map +1 -1
- package/dist/swap/namespaces/WalletSwapNamespace.d.ts +19 -7
- package/dist/swap/namespaces/WalletSwapNamespace.d.ts.map +1 -1
- package/dist/swap/namespaces/WalletSwapNamespace.js +39 -15
- package/dist/swap/namespaces/WalletSwapNamespace.js.map +1 -1
- package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.js +150 -11
- package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.js.map +1 -1
- package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.js +85 -8
- package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.js.map +1 -1
- package/dist/swap/providers/uniswap/UniswapSwapProvider.d.ts +9 -42
- package/dist/swap/providers/uniswap/UniswapSwapProvider.d.ts.map +1 -1
- package/dist/swap/providers/uniswap/UniswapSwapProvider.js +81 -139
- package/dist/swap/providers/uniswap/UniswapSwapProvider.js.map +1 -1
- package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.js +10 -9
- package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.js.map +1 -1
- package/dist/swap/providers/uniswap/__tests__/sdk.test.js +17 -17
- package/dist/swap/providers/uniswap/__tests__/sdk.test.js.map +1 -1
- package/dist/swap/providers/uniswap/addresses.d.ts +5 -0
- package/dist/swap/providers/uniswap/addresses.d.ts.map +1 -1
- package/dist/swap/providers/uniswap/addresses.js +1 -1
- package/dist/swap/providers/uniswap/addresses.js.map +1 -1
- package/dist/swap/providers/uniswap/encoding.d.ts +4 -4
- package/dist/swap/providers/uniswap/encoding.js +17 -17
- package/dist/swap/providers/uniswap/markets.d.ts +19 -0
- package/dist/swap/providers/uniswap/markets.d.ts.map +1 -0
- package/dist/swap/providers/uniswap/markets.js +48 -0
- package/dist/swap/providers/uniswap/markets.js.map +1 -0
- package/dist/swap/providers/uniswap/types.d.ts +4 -3
- package/dist/swap/providers/uniswap/types.d.ts.map +1 -1
- package/dist/swap/providers/velodrome/VelodromeSwapProvider.d.ts +49 -0
- package/dist/swap/providers/velodrome/VelodromeSwapProvider.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/VelodromeSwapProvider.js +140 -0
- package/dist/swap/providers/velodrome/VelodromeSwapProvider.js.map +1 -0
- package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.d.ts +2 -0
- package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.js +255 -0
- package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.js.map +1 -0
- package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.d.ts +2 -0
- package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.js +166 -0
- package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.js.map +1 -0
- package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.d.ts +2 -0
- package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.js +419 -0
- package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.js.map +1 -0
- package/dist/swap/providers/velodrome/__tests__/encoding.cl.test.d.ts +2 -0
- package/dist/swap/providers/velodrome/__tests__/encoding.cl.test.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/__tests__/encoding.cl.test.js +51 -0
- package/dist/swap/providers/velodrome/__tests__/encoding.cl.test.js.map +1 -0
- package/dist/swap/providers/velodrome/__tests__/encoding.helpers.d.ts +14 -0
- package/dist/swap/providers/velodrome/__tests__/encoding.helpers.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/__tests__/encoding.helpers.js +13 -0
- package/dist/swap/providers/velodrome/__tests__/encoding.helpers.js.map +1 -0
- package/dist/swap/providers/velodrome/__tests__/encoding.v2.test.d.ts +2 -0
- package/dist/swap/providers/velodrome/__tests__/encoding.v2.test.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/__tests__/encoding.v2.test.js +173 -0
- package/dist/swap/providers/velodrome/__tests__/encoding.v2.test.js.map +1 -0
- package/dist/swap/providers/velodrome/abis.d.ts +396 -0
- package/dist/swap/providers/velodrome/abis.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/abis.js +257 -0
- package/dist/swap/providers/velodrome/abis.js.map +1 -0
- package/dist/swap/providers/velodrome/addresses.d.ts +39 -0
- package/dist/swap/providers/velodrome/addresses.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/addresses.js +57 -0
- package/dist/swap/providers/velodrome/addresses.js.map +1 -0
- package/dist/swap/providers/velodrome/config.d.ts +22 -0
- package/dist/swap/providers/velodrome/config.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/config.js +29 -0
- package/dist/swap/providers/velodrome/config.js.map +1 -0
- package/dist/swap/providers/velodrome/encoding/helpers.d.ts +37 -0
- package/dist/swap/providers/velodrome/encoding/helpers.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/encoding/helpers.js +60 -0
- package/dist/swap/providers/velodrome/encoding/helpers.js.map +1 -0
- package/dist/swap/providers/velodrome/encoding/index.d.ts +8 -0
- package/dist/swap/providers/velodrome/encoding/index.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/encoding/index.js +5 -0
- package/dist/swap/providers/velodrome/encoding/index.js.map +1 -0
- package/dist/swap/providers/velodrome/encoding/poolRouter.d.ts +39 -0
- package/dist/swap/providers/velodrome/encoding/poolRouter.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/encoding/poolRouter.js +83 -0
- package/dist/swap/providers/velodrome/encoding/poolRouter.js.map +1 -0
- package/dist/swap/providers/velodrome/encoding/routers/approval.d.ts +15 -0
- package/dist/swap/providers/velodrome/encoding/routers/approval.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/encoding/routers/approval.js +33 -0
- package/dist/swap/providers/velodrome/encoding/routers/approval.js.map +1 -0
- package/dist/swap/providers/velodrome/encoding/routers/cl.d.ts +40 -0
- package/dist/swap/providers/velodrome/encoding/routers/cl.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/encoding/routers/cl.js +80 -0
- package/dist/swap/providers/velodrome/encoding/routers/cl.js.map +1 -0
- package/dist/swap/providers/velodrome/encoding/routers/v2.d.ts +42 -0
- package/dist/swap/providers/velodrome/encoding/routers/v2.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/encoding/routers/v2.js +166 -0
- package/dist/swap/providers/velodrome/encoding/routers/v2.js.map +1 -0
- package/dist/swap/providers/velodrome/markets.d.ts +21 -0
- package/dist/swap/providers/velodrome/markets.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/markets.js +69 -0
- package/dist/swap/providers/velodrome/markets.js.map +1 -0
- package/dist/swap/providers/velodrome/types.d.ts +31 -0
- package/dist/swap/providers/velodrome/types.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/types.js +2 -0
- package/dist/swap/providers/velodrome/types.js.map +1 -0
- package/dist/types/actions.d.ts +44 -9
- package/dist/types/actions.d.ts.map +1 -1
- package/dist/types/asset.d.ts +7 -9
- package/dist/types/asset.d.ts.map +1 -1
- package/dist/types/chain.d.ts +2 -2
- package/dist/types/chain.d.ts.map +1 -1
- package/dist/types/lend/base.d.ts +6 -6
- 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 +2 -1
- package/dist/types/lend/contracts.d.ts.map +1 -1
- package/dist/types/providers.d.ts +21 -0
- package/dist/types/providers.d.ts.map +1 -0
- package/dist/types/providers.js +2 -0
- package/dist/types/providers.js.map +1 -0
- package/dist/types/swap/base.d.ts +133 -33
- package/dist/types/swap/base.d.ts.map +1 -1
- package/dist/utils/approve.d.ts +82 -0
- package/dist/utils/approve.d.ts.map +1 -0
- package/dist/utils/{permit2.js → approve.js} +48 -14
- package/dist/utils/approve.js.map +1 -0
- package/dist/utils/approve.test.d.ts +2 -0
- package/dist/utils/approve.test.d.ts.map +1 -0
- package/dist/utils/{permit2.test.js → approve.test.js} +95 -2
- package/dist/utils/approve.test.js.map +1 -0
- package/dist/utils/assets.d.ts +6 -0
- package/dist/utils/assets.d.ts.map +1 -1
- package/dist/utils/assets.js +10 -0
- package/dist/utils/assets.js.map +1 -1
- package/dist/utils/validateAddresses.d.ts +32 -0
- package/dist/utils/validateAddresses.d.ts.map +1 -0
- package/dist/utils/validateAddresses.js +103 -0
- package/dist/utils/validateAddresses.js.map +1 -0
- package/dist/utils/validateAddresses.test.d.ts +2 -0
- package/dist/utils/validateAddresses.test.d.ts.map +1 -0
- package/dist/utils/validateAddresses.test.js +314 -0
- package/dist/utils/validateAddresses.test.js.map +1 -0
- package/dist/wallet/core/namespace/WalletNamespace.d.ts +21 -9
- package/dist/wallet/core/namespace/WalletNamespace.d.ts.map +1 -1
- package/dist/wallet/core/namespace/WalletNamespace.js +44 -15
- 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/hosted/abstract/HostedWalletProvider.d.ts +4 -16
- package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.d.ts.map +1 -1
- package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.js.map +1 -1
- package/dist/wallet/core/providers/hosted/types/index.d.ts +6 -11
- package/dist/wallet/core/providers/hosted/types/index.d.ts.map +1 -1
- package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.d.ts +2 -9
- package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.d.ts.map +1 -1
- package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.js.map +1 -1
- package/dist/wallet/core/wallets/abstract/Wallet.d.ts +6 -17
- package/dist/wallet/core/wallets/abstract/Wallet.d.ts.map +1 -1
- package/dist/wallet/core/wallets/abstract/Wallet.js +5 -6
- package/dist/wallet/core/wallets/abstract/Wallet.js.map +1 -1
- package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.d.ts +10 -1
- package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.d.ts.map +1 -1
- package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.js +2 -2
- package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.js.map +1 -1
- package/dist/wallet/core/wallets/abstract/__tests__/Wallet.spec.js +12 -4
- package/dist/wallet/core/wallets/abstract/__tests__/Wallet.spec.js.map +1 -1
- package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts +3 -10
- package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts.map +1 -1
- package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.js.map +1 -1
- package/dist/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.js.map +1 -1
- package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.d.ts +3 -10
- package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.d.ts.map +1 -1
- package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.js.map +1 -1
- package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.d.ts +2 -4
- package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.d.ts.map +1 -1
- package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.js +6 -8
- package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.js.map +1 -1
- package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.js +4 -4
- package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.js.map +1 -1
- package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts +2 -9
- package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts.map +1 -1
- package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js.map +1 -1
- package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.d.ts +3 -10
- package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.d.ts.map +1 -1
- package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.js.map +1 -1
- package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.d.ts +3 -10
- package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.d.ts.map +1 -1
- package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.js.map +1 -1
- package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.d.ts +3 -9
- package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.d.ts.map +1 -1
- package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js +3 -2
- package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js.map +1 -1
- package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.d.ts +3 -9
- package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.d.ts.map +1 -1
- package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js +3 -2
- package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js.map +1 -1
- package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts +3 -9
- package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts.map +1 -1
- package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js +3 -2
- package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js.map +1 -1
- package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.d.ts +2 -4
- package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.d.ts.map +1 -1
- package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.js +11 -13
- package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.js.map +1 -1
- package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.js +6 -6
- package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.js.map +1 -1
- package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.d.ts +5 -10
- package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.d.ts.map +1 -1
- package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.js +3 -3
- package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.js.map +1 -1
- package/dist/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.d.ts +2 -6
- package/dist/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.d.ts.map +1 -1
- package/dist/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.js.map +1 -1
- package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.d.ts +5 -10
- 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/turnkey/TurnkeyWallet.d.ts +5 -10
- 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/package.json +3 -2
- package/src/__mocks__/MockAssets.ts +54 -6
- package/src/__tests__/actions.test.ts +1 -1
- package/src/actions.ts +58 -61
- package/src/constants/assets.ts +781 -10
- package/src/constants/providers.ts +5 -0
- package/src/constants/supportedChains.ts +22 -2
- package/src/index.ts +50 -8
- package/src/lend/__mocks__/MockLendProvider.ts +8 -3
- package/src/lend/core/LendProvider.ts +27 -28
- package/src/lend/namespaces/BaseLendNamespace.ts +2 -6
- package/src/lend/namespaces/__tests__/BaseLendNamespace.spec.ts +12 -5
- package/src/lend/providers/aave/AaveLendProvider.ts +3 -7
- package/src/lend/providers/aave/__tests__/AaveLendProvider.test.ts +16 -7
- package/src/lend/providers/aave/addresses.ts +82 -64
- package/src/lend/providers/aave/sdk.ts +11 -36
- package/src/lend/providers/morpho/MorphoLendProvider.ts +4 -16
- package/src/lend/providers/morpho/__tests__/api.test.ts +65 -44
- package/src/lend/providers/morpho/__tests__/sdk.test.ts +43 -43
- package/src/lend/providers/morpho/api.ts +7 -8
- package/src/lend/providers/morpho/contracts.ts +62 -13
- package/src/lend/providers/morpho/sdk.ts +85 -63
- package/src/services/ChainManager.ts +12 -21
- package/src/services/__mocks__/MockChainManager.ts +4 -7
- package/src/services/tokenBalance.spec.ts +20 -24
- package/src/services/tokenBalance.ts +39 -33
- package/src/swap/__mocks__/MockSwapProvider.ts +77 -42
- package/src/swap/core/SwapProvider.ts +307 -49
- package/src/swap/core/__tests__/SwapProvider.test.ts +151 -9
- package/src/swap/core/markets.ts +104 -0
- package/src/swap/index.ts +5 -0
- package/src/swap/namespaces/ActionsSwapNamespace.ts +2 -2
- package/src/swap/namespaces/BaseSwapNamespace.ts +199 -18
- package/src/swap/namespaces/WalletSwapNamespace.ts +53 -14
- package/src/swap/namespaces/__tests__/BaseSwapNamespace.spec.ts +241 -14
- package/src/swap/namespaces/__tests__/WalletSwapNamespace.spec.ts +103 -8
- package/src/swap/providers/uniswap/UniswapSwapProvider.ts +108 -195
- package/src/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.ts +12 -12
- package/src/swap/providers/uniswap/__tests__/sdk.test.ts +19 -20
- package/src/swap/providers/uniswap/addresses.ts +3 -1
- package/src/swap/providers/uniswap/encoding.ts +22 -22
- package/src/swap/providers/uniswap/markets.ts +84 -0
- package/src/swap/providers/uniswap/types.ts +4 -3
- package/src/swap/providers/velodrome/VelodromeSwapProvider.ts +224 -0
- package/src/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.ts +341 -0
- package/src/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.ts +202 -0
- package/src/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.ts +506 -0
- package/src/swap/providers/velodrome/__tests__/encoding.cl.test.ts +69 -0
- package/src/swap/providers/velodrome/__tests__/encoding.helpers.ts +20 -0
- package/src/swap/providers/velodrome/__tests__/encoding.v2.test.ts +235 -0
- package/src/swap/providers/velodrome/abis.ts +264 -0
- package/src/swap/providers/velodrome/addresses.ts +107 -0
- package/src/swap/providers/velodrome/config.ts +46 -0
- package/src/swap/providers/velodrome/encoding/helpers.ts +82 -0
- package/src/swap/providers/velodrome/encoding/index.ts +7 -0
- package/src/swap/providers/velodrome/encoding/poolRouter.ts +124 -0
- package/src/swap/providers/velodrome/encoding/routers/approval.ts +45 -0
- package/src/swap/providers/velodrome/encoding/routers/cl.ts +156 -0
- package/src/swap/providers/velodrome/encoding/routers/v2.ts +267 -0
- package/src/swap/providers/velodrome/markets.ts +100 -0
- package/src/swap/providers/velodrome/types.ts +30 -0
- package/src/types/actions.ts +49 -9
- package/src/types/asset.ts +12 -9
- package/src/types/chain.ts +2 -2
- package/src/types/lend/base.ts +6 -6
- package/src/types/lend/contracts.ts +5 -1
- package/src/types/providers.ts +22 -0
- package/src/types/swap/base.ts +147 -34
- package/src/utils/{permit2.test.ts → approve.test.ts} +117 -1
- package/src/utils/{permit2.ts → approve.ts} +67 -14
- package/src/utils/assets.ts +14 -0
- package/src/utils/validateAddresses.test.ts +439 -0
- package/src/utils/validateAddresses.ts +153 -0
- package/src/wallet/core/namespace/WalletNamespace.ts +70 -16
- package/src/wallet/core/namespace/__tests__/WalletNamespace.spec.ts +8 -4
- package/src/wallet/core/providers/hosted/abstract/HostedWalletProvider.ts +5 -17
- package/src/wallet/core/providers/hosted/types/index.ts +9 -11
- package/src/wallet/core/providers/smart/default/DefaultSmartWalletProvider.ts +5 -17
- package/src/wallet/core/wallets/abstract/Wallet.ts +15 -22
- package/src/wallet/core/wallets/abstract/__mocks__/TestWallet.ts +13 -1
- package/src/wallet/core/wallets/abstract/__tests__/Wallet.spec.ts +21 -5
- package/src/wallet/core/wallets/smart/default/DefaultSmartWallet.ts +5 -17
- package/src/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.ts +0 -1
- package/src/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.ts +3 -10
- package/src/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.ts +8 -8
- package/src/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.ts +4 -4
- package/src/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.ts +3 -10
- package/src/wallet/node/wallets/hosted/privy/PrivyWallet.ts +5 -17
- package/src/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.ts +5 -17
- package/src/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.ts +7 -11
- package/src/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.ts +7 -11
- package/src/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.ts +7 -11
- package/src/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.ts +23 -10
- package/src/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.ts +6 -6
- package/src/wallet/react/wallets/hosted/dynamic/DynamicWallet.ts +10 -18
- package/src/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.ts +2 -6
- package/src/wallet/react/wallets/hosted/privy/PrivyWallet.ts +10 -18
- package/src/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.ts +10 -18
- package/dist/supported/tokens.d.ts +0 -25
- package/dist/supported/tokens.d.ts.map +0 -1
- package/dist/supported/tokens.js +0 -44
- package/dist/supported/tokens.js.map +0 -1
- package/dist/utils/permit2.d.ts +0 -46
- package/dist/utils/permit2.d.ts.map +0 -1
- package/dist/utils/permit2.js.map +0 -1
- package/dist/utils/permit2.test.d.ts +0 -2
- package/dist/utils/permit2.test.d.ts.map +0 -1
- package/dist/utils/permit2.test.js.map +0 -1
- package/src/supported/tokens.ts +0 -66
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/swap/providers/velodrome/types.ts"],"names":[],"mappings":""}
|
package/dist/types/actions.d.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import type { UniswapSwapProviderConfig } from '../swap/providers/uniswap/types.js';
|
|
2
|
+
import type { VelodromeSwapProviderConfig } from '../swap/providers/velodrome/types.js';
|
|
2
3
|
import type { Asset } from './asset.js';
|
|
3
4
|
import type { ChainConfig } from './chain.js';
|
|
4
5
|
import type { LendProviderConfig } from './lend/index.js';
|
|
6
|
+
import type { LendProviders, SwapProviders } from './providers.js';
|
|
5
7
|
import type { SwapProviderConfig } from './swap/index.js';
|
|
6
8
|
import type { ProviderSpec } from '../wallet/core/providers/hosted/types/index.js';
|
|
7
9
|
export type { LendProviderConfig, SwapProviderConfig };
|
|
10
|
+
export type { LendProviders, SwapProviders } from './providers.js';
|
|
8
11
|
/** Require at least one property to be defined */
|
|
9
12
|
type RequireAtLeastOne<T> = {
|
|
10
13
|
[K in keyof T]-?: Required<Pick<T, K>> & Partial<Pick<T, Exclude<keyof T, K>>>;
|
|
@@ -13,18 +16,49 @@ type RequireAtLeastOne<T> = {
|
|
|
13
16
|
* Lending configuration — at least one provider must be configured
|
|
14
17
|
*/
|
|
15
18
|
export type LendConfig = RequireAtLeastOne<{
|
|
16
|
-
|
|
17
|
-
morpho?: LendProviderConfig;
|
|
18
|
-
/** Aave lending provider configuration */
|
|
19
|
-
aave?: LendProviderConfig;
|
|
19
|
+
[K in keyof LendProviders]: LendProviderConfig;
|
|
20
20
|
}>;
|
|
21
|
+
/** Names of available swap providers — derived from SwapProviders registry */
|
|
22
|
+
export type SwapProviderName = keyof SwapProviders;
|
|
23
|
+
/** Names of available lend providers — derived from LendProviders registry */
|
|
24
|
+
export type LendProviderName = keyof LendProviders;
|
|
25
|
+
/** Routing strategy for selecting a provider when multiple are configured. */
|
|
26
|
+
export type SwapRoutingStrategy = 'price';
|
|
21
27
|
/**
|
|
22
|
-
*
|
|
28
|
+
* Shared swap settings applied across all providers.
|
|
29
|
+
* Provider-level values override these when set.
|
|
30
|
+
*/
|
|
31
|
+
export interface SwapSettings {
|
|
32
|
+
/** Default slippage tolerance (e.g., 0.005 for 0.5%). Defaults to 0.005. */
|
|
33
|
+
defaultSlippage?: number;
|
|
34
|
+
/** Maximum allowed slippage (e.g., 0.5 for 50%). Defaults to 0.5. */
|
|
35
|
+
maxSlippage?: number;
|
|
36
|
+
/** Quote expiration in seconds from now. Defaults to 60. */
|
|
37
|
+
quoteExpirationSeconds?: number;
|
|
38
|
+
/** Permit2 sub-approval expiration in seconds from now. Defaults to 2592000 (30 days). */
|
|
39
|
+
permit2ExpirationSeconds?: number;
|
|
40
|
+
/**
|
|
41
|
+
* Routing strategy for multi-provider selection.
|
|
42
|
+
* 'price' fetches quotes from all eligible providers and returns the best price.
|
|
43
|
+
* Omit to fall back to market-matching heuristics.
|
|
44
|
+
*/
|
|
45
|
+
routing?: SwapRoutingStrategy;
|
|
46
|
+
/** Provider to prefer when routing produces a tie, or to always use when no routing strategy is set. */
|
|
47
|
+
defaultProvider?: SwapProviderName;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Swap configuration — at least one provider must be configured.
|
|
51
|
+
* Shared settings go in `config`; per-provider settings go under the provider key.
|
|
23
52
|
*/
|
|
24
53
|
export type SwapConfig = RequireAtLeastOne<{
|
|
25
54
|
/** Uniswap swap provider configuration */
|
|
26
55
|
uniswap?: UniswapSwapProviderConfig;
|
|
27
|
-
|
|
56
|
+
/** Velodrome/Aerodrome swap provider configuration */
|
|
57
|
+
velodrome?: VelodromeSwapProviderConfig;
|
|
58
|
+
}> & {
|
|
59
|
+
/** Shared settings applied across all providers */
|
|
60
|
+
settings?: SwapSettings;
|
|
61
|
+
};
|
|
28
62
|
/**
|
|
29
63
|
* Network configuration for lending providers
|
|
30
64
|
* @description Basic network information that lending providers need
|
|
@@ -35,12 +69,13 @@ export interface LendNetworkConfig {
|
|
|
35
69
|
}
|
|
36
70
|
/**
|
|
37
71
|
* Assets configuration
|
|
38
|
-
* @description Configuration for supported assets
|
|
72
|
+
* @description Configuration for supported assets. Import token constants from the SDK
|
|
73
|
+
* or define your own Asset objects.
|
|
39
74
|
*/
|
|
40
75
|
export interface AssetsConfig {
|
|
41
|
-
/** Allowlist of assets to support
|
|
76
|
+
/** Allowlist of assets to support. No default — developers must explicitly configure. */
|
|
42
77
|
allow?: Asset[];
|
|
43
|
-
/** Blocklist of assets to exclude
|
|
78
|
+
/** Blocklist of assets to exclude from the allow list. Only effective when allow is also set. For future use with runtime asset fetching. */
|
|
44
79
|
block?: Asset[];
|
|
45
80
|
}
|
|
46
81
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/types/actions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAClF,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,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAA;AAGjF,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAA;AAEtD,kDAAkD;AAClD,KAAK,iBAAiB,CAAC,CAAC,IAAI;KACzB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAC/E,CAAC,MAAM,CAAC,CAAC,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,iBAAiB,CAAC;
|
|
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
|
@@ -19,14 +19,12 @@ export interface Asset {
|
|
|
19
19
|
* Detailed token balance information
|
|
20
20
|
*/
|
|
21
21
|
export interface TokenBalance {
|
|
22
|
-
|
|
23
|
-
totalBalance:
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
formattedBalance: string;
|
|
30
|
-
}>;
|
|
22
|
+
asset: Asset;
|
|
23
|
+
totalBalance: number;
|
|
24
|
+
totalBalanceRaw: bigint;
|
|
25
|
+
chains: Partial<Record<SupportedChainId, {
|
|
26
|
+
balance: number;
|
|
27
|
+
balanceRaw: bigint;
|
|
28
|
+
}>>;
|
|
31
29
|
}
|
|
32
30
|
//# sourceMappingURL=asset.d.ts.map
|
|
@@ -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,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,
|
|
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,KAAK,EAAE,KAAK,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,MAAM,EAAE,OAAO,CACb,MAAM,CACJ,gBAAgB,EAChB;QACE,OAAO,EAAE,MAAM,CAAA;QACf,UAAU,EAAE,MAAM,CAAA;KACnB,CACF,CACF,CAAA;CACF"}
|
package/dist/types/chain.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { SupportedChainId } from '../constants/supportedChains.js';
|
|
2
2
|
/**
|
|
3
3
|
* Chain configuration
|
|
4
4
|
* @description Configuration for each supported chain
|
|
5
5
|
*/
|
|
6
6
|
export interface ChainConfig {
|
|
7
7
|
/** Chain ID */
|
|
8
|
-
chainId:
|
|
8
|
+
chainId: SupportedChainId;
|
|
9
9
|
/** RPC URL for the chain */
|
|
10
10
|
rpcUrls?: string[];
|
|
11
11
|
/** Bundler configuration */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../src/types/chain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../src/types/chain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAEtE;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,eAAe;IACf,OAAO,EAAE,gBAAgB,CAAA;IACzB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,aAAa,CAAA;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,qCAAqC;IACrC,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG,oBAAoB,CAAA;AAEtE,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,IAAI,EAAE,QAAQ,CAAA;CACf;AAED,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;IAC7D,IAAI,EAAE,SAAS,CAAA;IACf,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Address } from 'viem';
|
|
2
2
|
import type { SupportedChainId } from '../../constants/supportedChains.js';
|
|
3
|
+
import type { LendProviderName } from '../actions.js';
|
|
3
4
|
import type { Asset } from '../asset.js';
|
|
4
5
|
import type { TransactionData } from '../transaction.js';
|
|
5
6
|
import type { BatchTransactionReturnType, TransactionReturnType } from '../../wallet/core/wallets/abstract/types/index.js';
|
|
@@ -25,7 +26,7 @@ export type LendMarketConfigMetadata = {
|
|
|
25
26
|
/** Asset information for this market */
|
|
26
27
|
asset: Asset;
|
|
27
28
|
/** Lending provider type */
|
|
28
|
-
lendProvider:
|
|
29
|
+
lendProvider: LendProviderName;
|
|
29
30
|
};
|
|
30
31
|
/**
|
|
31
32
|
* Lending market configuration
|
|
@@ -117,7 +118,8 @@ export interface LendMarketInfo extends LendMarketBase {
|
|
|
117
118
|
}
|
|
118
119
|
/**
|
|
119
120
|
* APY breakdown for detailed display
|
|
120
|
-
* @description Breakdown of APY components following Morpho's official methodology
|
|
121
|
+
* @description Breakdown of APY components following Morpho's official methodology.
|
|
122
|
+
* Individual token reward APRs are keyed by lowercase token address.
|
|
121
123
|
*/
|
|
122
124
|
export interface ApyBreakdown {
|
|
123
125
|
/** Total net APY after all components and fees */
|
|
@@ -126,12 +128,10 @@ export interface ApyBreakdown {
|
|
|
126
128
|
native: number;
|
|
127
129
|
/** Total rewards APR from all sources */
|
|
128
130
|
totalRewards: number;
|
|
129
|
-
/** Individual token rewards APRs (dynamically populated) */
|
|
130
|
-
usdc?: number;
|
|
131
|
-
morpho?: number;
|
|
132
|
-
other?: number;
|
|
133
131
|
/** Performance/management fee rate */
|
|
134
132
|
performanceFee: number;
|
|
133
|
+
/** Individual token reward APRs keyed by address, plus 'other' for unrecognized */
|
|
134
|
+
[key: string]: number | undefined;
|
|
135
135
|
}
|
|
136
136
|
/**
|
|
137
137
|
* Lending market metadata
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/types/lend/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":"AAYA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Address } from 'viem';
|
|
2
|
+
import type { SupportedChainId } from '../../constants/supportedChains.js';
|
|
2
3
|
/**
|
|
3
4
|
* Morpho contract addresses needed per chain
|
|
4
5
|
*/
|
|
@@ -13,5 +14,5 @@ export interface MorphoContracts {
|
|
|
13
14
|
/**
|
|
14
15
|
* Registry mapping chainId to Morpho contracts
|
|
15
16
|
*/
|
|
16
|
-
export type MorphoContractsRegistry = Record<
|
|
17
|
+
export type MorphoContractsRegistry = Partial<Record<SupportedChainId, MorphoContracts>>;
|
|
17
18
|
//# sourceMappingURL=contracts.d.ts.map
|
|
@@ -1 +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,
|
|
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,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAEtE;;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,OAAO,CAC3C,MAAM,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAC1C,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { LendProvider } from '../lend/core/LendProvider.js';
|
|
2
|
+
import type { SwapProvider } from '../swap/core/SwapProvider.js';
|
|
3
|
+
import type { LendProviderConfig } from './lend/index.js';
|
|
4
|
+
import type { SwapProviderConfig } from './swap/index.js';
|
|
5
|
+
/**
|
|
6
|
+
* Map of available lend providers keyed by provider name.
|
|
7
|
+
* Add new lend providers here — this is the single source of truth.
|
|
8
|
+
*/
|
|
9
|
+
export type LendProviders = {
|
|
10
|
+
morpho?: LendProvider<LendProviderConfig>;
|
|
11
|
+
aave?: LendProvider<LendProviderConfig>;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Map of available swap providers keyed by provider name.
|
|
15
|
+
* Add new swap providers here — this is the single source of truth.
|
|
16
|
+
*/
|
|
17
|
+
export type SwapProviders = {
|
|
18
|
+
uniswap?: SwapProvider<SwapProviderConfig>;
|
|
19
|
+
velodrome?: SwapProvider<SwapProviderConfig>;
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=providers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/types/providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAE/D;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;IACzC,IAAI,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;CACxC,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;IAC1C,SAAS,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;CAC7C,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/types/providers.ts"],"names":[],"mappings":""}
|
|
@@ -1,27 +1,24 @@
|
|
|
1
|
-
import type { Address } from 'viem';
|
|
1
|
+
import type { Address, Hex } from 'viem';
|
|
2
2
|
import type { SupportedChainId } from '../../constants/supportedChains.js';
|
|
3
|
-
import type {
|
|
3
|
+
import type { SwapProviderName } from '../actions.js';
|
|
4
4
|
import type { Asset } from '../asset.js';
|
|
5
5
|
import type { TransactionData } from '../transaction.js';
|
|
6
6
|
import type { BatchTransactionReturnType, TransactionReturnType } from '../../wallet/core/wallets/abstract/types/index.js';
|
|
7
7
|
export { SwapProvider } from '../../swap/core/SwapProvider.js';
|
|
8
8
|
export { ActionsSwapNamespace } from '../../swap/namespaces/ActionsSwapNamespace.js';
|
|
9
9
|
export { WalletSwapNamespace } from '../../swap/namespaces/WalletSwapNamespace.js';
|
|
10
|
+
export type { SwapProviders } from '../providers.js';
|
|
10
11
|
/**
|
|
11
|
-
*
|
|
12
|
-
|
|
13
|
-
export type SwapProviders = {
|
|
14
|
-
uniswap?: SwapProvider<SwapProviderConfig>;
|
|
15
|
-
};
|
|
16
|
-
/**
|
|
17
|
-
* Swap provider configuration
|
|
18
|
-
* @description Configuration for a single swap provider (mirrors LendProviderConfig pattern)
|
|
12
|
+
* Per-provider swap configuration.
|
|
13
|
+
* Provider-level values override the shared SwapGlobalConfig defaults.
|
|
19
14
|
*/
|
|
20
15
|
export interface SwapProviderConfig {
|
|
21
|
-
/**
|
|
16
|
+
/** Slippage tolerance override for this provider (e.g., 0.005 for 0.5%) */
|
|
22
17
|
defaultSlippage?: number;
|
|
23
|
-
/** Maximum allowed slippage (e.g., 0.5 for 50%)
|
|
18
|
+
/** Maximum allowed slippage override for this provider (e.g., 0.5 for 50%) */
|
|
24
19
|
maxSlippage?: number;
|
|
20
|
+
/** Quote expiration override for this provider, in seconds from now */
|
|
21
|
+
quoteExpirationSeconds?: number;
|
|
25
22
|
/** Allowlist of swap markets (optional - defaults to all supported assets) */
|
|
26
23
|
marketAllowlist?: SwapMarketConfig[];
|
|
27
24
|
/** Blocklist of swap markets to exclude */
|
|
@@ -82,6 +79,8 @@ export interface WalletSwapParams {
|
|
|
82
79
|
deadline?: number;
|
|
83
80
|
/** Recipient address. Defaults to wallet address. */
|
|
84
81
|
recipient?: Address;
|
|
82
|
+
/** Explicitly select a swap provider. Overrides routing config. */
|
|
83
|
+
provider?: SwapProviderName;
|
|
85
84
|
}
|
|
86
85
|
/**
|
|
87
86
|
* Full swap execute parameters including wallet address.
|
|
@@ -91,12 +90,12 @@ export interface SwapExecuteParams extends WalletSwapParams {
|
|
|
91
90
|
walletAddress: Address;
|
|
92
91
|
}
|
|
93
92
|
/**
|
|
94
|
-
* Fully resolved swap parameters with defaults applied and amounts
|
|
93
|
+
* Fully resolved swap parameters with defaults applied and amounts as raw bigint.
|
|
95
94
|
* Passed to provider _execute() implementations.
|
|
96
95
|
*/
|
|
97
96
|
export interface ResolvedSwapParams {
|
|
98
|
-
|
|
99
|
-
|
|
97
|
+
amountInRaw?: bigint;
|
|
98
|
+
amountOutRaw?: bigint;
|
|
100
99
|
assetIn: Asset;
|
|
101
100
|
assetOut: Asset;
|
|
102
101
|
slippage: number;
|
|
@@ -121,6 +120,107 @@ export interface SwapPriceParams {
|
|
|
121
120
|
amountOut?: number;
|
|
122
121
|
/** Chain to get price on */
|
|
123
122
|
chainId: SupportedChainId;
|
|
123
|
+
/** Explicitly select a swap provider. Overrides routing config. */
|
|
124
|
+
provider?: SwapProviderName;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Parameters for getting a swap quote with pre-built execution data.
|
|
128
|
+
*/
|
|
129
|
+
export interface SwapQuoteParams {
|
|
130
|
+
/** Token to sell */
|
|
131
|
+
assetIn: Asset;
|
|
132
|
+
/** Token to buy (required) */
|
|
133
|
+
assetOut: Asset;
|
|
134
|
+
/** Amount of input token (human-readable). Mutually exclusive with amountOut. */
|
|
135
|
+
amountIn?: number;
|
|
136
|
+
/** Amount of output token (human-readable). Mutually exclusive with amountIn. */
|
|
137
|
+
amountOut?: number;
|
|
138
|
+
/** Chain to execute swap on */
|
|
139
|
+
chainId: SupportedChainId;
|
|
140
|
+
/** Slippage tolerance baked into the quote */
|
|
141
|
+
slippage?: number;
|
|
142
|
+
/** Transaction deadline as Unix timestamp */
|
|
143
|
+
deadline?: number;
|
|
144
|
+
/** Recipient address */
|
|
145
|
+
recipient?: Address;
|
|
146
|
+
/** Explicitly select a swap provider */
|
|
147
|
+
provider?: SwapProviderName;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Pre-built execution data from a quote, ready to submit on-chain.
|
|
151
|
+
*/
|
|
152
|
+
export interface SwapQuoteExecution {
|
|
153
|
+
/** Encoded swap calldata */
|
|
154
|
+
swapCalldata: Hex;
|
|
155
|
+
/** Router/contract to send the swap transaction to */
|
|
156
|
+
routerAddress: Address;
|
|
157
|
+
/** Native ETH value for ETH-in swaps, else 0n */
|
|
158
|
+
value: bigint;
|
|
159
|
+
/** Opaque provider-specific context (e.g. stable flag, factory address) */
|
|
160
|
+
providerContext?: Record<string, unknown>;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* A complete swap quote: pricing, amounts, and pre-built execution data.
|
|
164
|
+
* Pass to execute() to skip re-quoting.
|
|
165
|
+
*
|
|
166
|
+
* **Precision note:** `Raw` fields (bigint) are the on-chain source of truth.
|
|
167
|
+
* Number fields (`amountIn`, `amountOut`, `price`, etc.) are display approximations
|
|
168
|
+
* derived via `formatUnits` → `parseFloat`. For tokens with many significant digits,
|
|
169
|
+
* numbers may lose precision. Use `Raw` fields for any math that matters.
|
|
170
|
+
*/
|
|
171
|
+
export interface SwapQuote {
|
|
172
|
+
/** Token being sold */
|
|
173
|
+
assetIn: Asset;
|
|
174
|
+
/** Token being bought */
|
|
175
|
+
assetOut: Asset;
|
|
176
|
+
/** Chain to execute on */
|
|
177
|
+
chainId: SupportedChainId;
|
|
178
|
+
/** Human-readable input amount (display only — use amountInRaw for precision) */
|
|
179
|
+
amountIn: number;
|
|
180
|
+
/** Input amount as raw bigint (native decimals). Source of truth. */
|
|
181
|
+
amountInRaw: bigint;
|
|
182
|
+
/** Human-readable expected output (display only — use amountOutRaw for precision) */
|
|
183
|
+
amountOut: number;
|
|
184
|
+
/** Expected output as raw bigint. Source of truth. */
|
|
185
|
+
amountOutRaw: bigint;
|
|
186
|
+
/** Human-readable minimum output after slippage (display only) */
|
|
187
|
+
amountOutMin: number;
|
|
188
|
+
/** Minimum output as raw bigint after slippage. Source of truth for on-chain execution. */
|
|
189
|
+
amountOutMinRaw: bigint;
|
|
190
|
+
/** Exchange rate: amountOut / amountIn. Display approximation. */
|
|
191
|
+
price: number;
|
|
192
|
+
/** Inverse exchange rate: amountIn / amountOut. Display approximation. */
|
|
193
|
+
priceInverse: number;
|
|
194
|
+
/** Price impact as decimal (0.03 = 3%) */
|
|
195
|
+
priceImpact: number;
|
|
196
|
+
/** Route taken for the swap */
|
|
197
|
+
route: SwapRoute;
|
|
198
|
+
/** Pre-built transaction data. Pass quote to execute() to use. */
|
|
199
|
+
execution: SwapQuoteExecution;
|
|
200
|
+
/** Provider that generated this quote */
|
|
201
|
+
provider: SwapProviderName;
|
|
202
|
+
/** Slippage tolerance applied to this quote */
|
|
203
|
+
slippage: number;
|
|
204
|
+
/** Transaction deadline (Unix seconds) */
|
|
205
|
+
deadline: number;
|
|
206
|
+
/** When the quote was generated (Unix seconds) */
|
|
207
|
+
quotedAt: number;
|
|
208
|
+
/** When the quote expires (Unix seconds) */
|
|
209
|
+
expiresAt: number;
|
|
210
|
+
/** Estimated gas cost as raw bigint (native decimals) */
|
|
211
|
+
gasEstimate?: bigint;
|
|
212
|
+
/**
|
|
213
|
+
* Wallet address that will execute this quote.
|
|
214
|
+
* Set by WalletSwapNamespace before execution — not available on price-only quotes.
|
|
215
|
+
* Used to check existing on-chain allowances and skip redundant approvals.
|
|
216
|
+
*/
|
|
217
|
+
recipient?: Address;
|
|
218
|
+
/**
|
|
219
|
+
* The recipient address baked into execution.swapCalldata at quote time.
|
|
220
|
+
* If recipient differs from quotedRecipient at execute time, calldata is re-encoded
|
|
221
|
+
* with the correct recipient to prevent tokens from being sent to the wrong address.
|
|
222
|
+
*/
|
|
223
|
+
quotedRecipient: Address;
|
|
124
224
|
}
|
|
125
225
|
/**
|
|
126
226
|
* Market information for a swap hop
|
|
@@ -154,15 +254,15 @@ export interface SwapPrice {
|
|
|
154
254
|
amountIn: number;
|
|
155
255
|
/** Human-readable output amount */
|
|
156
256
|
amountOut: number;
|
|
157
|
-
/** Input amount
|
|
158
|
-
|
|
159
|
-
/** Expected output amount
|
|
160
|
-
|
|
257
|
+
/** Input amount as raw bigint (native decimals) */
|
|
258
|
+
amountInRaw: bigint;
|
|
259
|
+
/** Expected output amount as raw bigint (native decimals) */
|
|
260
|
+
amountOutRaw: bigint;
|
|
161
261
|
/** Price impact as decimal (0.03 = 3%). Derived from pool mid-price vs execution price. */
|
|
162
262
|
priceImpact: number;
|
|
163
263
|
/** Route taken for the swap */
|
|
164
264
|
route: SwapRoute;
|
|
165
|
-
/** Estimated gas cost
|
|
265
|
+
/** Estimated gas cost as raw bigint (native decimals) */
|
|
166
266
|
gasEstimate?: bigint;
|
|
167
267
|
}
|
|
168
268
|
/**
|
|
@@ -184,16 +284,16 @@ export interface SwapTransaction {
|
|
|
184
284
|
amountIn: number;
|
|
185
285
|
/** Human-readable output amount */
|
|
186
286
|
amountOut: number;
|
|
187
|
-
/** Input amount
|
|
188
|
-
|
|
189
|
-
/** Output amount
|
|
190
|
-
|
|
287
|
+
/** Input amount as raw bigint (native decimals) */
|
|
288
|
+
amountInRaw: bigint;
|
|
289
|
+
/** Output amount as raw bigint (native decimals) (expected) */
|
|
290
|
+
amountOutRaw: bigint;
|
|
191
291
|
/** Input asset */
|
|
192
292
|
assetIn: Asset;
|
|
193
293
|
/** Output asset */
|
|
194
294
|
assetOut: Asset;
|
|
195
|
-
/**
|
|
196
|
-
price:
|
|
295
|
+
/** Exchange rate: amountOut / amountIn */
|
|
296
|
+
price: number;
|
|
197
297
|
/** Price impact as decimal (0.03 = 3%) */
|
|
198
298
|
priceImpact: number;
|
|
199
299
|
/** Transaction data for execution */
|
|
@@ -209,16 +309,16 @@ export interface SwapReceipt {
|
|
|
209
309
|
amountIn: number;
|
|
210
310
|
/** Human-readable output amount */
|
|
211
311
|
amountOut: number;
|
|
212
|
-
/** Actual input amount
|
|
213
|
-
|
|
214
|
-
/** Actual output amount
|
|
215
|
-
|
|
312
|
+
/** Actual input amount as raw bigint (native decimals) */
|
|
313
|
+
amountInRaw: bigint;
|
|
314
|
+
/** Actual output amount as raw bigint (native decimals) */
|
|
315
|
+
amountOutRaw: bigint;
|
|
216
316
|
/** Input asset */
|
|
217
317
|
assetIn: Asset;
|
|
218
318
|
/** Output asset */
|
|
219
319
|
assetOut: Asset;
|
|
220
|
-
/**
|
|
221
|
-
price:
|
|
320
|
+
/** Exchange rate: amountOut / amountIn */
|
|
321
|
+
price: number;
|
|
222
322
|
/** Price impact as decimal (0.03 = 3%) */
|
|
223
323
|
priceImpact: number;
|
|
224
324
|
}
|
|
@@ -233,6 +333,6 @@ export interface SwapMarket {
|
|
|
233
333
|
/** Fee tier in pips (500 = 0.05%) */
|
|
234
334
|
fee: number;
|
|
235
335
|
/** Provider name */
|
|
236
|
-
provider:
|
|
336
|
+
provider: SwapProviderName;
|
|
237
337
|
}
|
|
238
338
|
//# sourceMappingURL=base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/types/swap/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/types/swap/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type { Address, PublicClient } from 'viem';
|
|
2
|
+
import type { TransactionData } from '../types/transaction.js';
|
|
3
|
+
/** Default Permit2 approval expiry: 30 days in seconds */
|
|
4
|
+
export declare const DEFAULT_PERMIT2_EXPIRY_SECONDS: number;
|
|
5
|
+
/**
|
|
6
|
+
* Permit2 allowance info
|
|
7
|
+
*/
|
|
8
|
+
export interface Permit2Allowance {
|
|
9
|
+
amount: bigint;
|
|
10
|
+
expiration: number;
|
|
11
|
+
nonce: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Check Permit2 allowance for a token/spender pair
|
|
15
|
+
*/
|
|
16
|
+
export declare function checkPermit2Allowance(params: {
|
|
17
|
+
publicClient: PublicClient;
|
|
18
|
+
permit2Address: Address;
|
|
19
|
+
owner: Address;
|
|
20
|
+
token: Address;
|
|
21
|
+
spender: Address;
|
|
22
|
+
}): Promise<Permit2Allowance>;
|
|
23
|
+
/**
|
|
24
|
+
* Build ERC20 token approval transaction to Permit2.
|
|
25
|
+
* Uses maxUint256 — the Uniswap-canonical pattern.
|
|
26
|
+
* Permit2 is immutable with no owner; spending is scoped by its own allowance system.
|
|
27
|
+
*/
|
|
28
|
+
export declare function buildTokenApprovalTx(token: Address, permit2Address: Address): TransactionData;
|
|
29
|
+
/**
|
|
30
|
+
* Build Permit2 approval transaction for a spender
|
|
31
|
+
*/
|
|
32
|
+
export declare function buildPermit2ApprovalTx(params: {
|
|
33
|
+
permit2Address: Address;
|
|
34
|
+
token: Address;
|
|
35
|
+
spender: Address;
|
|
36
|
+
amount: bigint;
|
|
37
|
+
expirySeconds?: number;
|
|
38
|
+
}): TransactionData;
|
|
39
|
+
/**
|
|
40
|
+
* Check ERC20 token allowance
|
|
41
|
+
*/
|
|
42
|
+
export declare function checkTokenAllowance(params: {
|
|
43
|
+
publicClient: PublicClient;
|
|
44
|
+
token: Address;
|
|
45
|
+
owner: Address;
|
|
46
|
+
spender: Address;
|
|
47
|
+
}): Promise<bigint>;
|
|
48
|
+
/**
|
|
49
|
+
* Build an ERC20 approve transaction.
|
|
50
|
+
* @param token - ERC20 token address
|
|
51
|
+
* @param spender - Address to approve
|
|
52
|
+
* @param amount - Amount to approve
|
|
53
|
+
* @returns Transaction data for the approval
|
|
54
|
+
*/
|
|
55
|
+
export declare function buildErc20ApprovalTx(token: Address, spender: Address, amount: bigint): TransactionData;
|
|
56
|
+
/**
|
|
57
|
+
* Compute how much additional ERC20 approval is needed.
|
|
58
|
+
* Returns 0n if current allowance is sufficient.
|
|
59
|
+
* @param params - Token, owner, spender, required amount, and public client
|
|
60
|
+
* @returns The deficit (required - current), or 0n if already sufficient
|
|
61
|
+
*/
|
|
62
|
+
export declare function getApprovalDeficit(params: {
|
|
63
|
+
publicClient: PublicClient;
|
|
64
|
+
token: Address;
|
|
65
|
+
owner: Address;
|
|
66
|
+
spender: Address;
|
|
67
|
+
amount: bigint;
|
|
68
|
+
}): Promise<bigint>;
|
|
69
|
+
/**
|
|
70
|
+
* Build an ERC20 approval transaction only if needed, approving only the deficit.
|
|
71
|
+
* Checks the current on-chain allowance, returns undefined if already sufficient.
|
|
72
|
+
* @param params - Token, owner, spender, required amount, and public client
|
|
73
|
+
* @returns Approval transaction for the deficit amount, or undefined if allowance is sufficient
|
|
74
|
+
*/
|
|
75
|
+
export declare function buildApprovalTxIfNeeded(params: {
|
|
76
|
+
publicClient: PublicClient;
|
|
77
|
+
token: Address;
|
|
78
|
+
owner: Address;
|
|
79
|
+
spender: Address;
|
|
80
|
+
amount: bigint;
|
|
81
|
+
}): Promise<TransactionData | undefined>;
|
|
82
|
+
//# sourceMappingURL=approve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approve.d.ts","sourceRoot":"","sources":["../../src/utils/approve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAGjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAE7D,0DAA0D;AAC1D,eAAO,MAAM,8BAA8B,QAAoB,CAAA;AAmC/D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE;IAClD,YAAY,EAAE,YAAY,CAAA;IAC1B,cAAc,EAAE,OAAO,CAAA;IACvB,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;CACjB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAe5B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,cAAc,EAAE,OAAO,GACtB,eAAe,CAEjB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAC7C,cAAc,EAAE,OAAO,CAAA;IACvB,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,GAAG,eAAe,CAiBlB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE;IAChD,YAAY,EAAE,YAAY,CAAA;IAC1B,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;CACjB,GAAG,OAAO,CAAC,MAAM,CAAC,CASlB;AAMD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,GACb,eAAe,CAUjB;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE;IAC/C,YAAY,EAAE,YAAY,CAAA;IAC1B,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACf,GAAG,OAAO,CAAC,MAAM,CAAC,CAGlB;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAAC,MAAM,EAAE;IACpD,YAAY,EAAE,YAAY,CAAA;IAC1B,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACf,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAKvC"}
|