UNPKG

@xlink-network/xlink-sdk

Version:
54 lines (50 loc) 2.07 kB
import { Client } from 'viem'; import { EVMOnChainAddresses } from './evmUtils/evmContractAddresses.mjs'; import { KnownTokenId, KnownChainId } from './utils/types/knownIds.mjs'; import { BigNumber } from './utils/BigNumber.mjs'; interface BRC20SupportedRoute { brc20Tick: string; brc20Token: KnownTokenId.BRC20Token; stacksToken: KnownTokenId.StacksToken; pegInPaused: boolean; pegInFeeRate: BigNumber; pegInFeeBitcoinAmount: null | BigNumber; pegOutPaused: boolean; pegOutFeeRate: BigNumber; pegOutFeeBitcoinAmount: null | BigNumber; } declare function getBRC20SupportedRoutes(sdkContext: SDKGlobalContext, chainId: KnownChainId.BRC20Chain): Promise<BRC20SupportedRoute[]>; interface RunesSupportedRoute { runesId: `${number}:${number}`; runesToken: KnownTokenId.RunesToken; stacksToken: KnownTokenId.StacksToken; pegInPaused: boolean; pegInFeeRate: BigNumber; pegInFeeBitcoinAmount: null | BigNumber; pegOutPaused: boolean; pegOutFeeRate: BigNumber; pegOutFeeBitcoinAmount: null | BigNumber; } declare function getRunesSupportedRoutes(sdkContext: SDKGlobalContext, chainId: KnownChainId.RunesChain): Promise<RunesSupportedRoute[]>; interface SDKGlobalContextCache<K, T> { get: (key: K) => T | null; set: (key: K, value: T) => void; delete: (key: K) => void; } interface SDKGlobalContext { backendAPI: { runtimeEnv: "prod" | "dev"; }; brc20: { routesConfigCache?: SDKGlobalContextCache<string, Promise<BRC20SupportedRoute[]>>; }; runes: { routesConfigCache?: SDKGlobalContextCache<string, Promise<RunesSupportedRoute[]>>; }; evm: { enableMulticall?: boolean; onChainConfigCache?: SDKGlobalContextCache<string, Promise<EVMOnChainAddresses>>; viemClients: Partial<Record<KnownChainId.EVMChain, Client>>; }; } export { type BRC20SupportedRoute as B, type RunesSupportedRoute as R, type SDKGlobalContext as S, getRunesSupportedRoutes as a, type SDKGlobalContextCache as b, getBRC20SupportedRoutes as g };