
export interface TokenInfo {
  address: string;
  name: string;
  symbol: string;
  decimals: number;
  totalSupply: string;
  formattedTotalSupply: string;
  circulatingSupply: number;
  formattedCirculatingSupply: string;
  contractType: string;
  creator: string | null;
  creationTx: string | null;
  creationTimestamp: string | number | null;
  price: number | null;
  marketCap: number | null;
  volume24h: number | null;
  holdersCount: number;
  transfersCount: number;
}


export interface TokenBalance {
  token: string;
  name: string;
  balance: string;
  rawBalance: string;
  address: string;
  value: string;
  decimals: number;
}


export interface TokenHolder {
  address: string;
  balance: string;
  rawBalance: string;
  percentage: string;
  lastUpdated: number;
  label?: string;
}

export interface TokenTransfer {
  hash: string;
  blockNumber: number;
  logIndex: number;
  from: string;
  to: string;
  amount: string;
  rawAmount: string;
  timestamp: number;
  type: 'transfer' | 'mint' | 'burn';
}


export interface TokenEvent {
  type: string;
  hash: string;
  blockNumber: number;
  logIndex: number;
  from?: string;
  to?: string;
  owner?: string;
  spender?: string;
  amount: string;
  rawAmount: string;
  timestamp: number;
} 