@eth-optimism/actions-sdk 0.2.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 -4
- package/dist/__mocks__/MockAssets.js.map +1 -1
- package/dist/__tests__/actions.test.js +1 -5
- package/dist/__tests__/actions.test.js.map +1 -1
- package/dist/actions.d.ts +23 -9
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +68 -36
- package/dist/actions.js.map +1 -1
- package/dist/constants/assets.d.ts +217 -2
- package/dist/constants/assets.d.ts.map +1 -1
- package/dist/constants/assets.js +744 -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/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 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- 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 -14
- package/dist/lend/core/LendProvider.d.ts.map +1 -1
- package/dist/lend/core/LendProvider.js +16 -31
- package/dist/lend/core/LendProvider.js.map +1 -1
- package/dist/lend/core/__tests__/LendProvider.test.js +2 -4
- package/dist/lend/core/__tests__/LendProvider.test.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 -41
- package/dist/lend/providers/morpho/__tests__/sdk.test.js.map +1 -1
- package/dist/lend/providers/morpho/api.d.ts +3 -3
- 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 -54
- 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 +50 -0
- package/dist/swap/__mocks__/MockSwapProvider.d.ts.map +1 -0
- package/dist/swap/__mocks__/MockSwapProvider.js +161 -0
- package/dist/swap/__mocks__/MockSwapProvider.js.map +1 -0
- package/dist/swap/core/SwapProvider.d.ts +145 -0
- package/dist/swap/core/SwapProvider.d.ts.map +1 -0
- package/dist/swap/core/SwapProvider.js +359 -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 +435 -0
- package/dist/swap/core/__tests__/SwapProvider.test.js.map +1 -0
- 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 +9 -0
- package/dist/swap/index.d.ts.map +1 -0
- package/dist/swap/index.js +9 -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 +73 -0
- package/dist/swap/namespaces/BaseSwapNamespace.d.ts.map +1 -0
- package/dist/swap/namespaces/BaseSwapNamespace.js +181 -0
- package/dist/swap/namespaces/BaseSwapNamespace.js.map +1 -0
- package/dist/swap/namespaces/WalletSwapNamespace.d.ts +34 -0
- package/dist/swap/namespaces/WalletSwapNamespace.d.ts.map +1 -0
- package/dist/swap/namespaces/WalletSwapNamespace.js +84 -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 +245 -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 +209 -0
- package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.js.map +1 -0
- package/dist/swap/providers/uniswap/UniswapSwapProvider.d.ts +35 -0
- package/dist/swap/providers/uniswap/UniswapSwapProvider.d.ts.map +1 -0
- package/dist/swap/providers/uniswap/UniswapSwapProvider.js +148 -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 +258 -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 +26 -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/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 +21 -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/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 +60 -11
- 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/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 +9 -19
- 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 +338 -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/approve.d.ts +82 -0
- package/dist/utils/approve.d.ts.map +1 -0
- package/dist/utils/approve.js +134 -0
- 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/approve.test.js +203 -0
- package/dist/utils/approve.test.js.map +1 -0
- package/dist/utils/assets.d.ts +10 -5
- package/dist/utils/assets.d.ts.map +1 -1
- package/dist/utils/assets.js +14 -11
- package/dist/utils/assets.js.map +1 -1
- package/dist/utils/assets.test.js +13 -1
- package/dist/utils/assets.test.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/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 +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 -10
- 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/types/index.d.ts +6 -7
- package/dist/wallet/core/providers/hosted/types/index.d.ts.map +1 -1
- package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.d.ts +5 -6
- 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 +2 -2
- package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.js.map +1 -1
- package/dist/wallet/core/wallets/abstract/Wallet.d.ts +12 -12
- package/dist/wallet/core/wallets/abstract/Wallet.d.ts.map +1 -1
- package/dist/wallet/core/wallets/abstract/Wallet.js +9 -4
- 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 +5 -7
- 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.map +1 -1
- package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.d.ts +4 -6
- 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/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 +8 -9
- 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 +3 -6
- 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/wallets/hosted/privy/PrivyWallet.d.ts +4 -6
- 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/turnkey/TurnkeyWallet.d.ts +3 -6
- 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/react/providers/hosted/dynamic/DynamicHostedWalletProvider.d.ts +6 -6
- package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.d.ts.map +1 -1
- package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js +7 -2
- package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js.map +1 -1
- package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.js +1 -0
- package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.js.map +1 -1
- package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.d.ts +5 -6
- package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.d.ts.map +1 -1
- package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js +6 -2
- package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js.map +1 -1
- package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js +1 -0
- package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js.map +1 -1
- package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts +5 -8
- package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts.map +1 -1
- package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js +6 -4
- 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 +7 -6
- 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/__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 -6
- 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 -6
- 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 +4 -3
- package/src/__mocks__/MockAssets.ts +54 -4
- package/src/__tests__/actions.test.ts +1 -5
- package/src/actions.ts +106 -71
- package/src/constants/assets.ts +792 -5
- package/src/constants/contracts.ts +5 -0
- package/src/constants/providers.ts +5 -0
- package/src/constants/supportedChains.ts +22 -2
- package/src/index.ts +76 -6
- package/src/lend/__mocks__/MockLendProvider.ts +8 -3
- package/src/lend/core/LendProvider.ts +28 -41
- package/src/lend/core/__tests__/LendProvider.test.ts +2 -5
- 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 -42
- package/src/lend/providers/morpho/api.ts +7 -4
- package/src/lend/providers/morpho/contracts.ts +62 -13
- package/src/lend/providers/morpho/sdk.ts +85 -54
- 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 +251 -0
- package/src/swap/core/SwapProvider.ts +577 -0
- package/src/swap/core/__tests__/SwapProvider.test.ts +620 -0
- package/src/swap/core/markets.ts +104 -0
- package/src/swap/index.ts +19 -0
- package/src/swap/namespaces/ActionsSwapNamespace.ts +7 -0
- package/src/swap/namespaces/BaseSwapNamespace.ts +258 -0
- package/src/swap/namespaces/WalletSwapNamespace.ts +121 -0
- package/src/swap/namespaces/__tests__/BaseSwapNamespace.spec.ts +365 -0
- package/src/swap/namespaces/__tests__/WalletSwapNamespace.spec.ts +257 -0
- package/src/swap/providers/uniswap/UniswapSwapProvider.ts +217 -0
- package/src/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.ts +299 -0
- package/src/swap/providers/uniswap/__tests__/sdk.test.ts +369 -0
- package/src/swap/providers/uniswap/abis.ts +144 -0
- package/src/swap/providers/uniswap/addresses.ts +110 -0
- package/src/swap/providers/uniswap/encoding.ts +406 -0
- package/src/swap/providers/uniswap/markets.ts +84 -0
- package/src/swap/providers/uniswap/types.ts +25 -0
- 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 +68 -12
- package/src/types/asset.ts +12 -9
- package/src/types/chain.ts +2 -2
- package/src/types/index.ts +2 -0
- package/src/types/lend/base.ts +10 -20
- package/src/types/lend/contracts.ts +5 -1
- package/src/types/providers.ts +22 -0
- package/src/types/swap/base.ts +372 -0
- package/src/types/swap/index.ts +1 -0
- package/src/types/transaction.ts +14 -0
- package/src/utils/approve.test.ts +258 -0
- package/src/utils/approve.ts +197 -0
- package/src/utils/assets.test.ts +16 -1
- package/src/utils/assets.ts +27 -10
- package/src/utils/validateAddresses.test.ts +439 -0
- package/src/utils/validateAddresses.ts +153 -0
- package/src/utils/validation.ts +76 -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 +6 -10
- package/src/wallet/core/providers/hosted/types/index.ts +9 -7
- package/src/wallet/core/providers/smart/default/DefaultSmartWalletProvider.ts +10 -10
- package/src/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.ts +2 -0
- package/src/wallet/core/wallets/abstract/Wallet.ts +23 -14
- 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 +11 -14
- package/src/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.ts +0 -1
- package/src/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.ts +11 -7
- package/src/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.ts +16 -8
- package/src/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.ts +4 -4
- package/src/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.ts +6 -7
- package/src/wallet/node/wallets/hosted/privy/PrivyWallet.ts +8 -11
- package/src/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.ts +7 -11
- package/src/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.ts +11 -7
- package/src/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.ts +1 -0
- package/src/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.ts +10 -7
- package/src/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.ts +1 -0
- package/src/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.ts +10 -9
- package/src/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.ts +38 -13
- package/src/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.ts +6 -6
- package/src/wallet/react/wallets/hosted/dynamic/DynamicWallet.ts +13 -11
- package/src/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.ts +2 -6
- package/src/wallet/react/wallets/hosted/privy/PrivyWallet.ts +11 -11
- package/src/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.ts +11 -11
- package/dist/supported/tokens.d.ts +0 -25
- package/dist/supported/tokens.d.ts.map +0 -1
- package/dist/supported/tokens.js +0 -37
- package/dist/supported/tokens.js.map +0 -1
- package/src/supported/tokens.ts +0 -52
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
import type { Address, Hex } from 'viem';
|
|
2
|
+
import type { SupportedChainId } from '../../constants/supportedChains.js';
|
|
3
|
+
import type { SwapProviderName } from '../actions.js';
|
|
4
|
+
import type { Asset } from '../asset.js';
|
|
5
|
+
import type { TransactionData } from '../transaction.js';
|
|
6
|
+
import type { BatchTransactionReturnType, TransactionReturnType } from '../../wallet/core/wallets/abstract/types/index.js';
|
|
7
|
+
export { SwapProvider } from '../../swap/core/SwapProvider.js';
|
|
8
|
+
export { ActionsSwapNamespace } from '../../swap/namespaces/ActionsSwapNamespace.js';
|
|
9
|
+
export { WalletSwapNamespace } from '../../swap/namespaces/WalletSwapNamespace.js';
|
|
10
|
+
export type { SwapProviders } from '../providers.js';
|
|
11
|
+
/**
|
|
12
|
+
* Per-provider swap configuration.
|
|
13
|
+
* Provider-level values override the shared SwapGlobalConfig defaults.
|
|
14
|
+
*/
|
|
15
|
+
export interface SwapProviderConfig {
|
|
16
|
+
/** Slippage tolerance override for this provider (e.g., 0.005 for 0.5%) */
|
|
17
|
+
defaultSlippage?: number;
|
|
18
|
+
/** Maximum allowed slippage override for this provider (e.g., 0.5 for 50%) */
|
|
19
|
+
maxSlippage?: number;
|
|
20
|
+
/** Quote expiration override for this provider, in seconds from now */
|
|
21
|
+
quoteExpirationSeconds?: number;
|
|
22
|
+
/** Allowlist of swap markets (optional - defaults to all supported assets) */
|
|
23
|
+
marketAllowlist?: SwapMarketConfig[];
|
|
24
|
+
/** Blocklist of swap markets to exclude */
|
|
25
|
+
marketBlocklist?: SwapMarketConfig[];
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Swap market filter
|
|
29
|
+
* @description Define allowed/blocked trading markets by assets.
|
|
30
|
+
* 2 assets = one explicit pair. 3+ = all pairs between them.
|
|
31
|
+
*/
|
|
32
|
+
export interface SwapMarketConfig {
|
|
33
|
+
/** 2 assets = one explicit pair. 3+ = all pairs between them. */
|
|
34
|
+
assets: [Asset, Asset, ...Asset[]];
|
|
35
|
+
/** Restrict to a specific chain. Omit = all configured chains. */
|
|
36
|
+
chainId?: SupportedChainId;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Swap market identifier
|
|
40
|
+
* @description Unique identifier for a swap market (mirrors LendMarketId pattern)
|
|
41
|
+
*/
|
|
42
|
+
export type SwapMarketId = {
|
|
43
|
+
/** Pool identifier (keccak256 hash of PoolKey) */
|
|
44
|
+
poolId: string;
|
|
45
|
+
/** Chain ID where this market exists */
|
|
46
|
+
chainId: SupportedChainId;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Parameters for getting a specific swap market
|
|
50
|
+
*/
|
|
51
|
+
export type GetSwapMarketParams = SwapMarketId;
|
|
52
|
+
/**
|
|
53
|
+
* Parameters for getting swap markets
|
|
54
|
+
*/
|
|
55
|
+
export interface GetSwapMarketsParams {
|
|
56
|
+
/** Filter by chain ID */
|
|
57
|
+
chainId?: SupportedChainId;
|
|
58
|
+
/** Filter by asset (returns markets containing this asset) */
|
|
59
|
+
asset?: Asset;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Parameters for a wallet swap — what the developer passes.
|
|
63
|
+
* Exactly one of amountIn or amountOut must be provided.
|
|
64
|
+
*/
|
|
65
|
+
export interface WalletSwapParams {
|
|
66
|
+
/** Amount of input token (human-readable). For exact-in swaps. Mutually exclusive with amountOut. */
|
|
67
|
+
amountIn?: number;
|
|
68
|
+
/** Amount of output token (human-readable). For exact-out swaps. Mutually exclusive with amountIn. */
|
|
69
|
+
amountOut?: number;
|
|
70
|
+
/** Token to sell */
|
|
71
|
+
assetIn: Asset;
|
|
72
|
+
/** Token to buy */
|
|
73
|
+
assetOut: Asset;
|
|
74
|
+
/** Chain to execute swap on */
|
|
75
|
+
chainId: SupportedChainId;
|
|
76
|
+
/** Slippage tolerance override (e.g., 0.01 for 1%). Overrides provider and config defaults. */
|
|
77
|
+
slippage?: number;
|
|
78
|
+
/** Transaction deadline as Unix timestamp. Defaults to now + 1 minute. */
|
|
79
|
+
deadline?: number;
|
|
80
|
+
/** Recipient address. Defaults to wallet address. */
|
|
81
|
+
recipient?: Address;
|
|
82
|
+
/** Explicitly select a swap provider. Overrides routing config. */
|
|
83
|
+
provider?: SwapProviderName;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Full swap execute parameters including wallet address.
|
|
87
|
+
* walletAddress is auto-injected by the wallet namespace.
|
|
88
|
+
*/
|
|
89
|
+
export interface SwapExecuteParams extends WalletSwapParams {
|
|
90
|
+
walletAddress: Address;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Fully resolved swap parameters with defaults applied and amounts as raw bigint.
|
|
94
|
+
* Passed to provider _execute() implementations.
|
|
95
|
+
*/
|
|
96
|
+
export interface ResolvedSwapParams {
|
|
97
|
+
amountInRaw?: bigint;
|
|
98
|
+
amountOutRaw?: bigint;
|
|
99
|
+
assetIn: Asset;
|
|
100
|
+
assetOut: Asset;
|
|
101
|
+
slippage: number;
|
|
102
|
+
deadline: number;
|
|
103
|
+
recipient: Address;
|
|
104
|
+
walletAddress: Address;
|
|
105
|
+
chainId: SupportedChainId;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Parameters for getting a swap price quote
|
|
109
|
+
* @description Specify either amountIn (for exact-in) or amountOut (for exact-out),
|
|
110
|
+
* not both. Amounts should be human-readable numbers (e.g., 100 for 100 USDC).
|
|
111
|
+
*/
|
|
112
|
+
export interface SwapPriceParams {
|
|
113
|
+
/** Token to get price for (required) */
|
|
114
|
+
assetIn: Asset;
|
|
115
|
+
/** Token to price against. Defaults to USDC if not provided. */
|
|
116
|
+
assetOut?: Asset;
|
|
117
|
+
/** Amount of input token (human-readable). Defaults to 1 unit. For exact-in quotes. */
|
|
118
|
+
amountIn?: number;
|
|
119
|
+
/** Amount of output token (human-readable). For exact-out quotes. */
|
|
120
|
+
amountOut?: number;
|
|
121
|
+
/** Chain to get price on */
|
|
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;
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Market information for a swap hop
|
|
227
|
+
*/
|
|
228
|
+
export interface SwapMarketInfo {
|
|
229
|
+
/** Market address or identifier */
|
|
230
|
+
address: Address;
|
|
231
|
+
/** Fee tier in pips */
|
|
232
|
+
fee: number;
|
|
233
|
+
/** Protocol version used (v2, v3, v4) */
|
|
234
|
+
version: 'v2' | 'v3' | 'v4';
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Swap route information
|
|
238
|
+
*/
|
|
239
|
+
export interface SwapRoute {
|
|
240
|
+
/** Ordered list of assets in the route path */
|
|
241
|
+
path: Asset[];
|
|
242
|
+
/** Market information for each hop */
|
|
243
|
+
pools: SwapMarketInfo[];
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Swap price quote response
|
|
247
|
+
*/
|
|
248
|
+
export interface SwapPrice {
|
|
249
|
+
/** Exchange rate as human-readable string (e.g., "3245.50") */
|
|
250
|
+
price: string;
|
|
251
|
+
/** Inverse exchange rate */
|
|
252
|
+
priceInverse: string;
|
|
253
|
+
/** Human-readable input amount */
|
|
254
|
+
amountIn: number;
|
|
255
|
+
/** Human-readable output amount */
|
|
256
|
+
amountOut: number;
|
|
257
|
+
/** Input amount as raw bigint (native decimals) */
|
|
258
|
+
amountInRaw: bigint;
|
|
259
|
+
/** Expected output amount as raw bigint (native decimals) */
|
|
260
|
+
amountOutRaw: bigint;
|
|
261
|
+
/** Price impact as decimal (0.03 = 3%). Derived from pool mid-price vs execution price. */
|
|
262
|
+
priceImpact: number;
|
|
263
|
+
/** Route taken for the swap */
|
|
264
|
+
route: SwapRoute;
|
|
265
|
+
/** Estimated gas cost as raw bigint (native decimals) */
|
|
266
|
+
gasEstimate?: bigint;
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Transaction data for swap execution
|
|
270
|
+
*/
|
|
271
|
+
export interface SwapTransactionData {
|
|
272
|
+
/** Permit2 approval transaction (if needed) */
|
|
273
|
+
permit2Approval?: TransactionData;
|
|
274
|
+
/** Token approval to Permit2 (if needed) */
|
|
275
|
+
tokenApproval?: TransactionData;
|
|
276
|
+
/** Main swap transaction */
|
|
277
|
+
swap: TransactionData;
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Swap transaction result
|
|
281
|
+
*/
|
|
282
|
+
export interface SwapTransaction {
|
|
283
|
+
/** Human-readable input amount */
|
|
284
|
+
amountIn: number;
|
|
285
|
+
/** Human-readable output amount */
|
|
286
|
+
amountOut: number;
|
|
287
|
+
/** Input amount as raw bigint (native decimals) */
|
|
288
|
+
amountInRaw: bigint;
|
|
289
|
+
/** Output amount as raw bigint (native decimals) (expected) */
|
|
290
|
+
amountOutRaw: bigint;
|
|
291
|
+
/** Input asset */
|
|
292
|
+
assetIn: Asset;
|
|
293
|
+
/** Output asset */
|
|
294
|
+
assetOut: Asset;
|
|
295
|
+
/** Exchange rate: amountOut / amountIn */
|
|
296
|
+
price: number;
|
|
297
|
+
/** Price impact as decimal (0.03 = 3%) */
|
|
298
|
+
priceImpact: number;
|
|
299
|
+
/** Transaction data for execution */
|
|
300
|
+
transactionData: SwapTransactionData;
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Swap execution receipt
|
|
304
|
+
*/
|
|
305
|
+
export interface SwapReceipt {
|
|
306
|
+
/** Transaction receipt(s) */
|
|
307
|
+
receipt: TransactionReturnType | BatchTransactionReturnType;
|
|
308
|
+
/** Human-readable input amount */
|
|
309
|
+
amountIn: number;
|
|
310
|
+
/** Human-readable output amount */
|
|
311
|
+
amountOut: number;
|
|
312
|
+
/** Actual input amount as raw bigint (native decimals) */
|
|
313
|
+
amountInRaw: bigint;
|
|
314
|
+
/** Actual output amount as raw bigint (native decimals) */
|
|
315
|
+
amountOutRaw: bigint;
|
|
316
|
+
/** Input asset */
|
|
317
|
+
assetIn: Asset;
|
|
318
|
+
/** Output asset */
|
|
319
|
+
assetOut: Asset;
|
|
320
|
+
/** Exchange rate: amountOut / amountIn */
|
|
321
|
+
price: number;
|
|
322
|
+
/** Price impact as decimal (0.03 = 3%) */
|
|
323
|
+
priceImpact: number;
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Swap market information
|
|
327
|
+
*/
|
|
328
|
+
export interface SwapMarket {
|
|
329
|
+
/** Market identifier (contains poolId and chainId) */
|
|
330
|
+
marketId: SwapMarketId;
|
|
331
|
+
/** Token pair in the market */
|
|
332
|
+
assets: [Asset, Asset];
|
|
333
|
+
/** Fee tier in pips (500 = 0.05%) */
|
|
334
|
+
fee: number;
|
|
335
|
+
/** Provider name */
|
|
336
|
+
provider: SwapProviderName;
|
|
337
|
+
}
|
|
338
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/types/swap/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/types/swap/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 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/swap/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/swap/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Address, Hex } from 'viem';
|
|
2
|
+
/**
|
|
3
|
+
* Transaction data for execution
|
|
4
|
+
* @description Raw transaction data for wallet execution
|
|
5
|
+
*/
|
|
6
|
+
export interface TransactionData {
|
|
7
|
+
/** Target contract address */
|
|
8
|
+
to: Address;
|
|
9
|
+
/** Encoded function call data */
|
|
10
|
+
data: Hex;
|
|
11
|
+
/** ETH value to send */
|
|
12
|
+
value: bigint;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=transaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/types/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAExC;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,EAAE,EAAE,OAAO,CAAA;IACX,iCAAiC;IACjC,IAAI,EAAE,GAAG,CAAA;IACT,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAA;CACd"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/types/transaction.ts"],"names":[],"mappings":""}
|
|
@@ -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"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { encodeFunctionData, erc20Abi, maxUint256 } from 'viem';
|
|
2
|
+
/** Default Permit2 approval expiry: 30 days in seconds */
|
|
3
|
+
export const DEFAULT_PERMIT2_EXPIRY_SECONDS = 30 * 24 * 60 * 60;
|
|
4
|
+
/**
|
|
5
|
+
* Permit2 ABI (subset for approvals)
|
|
6
|
+
*/
|
|
7
|
+
const PERMIT2_ABI = [
|
|
8
|
+
{
|
|
9
|
+
name: 'allowance',
|
|
10
|
+
type: 'function',
|
|
11
|
+
stateMutability: 'view',
|
|
12
|
+
inputs: [
|
|
13
|
+
{ name: 'owner', type: 'address' },
|
|
14
|
+
{ name: 'token', type: 'address' },
|
|
15
|
+
{ name: 'spender', type: 'address' },
|
|
16
|
+
],
|
|
17
|
+
outputs: [
|
|
18
|
+
{ name: 'amount', type: 'uint160' },
|
|
19
|
+
{ name: 'expiration', type: 'uint48' },
|
|
20
|
+
{ name: 'nonce', type: 'uint48' },
|
|
21
|
+
],
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: 'approve',
|
|
25
|
+
type: 'function',
|
|
26
|
+
stateMutability: 'nonpayable',
|
|
27
|
+
inputs: [
|
|
28
|
+
{ name: 'token', type: 'address' },
|
|
29
|
+
{ name: 'spender', type: 'address' },
|
|
30
|
+
{ name: 'amount', type: 'uint160' },
|
|
31
|
+
{ name: 'expiration', type: 'uint48' },
|
|
32
|
+
],
|
|
33
|
+
outputs: [],
|
|
34
|
+
},
|
|
35
|
+
];
|
|
36
|
+
/**
|
|
37
|
+
* Check Permit2 allowance for a token/spender pair
|
|
38
|
+
*/
|
|
39
|
+
export async function checkPermit2Allowance(params) {
|
|
40
|
+
const { publicClient, permit2Address, owner, token, spender } = params;
|
|
41
|
+
const result = await publicClient.readContract({
|
|
42
|
+
address: permit2Address,
|
|
43
|
+
abi: PERMIT2_ABI,
|
|
44
|
+
functionName: 'allowance',
|
|
45
|
+
args: [owner, token, spender],
|
|
46
|
+
});
|
|
47
|
+
return {
|
|
48
|
+
amount: BigInt(result[0]),
|
|
49
|
+
expiration: Number(result[1]),
|
|
50
|
+
nonce: Number(result[2]),
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Build ERC20 token approval transaction to Permit2.
|
|
55
|
+
* Uses maxUint256 — the Uniswap-canonical pattern.
|
|
56
|
+
* Permit2 is immutable with no owner; spending is scoped by its own allowance system.
|
|
57
|
+
*/
|
|
58
|
+
export function buildTokenApprovalTx(token, permit2Address) {
|
|
59
|
+
return buildErc20ApprovalTx(token, permit2Address, maxUint256);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Build Permit2 approval transaction for a spender
|
|
63
|
+
*/
|
|
64
|
+
export function buildPermit2ApprovalTx(params) {
|
|
65
|
+
const { permit2Address, token, spender, amount } = params;
|
|
66
|
+
const expiration = Math.floor(Date.now() / 1000) +
|
|
67
|
+
(params.expirySeconds ?? DEFAULT_PERMIT2_EXPIRY_SECONDS);
|
|
68
|
+
const data = encodeFunctionData({
|
|
69
|
+
abi: PERMIT2_ABI,
|
|
70
|
+
functionName: 'approve',
|
|
71
|
+
args: [token, spender, amount, expiration],
|
|
72
|
+
});
|
|
73
|
+
return {
|
|
74
|
+
to: permit2Address,
|
|
75
|
+
data,
|
|
76
|
+
value: 0n,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Check ERC20 token allowance
|
|
81
|
+
*/
|
|
82
|
+
export async function checkTokenAllowance(params) {
|
|
83
|
+
const { publicClient, token, owner, spender } = params;
|
|
84
|
+
return publicClient.readContract({
|
|
85
|
+
address: token,
|
|
86
|
+
abi: erc20Abi,
|
|
87
|
+
functionName: 'allowance',
|
|
88
|
+
args: [owner, spender],
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
92
|
+
// Generic ERC20 approval utilities
|
|
93
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
94
|
+
/**
|
|
95
|
+
* Build an ERC20 approve transaction.
|
|
96
|
+
* @param token - ERC20 token address
|
|
97
|
+
* @param spender - Address to approve
|
|
98
|
+
* @param amount - Amount to approve
|
|
99
|
+
* @returns Transaction data for the approval
|
|
100
|
+
*/
|
|
101
|
+
export function buildErc20ApprovalTx(token, spender, amount) {
|
|
102
|
+
return {
|
|
103
|
+
to: token,
|
|
104
|
+
data: encodeFunctionData({
|
|
105
|
+
abi: erc20Abi,
|
|
106
|
+
functionName: 'approve',
|
|
107
|
+
args: [spender, amount],
|
|
108
|
+
}),
|
|
109
|
+
value: 0n,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Compute how much additional ERC20 approval is needed.
|
|
114
|
+
* Returns 0n if current allowance is sufficient.
|
|
115
|
+
* @param params - Token, owner, spender, required amount, and public client
|
|
116
|
+
* @returns The deficit (required - current), or 0n if already sufficient
|
|
117
|
+
*/
|
|
118
|
+
export async function getApprovalDeficit(params) {
|
|
119
|
+
const current = await checkTokenAllowance(params);
|
|
120
|
+
return current >= params.amount ? 0n : params.amount - current;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Build an ERC20 approval transaction only if needed, approving only the deficit.
|
|
124
|
+
* Checks the current on-chain allowance, returns undefined if already sufficient.
|
|
125
|
+
* @param params - Token, owner, spender, required amount, and public client
|
|
126
|
+
* @returns Approval transaction for the deficit amount, or undefined if allowance is sufficient
|
|
127
|
+
*/
|
|
128
|
+
export async function buildApprovalTxIfNeeded(params) {
|
|
129
|
+
const deficit = await getApprovalDeficit(params);
|
|
130
|
+
return deficit > 0n
|
|
131
|
+
? buildErc20ApprovalTx(params.token, params.spender, deficit)
|
|
132
|
+
: undefined;
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=approve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approve.js","sourceRoot":"","sources":["../../src/utils/approve.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approve.test.d.ts","sourceRoot":"","sources":["../../src/utils/approve.test.ts"],"names":[],"mappings":""}
|