UNPKG

@xlink-network/xlink-sdk

Version:
116 lines (113 loc) 5.06 kB
import { ChainId, TokenId } from '../xlinkSdkUtils/types.js'; import { S as SDKGlobalContext } from '../types.internal-BwEnb5-y.js'; import { KnownChainId, KnownTokenId } from './types/knownIds.js'; import './BigNumber.js'; import 'big.js'; import './typeHelpers.js'; import 'viem'; import '../evmUtils/evmContractAddresses.js'; interface DefinedRoute { fromChain: ChainId; toChain: ChainId; fromToken: TokenId; toToken: TokenId; } type KnownRoute_FromStacks_ToBitcoin = { fromChain: KnownChainId.StacksChain; fromToken: KnownTokenId.StacksToken; toChain: KnownChainId.BitcoinChain; toToken: KnownTokenId.BitcoinToken; }; type KnownRoute_FromStacks_ToEVM = { fromChain: KnownChainId.StacksChain; fromToken: KnownTokenId.StacksToken; toChain: KnownChainId.EVMChain; toToken: KnownTokenId.EVMToken; }; type KnownRoute_FromStacks_ToBRC20 = { fromChain: KnownChainId.StacksChain; fromToken: KnownTokenId.StacksToken; toChain: KnownChainId.BRC20Chain; toToken: KnownTokenId.BRC20Token; }; type KnownRoute_FromStacks_ToRunes = { fromChain: KnownChainId.StacksChain; fromToken: KnownTokenId.StacksToken; toChain: KnownChainId.RunesChain; toToken: KnownTokenId.RunesToken; }; type KnownRoute_FromStacks = KnownRoute_FromStacks_ToBitcoin | KnownRoute_FromStacks_ToEVM | KnownRoute_FromStacks_ToBRC20 | KnownRoute_FromStacks_ToRunes; type KnownRoute_FromBitcoin_ToStacks = { fromChain: KnownChainId.BitcoinChain; fromToken: KnownTokenId.BitcoinToken; toChain: KnownChainId.StacksChain; toToken: KnownTokenId.StacksToken; }; type KnownRoute_FromBitcoin_ToEVM = { fromChain: KnownChainId.BitcoinChain; fromToken: KnownTokenId.BitcoinToken; toChain: KnownChainId.EVMChain; toToken: KnownTokenId.EVMToken; }; type KnownRoute_FromBitcoin = KnownRoute_FromBitcoin_ToStacks | KnownRoute_FromBitcoin_ToEVM; type KnownRoute_FromEVM_ToStacks = { fromChain: KnownChainId.EVMChain; fromToken: KnownTokenId.EVMToken; toChain: KnownChainId.StacksChain; toToken: KnownTokenId.StacksToken; }; type KnownRoute_FromEVM_ToBitcoin = { fromChain: KnownChainId.EVMChain; fromToken: KnownTokenId.EVMToken; toChain: KnownChainId.BitcoinChain; toToken: KnownTokenId.BitcoinToken; }; type KnownRoute_FromEVM_ToBRC20 = { fromChain: KnownChainId.EVMChain; fromToken: KnownTokenId.EVMToken; toChain: KnownChainId.BRC20Chain; toToken: KnownTokenId.BRC20Token; }; type KnownRoute_FromEVM_ToRunes = { fromChain: KnownChainId.EVMChain; fromToken: KnownTokenId.EVMToken; toChain: KnownChainId.RunesChain; toToken: KnownTokenId.RunesToken; }; type KnownRoute_FromEVM_ToEVM = { fromChain: KnownChainId.EVMChain; fromToken: KnownTokenId.EVMToken; toChain: KnownChainId.EVMChain; toToken: KnownTokenId.EVMToken; }; type KnownRoute_FromEVM = KnownRoute_FromEVM_ToStacks | KnownRoute_FromEVM_ToBitcoin | KnownRoute_FromEVM_ToBRC20 | KnownRoute_FromEVM_ToRunes | KnownRoute_FromEVM_ToEVM; type _KnownRoute_FromBRC20_ToStacks = { fromChain: KnownChainId.BRC20Chain; fromToken: KnownTokenId.BRC20Token; toChain: KnownChainId.StacksChain; toToken: KnownTokenId.StacksToken; }; type _KnownRoute_FromRunes_ToStacks = { fromChain: KnownChainId.RunesChain; fromToken: KnownTokenId.RunesToken; toChain: KnownChainId.StacksChain; toToken: KnownTokenId.StacksToken; }; type KnownRoute = KnownRoute_FromStacks | KnownRoute_FromBitcoin | KnownRoute_FromEVM; declare function defineRoute(chainPairs: [fromChains: ChainId[], toChains: ChainId[]], tokenPairs: [fromToken: TokenId, toToken: TokenId][]): DefinedRoute[]; type IsSupportedFn = (ctx: SDKGlobalContext, route: DefinedRoute) => Promise<boolean>; interface GetSupportedRoutesFn_Conditions { fromChain?: ChainId; toChain?: ChainId; fromToken?: TokenId; toToken?: TokenId; } type GetSupportedRoutesFn = (ctx: SDKGlobalContext, conditions?: GetSupportedRoutesFn_Conditions) => Promise<KnownRoute[]>; type CheckRouteValidFn = (ctx: SDKGlobalContext, route: DefinedRoute) => Promise<KnownRoute>; declare function buildSupportedRoutes(routes: DefinedRoute[], options?: { isSupported?: IsSupportedFn; }): { getSupportedRoutes: GetSupportedRoutesFn; checkRouteValid: CheckRouteValidFn; }; export { type CheckRouteValidFn, type DefinedRoute, type GetSupportedRoutesFn, type GetSupportedRoutesFn_Conditions, type IsSupportedFn, type KnownRoute, type KnownRoute_FromBitcoin, type KnownRoute_FromBitcoin_ToEVM, type KnownRoute_FromBitcoin_ToStacks, type KnownRoute_FromEVM, type KnownRoute_FromEVM_ToBRC20, type KnownRoute_FromEVM_ToBitcoin, type KnownRoute_FromEVM_ToEVM, type KnownRoute_FromEVM_ToRunes, type KnownRoute_FromEVM_ToStacks, type KnownRoute_FromStacks, type KnownRoute_FromStacks_ToBRC20, type KnownRoute_FromStacks_ToBitcoin, type KnownRoute_FromStacks_ToEVM, type KnownRoute_FromStacks_ToRunes, type _KnownRoute_FromBRC20_ToStacks, type _KnownRoute_FromRunes_ToStacks, buildSupportedRoutes, defineRoute };