@eth-optimism/actions-sdk 0.3.0 → 0.5.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 +17 -13
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +46 -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/ens/EnsNamespace.d.ts +57 -0
- package/dist/ens/EnsNamespace.d.ts.map +1 -0
- package/dist/ens/EnsNamespace.js +158 -0
- package/dist/ens/EnsNamespace.js.map +1 -0
- package/dist/ens/EnsNamespace.spec.d.ts +2 -0
- package/dist/ens/EnsNamespace.spec.d.ts.map +1 -0
- package/dist/ens/EnsNamespace.spec.js +144 -0
- package/dist/ens/EnsNamespace.spec.js.map +1 -0
- package/dist/ens/errors.d.ts +24 -0
- package/dist/ens/errors.d.ts.map +1 -0
- package/dist/ens/errors.js +35 -0
- package/dist/ens/errors.js.map +1 -0
- package/dist/ens/index.d.ts +4 -0
- package/dist/ens/index.d.ts.map +1 -0
- package/dist/ens/index.js +4 -0
- package/dist/ens/index.js.map +1 -0
- package/dist/ens/types.d.ts +63 -0
- package/dist/ens/types.d.ts.map +1 -0
- package/dist/ens/types.js +14 -0
- package/dist/ens/types.js.map +1 -0
- package/dist/index.d.ts +6 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -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 +15 -8
- package/dist/services/ChainManager.d.ts.map +1 -1
- package/dist/services/ChainManager.js +9 -0
- package/dist/services/ChainManager.js.map +1 -1
- package/dist/services/__mocks__/MockChainManager.d.ts +5 -4
- package/dist/services/__mocks__/MockChainManager.d.ts.map +1 -1
- package/dist/services/__mocks__/MockChainManager.js +5 -0
- 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 +215 -37
- 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 +50 -8
- package/dist/swap/namespaces/BaseSwapNamespace.d.ts.map +1 -1
- package/dist/swap/namespaces/BaseSwapNamespace.js +144 -16
- package/dist/swap/namespaces/BaseSwapNamespace.js.map +1 -1
- package/dist/swap/namespaces/WalletSwapNamespace.d.ts +20 -7
- package/dist/swap/namespaces/WalletSwapNamespace.d.ts.map +1 -1
- package/dist/swap/namespaces/WalletSwapNamespace.js +44 -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 +10 -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 +50 -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 +420 -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 +136 -35
- package/dist/types/swap/base.d.ts.map +1 -1
- package/dist/types/swap/base.js.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/ens.d.ts +25 -0
- package/dist/utils/ens.d.ts.map +1 -0
- package/dist/utils/ens.js +53 -0
- package/dist/utils/ens.js.map +1 -0
- package/dist/utils/ens.test.d.ts +2 -0
- package/dist/utils/ens.test.d.ts.map +1 -0
- package/dist/utils/ens.test.js +75 -0
- package/dist/utils/ens.test.js.map +1 -0
- 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 +5 -0
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +10 -0
- package/dist/utils/validation.js.map +1 -1
- 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 +7 -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 +73 -61
- package/src/constants/assets.ts +781 -10
- package/src/constants/providers.ts +5 -0
- package/src/constants/supportedChains.ts +22 -2
- package/src/ens/EnsNamespace.spec.ts +171 -0
- package/src/ens/EnsNamespace.ts +210 -0
- package/src/ens/errors.ts +45 -0
- package/src/ens/index.ts +12 -0
- package/src/ens/types.ts +76 -0
- package/src/index.ts +59 -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 +22 -21
- package/src/services/__mocks__/MockChainManager.ts +12 -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 +309 -50
- 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 +215 -18
- package/src/swap/namespaces/WalletSwapNamespace.ts +61 -14
- package/src/swap/namespaces/__tests__/BaseSwapNamespace.spec.ts +245 -14
- package/src/swap/namespaces/__tests__/WalletSwapNamespace.spec.ts +103 -8
- package/src/swap/providers/uniswap/UniswapSwapProvider.ts +110 -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 +226 -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 +507 -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 +150 -36
- 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/ens.test.ts +104 -0
- package/src/utils/ens.ts +85 -0
- package/src/utils/validateAddresses.test.ts +439 -0
- package/src/utils/validateAddresses.ts +153 -0
- package/src/utils/validation.ts +11 -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 +18 -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
|
@@ -20,8 +20,8 @@ interface ResolvedPoolParams {
|
|
|
20
20
|
export interface GetQuoteParams {
|
|
21
21
|
assetIn: Asset;
|
|
22
22
|
assetOut: Asset;
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
amountInRaw?: bigint;
|
|
24
|
+
amountOutRaw?: bigint;
|
|
25
25
|
chainId: SupportedChainId;
|
|
26
26
|
publicClient: PublicClient;
|
|
27
27
|
quoterAddress: Address;
|
|
@@ -36,8 +36,8 @@ export interface GetQuoteParams {
|
|
|
36
36
|
*/
|
|
37
37
|
export declare function getQuote(params: GetQuoteParams): Promise<SwapPrice>;
|
|
38
38
|
export interface EncodeSwapParams {
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
amountInRaw?: bigint;
|
|
40
|
+
amountOutRaw?: bigint;
|
|
41
41
|
assetIn: Asset;
|
|
42
42
|
assetOut: Asset;
|
|
43
43
|
slippage: number;
|
|
@@ -35,9 +35,9 @@ function resolvePoolParams(assetIn, assetOut, chainId, fee, tickSpacing) {
|
|
|
35
35
|
* Get a swap quote from the Quoter contract
|
|
36
36
|
*/
|
|
37
37
|
export async function getQuote(params) {
|
|
38
|
-
const { assetIn, assetOut,
|
|
38
|
+
const { assetIn, assetOut, amountInRaw, amountOutRaw, chainId, publicClient, quoterAddress, poolManagerAddress, fee, tickSpacing, } = params;
|
|
39
39
|
const { tokenIn, zeroForOne, poolKey } = resolvePoolParams(assetIn, assetOut, chainId, fee, tickSpacing);
|
|
40
|
-
const isExactInput =
|
|
40
|
+
const isExactInput = amountInRaw !== undefined;
|
|
41
41
|
// Read pool mid-price and quote in parallel — no extra sequential RPC call
|
|
42
42
|
const [sqrtPriceX96, quoteResult] = await Promise.all([
|
|
43
43
|
getPoolSqrtPrice({ publicClient, poolManagerAddress, poolKey }),
|
|
@@ -50,7 +50,7 @@ export async function getQuote(params) {
|
|
|
50
50
|
{
|
|
51
51
|
poolKey,
|
|
52
52
|
zeroForOne,
|
|
53
|
-
exactAmount:
|
|
53
|
+
exactAmount: amountInRaw,
|
|
54
54
|
hookData: '0x',
|
|
55
55
|
},
|
|
56
56
|
],
|
|
@@ -63,14 +63,14 @@ export async function getQuote(params) {
|
|
|
63
63
|
{
|
|
64
64
|
poolKey,
|
|
65
65
|
zeroForOne,
|
|
66
|
-
exactAmount:
|
|
66
|
+
exactAmount: amountOutRaw,
|
|
67
67
|
hookData: '0x',
|
|
68
68
|
},
|
|
69
69
|
],
|
|
70
70
|
}),
|
|
71
71
|
]);
|
|
72
|
-
const amountIn = isExactInput ?
|
|
73
|
-
const amountOut = isExactInput ? quoteResult.result[0] :
|
|
72
|
+
const amountIn = isExactInput ? amountInRaw : quoteResult.result[0];
|
|
73
|
+
const amountOut = isExactInput ? quoteResult.result[0] : amountOutRaw;
|
|
74
74
|
const gasEstimate = quoteResult.result[1];
|
|
75
75
|
const price = calculatePrice(amountIn, amountOut, assetIn, assetOut);
|
|
76
76
|
const priceInverse = calculatePrice(amountOut, amountIn, assetOut, assetIn);
|
|
@@ -95,8 +95,8 @@ export async function getQuote(params) {
|
|
|
95
95
|
priceInverse,
|
|
96
96
|
amountIn: parseFloat(formatUnits(amountIn, assetIn.metadata.decimals)),
|
|
97
97
|
amountOut: parseFloat(formatUnits(amountOut, assetOut.metadata.decimals)),
|
|
98
|
-
|
|
99
|
-
|
|
98
|
+
amountInRaw: amountIn,
|
|
99
|
+
amountOutRaw: amountOut,
|
|
100
100
|
priceImpact,
|
|
101
101
|
route,
|
|
102
102
|
gasEstimate,
|
|
@@ -114,13 +114,13 @@ const TAKE_ALL = 0x0f;
|
|
|
114
114
|
* @description Builds calldata for executing a V4 swap through Universal Router
|
|
115
115
|
*/
|
|
116
116
|
export function encodeUniversalRouterSwap(params) {
|
|
117
|
-
const {
|
|
117
|
+
const { amountInRaw, assetIn, assetOut, slippage, deadline, chainId, quote, fee, tickSpacing, } = params;
|
|
118
118
|
const { tokenIn, tokenOut, zeroForOne, poolKey } = resolvePoolParams(assetIn, assetOut, chainId, fee, tickSpacing);
|
|
119
|
-
const isExactInput =
|
|
119
|
+
const isExactInput = amountInRaw !== undefined;
|
|
120
120
|
let actions;
|
|
121
121
|
let actionParams;
|
|
122
122
|
if (isExactInput) {
|
|
123
|
-
const minAmountOut = (quote.
|
|
123
|
+
const minAmountOut = (quote.amountOutRaw * BigInt(Math.round((1 - slippage) * 10000))) / 10000n;
|
|
124
124
|
actions =
|
|
125
125
|
`0x${[SWAP_EXACT_IN_SINGLE, SETTLE_ALL, TAKE_ALL].map((a) => a.toString(16).padStart(2, '0')).join('')}`;
|
|
126
126
|
actionParams = [
|
|
@@ -128,18 +128,18 @@ export function encodeUniversalRouterSwap(params) {
|
|
|
128
128
|
{
|
|
129
129
|
poolKey,
|
|
130
130
|
zeroForOne,
|
|
131
|
-
amountIn:
|
|
131
|
+
amountIn: amountInRaw,
|
|
132
132
|
amountOutMinimum: minAmountOut,
|
|
133
133
|
hookData: '0x',
|
|
134
134
|
},
|
|
135
135
|
]),
|
|
136
|
-
encodeAbiParameters(CURRENCY_AMOUNT_PARAMS, [tokenIn,
|
|
136
|
+
encodeAbiParameters(CURRENCY_AMOUNT_PARAMS, [tokenIn, amountInRaw]),
|
|
137
137
|
encodeAbiParameters(CURRENCY_AMOUNT_PARAMS, [tokenOut, minAmountOut]),
|
|
138
138
|
];
|
|
139
139
|
}
|
|
140
140
|
else {
|
|
141
|
-
const maxAmountIn = quote.
|
|
142
|
-
(quote.
|
|
141
|
+
const maxAmountIn = quote.amountInRaw +
|
|
142
|
+
(quote.amountInRaw * BigInt(Math.round(slippage * 10000))) / 10000n;
|
|
143
143
|
actions =
|
|
144
144
|
`0x${[SWAP_EXACT_OUT_SINGLE, SETTLE_ALL, TAKE_ALL].map((a) => a.toString(16).padStart(2, '0')).join('')}`;
|
|
145
145
|
actionParams = [
|
|
@@ -147,7 +147,7 @@ export function encodeUniversalRouterSwap(params) {
|
|
|
147
147
|
{
|
|
148
148
|
poolKey,
|
|
149
149
|
zeroForOne,
|
|
150
|
-
amountOut: quote.
|
|
150
|
+
amountOut: quote.amountOutRaw,
|
|
151
151
|
amountInMaximum: maxAmountIn,
|
|
152
152
|
hookData: '0x',
|
|
153
153
|
},
|
|
@@ -155,7 +155,7 @@ export function encodeUniversalRouterSwap(params) {
|
|
|
155
155
|
encodeAbiParameters(CURRENCY_AMOUNT_PARAMS, [tokenIn, maxAmountIn]),
|
|
156
156
|
encodeAbiParameters(CURRENCY_AMOUNT_PARAMS, [
|
|
157
157
|
tokenOut,
|
|
158
|
-
quote.
|
|
158
|
+
quote.amountOutRaw,
|
|
159
159
|
]),
|
|
160
160
|
];
|
|
161
161
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { SupportedChainId } from '../../../constants/supportedChains.js';
|
|
2
|
+
import type { Asset } from '../../../types/asset.js';
|
|
3
|
+
import type { SwapMarket } from '../../../types/swap/index.js';
|
|
4
|
+
import type { UniswapMarketConfig } from './types.js';
|
|
5
|
+
/** Validated Uniswap market config with required fee and tickSpacing */
|
|
6
|
+
export type ValidUniswapConfig = UniswapMarketConfig & {
|
|
7
|
+
fee: number;
|
|
8
|
+
tickSpacing: number;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Filter market allowlist to configs with required fee and tickSpacing.
|
|
12
|
+
*/
|
|
13
|
+
export declare function getValidMarketConfigs(allowlist?: UniswapMarketConfig[]): ValidUniswapConfig[];
|
|
14
|
+
/**
|
|
15
|
+
* Expand a single UniswapMarketConfig into SwapMarket objects for a given chain.
|
|
16
|
+
* Used as the `toMarkets` callback for shared findMarket/expandMarkets.
|
|
17
|
+
*/
|
|
18
|
+
export declare function configToMarkets(config: ValidUniswapConfig, chainId: SupportedChainId, asset?: Asset): SwapMarket[];
|
|
19
|
+
//# sourceMappingURL=markets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markets.d.ts","sourceRoot":"","sources":["../../../../src/swap/providers/uniswap/markets.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAGtE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAEvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAErD,wEAAwE;AACxE,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG;IACrD,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,CAAC,EAAE,mBAAmB,EAAE,GAChC,kBAAkB,EAAE,CAKtB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,gBAAgB,EACzB,KAAK,CAAC,EAAE,KAAK,GACZ,UAAU,EAAE,CAMd"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { encodeAbiParameters, keccak256 } from 'viem';
|
|
2
|
+
import { UNISWAP } from '../../../constants/providers.js';
|
|
3
|
+
import { assetPairs } from '../../core/markets.js';
|
|
4
|
+
import { POOL_KEY_ABI_TYPE } from './abis.js';
|
|
5
|
+
/**
|
|
6
|
+
* Filter market allowlist to configs with required fee and tickSpacing.
|
|
7
|
+
*/
|
|
8
|
+
export function getValidMarketConfigs(allowlist) {
|
|
9
|
+
return (allowlist ?? []).filter((f) => f.fee !== undefined && f.tickSpacing !== undefined);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Expand a single UniswapMarketConfig into SwapMarket objects for a given chain.
|
|
13
|
+
* Used as the `toMarkets` callback for shared findMarket/expandMarkets.
|
|
14
|
+
*/
|
|
15
|
+
export function configToMarkets(config, chainId, asset) {
|
|
16
|
+
return assetPairs(config.assets, asset)
|
|
17
|
+
.map(([a, b]) => pairToMarket(a, b, chainId, config.fee, config.tickSpacing))
|
|
18
|
+
.filter((m) => m !== null);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Build a SwapMarket from two assets and V4 pool parameters.
|
|
22
|
+
* Computes a deterministic poolId from the sorted pool key.
|
|
23
|
+
* @returns SwapMarket, or null if either asset lacks an address on this chain
|
|
24
|
+
*/
|
|
25
|
+
function pairToMarket(assetA, assetB, chainId, fee, tickSpacing) {
|
|
26
|
+
const addrA = assetA.address[chainId];
|
|
27
|
+
const addrB = assetB.address[chainId];
|
|
28
|
+
if (!addrA || addrA === 'native' || !addrB || addrB === 'native')
|
|
29
|
+
return null;
|
|
30
|
+
const [currency0, currency1] = addrA.toLowerCase() < addrB.toLowerCase() ? [addrA, addrB] : [addrB, addrA];
|
|
31
|
+
// V4 requires currency0 < currency1 for deterministic pool keys
|
|
32
|
+
// PoolId = keccak256(abi.encode(PoolKey)) per V4's PoolIdLibrary
|
|
33
|
+
// @see https://github.com/Uniswap/v4-core/blob/main/src/types/PoolId.sol
|
|
34
|
+
const poolId = keccak256(encodeAbiParameters(POOL_KEY_ABI_TYPE, [
|
|
35
|
+
currency0,
|
|
36
|
+
currency1,
|
|
37
|
+
fee,
|
|
38
|
+
tickSpacing,
|
|
39
|
+
'0x0000000000000000000000000000000000000000',
|
|
40
|
+
]));
|
|
41
|
+
return {
|
|
42
|
+
marketId: { poolId, chainId },
|
|
43
|
+
assets: [assetA, assetB],
|
|
44
|
+
fee,
|
|
45
|
+
provider: UNISWAP,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=markets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markets.js","sourceRoot":"","sources":["../../../../src/swap/providers/uniswap/markets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,mBAAmB,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAYpE;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAAiC;IAEjC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,CAC7B,CAAC,CAAC,EAA2B,EAAE,CAC7B,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,CACrD,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,MAA0B,EAC1B,OAAyB,EACzB,KAAa;IAEb,OAAO,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;SACpC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CACd,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAC5D;SACA,MAAM,CAAC,CAAC,CAAC,EAAmB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAA;AAC/C,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CACnB,MAAa,EACb,MAAa,EACb,OAAyB,EACzB,GAAW,EACX,WAAmB;IAEnB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACrC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACrC,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAE7E,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAC1B,KAAK,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAE7E,gEAAgE;IAChE,iEAAiE;IACjE,yEAAyE;IACzE,MAAM,MAAM,GAAG,SAAS,CACtB,mBAAmB,CAAC,iBAAiB,EAAE;QACrC,SAAoB;QACpB,SAAoB;QACpB,GAAG;QACH,WAAW;QACX,4CAAuD;KACxD,CAAC,CACH,CAAA;IAED,OAAO;QACL,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;QAC7B,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,GAAG;QACH,QAAQ,EAAE,OAAO;KAClB,CAAA;AACH,CAAC"}
|
|
@@ -9,12 +9,13 @@ export interface UniswapMarketConfig extends SwapMarketConfig {
|
|
|
9
9
|
tickSpacing?: number;
|
|
10
10
|
}
|
|
11
11
|
/**
|
|
12
|
-
* Uniswap swap provider configuration
|
|
12
|
+
* Uniswap swap provider configuration.
|
|
13
|
+
* Provider-level values override the shared SwapGlobalConfig.
|
|
13
14
|
*/
|
|
14
15
|
export interface UniswapSwapProviderConfig extends SwapProviderConfig {
|
|
15
16
|
marketAllowlist?: UniswapMarketConfig[];
|
|
16
17
|
marketBlocklist?: UniswapMarketConfig[];
|
|
17
|
-
/** Permit2 approval
|
|
18
|
-
|
|
18
|
+
/** Permit2 sub-approval expiration override in seconds from now. */
|
|
19
|
+
permit2ExpirationSeconds?: number;
|
|
19
20
|
}
|
|
20
21
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/swap/providers/uniswap/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,uBAAuB,CAAA;AAE9B;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/swap/providers/uniswap/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,uBAAuB,CAAA;AAE9B;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,yBAA0B,SAAQ,kBAAkB;IACnE,eAAe,CAAC,EAAE,mBAAmB,EAAE,CAAA;IACvC,eAAe,CAAC,EAAE,mBAAmB,EAAE,CAAA;IACvC,oEAAoE;IACpE,wBAAwB,CAAC,EAAE,MAAM,CAAA;CAClC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { SupportedChainId } from '../../../constants/supportedChains.js';
|
|
2
|
+
import type { SwapQuoteParamsResolved } from '../../../ens/types.js';
|
|
3
|
+
import { SwapProvider } from '../../core/SwapProvider.js';
|
|
4
|
+
import type { VelodromeSwapProviderConfig } from './types.js';
|
|
5
|
+
import type { GetSwapMarketParams, GetSwapMarketsParams, ResolvedSwapParams, SwapMarket, SwapQuote, SwapTransaction } from '../../../types/swap/index.js';
|
|
6
|
+
/**
|
|
7
|
+
* Velodrome/Aerodrome swap provider for OP Stack chains.
|
|
8
|
+
* Supports v2 AMM pools, CL/Slipstream concentrated liquidity pools,
|
|
9
|
+
* v2 routers (Optimism, Base), leaf routers (Relay chains), and Universal Router (Base Sepolia).
|
|
10
|
+
*/
|
|
11
|
+
export declare class VelodromeSwapProvider extends SwapProvider<VelodromeSwapProviderConfig> {
|
|
12
|
+
/** @returns Chain IDs where Velodrome/Aerodrome contracts are deployed */
|
|
13
|
+
protocolSupportedChainIds(): SupportedChainId[];
|
|
14
|
+
/**
|
|
15
|
+
* Build a swap transaction from raw parameters.
|
|
16
|
+
* @param params - Resolved swap parameters (amounts as raw bigint, defaults applied)
|
|
17
|
+
* @returns Transaction data ready for wallet execution
|
|
18
|
+
* @throws If amountOut is provided (Velodrome only supports exact-input swaps)
|
|
19
|
+
*/
|
|
20
|
+
protected _execute(params: ResolvedSwapParams): Promise<SwapTransaction>;
|
|
21
|
+
/**
|
|
22
|
+
* Find a specific market by poolId from the allowlist.
|
|
23
|
+
* @param params - Pool ID and chain to look up
|
|
24
|
+
* @returns Matching market
|
|
25
|
+
* @throws If no matching market found in config
|
|
26
|
+
*/
|
|
27
|
+
protected _getMarket(params: GetSwapMarketParams): Promise<SwapMarket>;
|
|
28
|
+
/**
|
|
29
|
+
* Expand the market allowlist into concrete SwapMarket objects.
|
|
30
|
+
* @param params - Optional filters (chainId, asset)
|
|
31
|
+
* @returns All configured markets matching the filters
|
|
32
|
+
*/
|
|
33
|
+
protected _getMarkets(params: GetSwapMarketsParams): Promise<SwapMarket[]>;
|
|
34
|
+
/**
|
|
35
|
+
* Get a full swap quote with pricing, slippage bounds, and pre-built execution data.
|
|
36
|
+
* @param params - Quote parameters (assets, amounts, chain, slippage, deadline)
|
|
37
|
+
* @returns SwapQuote with amounts, price, route, and encoded calldata
|
|
38
|
+
* @throws If amountOut is provided (Velodrome only supports exact-input)
|
|
39
|
+
*/
|
|
40
|
+
protected _getQuote(params: SwapQuoteParamsResolved): Promise<SwapQuote>;
|
|
41
|
+
protected _buildApprovals(quote: SwapQuote): Promise<{
|
|
42
|
+
tokenApproval: import("../../../index.js").TransactionData | undefined;
|
|
43
|
+
}>;
|
|
44
|
+
/**
|
|
45
|
+
* Resolve market config to a discriminated pool config.
|
|
46
|
+
* @throws If pair not in allowlist, or has both/neither stable and tickSpacing
|
|
47
|
+
*/
|
|
48
|
+
private resolveVelodromeMarketConfig;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=VelodromeSwapProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VelodromeSwapProvider.d.ts","sourceRoot":"","sources":["../../../../src/swap/providers/velodrome/VelodromeSwapProvider.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAe1D,OAAO,KAAK,EAEV,2BAA2B,EAC5B,MAAM,qCAAqC,CAAA;AAE5C,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,eAAe,EAChB,MAAM,uBAAuB,CAAA;AAG9B;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,YAAY,CAAC,2BAA2B,CAAC;IAClF,0EAA0E;IAC1E,yBAAyB,IAAI,gBAAgB,EAAE;IAI/C;;;;;OAKG;cACa,QAAQ,CACtB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC;IAuB3B;;;;;OAKG;cACa,UAAU,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IAS5E;;;;OAIG;cACa,WAAW,CACzB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,UAAU,EAAE,CAAC;IASxB;;;;;OAKG;cACa,SAAS,CACvB,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,SAAS,CAAC;cAuEL,eAAe,CAAC,KAAK,EAAE,SAAS;;;IAkBhD;;;OAGG;IACH,OAAO,CAAC,4BAA4B;CAerC"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { formatUnits } from 'viem';
|
|
2
|
+
import { VELODROME } from '../../../constants/providers.js';
|
|
3
|
+
import { expandMarkets, findMarket } from '../../core/markets.js';
|
|
4
|
+
import { SwapProvider } from '../../core/SwapProvider.js';
|
|
5
|
+
import { getChainConfig, getSupportedChainIds, getValidMarketConfigs, } from './config.js';
|
|
6
|
+
import { buildTokenApproval, encodePoolSwap, fetchPoolQuote, } from './encoding/index.js';
|
|
7
|
+
import { configToMarkets, resolvePoolConfig, } from './markets.js';
|
|
8
|
+
import { getAssetAddress, isNativeAsset } from '../../../utils/assets.js';
|
|
9
|
+
/**
|
|
10
|
+
* Velodrome/Aerodrome swap provider for OP Stack chains.
|
|
11
|
+
* Supports v2 AMM pools, CL/Slipstream concentrated liquidity pools,
|
|
12
|
+
* v2 routers (Optimism, Base), leaf routers (Relay chains), and Universal Router (Base Sepolia).
|
|
13
|
+
*/
|
|
14
|
+
export class VelodromeSwapProvider extends SwapProvider {
|
|
15
|
+
/** @returns Chain IDs where Velodrome/Aerodrome contracts are deployed */
|
|
16
|
+
protocolSupportedChainIds() {
|
|
17
|
+
return getSupportedChainIds();
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Build a swap transaction from raw parameters.
|
|
21
|
+
* @param params - Resolved swap parameters (amounts as raw bigint, defaults applied)
|
|
22
|
+
* @returns Transaction data ready for wallet execution
|
|
23
|
+
* @throws If amountOut is provided (Velodrome only supports exact-input swaps)
|
|
24
|
+
*/
|
|
25
|
+
async _execute(params) {
|
|
26
|
+
if (params.amountOutRaw !== undefined) {
|
|
27
|
+
throw new Error('Velodrome/Aerodrome does not support exact-output swaps. Provide amountIn instead of amountOut.');
|
|
28
|
+
}
|
|
29
|
+
const swapQuote = await this._getQuote({
|
|
30
|
+
assetIn: params.assetIn,
|
|
31
|
+
assetOut: params.assetOut,
|
|
32
|
+
amountIn: params.amountInRaw
|
|
33
|
+
? parseFloat(formatUnits(params.amountInRaw, params.assetIn.metadata.decimals))
|
|
34
|
+
: undefined,
|
|
35
|
+
chainId: params.chainId,
|
|
36
|
+
slippage: params.slippage,
|
|
37
|
+
deadline: params.deadline,
|
|
38
|
+
recipient: params.recipient,
|
|
39
|
+
});
|
|
40
|
+
return this.buildSwapTransactions(swapQuote);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Find a specific market by poolId from the allowlist.
|
|
44
|
+
* @param params - Pool ID and chain to look up
|
|
45
|
+
* @returns Matching market
|
|
46
|
+
* @throws If no matching market found in config
|
|
47
|
+
*/
|
|
48
|
+
async _getMarket(params) {
|
|
49
|
+
return findMarket(getValidMarketConfigs(this._config.marketAllowlist), params.chainId, params.poolId, configToMarkets);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Expand the market allowlist into concrete SwapMarket objects.
|
|
53
|
+
* @param params - Optional filters (chainId, asset)
|
|
54
|
+
* @returns All configured markets matching the filters
|
|
55
|
+
*/
|
|
56
|
+
async _getMarkets(params) {
|
|
57
|
+
return expandMarkets({
|
|
58
|
+
configs: getValidMarketConfigs(this._config.marketAllowlist),
|
|
59
|
+
filters: params,
|
|
60
|
+
supportedChainIds: this.supportedChainIds(),
|
|
61
|
+
toMarkets: configToMarkets,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Get a full swap quote with pricing, slippage bounds, and pre-built execution data.
|
|
66
|
+
* @param params - Quote parameters (assets, amounts, chain, slippage, deadline)
|
|
67
|
+
* @returns SwapQuote with amounts, price, route, and encoded calldata
|
|
68
|
+
* @throws If amountOut is provided (Velodrome only supports exact-input)
|
|
69
|
+
*/
|
|
70
|
+
async _getQuote(params) {
|
|
71
|
+
const { chainId, assetIn, assetOut } = params;
|
|
72
|
+
if (params.amountOut !== undefined) {
|
|
73
|
+
throw new Error('Velodrome/Aerodrome does not support exact-output swaps. Provide amountIn instead of amountOut.');
|
|
74
|
+
}
|
|
75
|
+
const chain = getChainConfig(chainId);
|
|
76
|
+
const publicClient = this.chainManager.getPublicClient(chainId);
|
|
77
|
+
const poolConfig = this.resolveVelodromeMarketConfig(assetIn, assetOut, chainId);
|
|
78
|
+
const { slippage, now, deadline, recipient, amountInRaw } = this.resolveQuoteDefaults(params);
|
|
79
|
+
const { internalQuote, providerContext } = await fetchPoolQuote(poolConfig, { assetIn, assetOut, amountInRaw, chainId, publicClient, chain });
|
|
80
|
+
const { amountOutMinRaw, amountOutMin } = this.computeSlippageBounds(internalQuote.amountOutRaw, slippage, assetOut);
|
|
81
|
+
const swapCalldata = encodePoolSwap(poolConfig, {
|
|
82
|
+
assetIn,
|
|
83
|
+
assetOut,
|
|
84
|
+
amountInRaw,
|
|
85
|
+
amountOutMinRaw,
|
|
86
|
+
recipient,
|
|
87
|
+
deadline,
|
|
88
|
+
chainId,
|
|
89
|
+
chain,
|
|
90
|
+
});
|
|
91
|
+
return {
|
|
92
|
+
assetIn,
|
|
93
|
+
assetOut,
|
|
94
|
+
chainId,
|
|
95
|
+
amountIn: internalQuote.amountIn,
|
|
96
|
+
amountInRaw,
|
|
97
|
+
amountOut: internalQuote.amountOut,
|
|
98
|
+
amountOutRaw: internalQuote.amountOutRaw,
|
|
99
|
+
amountOutMin,
|
|
100
|
+
amountOutMinRaw,
|
|
101
|
+
price: internalQuote.amountOut / internalQuote.amountIn,
|
|
102
|
+
priceInverse: internalQuote.amountIn / internalQuote.amountOut,
|
|
103
|
+
priceImpact: internalQuote.priceImpact,
|
|
104
|
+
route: internalQuote.route,
|
|
105
|
+
execution: {
|
|
106
|
+
swapCalldata,
|
|
107
|
+
routerAddress: chain.contracts.router,
|
|
108
|
+
value: isNativeAsset(assetIn) ? amountInRaw : 0n,
|
|
109
|
+
providerContext,
|
|
110
|
+
},
|
|
111
|
+
provider: VELODROME,
|
|
112
|
+
slippage,
|
|
113
|
+
deadline,
|
|
114
|
+
quotedAt: now,
|
|
115
|
+
expiresAt: deadline,
|
|
116
|
+
gasEstimate: internalQuote.gasEstimate,
|
|
117
|
+
quotedRecipient: recipient,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
async _buildApprovals(quote) {
|
|
121
|
+
const chain = getChainConfig(quote.chainId);
|
|
122
|
+
const publicClient = this.chainManager.getPublicClient(quote.chainId);
|
|
123
|
+
const tokenApproval = isNativeAsset(quote.assetIn)
|
|
124
|
+
? undefined
|
|
125
|
+
: await buildTokenApproval(getAssetAddress(quote.assetIn, quote.chainId), chain.contracts.router, chain.metadata.routerType, quote.amountInRaw, quote.recipient, publicClient);
|
|
126
|
+
return { tokenApproval };
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Resolve market config to a discriminated pool config.
|
|
130
|
+
* @throws If pair not in allowlist, or has both/neither stable and tickSpacing
|
|
131
|
+
*/
|
|
132
|
+
resolveVelodromeMarketConfig(assetIn, assetOut, chainId) {
|
|
133
|
+
const config = this.resolveMarketConfig(assetIn, assetOut, chainId);
|
|
134
|
+
if (!config) {
|
|
135
|
+
throw new Error(`No market config for pair ${assetIn.metadata.symbol}/${assetOut.metadata.symbol}`);
|
|
136
|
+
}
|
|
137
|
+
return resolvePoolConfig(config);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=VelodromeSwapProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VelodromeSwapProvider.js","sourceRoot":"","sources":["../../../../src/swap/providers/velodrome/VelodromeSwapProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VelodromeSwapProvider.network.test.d.ts","sourceRoot":"","sources":["../../../../../src/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.ts"],"names":[],"mappings":""}
|