import { PublicKey } from "@solana/web3.js"; import BN from "bn.js"; /** * Pool type enumeration */ export declare enum PoolType { High = 0, Low = 1 } /** * Pool state from on-chain account */ export interface PoolState { isInitialized: boolean; isSettled: boolean; winningOutcome: number; qVector: [BN, BN, BN, BN]; b: BN; strikes: [BN, BN, BN]; hitMints: [PublicKey, PublicKey, PublicKey]; missMints: [PublicKey, PublicKey, PublicKey]; claimedWinnings: BN; } /** * Market state from on-chain account */ export interface MarketState { weekNumber: number; operator: PublicKey; wsolVault: PublicKey; startTimestamp: BN; endTimestamp: BN; totalSubsidy: BN; feesCollected: BN; isPaused: boolean; highPool: PoolState; lowPool: PoolState; bump: number; } /** * Token identifier */ export interface TokenId { poolType: PoolType; strikeIndex: number; } /** * Trade parameters */ export interface TradeParams { poolType: PoolType; strikeIndex: number; isHit: boolean; amount: BN; isBuy: boolean; } /** * Trade simulation result */ export interface TradeSimulation { grossCost: BN; fee: BN; netCost: BN; newQVector: [BN, BN, BN, BN]; priceImpact: number; } /** * Market summary for display */ export interface MarketSummary { weekNumber: number; endTimestamp: Date; totalSubsidy: number; feesCollected: number; isPaused: boolean; highPool: PoolSummary; lowPool: PoolSummary; } /** * Pool summary for display */ export interface PoolSummary { isInitialized: boolean; isSettled: boolean; winningOutcome: number; strikes: [number, number, number]; tokens: TokenSummary[]; } /** * Token summary for display */ export interface TokenSummary { strikeIndex: number; isHit: boolean; mint: PublicKey; price: number; probability: number; } /** * Affected indices for LMSR calculation */ export interface AffectedIndices { indices: number[]; count: number; } /** * Detailed pool data for client-side display and processing */ export interface PoolDetail { isInitialized: boolean; isSettled: boolean; winningOutcome: number; strikes: number[]; qVector: string[]; b: string; mintSupply: number[]; } /** * Detailed market data for client-side display and processing */ export interface MarketDetail { weekNumber: number; operator: string; wsolVault: string; vaultBalance: number; startTimestamp: number; endTimestamp: number; totalSubsidy: number; feesCollected: number; isPaused: boolean; highPool: PoolDetail; lowPool: PoolDetail; } export declare const MAX_ACTIVE_MARKETS = 1; /** * Registry state from on-chain account * Tracks all active market week numbers */ export interface RegistryState { bump: number; activeCount: number; activeWeeks: number[]; lastWeekNumber: number; totalMarketsCount: number; } //# sourceMappingURL=types.d.ts.map