UNPKG

python-proxy-scraper-client

Version:

A TypeScript client for interacting with a Python proxy scraper service

374 lines (373 loc) 9.87 kB
export interface AxiomProtocolDetails { isTokenSideX: boolean; tokenProgram: string; pairSolAccount: string; pairTokenAccount: string; } export interface AxiomPairInfoResponse { pairAddress: string; signature: string; tokenAddress: string; tokenTicker: string; pairTokenAccount: string; pairSolAccount: string; tokenName: string; tokenImage: string; tokenUri: string; tokenDecimals: number; protocol: string; protocolDetails: PumpAmmDetails | RaydiumV4Details | RaydiumCpmDetails; website: string | null; twitter: string | null; telegram: string | null; discord: string | null; mintAuthority: string | null; openTrading: string; initialLiquiditySol: number; initialLiquidityToken: number; supply: number; deployerAddress: string; top10Holders: number; lpBurned: number; freezeAuthority: string | null; extra: AxiomExtra; slot: number; createdAt: string; updatedAt: string; dexPaid: boolean; isWatchlisted: boolean; twitterHandleHistory: TwitterHandle[]; } export interface AxiomTopTradersItem { makerAddress: string; buyTransactions: number; sellTransactions: number; tokensBought: number; tokensSold: number; solInvested: number; solSold: number; usdInvested: number; usdSold: number; tokenBalance: number; walletAddress?: string; isInsider: boolean; isBundler: boolean; isSniper: boolean; isProUser: boolean; } export type AxiomTopTradersResponse = AxiomTopTradersItem[]; export interface AxiomTransactionItem { created_at: string; liquidity_sol: number; liquidity_token: number; maker_address: string; pair_address: string; price_sol: number; price_usd: number; token_amount: number; signature: string; total_sol: number; total_usd: number; type: 'buy' | 'sell'; } export type AxiomTransactionsResponse = AxiomTransactionItem[]; export interface AxiomTokenInfoResponse { top10HoldersPercent: number; devHoldsPercent: number; snipersHoldPercent: number; insidersHoldPercent: number; bundlersHoldPercent: number; dexPaid: boolean; numHolders: number; numBotUsers: number; numBluechipHolders: number; } export interface AxiomDevTokensResponse { tokens: AxiomToken[]; counts: Counts; } export interface Counts { totalCount: number; migratedCount: number; } export interface AxiomToken { pairAddress: string; tokenAddress: string; tokenTicker: string; tokenName: string; tokenImage: string; protocol: string; supply: number; extra: AxiomExtra; createdAt: string; migrated: boolean; liquiditySol: number; liquidityToken: number; hourlyVolumeSol: number; } export interface AxiomTokenAnalysisResponse { creatorRiskLevel: 'Low' | 'Medium' | 'High'; creatorRugCount: number; creatorTokenCount: number; topMarketCapCoins: AxiomTokenAnalysisItem[]; topOgCoins: AxiomTokenAnalysisItem[]; } export interface AxiomTokenAnalysisItem { tokenTicker: string; tokenName: string; pairAddress: string; tokenAddress: string; image: string; marketCap: number; createdAt: string; lastTradeTime: string; migrated: boolean; bondingCurvePercent: number; } export interface AxiomPairStatsItem { buyCount: number; sellCount: number; buyVolumeSol: number; sellVolumeSol: number; priceSol: number; createdAt: string; } export type AxiomPairStatsResponse = AxiomPairStatsItem[]; export interface AxiomHolderDataItem { walletAddress: string; tokenBalance: number; isInsider: boolean; isBundler: boolean; createdAt: number; solBalance: number; buyTransactions: number | null; sellTransactions: number | null; tokensBought: number | null; tokensSold: number | null; solInvested: number | null; solSold: number | null; usdInvested: number | null; usdSold: number | null; traderTokenBalance: number | null; isProUser: boolean; isSniper: boolean; } export type PairChartInterval = '1s' | '5s' | '15s' | '30s' | '1m' | '3m' | '5m' | '15m' | '30m' | '1h' | '4h' | '6h' | '12h' | '24h'; export type AxiomHolderDataResponse = AxiomHolderDataItem[]; export type AxiomMemeTrendingResponse = AxiomMemeTrendingItem[]; export interface AxiomMemeTrendingItem { pairAddress: string; tokenAddress: string; tokenName: string | null; tokenTicker: string | null; tokenImage: string | null; tokenDecimals: number; protocol: string; protocolDetails: PumpAmmDetails | RaydiumV4Details | RaydiumCpmDetails; prevMarketCapSol: number; marketCapSol: number; marketCapPercentChange: number; liquiditySol: number; liquidityToken: number; volumeSol: number; buyCount: number; sellCount: number; top10Holders: number; lpBurned: number; mintAuthority: string | null; freezeAuthority: string | null; dexPaid: boolean; website: string | null; twitter: string | null; telegram: string | null; discord: string | null; createdAt: string; extra: AxiomExtra | null; supply: number; twitterHandleHistory: TwitterHandle[]; } export type PumpAmmDetails = AxiomProtocolDetails; export interface RaydiumV4Details { id: string; lpMint: string; lpVault: string; version: number; baseMint: string; marketId: string; authority: string; baseVault: string; programId: string; quoteMint: string; lpDecimals: number; marketAsks: string; marketBids: string; openOrders: string; quoteVault: string; baseDecimals: number; targetOrders: string; marketVersion: number; quoteDecimals: number; withdrawQueue: string; marketAuthority: string; marketBaseVault: string; marketProgramId: string; marketEventQueue: string; marketQuoteVault: string; lookupTableAccount: string; } export interface RaydiumCpmDetails { lpMint: string; solVault: string; ammConfig: string; authority: string; tokenVault: string; tokenProgram: string; tradeFeeRate: number; observationState: string; transferFeeConfig: TransferFeeConfig; } export interface TransferFeeConfig { withheld_amount: number; newer_transfer_fee: TransferFee; older_transfer_fee: TransferFee; withdraw_withheld_authority: string; transfer_fee_config_authority: string; } export interface TransferFee { epoch: number; maximum_fee: number; transfer_fee_basis_points: number; } export interface AxiomExtra { migratedFrom: string; pumpDeployerAddress: string; } export interface TwitterHandle { handle: string; createdAt: string; } export interface AxiomBar { time: number; open: number; high: number; low: number; close: number; volume: number; } export interface AxiomPairChartResponse { bars: AxiomBar[]; noData: boolean; } export interface AxiomPortfolioResponse { activePositions: AxiomPosition[]; historyPositions: AxiomPosition[]; topPositions: AxiomPosition[]; transactions: AxiomTransaction[]; balanceStats: AxiomBalanceStats; performanceMetrics: PerformanceMetrics; chartData: AxiomChartDatum[]; } export interface AxiomPosition { tokenAddress: string; tokensBought: number; tokensSold: number; solReceived: number; solSpent: number; usdSpent: number; usdReceived: number; buyCount: number; sellCount: number; createdAt: Date; updatedAt: Date; remainingTokens: number; pairAddress: string; tokenTicker: string; tokenImage: string; tokenName: string; protocol: AxiomProtocol; priceSol: number; extra: Extra | null; tokenDecimals: number; liquiditySol: number; liquidityToken: number; } export interface Extra { migratedFrom: AxiomProtocol; pumpDeployerAddress: string; } export declare enum AxiomProtocol { MeteoraDLMM = "Meteora DLMM", PumpAMM = "Pump AMM", PumpV1 = "Pump V1", RaydiumV4 = "Raydium V4" } export interface AxiomBalanceStats { totalValueSol: number; availableBalanceSol: number; unrealizedPnlSol: number; } export interface AxiomChartDatum { value: number; time: number; } export interface PerformanceMetrics { sevenDay: AllTime; thirtyDay: AllTime; allTime: AllTime; } export interface AllTime { totalPnl: number; buyCount: number; sellCount: number; pnlBreakdown: PnlBreakdown; } export interface PnlBreakdown { over500Percent: number; between200And500Percent: number; between0And200Percent: number; between0AndNeg50Percent: number; underNeg50Percent: number; } export interface AxiomTransaction { makerAddress: string; pairAddress: string; signature: string; totalSol: number; totalUsd: number; liquiditySol: number; liquidityToken: number; type: 'buy' | 'sell'; priceSol: number; priceUsd: number; createdAt: Date; tokenTicker: string; tokenDecimals: number; tokenName: string; tokenImage: string; protocol: AxiomProtocol; supply: number; marketCapSol: number; marketCapUsd: number; extra: Extra; } export type AxiomSearchResponse = AxiomSearchResponseItem[]; export interface AxiomSearchResponseItem { tokenName: string; tokenImage: string; tokenTicker: string; createdAt: Date; pairAddress: string; tokenAddress: string; protocol: string; supply: number; liquiditySol: number; liquidityToken: number; marketCapSol: number; bondingCurvePercent: number; volumeSol: number; extra: Extra; website: string | null; twitter: string | null; telegram: string | null; discord: string | null; }