UNPKG

python-proxy-scraper-client

Version:

A TypeScript client for interacting with a Python proxy scraper service

98 lines (97 loc) 3.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PumpFunClient = void 0; const base_client_1 = require("../../shared/base-client"); const types_1 = require("./types"); class PumpFunClient extends base_client_1.BaseClient { constructor(config = { baseUrl: 'http://localhost:8000' }) { super(config); } /** * Get the current king of the hill token data * @returns Token data for the current king of the hill */ async getKingOfTheHill() { return this.get('/pump-fun/king-of-the-hill'); } /** * Get token data by mint address * @param mintAddress The token's mint address * @returns Token data */ async getTokenByMintAddress(mintAddress) { return this.get(`/pump-fun/token/${mintAddress}`); } /** * Get user data * @param userAddress The user's wallet address * @returns User data */ async getUserData(userAddress) { return this.get(`/pump-fun/user/${userAddress}`); } /** * Get user token balances * @param userAddress The user's wallet address * @param limit Number of results to return * @param offset Number of results to skip * @returns User token balances */ async getUserBalances(userAddress, limit = 50, offset = 0) { const params = new URLSearchParams({ limit: limit.toString(), offset: offset.toString() }); return this.get(`/pump-fun/user/${userAddress}/balances?${params.toString()}`); } /** * Get coins created by a user * @param userAddress The user's wallet address * @param limit Number of results to return * @param offset Number of results to skip * @returns Coins created by the user */ async getUserCreatedCoins(userAddress, limit = 100, offset = 0) { const params = new URLSearchParams({ limit: limit.toString(), offset: offset.toString(), includeNsfw: 'true' }); return this.get(`/pump-fun/user/${userAddress}/created-coins?${params.toString()}`); } /** * Get coins * @param offset Number of results to skip * @param limit Number of results to return * @param sort Field to sort by * @param order Sort order (ASC or DESC) * @returns Coin data */ async getCoins(offset = 0, limit = 50, sort = types_1.PumpFunSort.MARKET_CAP, order = 'DESC') { const params = new URLSearchParams({ offset: offset.toString(), limit: limit.toString(), sort, order, includeNsfw: 'false' }); return this.get(`/pump-fun/coins?${params.toString()}`); } /** * Get candlestick data for a token * @param mintAddress The token's mint address * @param offset Number of results to skip * @param limit Number of results to return * @param timeframe Timeframe in minutes * @returns Candlestick data */ async getCandlesticks(mintAddress, offset = 0, limit = 1000, timeframe = 5) { const params = new URLSearchParams({ offset: offset.toString(), limit: limit.toString(), timeframe: timeframe.toString() }); return this.get(`/pump-fun/token/${mintAddress}/candlesticks?${params.toString()}`); } } exports.PumpFunClient = PumpFunClient;