@eth-optimism/actions-sdk 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/dist/__mocks__/MockAssets.d.ts.map +1 -0
- package/dist/{test → __mocks__}/MockAssets.js +2 -0
- package/dist/__mocks__/MockAssets.js.map +1 -0
- package/dist/__mocks__/MockPrivyClient.d.ts.map +1 -0
- package/dist/__mocks__/MockPrivyClient.js.map +1 -0
- package/dist/__mocks__/utils.d.ts.map +1 -0
- package/dist/__mocks__/utils.js.map +1 -0
- package/dist/__tests__/actions.test.d.ts.map +1 -0
- package/dist/{actions.test.js → __tests__/actions.test.js} +5 -9
- package/dist/__tests__/actions.test.js.map +1 -0
- package/dist/actions.d.ts +20 -1
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +37 -13
- package/dist/actions.js.map +1 -1
- package/dist/constants/assets.d.ts +23 -0
- package/dist/constants/assets.d.ts.map +1 -1
- package/dist/constants/assets.js +99 -6
- package/dist/constants/assets.js.map +1 -1
- package/dist/constants/contracts.d.ts +4 -0
- package/dist/constants/contracts.d.ts.map +1 -0
- package/dist/constants/contracts.js +3 -0
- package/dist/constants/contracts.js.map +1 -0
- package/dist/constants/supportedChains.d.ts +1 -1
- package/dist/constants/supportedChains.d.ts.map +1 -1
- package/dist/constants/supportedChains.js +7 -3
- package/dist/constants/supportedChains.js.map +1 -1
- package/dist/core/asset/__mocks__/mockAsset.js +1 -1
- package/dist/core/asset/__mocks__/mockAsset.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/{test → lend/__mocks__}/MockLendProvider.d.ts +7 -6
- package/dist/lend/__mocks__/MockLendProvider.d.ts.map +1 -0
- package/dist/{test → lend/__mocks__}/MockLendProvider.js +20 -21
- package/dist/lend/__mocks__/MockLendProvider.js.map +1 -0
- package/dist/{test → lend/__mocks__}/MockMarkets.d.ts +1 -1
- package/dist/lend/__mocks__/MockMarkets.d.ts.map +1 -0
- package/dist/{test → lend/__mocks__}/MockMarkets.js +1 -1
- package/dist/lend/__mocks__/MockMarkets.js.map +1 -0
- package/dist/lend/__mocks__/mockLendTransaction.d.ts +3 -12
- package/dist/lend/__mocks__/mockLendTransaction.d.ts.map +1 -1
- package/dist/lend/__mocks__/mockLendTransaction.js +3 -19
- package/dist/lend/__mocks__/mockLendTransaction.js.map +1 -1
- package/dist/lend/core/LendProvider.d.ts +14 -8
- package/dist/lend/core/LendProvider.d.ts.map +1 -1
- package/dist/lend/core/LendProvider.js +29 -17
- package/dist/lend/core/LendProvider.js.map +1 -1
- package/dist/lend/core/__tests__/LendProvider.test.js +4 -6
- package/dist/lend/core/__tests__/LendProvider.test.js.map +1 -1
- package/dist/lend/namespaces/ActionsLendNamespace.d.ts +2 -36
- package/dist/lend/namespaces/ActionsLendNamespace.d.ts.map +1 -1
- package/dist/lend/namespaces/ActionsLendNamespace.js +2 -48
- package/dist/lend/namespaces/ActionsLendNamespace.js.map +1 -1
- package/dist/lend/namespaces/BaseLendNamespace.d.ts +47 -0
- package/dist/lend/namespaces/BaseLendNamespace.d.ts.map +1 -0
- package/dist/lend/namespaces/BaseLendNamespace.js +58 -0
- package/dist/lend/namespaces/BaseLendNamespace.js.map +1 -0
- package/dist/lend/namespaces/WalletLendNamespace.d.ts +8 -36
- package/dist/lend/namespaces/WalletLendNamespace.d.ts.map +1 -1
- package/dist/lend/namespaces/WalletLendNamespace.js +14 -69
- package/dist/lend/namespaces/WalletLendNamespace.js.map +1 -1
- package/dist/lend/namespaces/__tests__/ActionsLendNamespace.spec.js +2 -2
- package/dist/lend/namespaces/__tests__/ActionsLendNamespace.spec.js.map +1 -1
- package/dist/lend/namespaces/__tests__/BaseLendNamespace.spec.d.ts +2 -0
- package/dist/lend/namespaces/__tests__/BaseLendNamespace.spec.d.ts.map +1 -0
- package/dist/lend/namespaces/__tests__/BaseLendNamespace.spec.js +110 -0
- package/dist/lend/namespaces/__tests__/BaseLendNamespace.spec.js.map +1 -0
- package/dist/lend/namespaces/__tests__/WalletLendNamespace.spec.js +8 -10
- package/dist/lend/namespaces/__tests__/WalletLendNamespace.spec.js.map +1 -1
- package/dist/lend/providers/aave/AaveLendProvider.d.ts +19 -27
- package/dist/lend/providers/aave/AaveLendProvider.d.ts.map +1 -1
- package/dist/lend/providers/aave/AaveLendProvider.js +124 -180
- package/dist/lend/providers/aave/AaveLendProvider.js.map +1 -1
- package/dist/lend/providers/aave/__mocks__/mockReserve.d.ts +11 -0
- package/dist/lend/providers/aave/__mocks__/mockReserve.d.ts.map +1 -0
- package/dist/lend/providers/aave/__mocks__/mockReserve.js +80 -0
- package/dist/lend/providers/aave/__mocks__/mockReserve.js.map +1 -0
- package/dist/lend/providers/aave/__tests__/AaveLendProvider.test.d.ts +2 -0
- package/dist/lend/providers/aave/__tests__/AaveLendProvider.test.d.ts.map +1 -0
- package/dist/lend/providers/aave/__tests__/AaveLendProvider.test.js +315 -0
- package/dist/lend/providers/aave/__tests__/AaveLendProvider.test.js.map +1 -0
- package/dist/lend/providers/aave/abis/pool.d.ts +153 -0
- package/dist/lend/providers/aave/abis/pool.d.ts.map +1 -0
- package/dist/lend/providers/aave/abis/pool.js +79 -0
- package/dist/lend/providers/aave/abis/pool.js.map +1 -0
- package/dist/lend/providers/aave/sdk.d.ts.map +1 -1
- package/dist/lend/providers/aave/sdk.js +6 -65
- package/dist/lend/providers/aave/sdk.js.map +1 -1
- package/dist/lend/providers/morpho/MorphoLendProvider.d.ts +0 -1
- package/dist/lend/providers/morpho/MorphoLendProvider.d.ts.map +1 -1
- package/dist/lend/providers/morpho/MorphoLendProvider.js +13 -28
- package/dist/lend/providers/morpho/MorphoLendProvider.js.map +1 -1
- package/dist/lend/providers/morpho/__tests__/MorphoLendProvider.test.js +5 -24
- package/dist/lend/providers/morpho/__tests__/MorphoLendProvider.test.js.map +1 -1
- package/dist/lend/providers/morpho/__tests__/api.test.js +248 -54
- package/dist/lend/providers/morpho/__tests__/api.test.js.map +1 -1
- package/dist/lend/providers/morpho/__tests__/sdk.test.js +3 -2
- package/dist/lend/providers/morpho/__tests__/sdk.test.js.map +1 -1
- package/dist/lend/providers/morpho/api.d.ts +4 -0
- package/dist/lend/providers/morpho/api.d.ts.map +1 -1
- package/dist/lend/providers/morpho/api.js.map +1 -1
- package/dist/lend/providers/morpho/contracts.d.ts +19 -0
- package/dist/lend/providers/morpho/contracts.d.ts.map +1 -0
- package/dist/lend/providers/morpho/contracts.js +32 -0
- package/dist/lend/providers/morpho/contracts.js.map +1 -0
- package/dist/lend/providers/morpho/sdk.d.ts.map +1 -1
- package/dist/lend/providers/morpho/sdk.js +177 -71
- package/dist/lend/providers/morpho/sdk.js.map +1 -1
- package/dist/services/ChainManager.d.ts +1 -1
- package/dist/{test → services/__mocks__}/MockChainManager.d.ts +1 -1
- package/dist/services/__mocks__/MockChainManager.d.ts.map +1 -0
- package/dist/services/__mocks__/MockChainManager.js.map +1 -0
- package/dist/services/tokenBalance.d.ts.map +1 -1
- package/dist/services/tokenBalance.js +4 -5
- package/dist/services/tokenBalance.js.map +1 -1
- package/dist/services/tokenBalance.spec.js +2 -2
- package/dist/services/tokenBalance.spec.js.map +1 -1
- package/dist/supported/tokens.d.ts +4 -4
- package/dist/supported/tokens.d.ts.map +1 -1
- package/dist/supported/tokens.js +10 -70
- package/dist/supported/tokens.js.map +1 -1
- package/dist/swap/__mocks__/MockSwapProvider.d.ts +38 -0
- package/dist/swap/__mocks__/MockSwapProvider.d.ts.map +1 -0
- package/dist/swap/__mocks__/MockSwapProvider.js +138 -0
- package/dist/swap/__mocks__/MockSwapProvider.js.map +1 -0
- package/dist/swap/core/SwapProvider.d.ts +56 -0
- package/dist/swap/core/SwapProvider.d.ts.map +1 -0
- package/dist/swap/core/SwapProvider.js +177 -0
- package/dist/swap/core/SwapProvider.js.map +1 -0
- package/dist/swap/core/__tests__/SwapProvider.test.d.ts +2 -0
- package/dist/swap/core/__tests__/SwapProvider.test.d.ts.map +1 -0
- package/dist/swap/core/__tests__/SwapProvider.test.js +329 -0
- package/dist/swap/core/__tests__/SwapProvider.test.js.map +1 -0
- package/dist/swap/index.d.ts +7 -0
- package/dist/swap/index.d.ts.map +1 -0
- package/dist/swap/index.js +8 -0
- package/dist/swap/index.js.map +1 -0
- package/dist/swap/namespaces/ActionsSwapNamespace.d.ts +8 -0
- package/dist/swap/namespaces/ActionsSwapNamespace.d.ts.map +1 -0
- package/dist/swap/namespaces/ActionsSwapNamespace.js +8 -0
- package/dist/swap/namespaces/ActionsSwapNamespace.js.map +1 -0
- package/dist/swap/namespaces/BaseSwapNamespace.d.ts +33 -0
- package/dist/swap/namespaces/BaseSwapNamespace.d.ts.map +1 -0
- package/dist/swap/namespaces/BaseSwapNamespace.js +58 -0
- package/dist/swap/namespaces/BaseSwapNamespace.js.map +1 -0
- package/dist/swap/namespaces/WalletSwapNamespace.d.ts +22 -0
- package/dist/swap/namespaces/WalletSwapNamespace.d.ts.map +1 -0
- package/dist/swap/namespaces/WalletSwapNamespace.js +60 -0
- package/dist/swap/namespaces/WalletSwapNamespace.js.map +1 -0
- package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.d.ts +2 -0
- package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.d.ts.map +1 -0
- package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.js +106 -0
- package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.js.map +1 -0
- package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.d.ts +2 -0
- package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.d.ts.map +1 -0
- package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.js +132 -0
- package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.js.map +1 -0
- package/dist/swap/providers/uniswap/UniswapSwapProvider.d.ts +68 -0
- package/dist/swap/providers/uniswap/UniswapSwapProvider.d.ts.map +1 -0
- package/dist/swap/providers/uniswap/UniswapSwapProvider.js +206 -0
- package/dist/swap/providers/uniswap/UniswapSwapProvider.js.map +1 -0
- package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.d.ts +2 -0
- package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.d.ts.map +1 -0
- package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.js +257 -0
- package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.js.map +1 -0
- package/dist/swap/providers/uniswap/__tests__/sdk.test.d.ts +2 -0
- package/dist/swap/providers/uniswap/__tests__/sdk.test.d.ts.map +1 -0
- package/dist/swap/providers/uniswap/__tests__/sdk.test.js +312 -0
- package/dist/swap/providers/uniswap/__tests__/sdk.test.js.map +1 -0
- package/dist/swap/providers/uniswap/abis.d.ts +227 -0
- package/dist/swap/providers/uniswap/abis.d.ts.map +1 -0
- package/dist/swap/providers/uniswap/abis.js +138 -0
- package/dist/swap/providers/uniswap/abis.js.map +1 -0
- package/dist/swap/providers/uniswap/addresses.d.ts +21 -0
- package/dist/swap/providers/uniswap/addresses.d.ts.map +1 -0
- package/dist/swap/providers/uniswap/addresses.js +81 -0
- package/dist/swap/providers/uniswap/addresses.js.map +1 -0
- package/dist/swap/providers/uniswap/encoding.d.ts +77 -0
- package/dist/swap/providers/uniswap/encoding.d.ts.map +1 -0
- package/dist/swap/providers/uniswap/encoding.js +233 -0
- package/dist/swap/providers/uniswap/encoding.js.map +1 -0
- package/dist/swap/providers/uniswap/types.d.ts +20 -0
- package/dist/swap/providers/uniswap/types.d.ts.map +1 -0
- package/dist/swap/providers/uniswap/types.js +2 -0
- package/dist/swap/providers/uniswap/types.js.map +1 -0
- package/dist/types/actions.d.ts +19 -5
- package/dist/types/actions.d.ts.map +1 -1
- package/dist/types/asset.d.ts +3 -3
- package/dist/types/asset.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/lend/base.d.ts +7 -22
- package/dist/types/lend/base.d.ts.map +1 -1
- package/dist/types/lend/base.js.map +1 -1
- package/dist/types/lend/contracts.d.ts +17 -0
- package/dist/types/lend/contracts.d.ts.map +1 -0
- package/dist/types/lend/contracts.js +2 -0
- package/dist/types/lend/contracts.js.map +1 -0
- package/dist/types/lend/index.d.ts +1 -0
- package/dist/types/lend/index.d.ts.map +1 -1
- package/dist/types/lend/index.js +1 -0
- package/dist/types/lend/index.js.map +1 -1
- package/dist/types/swap/base.d.ts +238 -0
- package/dist/types/swap/base.d.ts.map +1 -0
- package/dist/types/swap/base.js +4 -0
- package/dist/types/swap/base.js.map +1 -0
- package/dist/types/swap/index.d.ts +2 -0
- package/dist/types/swap/index.d.ts.map +1 -0
- package/dist/types/swap/index.js +2 -0
- package/dist/types/swap/index.js.map +1 -0
- package/dist/types/transaction.d.ts +14 -0
- package/dist/types/transaction.d.ts.map +1 -0
- package/dist/types/transaction.js +2 -0
- package/dist/types/transaction.js.map +1 -0
- package/dist/utils/assets.d.ts +11 -6
- package/dist/utils/assets.d.ts.map +1 -1
- package/dist/utils/assets.js +16 -12
- package/dist/utils/assets.js.map +1 -1
- package/dist/utils/assets.test.js +14 -2
- package/dist/utils/assets.test.js.map +1 -1
- package/dist/utils/constants.d.ts +5 -0
- package/dist/utils/constants.d.ts.map +1 -0
- package/dist/utils/constants.js +5 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/permit2.d.ts +46 -0
- package/dist/utils/permit2.d.ts.map +1 -0
- package/dist/utils/permit2.js +100 -0
- package/dist/utils/permit2.js.map +1 -0
- package/dist/utils/permit2.test.d.ts +2 -0
- package/dist/utils/permit2.test.d.ts.map +1 -0
- package/dist/utils/permit2.test.js +110 -0
- package/dist/utils/permit2.test.js.map +1 -0
- package/dist/utils/validation.d.ts +12 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +44 -0
- package/dist/utils/validation.js.map +1 -0
- package/dist/wallet/core/namespace/WalletNamespace.d.ts.map +1 -1
- package/dist/wallet/core/namespace/WalletNamespace.js.map +1 -1
- package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.js +4 -4
- package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.js.map +1 -1
- package/dist/wallet/core/providers/__tests__/WalletProvider.spec.js +4 -4
- package/dist/wallet/core/providers/__tests__/WalletProvider.spec.js.map +1 -1
- package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.d.ts +7 -1
- package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.d.ts.map +1 -1
- package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.js +2 -1
- package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.js.map +1 -1
- package/dist/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.js +2 -2
- package/dist/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.js.map +1 -1
- package/dist/wallet/core/providers/hosted/types/index.d.ts +5 -1
- package/dist/wallet/core/providers/hosted/types/index.d.ts.map +1 -1
- package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.d.ts +7 -1
- package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.d.ts.map +1 -1
- package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.js +5 -1
- package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.js.map +1 -1
- package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.js +5 -5
- package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.js.map +1 -1
- package/dist/wallet/core/wallets/abstract/Wallet.d.ts +13 -2
- package/dist/wallet/core/wallets/abstract/Wallet.d.ts.map +1 -1
- package/dist/wallet/core/wallets/abstract/Wallet.js +7 -1
- package/dist/wallet/core/wallets/abstract/Wallet.js.map +1 -1
- package/dist/wallet/core/wallets/abstract/__tests__/Wallet.spec.js +2 -2
- package/dist/wallet/core/wallets/abstract/__tests__/Wallet.spec.js.map +1 -1
- package/dist/wallet/core/wallets/eoa/__tests__/EOAWallet.spec.js +2 -2
- package/dist/wallet/core/wallets/eoa/__tests__/EOAWallet.spec.js.map +1 -1
- package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts +7 -2
- package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts.map +1 -1
- package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.js +6 -5
- package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.js.map +1 -1
- package/dist/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.js +3 -3
- package/dist/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.js.map +1 -1
- package/dist/wallet/core/wallets/smart/default/utils/__tests__/findSignerInArray.spec.js +1 -1
- package/dist/wallet/core/wallets/smart/default/utils/__tests__/findSignerInArray.spec.js.map +1 -1
- package/dist/wallet/core/wallets/smart/default/utils/__tests__/getSignerPublicKey.spec.js +1 -1
- package/dist/wallet/core/wallets/smart/default/utils/__tests__/getSignerPublicKey.spec.js.map +1 -1
- package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.d.ts +6 -1
- package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.d.ts.map +1 -1
- package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.js +3 -1
- package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.js.map +1 -1
- package/dist/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js +4 -4
- package/dist/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js.map +1 -1
- package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.d.ts.map +1 -1
- package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.js +4 -3
- package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.js.map +1 -1
- package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.js +2 -2
- package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.js.map +1 -1
- package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts +5 -1
- package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts.map +1 -1
- package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js +4 -2
- package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js.map +1 -1
- package/dist/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js +2 -2
- package/dist/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js.map +1 -1
- package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.d.ts +6 -1
- package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.d.ts.map +1 -1
- package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.js +4 -3
- package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.js.map +1 -1
- package/dist/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.js +3 -3
- package/dist/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.js.map +1 -1
- package/dist/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.js +2 -2
- package/dist/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.js.map +1 -1
- package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.d.ts +5 -1
- package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.d.ts.map +1 -1
- package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.js +2 -2
- package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.js.map +1 -1
- package/dist/wallet/node/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.js +2 -2
- package/dist/wallet/node/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.js.map +1 -1
- package/dist/wallet/node/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.js +1 -1
- package/dist/wallet/node/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.js.map +1 -1
- package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.d.ts +7 -1
- package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.d.ts.map +1 -1
- package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js +6 -2
- package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js.map +1 -1
- package/dist/wallet/react/providers/hosted/dynamic/__mocks__/DynamicHostedWalletProviderMock.d.ts.map +1 -1
- package/dist/wallet/react/providers/hosted/dynamic/__mocks__/DynamicHostedWalletProviderMock.js +1 -1
- package/dist/wallet/react/providers/hosted/dynamic/__mocks__/DynamicHostedWalletProviderMock.js.map +1 -1
- package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.js +6 -2
- package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.js.map +1 -1
- package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.d.ts +6 -1
- package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.d.ts.map +1 -1
- package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js +5 -2
- package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js.map +1 -1
- package/dist/wallet/react/providers/hosted/privy/__mocks__/PrivyHostedWalletProviderMock.d.ts.map +1 -1
- package/dist/wallet/react/providers/hosted/privy/__mocks__/PrivyHostedWalletProviderMock.js +1 -1
- package/dist/wallet/react/providers/hosted/privy/__mocks__/PrivyHostedWalletProviderMock.js.map +1 -1
- package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js +3 -2
- package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js.map +1 -1
- package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts +6 -3
- package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts.map +1 -1
- package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js +5 -4
- package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js.map +1 -1
- package/dist/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js +2 -2
- package/dist/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js.map +1 -1
- package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.d.ts.map +1 -1
- package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.js +6 -6
- package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.js.map +1 -1
- package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.js +1 -1
- package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.js.map +1 -1
- package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.d.ts +7 -1
- package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.d.ts.map +1 -1
- package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.js +5 -3
- package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.js.map +1 -1
- package/dist/wallet/react/wallets/hosted/dynamic/__tests__/DynamicWallet.spec.js +2 -2
- package/dist/wallet/react/wallets/hosted/dynamic/__tests__/DynamicWallet.spec.js.map +1 -1
- package/dist/wallet/react/wallets/hosted/dynamic/utils/__tests__/createSigner.spec.js +1 -1
- package/dist/wallet/react/wallets/hosted/dynamic/utils/__tests__/createSigner.spec.js.map +1 -1
- package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.d.ts +5 -1
- package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.d.ts.map +1 -1
- package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.js +3 -3
- package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.js.map +1 -1
- package/dist/wallet/react/wallets/hosted/privy/__tests__/PrivyWallet.spec.js +2 -2
- package/dist/wallet/react/wallets/hosted/privy/__tests__/PrivyWallet.spec.js.map +1 -1
- package/dist/wallet/react/wallets/hosted/privy/utils/__tests__/createSigner.spec.js +1 -1
- package/dist/wallet/react/wallets/hosted/privy/utils/__tests__/createSigner.spec.js.map +1 -1
- package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.d.ts +5 -1
- package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.d.ts.map +1 -1
- package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.js +2 -2
- package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.js.map +1 -1
- package/dist/wallet/react/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.js +2 -2
- package/dist/wallet/react/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.js.map +1 -1
- package/dist/wallet/react/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.js +1 -1
- package/dist/wallet/react/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.js.map +1 -1
- package/package.json +2 -2
- package/src/{test → __mocks__}/MockAssets.ts +2 -0
- package/src/{test → __mocks__}/MockPrivyClient.ts +1 -1
- package/src/{actions.test.ts → __tests__/actions.test.ts} +2 -6
- package/src/actions.ts +57 -19
- package/src/constants/assets.ts +108 -8
- package/src/constants/contracts.ts +5 -0
- package/src/constants/supportedChains.ts +10 -2
- package/src/core/asset/__mocks__/mockAsset.ts +1 -1
- package/src/index.ts +30 -2
- package/src/{test → lend/__mocks__}/MockLendProvider.ts +20 -23
- package/src/{test → lend/__mocks__}/MockMarkets.ts +1 -1
- package/src/lend/__mocks__/mockLendTransaction.ts +4 -26
- package/src/lend/core/LendProvider.ts +40 -20
- package/src/lend/core/__tests__/LendProvider.test.ts +4 -7
- package/src/lend/namespaces/ActionsLendNamespace.ts +2 -85
- package/src/lend/namespaces/BaseLendNamespace.ts +89 -0
- package/src/lend/namespaces/WalletLendNamespace.ts +25 -121
- package/src/lend/namespaces/__tests__/ActionsLendNamespace.spec.ts +10 -9
- package/src/lend/namespaces/__tests__/BaseLendNamespace.spec.ts +137 -0
- package/src/lend/namespaces/__tests__/WalletLendNamespace.spec.ts +19 -22
- package/src/lend/providers/aave/AaveLendProvider.ts +163 -231
- package/src/lend/providers/aave/__mocks__/mockReserve.ts +84 -0
- package/src/lend/providers/aave/__tests__/AaveLendProvider.test.ts +419 -0
- package/src/lend/providers/aave/abis/pool.ts +81 -0
- package/src/lend/providers/aave/sdk.ts +7 -69
- package/src/lend/providers/morpho/MorphoLendProvider.ts +20 -41
- package/src/lend/providers/morpho/__tests__/MorphoLendProvider.test.ts +8 -32
- package/src/lend/providers/morpho/__tests__/api.test.ts +277 -51
- package/src/lend/providers/morpho/__tests__/sdk.test.ts +3 -2
- package/src/lend/providers/morpho/api.ts +4 -0
- package/src/lend/providers/morpho/contracts.ts +37 -0
- package/src/lend/providers/morpho/sdk.ts +241 -84
- package/src/services/tokenBalance.spec.ts +2 -2
- package/src/services/tokenBalance.ts +6 -7
- package/src/supported/tokens.ts +18 -77
- package/src/swap/__mocks__/MockSwapProvider.ts +216 -0
- package/src/swap/core/SwapProvider.ts +319 -0
- package/src/swap/core/__tests__/SwapProvider.test.ts +478 -0
- package/src/swap/index.ts +14 -0
- package/src/swap/namespaces/ActionsSwapNamespace.ts +7 -0
- package/src/swap/namespaces/BaseSwapNamespace.ts +77 -0
- package/src/swap/namespaces/WalletSwapNamespace.ts +82 -0
- package/src/swap/namespaces/__tests__/BaseSwapNamespace.spec.ts +138 -0
- package/src/swap/namespaces/__tests__/WalletSwapNamespace.spec.ts +162 -0
- package/src/swap/providers/uniswap/UniswapSwapProvider.ts +304 -0
- package/src/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.ts +299 -0
- package/src/swap/providers/uniswap/__tests__/sdk.test.ts +370 -0
- package/src/swap/providers/uniswap/abis.ts +144 -0
- package/src/swap/providers/uniswap/addresses.ts +108 -0
- package/src/swap/providers/uniswap/encoding.ts +406 -0
- package/src/swap/providers/uniswap/types.ts +24 -0
- package/src/types/actions.ts +22 -6
- package/src/types/asset.ts +3 -3
- package/src/types/index.ts +2 -0
- package/src/types/lend/base.ts +12 -25
- package/src/types/lend/contracts.ts +18 -0
- package/src/types/lend/index.ts +1 -0
- package/src/types/swap/base.ts +259 -0
- package/src/types/swap/index.ts +1 -0
- package/src/types/transaction.ts +14 -0
- package/src/utils/assets.test.ts +17 -2
- package/src/utils/assets.ts +28 -11
- package/src/utils/constants.ts +4 -0
- package/src/utils/permit2.test.ts +142 -0
- package/src/utils/permit2.ts +144 -0
- package/src/utils/validation.ts +76 -0
- package/src/wallet/core/namespace/WalletNamespace.ts +2 -4
- package/src/wallet/core/namespace/__tests__/WalletNamespace.spec.ts +6 -6
- package/src/wallet/core/providers/__tests__/WalletProvider.spec.ts +6 -6
- package/src/wallet/core/providers/hosted/abstract/HostedWalletProvider.ts +9 -1
- package/src/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.ts +3 -3
- package/src/wallet/core/providers/hosted/types/index.ts +5 -1
- package/src/wallet/core/providers/smart/default/DefaultSmartWalletProvider.ts +13 -1
- package/src/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.ts +9 -9
- package/src/wallet/core/wallets/abstract/Wallet.ts +18 -2
- package/src/wallet/core/wallets/abstract/__tests__/Wallet.spec.ts +2 -2
- package/src/wallet/core/wallets/eoa/__tests__/EOAWallet.spec.ts +2 -2
- package/src/wallet/core/wallets/smart/default/DefaultSmartWallet.ts +14 -5
- package/src/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.ts +3 -3
- package/src/wallet/core/wallets/smart/default/utils/__tests__/findSignerInArray.spec.ts +1 -1
- package/src/wallet/core/wallets/smart/default/utils/__tests__/getSignerPublicKey.spec.ts +1 -1
- package/src/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.ts +13 -2
- package/src/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.ts +5 -5
- package/src/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.ts +10 -2
- package/src/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.ts +3 -3
- package/src/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.ts +8 -2
- package/src/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.ts +2 -2
- package/src/wallet/node/wallets/hosted/privy/PrivyWallet.ts +11 -2
- package/src/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.ts +4 -4
- package/src/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.ts +2 -2
- package/src/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.ts +10 -2
- package/src/wallet/node/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.ts +2 -2
- package/src/wallet/node/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.ts +1 -1
- package/src/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.ts +10 -2
- package/src/wallet/react/providers/hosted/dynamic/__mocks__/DynamicHostedWalletProviderMock.ts +1 -1
- package/src/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.ts +9 -5
- package/src/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.ts +9 -2
- package/src/wallet/react/providers/hosted/privy/__mocks__/PrivyHostedWalletProviderMock.ts +1 -1
- package/src/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.ts +5 -5
- package/src/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.ts +9 -4
- package/src/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.ts +2 -2
- package/src/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.ts +18 -6
- package/src/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.ts +5 -7
- package/src/wallet/react/wallets/hosted/dynamic/DynamicWallet.ts +12 -2
- package/src/wallet/react/wallets/hosted/dynamic/__tests__/DynamicWallet.spec.ts +2 -2
- package/src/wallet/react/wallets/hosted/dynamic/utils/__tests__/createSigner.spec.ts +1 -1
- package/src/wallet/react/wallets/hosted/privy/PrivyWallet.ts +10 -2
- package/src/wallet/react/wallets/hosted/privy/__tests__/PrivyWallet.spec.ts +2 -2
- package/src/wallet/react/wallets/hosted/privy/utils/__tests__/createSigner.spec.ts +1 -1
- package/src/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.ts +10 -2
- package/src/wallet/react/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.ts +2 -2
- package/src/wallet/react/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.ts +1 -1
- package/dist/actions.test.d.ts.map +0 -1
- package/dist/actions.test.js.map +0 -1
- package/dist/test/MockAssets.d.ts.map +0 -1
- package/dist/test/MockAssets.js.map +0 -1
- package/dist/test/MockChainManager.d.ts.map +0 -1
- package/dist/test/MockChainManager.js.map +0 -1
- package/dist/test/MockLendProvider.d.ts.map +0 -1
- package/dist/test/MockLendProvider.js.map +0 -1
- package/dist/test/MockMarkets.d.ts.map +0 -1
- package/dist/test/MockMarkets.js.map +0 -1
- package/dist/test/MockPrivyClient.d.ts.map +0 -1
- package/dist/test/MockPrivyClient.js.map +0 -1
- package/dist/test/utils.d.ts.map +0 -1
- package/dist/test/utils.js.map +0 -1
- /package/dist/{test → __mocks__}/MockAssets.d.ts +0 -0
- /package/dist/{test → __mocks__}/MockPrivyClient.d.ts +0 -0
- /package/dist/{test → __mocks__}/MockPrivyClient.js +0 -0
- /package/dist/{test → __mocks__}/utils.d.ts +0 -0
- /package/dist/{test → __mocks__}/utils.js +0 -0
- /package/dist/{actions.test.d.ts → __tests__/actions.test.d.ts} +0 -0
- /package/dist/{test → services/__mocks__}/MockChainManager.js +0 -0
- /package/src/{test → __mocks__}/utils.ts +0 -0
- /package/src/{test → services/__mocks__}/MockChainManager.ts +0 -0
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
import type { Address } from 'viem';
|
|
2
|
+
import type { SupportedChainId } from '../../constants/supportedChains.js';
|
|
3
|
+
import type { SwapProvider } from '../../swap/core/SwapProvider.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
|
+
/**
|
|
11
|
+
* Map of available swap providers keyed by provider name
|
|
12
|
+
*/
|
|
13
|
+
export type SwapProviders = {
|
|
14
|
+
uniswap?: SwapProvider<SwapProviderConfig>;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Swap provider configuration
|
|
18
|
+
* @description Configuration for a single swap provider (mirrors LendProviderConfig pattern)
|
|
19
|
+
*/
|
|
20
|
+
export interface SwapProviderConfig {
|
|
21
|
+
/** Default slippage tolerance (e.g., 0.005 for 0.5%) */
|
|
22
|
+
defaultSlippage?: number;
|
|
23
|
+
/** Maximum allowed slippage (e.g., 0.5 for 50%). Defaults to 0.5. */
|
|
24
|
+
maxSlippage?: number;
|
|
25
|
+
/** Allowlist of swap markets (optional - defaults to all supported assets) */
|
|
26
|
+
marketAllowlist?: SwapMarketConfig[];
|
|
27
|
+
/** Blocklist of swap markets to exclude */
|
|
28
|
+
marketBlocklist?: SwapMarketConfig[];
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Swap market filter
|
|
32
|
+
* @description Define allowed/blocked trading markets by assets.
|
|
33
|
+
* 2 assets = one explicit pair. 3+ = all pairs between them.
|
|
34
|
+
*/
|
|
35
|
+
export interface SwapMarketConfig {
|
|
36
|
+
/** 2 assets = one explicit pair. 3+ = all pairs between them. */
|
|
37
|
+
assets: [Asset, Asset, ...Asset[]];
|
|
38
|
+
/** Restrict to a specific chain. Omit = all configured chains. */
|
|
39
|
+
chainId?: SupportedChainId;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Swap market identifier
|
|
43
|
+
* @description Unique identifier for a swap market (mirrors LendMarketId pattern)
|
|
44
|
+
*/
|
|
45
|
+
export type SwapMarketId = {
|
|
46
|
+
/** Pool identifier (keccak256 hash of PoolKey) */
|
|
47
|
+
poolId: string;
|
|
48
|
+
/** Chain ID where this market exists */
|
|
49
|
+
chainId: SupportedChainId;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Parameters for getting a specific swap market
|
|
53
|
+
*/
|
|
54
|
+
export type GetSwapMarketParams = SwapMarketId;
|
|
55
|
+
/**
|
|
56
|
+
* Parameters for getting swap markets
|
|
57
|
+
*/
|
|
58
|
+
export interface GetSwapMarketsParams {
|
|
59
|
+
/** Filter by chain ID */
|
|
60
|
+
chainId?: SupportedChainId;
|
|
61
|
+
/** Filter by asset (returns markets containing this asset) */
|
|
62
|
+
asset?: Asset;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Parameters for a wallet swap — what the developer passes.
|
|
66
|
+
* Exactly one of amountIn or amountOut must be provided.
|
|
67
|
+
*/
|
|
68
|
+
export interface WalletSwapParams {
|
|
69
|
+
/** Amount of input token (human-readable). For exact-in swaps. Mutually exclusive with amountOut. */
|
|
70
|
+
amountIn?: number;
|
|
71
|
+
/** Amount of output token (human-readable). For exact-out swaps. Mutually exclusive with amountIn. */
|
|
72
|
+
amountOut?: number;
|
|
73
|
+
/** Token to sell */
|
|
74
|
+
assetIn: Asset;
|
|
75
|
+
/** Token to buy */
|
|
76
|
+
assetOut: Asset;
|
|
77
|
+
/** Chain to execute swap on */
|
|
78
|
+
chainId: SupportedChainId;
|
|
79
|
+
/** Slippage tolerance override (e.g., 0.01 for 1%). Overrides provider and config defaults. */
|
|
80
|
+
slippage?: number;
|
|
81
|
+
/** Transaction deadline as Unix timestamp. Defaults to now + 1 minute. */
|
|
82
|
+
deadline?: number;
|
|
83
|
+
/** Recipient address. Defaults to wallet address. */
|
|
84
|
+
recipient?: Address;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Full swap execute parameters including wallet address.
|
|
88
|
+
* walletAddress is auto-injected by the wallet namespace.
|
|
89
|
+
*/
|
|
90
|
+
export interface SwapExecuteParams extends WalletSwapParams {
|
|
91
|
+
walletAddress: Address;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Fully resolved swap parameters with defaults applied and amounts in wei.
|
|
95
|
+
* Passed to provider _execute() implementations.
|
|
96
|
+
*/
|
|
97
|
+
export interface ResolvedSwapParams {
|
|
98
|
+
amountInWei?: bigint;
|
|
99
|
+
amountOutWei?: bigint;
|
|
100
|
+
assetIn: Asset;
|
|
101
|
+
assetOut: Asset;
|
|
102
|
+
slippage: number;
|
|
103
|
+
deadline: number;
|
|
104
|
+
recipient: Address;
|
|
105
|
+
walletAddress: Address;
|
|
106
|
+
chainId: SupportedChainId;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Parameters for getting a swap price quote
|
|
110
|
+
* @description Specify either amountIn (for exact-in) or amountOut (for exact-out),
|
|
111
|
+
* not both. Amounts should be human-readable numbers (e.g., 100 for 100 USDC).
|
|
112
|
+
*/
|
|
113
|
+
export interface SwapPriceParams {
|
|
114
|
+
/** Token to get price for (required) */
|
|
115
|
+
assetIn: Asset;
|
|
116
|
+
/** Token to price against. Defaults to USDC if not provided. */
|
|
117
|
+
assetOut?: Asset;
|
|
118
|
+
/** Amount of input token (human-readable). Defaults to 1 unit. For exact-in quotes. */
|
|
119
|
+
amountIn?: number;
|
|
120
|
+
/** Amount of output token (human-readable). For exact-out quotes. */
|
|
121
|
+
amountOut?: number;
|
|
122
|
+
/** Chain to get price on */
|
|
123
|
+
chainId: SupportedChainId;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Market information for a swap hop
|
|
127
|
+
*/
|
|
128
|
+
export interface SwapMarketInfo {
|
|
129
|
+
/** Market address or identifier */
|
|
130
|
+
address: Address;
|
|
131
|
+
/** Fee tier in pips */
|
|
132
|
+
fee: number;
|
|
133
|
+
/** Protocol version used (v2, v3, v4) */
|
|
134
|
+
version: 'v2' | 'v3' | 'v4';
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Swap route information
|
|
138
|
+
*/
|
|
139
|
+
export interface SwapRoute {
|
|
140
|
+
/** Ordered list of assets in the route path */
|
|
141
|
+
path: Asset[];
|
|
142
|
+
/** Market information for each hop */
|
|
143
|
+
pools: SwapMarketInfo[];
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Swap price quote response
|
|
147
|
+
*/
|
|
148
|
+
export interface SwapPrice {
|
|
149
|
+
/** Exchange rate as human-readable string (e.g., "3245.50") */
|
|
150
|
+
price: string;
|
|
151
|
+
/** Inverse exchange rate */
|
|
152
|
+
priceInverse: string;
|
|
153
|
+
/** Human-readable input amount */
|
|
154
|
+
amountIn: number;
|
|
155
|
+
/** Human-readable output amount */
|
|
156
|
+
amountOut: number;
|
|
157
|
+
/** Input amount in wei */
|
|
158
|
+
amountInWei: bigint;
|
|
159
|
+
/** Expected output amount in wei */
|
|
160
|
+
amountOutWei: bigint;
|
|
161
|
+
/** Price impact as decimal (0.03 = 3%). Derived from pool mid-price vs execution price. */
|
|
162
|
+
priceImpact: number;
|
|
163
|
+
/** Route taken for the swap */
|
|
164
|
+
route: SwapRoute;
|
|
165
|
+
/** Estimated gas cost in wei */
|
|
166
|
+
gasEstimate?: bigint;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Transaction data for swap execution
|
|
170
|
+
*/
|
|
171
|
+
export interface SwapTransactionData {
|
|
172
|
+
/** Permit2 approval transaction (if needed) */
|
|
173
|
+
permit2Approval?: TransactionData;
|
|
174
|
+
/** Token approval to Permit2 (if needed) */
|
|
175
|
+
tokenApproval?: TransactionData;
|
|
176
|
+
/** Main swap transaction */
|
|
177
|
+
swap: TransactionData;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Swap transaction result
|
|
181
|
+
*/
|
|
182
|
+
export interface SwapTransaction {
|
|
183
|
+
/** Human-readable input amount */
|
|
184
|
+
amountIn: number;
|
|
185
|
+
/** Human-readable output amount */
|
|
186
|
+
amountOut: number;
|
|
187
|
+
/** Input amount in wei */
|
|
188
|
+
amountInWei: bigint;
|
|
189
|
+
/** Output amount in wei (expected) */
|
|
190
|
+
amountOutWei: bigint;
|
|
191
|
+
/** Input asset */
|
|
192
|
+
assetIn: Asset;
|
|
193
|
+
/** Output asset */
|
|
194
|
+
assetOut: Asset;
|
|
195
|
+
/** Execution price */
|
|
196
|
+
price: string;
|
|
197
|
+
/** Price impact as decimal (0.03 = 3%) */
|
|
198
|
+
priceImpact: number;
|
|
199
|
+
/** Transaction data for execution */
|
|
200
|
+
transactionData: SwapTransactionData;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Swap execution receipt
|
|
204
|
+
*/
|
|
205
|
+
export interface SwapReceipt {
|
|
206
|
+
/** Transaction receipt(s) */
|
|
207
|
+
receipt: TransactionReturnType | BatchTransactionReturnType;
|
|
208
|
+
/** Human-readable input amount */
|
|
209
|
+
amountIn: number;
|
|
210
|
+
/** Human-readable output amount */
|
|
211
|
+
amountOut: number;
|
|
212
|
+
/** Actual input amount in wei */
|
|
213
|
+
amountInWei: bigint;
|
|
214
|
+
/** Actual output amount in wei */
|
|
215
|
+
amountOutWei: bigint;
|
|
216
|
+
/** Input asset */
|
|
217
|
+
assetIn: Asset;
|
|
218
|
+
/** Output asset */
|
|
219
|
+
assetOut: Asset;
|
|
220
|
+
/** Execution price as human-readable string */
|
|
221
|
+
price: string;
|
|
222
|
+
/** Price impact as decimal (0.03 = 3%) */
|
|
223
|
+
priceImpact: number;
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Swap market information
|
|
227
|
+
*/
|
|
228
|
+
export interface SwapMarket {
|
|
229
|
+
/** Market identifier (contains poolId and chainId) */
|
|
230
|
+
marketId: SwapMarketId;
|
|
231
|
+
/** Token pair in the market */
|
|
232
|
+
assets: [Asset, Asset];
|
|
233
|
+
/** Fee tier in pips (500 = 0.05%) */
|
|
234
|
+
fee: number;
|
|
235
|
+
/** Provider name */
|
|
236
|
+
provider: 'uniswap';
|
|
237
|
+
}
|
|
238
|
+
//# 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":""}
|
package/dist/utils/assets.d.ts
CHANGED
|
@@ -2,12 +2,11 @@ import type { Address } from 'viem';
|
|
|
2
2
|
import type { SupportedChainId } from '../constants/supportedChains.js';
|
|
3
3
|
import type { Asset } from '../types/asset.js';
|
|
4
4
|
/**
|
|
5
|
-
* Parse human-readable amount to wei
|
|
6
|
-
*
|
|
7
|
-
* @param decimals - Token decimals
|
|
8
|
-
* @returns Amount in smallest unit (wei equivalent)
|
|
5
|
+
* Parse human-readable amount to wei using an asset's decimals.
|
|
6
|
+
* Returns undefined when amount is undefined.
|
|
9
7
|
*/
|
|
10
|
-
export declare function parseAssetAmount(
|
|
8
|
+
export declare function parseAssetAmount(asset: Asset, amount: number): bigint;
|
|
9
|
+
export declare function parseAssetAmount(asset: Asset, amount: number | undefined): bigint | undefined;
|
|
11
10
|
/**
|
|
12
11
|
* Convert wei/smallest unit back to human-readable amount
|
|
13
12
|
* @param amount - Amount in smallest unit
|
|
@@ -15,6 +14,12 @@ export declare function parseAssetAmount(amount: number, decimals: number): bigi
|
|
|
15
14
|
* @returns Human-readable amount as number
|
|
16
15
|
*/
|
|
17
16
|
export declare function formatAssetAmount(amount: bigint, decimals: number): number;
|
|
17
|
+
/**
|
|
18
|
+
* Check if asset is a native asset (e.g. ETH)
|
|
19
|
+
* @param asset - Asset definition
|
|
20
|
+
* @returns Whether the asset is native
|
|
21
|
+
*/
|
|
22
|
+
export declare function isNativeAsset(asset: Asset): boolean;
|
|
18
23
|
/**
|
|
19
24
|
* Check if asset is supported on a specific chain
|
|
20
25
|
* @param asset - Asset definition
|
|
@@ -27,7 +32,7 @@ export declare function isAssetSupportedOnChain(asset: Asset, chainId: Supported
|
|
|
27
32
|
* @param asset - Asset definition
|
|
28
33
|
* @param chainId - Chain ID
|
|
29
34
|
* @returns Asset address on the specified chain
|
|
30
|
-
* @throws Error if asset is not supported on the chain
|
|
35
|
+
* @throws Error if asset is not supported on the chain or is a native asset
|
|
31
36
|
*/
|
|
32
37
|
export declare function getAssetAddress(asset: Asset, chainId: SupportedChainId): Address;
|
|
33
38
|
//# sourceMappingURL=assets.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../src/utils/assets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAGnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAE7C
|
|
1
|
+
{"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../src/utils/assets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAGnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAE7C;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;AACtE,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,MAAM,GAAG,SAAS,CAAA;AASrB;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAW1E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAEnD;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAET;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAaT"}
|
package/dist/utils/assets.js
CHANGED
|
@@ -1,15 +1,8 @@
|
|
|
1
1
|
import { parseUnits } from 'viem';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* @returns Amount in smallest unit (wei equivalent)
|
|
7
|
-
*/
|
|
8
|
-
export function parseAssetAmount(amount, decimals) {
|
|
9
|
-
// Convert number to string with proper precision
|
|
10
|
-
const amountStr = amount.toString();
|
|
11
|
-
// Use viem's parseUnits for proper decimal handling
|
|
12
|
-
return parseUnits(amountStr, decimals);
|
|
2
|
+
export function parseAssetAmount(asset, amount) {
|
|
3
|
+
if (amount === undefined)
|
|
4
|
+
return undefined;
|
|
5
|
+
return parseUnits(amount.toString(), asset.metadata.decimals);
|
|
13
6
|
}
|
|
14
7
|
/**
|
|
15
8
|
* Convert wei/smallest unit back to human-readable amount
|
|
@@ -27,6 +20,14 @@ export function formatAssetAmount(amount, decimals) {
|
|
|
27
20
|
const result = `${wholePart}.${fractionalStr}`;
|
|
28
21
|
return parseFloat(result);
|
|
29
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Check if asset is a native asset (e.g. ETH)
|
|
25
|
+
* @param asset - Asset definition
|
|
26
|
+
* @returns Whether the asset is native
|
|
27
|
+
*/
|
|
28
|
+
export function isNativeAsset(asset) {
|
|
29
|
+
return asset.type === 'native';
|
|
30
|
+
}
|
|
30
31
|
/**
|
|
31
32
|
* Check if asset is supported on a specific chain
|
|
32
33
|
* @param asset - Asset definition
|
|
@@ -41,13 +42,16 @@ export function isAssetSupportedOnChain(asset, chainId) {
|
|
|
41
42
|
* @param asset - Asset definition
|
|
42
43
|
* @param chainId - Chain ID
|
|
43
44
|
* @returns Asset address on the specified chain
|
|
44
|
-
* @throws Error if asset is not supported on the chain
|
|
45
|
+
* @throws Error if asset is not supported on the chain or is a native asset
|
|
45
46
|
*/
|
|
46
47
|
export function getAssetAddress(asset, chainId) {
|
|
47
48
|
const address = asset.address[chainId];
|
|
48
49
|
if (!address) {
|
|
49
50
|
throw new Error(`Asset ${asset.metadata.symbol} is not supported on chain ${chainId}`);
|
|
50
51
|
}
|
|
52
|
+
if (address === 'native') {
|
|
53
|
+
throw new Error(`Asset ${asset.metadata.symbol} is a native asset and has no contract address.`);
|
|
54
|
+
}
|
|
51
55
|
return address;
|
|
52
56
|
}
|
|
53
57
|
//# sourceMappingURL=assets.js.map
|
package/dist/utils/assets.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/utils/assets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/utils/assets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAcjC,MAAM,UAAU,gBAAgB,CAC9B,KAAY,EACZ,MAA0B;IAE1B,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAC1C,OAAO,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;AAC/D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,QAAgB;IAChE,oCAAoC;IACpC,MAAM,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAA;IACvC,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,CAAA;IAClC,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,CAAA;IAEvC,+CAA+C;IAC/C,MAAM,aAAa,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IACvE,MAAM,MAAM,GAAG,GAAG,SAAS,IAAI,aAAa,EAAE,CAAA;IAE9C,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;AAC3B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,KAAY;IACxC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAA;AAChC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAY,EACZ,OAAyB;IAEzB,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;AACjC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAY,EACZ,OAAyB;IAEzB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACtC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,SAAS,KAAK,CAAC,QAAQ,CAAC,MAAM,8BAA8B,OAAO,EAAE,CACtE,CAAA;IACH,CAAC;IACD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,SAAS,KAAK,CAAC,QAAQ,CAAC,MAAM,iDAAiD,CAChF,CAAA;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { MockUSDCAsset, MockWETHAsset } from '../
|
|
3
|
-
import { isAssetSupportedOnChain } from './assets.js';
|
|
2
|
+
import { MockUSDCAsset, MockWETHAsset } from '../__mocks__/MockAssets.js';
|
|
3
|
+
import { isAssetSupportedOnChain, parseAssetAmount } from './assets.js';
|
|
4
4
|
describe('Asset Utilities', () => {
|
|
5
5
|
describe('isAssetSupportedOnChain', () => {
|
|
6
6
|
it('should return true for asset on supported chain', () => {
|
|
@@ -20,5 +20,17 @@ describe('Asset Utilities', () => {
|
|
|
20
20
|
expect(MockWETHAsset.type).toBe('erc20');
|
|
21
21
|
});
|
|
22
22
|
});
|
|
23
|
+
describe('parseAssetAmount', () => {
|
|
24
|
+
it('converts human-readable amount to wei using asset decimals', () => {
|
|
25
|
+
expect(parseAssetAmount(MockUSDCAsset, 100)).toBe(100000000n);
|
|
26
|
+
expect(parseAssetAmount(MockWETHAsset, 1)).toBe(1000000000000000000n);
|
|
27
|
+
});
|
|
28
|
+
it('returns undefined when amount is undefined', () => {
|
|
29
|
+
expect(parseAssetAmount(MockUSDCAsset, undefined)).toBeUndefined();
|
|
30
|
+
});
|
|
31
|
+
it('handles fractional amounts', () => {
|
|
32
|
+
expect(parseAssetAmount(MockUSDCAsset, 0.5)).toBe(500000n);
|
|
33
|
+
});
|
|
34
|
+
});
|
|
23
35
|
});
|
|
24
36
|
//# sourceMappingURL=assets.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assets.test.js","sourceRoot":"","sources":["../../src/utils/assets.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE7C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"assets.test.js","sourceRoot":"","sources":["../../src/utils/assets.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE7C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACxE,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAE7E,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,MAAM,CAAC,uBAAuB,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChE,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,CAAC,uBAAuB,CAAC,aAAa,EAAE,GAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACxE,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAC1D,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAClD,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC/C,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAC1D,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAClD,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAChD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;YACpE,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAC7D,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;QACvE,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;QACpE,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC5D,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,gBAAgB,YAAY,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,SAAS,CAAA"}
|
|
@@ -0,0 +1,46 @@
|
|
|
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
|
+
*/
|
|
26
|
+
export declare function buildTokenApprovalTx(token: Address, permit2Address: Address): TransactionData;
|
|
27
|
+
/**
|
|
28
|
+
* Build Permit2 approval transaction for a spender
|
|
29
|
+
*/
|
|
30
|
+
export declare function buildPermit2ApprovalTx(params: {
|
|
31
|
+
permit2Address: Address;
|
|
32
|
+
token: Address;
|
|
33
|
+
spender: Address;
|
|
34
|
+
amount: bigint;
|
|
35
|
+
expirySeconds?: number;
|
|
36
|
+
}): TransactionData;
|
|
37
|
+
/**
|
|
38
|
+
* Check ERC20 token allowance
|
|
39
|
+
*/
|
|
40
|
+
export declare function checkTokenAllowance(params: {
|
|
41
|
+
publicClient: PublicClient;
|
|
42
|
+
token: Address;
|
|
43
|
+
owner: Address;
|
|
44
|
+
spender: Address;
|
|
45
|
+
}): Promise<bigint>;
|
|
46
|
+
//# sourceMappingURL=permit2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permit2.d.ts","sourceRoot":"","sources":["../../src/utils/permit2.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;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,cAAc,EAAE,OAAO,GACtB,eAAe,CAcjB;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"}
|
|
@@ -0,0 +1,100 @@
|
|
|
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
|
+
*/
|
|
56
|
+
export function buildTokenApprovalTx(token, permit2Address) {
|
|
57
|
+
const data = encodeFunctionData({
|
|
58
|
+
abi: erc20Abi,
|
|
59
|
+
functionName: 'approve',
|
|
60
|
+
// ERC20 -> Permit2: maxUint256 is the Uniswap-canonical pattern.
|
|
61
|
+
// Permit2 is immutable with no owner — spending is scoped by its own allowance system.
|
|
62
|
+
args: [permit2Address, maxUint256],
|
|
63
|
+
});
|
|
64
|
+
return {
|
|
65
|
+
to: token,
|
|
66
|
+
data,
|
|
67
|
+
value: 0n,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Build Permit2 approval transaction for a spender
|
|
72
|
+
*/
|
|
73
|
+
export function buildPermit2ApprovalTx(params) {
|
|
74
|
+
const { permit2Address, token, spender, amount } = params;
|
|
75
|
+
const expiration = Math.floor(Date.now() / 1000) +
|
|
76
|
+
(params.expirySeconds ?? DEFAULT_PERMIT2_EXPIRY_SECONDS);
|
|
77
|
+
const data = encodeFunctionData({
|
|
78
|
+
abi: PERMIT2_ABI,
|
|
79
|
+
functionName: 'approve',
|
|
80
|
+
args: [token, spender, amount, expiration],
|
|
81
|
+
});
|
|
82
|
+
return {
|
|
83
|
+
to: permit2Address,
|
|
84
|
+
data,
|
|
85
|
+
value: 0n,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Check ERC20 token allowance
|
|
90
|
+
*/
|
|
91
|
+
export async function checkTokenAllowance(params) {
|
|
92
|
+
const { publicClient, token, owner, spender } = params;
|
|
93
|
+
return publicClient.readContract({
|
|
94
|
+
address: token,
|
|
95
|
+
abi: erc20Abi,
|
|
96
|
+
functionName: 'allowance',
|
|
97
|
+
args: [owner, spender],
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=permit2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permit2.js","sourceRoot":"","sources":["../../src/utils/permit2.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permit2.test.d.ts","sourceRoot":"","sources":["../../src/utils/permit2.test.ts"],"names":[],"mappings":""}
|