export interface TransactionEvent {
  name: string;
  address: string;
  parameters: Array<{ name: string; value: string }>;
}


export interface Transaction {
  hash: string;
  from: string;
  to: string;
  value: string;
  status: 'success' | 'pending' | 'failed';
  statusCapitalized?: string;
  timestamp: number | string;
  age?: string;
  method?: string;
  methodDisplayName?: string;
  methodSignature?: string;
  method_signature?: string;
  method_name?: string;     
  txFee?: string;
  txnFee?: string;
  blockNumber?: string | number;
  block?: number | null;
  gas?: string;
  gasPrice?: string;
  gasUsed?: string;
  effectiveGasPrice?: string;
  input?: string;
  events?: TransactionEvent[];
  nonce?: string;
  gasUsedDecimal?: number;
  gasPriceGwei?: string;
  gasDecimal?: number;
  nonceDecimal?: number;
}

export type RpcTxStatus = string; 


export interface EventLog {
  address: string;
  topics: string[];
  data: string;
  blockNumber: string;
  transactionHash: string;
  transactionIndex: string;
  blockHash: string;
  logIndex: string;
  removed: boolean;
}
export interface ContractInfo {
  address: string;
  bytecode: string;
  creator: string | null;
  creationTx: string | null;
  creationTimestamp: number | null;
  balance: string;
  isVerified: boolean;
}