export interface KeyValueString { [key: string]: string; } export interface KeyValueAny { [key: string]: any; } export interface TransactionType { _id: string; height: number; sender: string; status: string; receiver: string; timestamp: number; gasWanted: string; gasUsed: string; fee: string; event_logs: string; success: string; txnRaw: string; rawLog: string; routePrice: string; } export interface BlockType { _id: number; hash: string; proposer: string; txn_count: number; timestamp: number; total_gas: string; block_reward: string; processed: number; } export interface BlockTypeWithSignatures { _id: number; hash: string; proposer: string; txn_count: number; timestamp: number; total_gas: string; block_reward: string; processed: number; signatures: { validatorAddress: string; timestamp: number; }[]; } export interface BlockTypeWithTxns { _id: number; hash: string; proposer: string; txn_count: number; timestamp: number; total_gas: string; block_reward: string; processed: number; signatures: { validatorAddress: string; timestamp: number; }[]; transactions: TransactionType[]; } export interface PaginatedBlock { totalRecords: number; blocks: BlockType[]; } export interface PaginatedBlockWithSignature { totalRecords: number; blocks: BlockTypeWithSignatures[]; } export interface PaginatedTransaction { totalRecords: number; transactions: TransactionType[]; } export interface EventHistory { name: string; height: number; timestamp: number; txnHash: string; } export interface HistoryStatusType { status: string; txnHash: string; timestamp: number; blockHeight: number; } export interface VoteAttestationType { chainType: string; chainId: string; eventNonce: number; voter: string; blockHeight: number; timestamp: number; } export interface EventSignatureType { validator: string; txnHash: string; timestamp: number; blockHeight: number; signature: string; ethSigner: string; } export interface CrosschainRouterPacket { handler: string; payload: string; } export interface EvmContractMetadata { destGasLimit: number; destGasPrice: number; ackGasLimit: number; ackGasPrice: number; ackType: number; isReadCall: boolean; asmAddress: string; } export interface EventCrosschainAckReceiptCreated { attestationId: string; ackReceiptSrcChainId: string; ackReceiptIdentifier: number; ackReceiptBlockHeight: number; ackReceiptTxHash: string; relayerRouterAddress: string; requestIdentifier: number; status: string; } interface AckReceiptRequest { ackReceipt: EventCrosschainAckReceiptCreated; historyStatus: HistoryStatusType[]; relayerFeeInRoute: string; refundFeeInRoute: string; ackReceiptKey: string; status: string; claimHash: string; } interface EventCrosschainAckRequestCreated { attestationId: string; ackSrcChainId: string; ackRequestIdentifier: number; blockHeight: number; destTxHash: string; relayerRouterAddress: string; ackDestChainId: string; requestSender: string; requestIdentifier: number; ackSrcChainType: number; ackDestChainType: number; execData: string; execStatus: boolean; status: string; } export interface EventCrosschainAckRequestConfirm { ackSrcChainId: string; ackRequestIdentifier: number; claimHash: string; ethSigner: string; signature: string; orchestrator: string; } export interface AckRequest { eventAckRequestCreated: EventCrosschainAckRequestCreated; eventAckRequestConfirm: EventCrosschainAckRequestConfirm; status: string; eventHistory: EventHistory[]; historyStatus: HistoryStatusType[]; claimHash: string; txFeeInRoute: string; chainType: string; chainId: string; requestIdentifier: number; customFormAttestationId: string; ackReceiptRequest: AckReceiptRequest; ackGasLimit: number; ackGasPrice: number; feePayer: string; relayerFeeInRoute: string; relayerIncentiveInRoute: string; refundFeeInRoute: string; errorResponse: string; eventSignatures: VoteAttestationType[]; } export interface CrosschainType { id: string; attestationId: string; srcChainId: string; requestIdentifier: number; blockHeight: number; sourceTxHash: string; srcTimestamp: number; srcTxOrigin: string; routeAmount: string; routeRecipient: string; destChainId: string; requestSender: string; requestMetadata: EvmContractMetadata; requestPacket: CrosschainRouterPacket; srcChainType: string; destChainType: string; status: string; eventHistory: EventHistory[]; historyStatus: HistoryStatusType[]; eventConfirmSignatures: EventSignatureType[]; ackRequest: AckRequest; customFormAttestationId: string; destinationTxHash: string; eventAckConfirmSignatures: EventSignatureType[]; createdAt: number; updatedAt: number; destTxFeeInRoute: string; relayerFee: string; relayerFeeInRoute: string; relayerIncentiveInRoute: string; refundFeeInRoute: string; feePayer: string; errorResponse: string; relayerAddress: string; execStatus: boolean; execData: string; eventSignatures: VoteAttestationType[]; } export interface PaginatedCrosschain { totalRecords: number; crosschains: CrosschainType[]; } export interface InboundOutboundMapType { inboundId: string; outboundId: string; inboundChainId: string; inboundNonce: string; outboundChainId: string; outboundNonce: string; middlewareContract: string; blockHeight: number; timestamp: number; } export interface FundPaidType { id: string; srcChainId: string; srcChainType: string; srcTxHash: string; srcTimestamp: number; contract: string; eventNonce: number; blockHeight: number; messageHash: string; forwarder: string; forwarderRouterAddr: string; execResponse: string; errorResponse: string; eventHistory: EventHistory[]; historyStatus: HistoryStatusType[]; eventSignatures: EventSignatureType[]; eventConfirmSignatures: VoteAttestationType[]; status: string; createdAt: number; updatedAt: number; } export interface PaginatedFundPaid { totalRecords: number; fundPaid: FundPaidType[]; } export interface FundDepositType { id: string; srcChainId: string; srcChainType: string; srcTxHash: string; srcTimestamp: number; contract: string; depositId: number; blockHeight: number; destChainId: string; amount: number; relayerFees: string; srcToken: string; recipient: string; depositor: string; execResponse: string; errorResponse: string; eventHistory: EventHistory[]; historyStatus: HistoryStatusType[]; eventSignatures: EventSignatureType[]; eventConfirmSignatures: VoteAttestationType[]; status: string; createdAt: number; updatedAt: number; } export interface PaginatedFundDeposit { totalRecords: number; fundDeposit: FundDepositType[]; } export interface ValidatorUptime { operatorAddress: string; consensusAddress: string; upTime: string; }