import { ColumnType } from 'kysely' // Define types for each table in the database export interface BridgeRequestEvents { id: ColumnType transactionId: ColumnType blockNumber: ColumnType blockTimestamp: ColumnType transactionHash: ColumnType originChainId: ColumnType originChain: ColumnType sender: ColumnType request: ColumnType originToken: ColumnType destToken: ColumnType originAmount: ColumnType originAmountFormatted: ColumnType destAmount: ColumnType destAmountFormatted: ColumnType destChainId: ColumnType destChain: ColumnType sendChainGas: ColumnType } export interface BridgeRelayedEvents { id: ColumnType transactionId: ColumnType blockNumber: ColumnType blockTimestamp: ColumnType transactionHash: ColumnType originChainId: ColumnType originChain: ColumnType relayer: ColumnType to: ColumnType originToken: ColumnType destToken: ColumnType originAmount: ColumnType originAmountFormatted: ColumnType destAmount: ColumnType destAmountFormatted: ColumnType destChainId: ColumnType destChain: ColumnType } export interface BridgeProofProvidedEvents { id: ColumnType transactionId: ColumnType blockNumber: ColumnType blockTimestamp: ColumnType transactionHash: ColumnType originChainId: ColumnType originChain: ColumnType relayer: ColumnType } export interface BridgeDepositRefundedEvents { id: ColumnType transactionId: ColumnType blockNumber: ColumnType blockTimestamp: ColumnType transactionHash: ColumnType originChainId: ColumnType originChain: ColumnType to: ColumnType token: ColumnType amount: ColumnType amountFormatted: ColumnType } export interface BridgeDepositClaimedEvents { id: ColumnType transactionId: ColumnType blockNumber: ColumnType blockTimestamp: ColumnType transactionHash: ColumnType originChainId: ColumnType originChain: ColumnType relayer: ColumnType to: ColumnType token: ColumnType amount: ColumnType amountFormatted: ColumnType } export interface BridgeProofDisputedEvents { id: ColumnType transactionId: ColumnType blockNumber: ColumnType blockTimestamp: ColumnType transactionHash: ColumnType chainId: ColumnType chain: ColumnType originChainId: ColumnType originChain: ColumnType } // Add any other shared types used across the API export type EventType = | 'REQUEST' | 'RELAYED' | 'PROOF_PROVIDED' | 'DEPOSIT_REFUNDED' | 'DEPOSIT_CLAIMED' | 'DISPUTE' export interface EventFilter { type?: EventType transactionId?: string originChainId?: number destChainId?: number }