UNPKG

@leapwallet/embedded-wallet-sdk-react

Version:

A react library for integrating metamask snaps on a cosmos dApp

87 lines (86 loc) 2.47 kB
import BigNumber from "bignumber.js"; export type cachedRemoteDataArgs = { remoteUrl: string; storageKey: string; expiration?: number; }; export interface WithLastModified<T> { data: T; lastModified: number; } export type Amount = { denom: string; amount: string; }; export type DenomData = { coinDenom: string; coinMinimalDenom: string; coinDecimals: number; icon: string; chain: string; coinGeckoId: string; description?: string; }; export type DenomTraceData = { path: string; baseDenom: string; originChainId: string; channelId: string; sourceChainId: string; }; type ChainBaseData<T> = { chainName: string; icon: string; rpcUrl: string; } & T; export declare enum PROVIDER { NUMIA = "numia" } type NetworkUrl = { rpcUrl: string; restUrl: string; }; export type CosmosChainData = ChainBaseData<{ chainId: string; restUrl: string; addressPrefix: string; baseDenom: string; chainType: "cosmos"; coinType: string; privateInfra?: Record<PROVIDER, NetworkUrl>; associatedAssets?: unknown; }>; export declare const withLastModified: <T>(data: T, lastModified: number) => WithLastModified<T>; export declare const cachedRemoteDataWithLastModified: <T>({ remoteUrl, storageKey, }: cachedRemoteDataArgs) => Promise<T>; export type DenomDataRecord = Record<string, DenomData>; export type DenomTraceDataRecord = Record<string, DenomTraceData>; export declare const getDenoms: () => Promise<DenomDataRecord>; export declare const getDenomTrace: () => Promise<DenomTraceDataRecord>; export declare const getChains: () => Promise<Array<Omit<CosmosChainData, "chainType">>>; export type NMSUrls = { [key: string]: { nodeUrl: string; nodeProvider: null; }[]; }; export type NodeUrls = { rest: NMSUrls | null; rpc: NMSUrls | null; }; export declare const getNMSRestURLs: () => Promise<NMSUrls>; export declare const getNMSRpcURLs: () => Promise<NMSUrls>; export type TokenBalanceData = { coin: Amount; denomData: DenomData; denomTrace?: { path: string; baseDenom: string; }; amount: BigNumber; chainName: string; chainId?: string; usdPrice?: BigNumber; usdValue?: BigNumber; }; export declare const getTokenData: (token: Amount, chain: CosmosChainData, denoms: Record<string, DenomData>, originChainId?: string) => Promise<TokenBalanceData | undefined>; export {};