@scottlexium/finpro
Version:
🚀 FinPro.js by Scott Lexium - The most comprehensive TypeScript library for financial data operations. Features 154+ currencies, 250+ countries, MongoDB-style queries, dual ESM/CommonJS support, and flag integration. Created by Scott Lexium for modern Ja
55 lines • 1.93 kB
TypeScript
import type { QueryBuilder } from '../../types';
export interface CryptoCurrency {
readonly id: string;
readonly symbol: string;
readonly name: string;
readonly type: 'crypto';
readonly blockchain: string;
readonly decimals: number;
readonly isActive: boolean;
readonly marketCap?: number;
readonly totalSupply?: number;
readonly circulatingSupply?: number;
readonly contractAddress?: string;
readonly website?: string;
readonly whitepaper?: string;
}
export interface DeFiToken extends CryptoCurrency {
readonly protocol: string;
readonly category: 'defi' | 'lending' | 'dex' | 'yield-farming' | 'stablecoin';
readonly apr?: number;
readonly tvl?: number;
}
export interface NFT {
readonly id: string;
readonly tokenId: string;
readonly contractAddress: string;
readonly name: string;
readonly description?: string;
readonly image: string;
readonly blockchain: string;
readonly collection: string;
readonly owner: string;
readonly attributes: Array<{
trait_type: string;
value: string | number;
}>;
}
export declare class CryptoModule {
private cryptoData;
private defiData;
private nftData;
constructor();
crypto(): QueryBuilder<CryptoCurrency>;
cryptos(): QueryBuilder<CryptoCurrency>;
defi(): QueryBuilder<DeFiToken>;
defis(): QueryBuilder<DeFiToken>;
nft(): QueryBuilder<NFT>;
nfts(): QueryBuilder<NFT>;
getPrice(symbol: string): Promise<number | null>;
getMarketData(symbol: string): Promise<any>;
}
export declare const getCrypto: (cryptoModule: CryptoModule) => (symbol: string) => CryptoCurrency | null;
export declare const getAllCryptos: (cryptoModule: CryptoModule) => () => CryptoCurrency[];
export declare const findCryptos: (cryptoModule: CryptoModule) => (filter: Record<string, any>) => CryptoCurrency[];
//# sourceMappingURL=index.d.ts.map