UNPKG

pmarket-cli

Version:
73 lines (72 loc) 1.98 kB
import { ClobClient, ApiKeyCreds, Side } from "@polymarket/clob-client"; import { ethers } from "ethers"; import { ConfigService } from "./config.service.js"; interface Token { token_id: string; outcome: string; price: number; winner: boolean; } interface Rewards { incentiveProgram: string; totalRewardPool: string; } export interface Market { condition_id: string; question_id: string; tokens: [Token, Token]; rewards: Rewards; minimum_order_size: string; minimum_tick_size: string; description: string; category: string; end_date_iso: string; game_start_time: string | null; question: string; market_slug: string; min_incentive_size: string; max_incentive_spread: string; active: boolean; closed: boolean; seconds_delay: number; icon: string; fpmm: string; } export declare class PolymarketService { clobClient: ClobClient | undefined; signer: ethers.Wallet | undefined; private configService; private initialized; constructor(configService: ConfigService); private initializeWallet; private ensureInitialized; fetchAllMarkets(): Promise<Market[]>; getMarketsAcceptingOrders(): Promise<Array<{ yes: Token; no: Token; question: string; }>>; marketOrder(tokenID: string, side: Side, size: number, price: number): Promise<unknown>; getOrderBook(tokenId: string): Promise<unknown>; cancelAll(): Promise<unknown>; getApiKeys(): Promise<ApiKeyCreds>; getPositions(): Promise<Position[]>; getWalletAddress(): string | undefined; } export interface Position { asset: string; conditionId: string; curPrice: number; currentValue: number; initialValue: number; outcome: string; percentPnl: number; cashPnl: number; price: number; pricePerShare: number; proxyWallet: string | null; redeemable: boolean; size: number; title: string; } export {};