import { createAction } from '@reduxjs/toolkit' import { Address } from 'viem' import { BridgeTransaction } from '../api/generated' import { Chain, Token } from '@/utils/types' export interface PendingBridgeTransaction { id: number originChain: Chain originToken: Token originValue: string destinationChain: Chain destinationToken?: Token transactionHash?: string timestamp?: number isSubmitted: boolean estimatedTime?: number bridgeModuleName?: string routerAddress?: string destinationAddress?: Address | null } export const addPendingBridgeTransaction = createAction( 'transactions/addPendingBridgeTransaction' ) export const updatePendingBridgeTransaction = createAction<{ id: number timestamp: number transactionHash: string isSubmitted: boolean }>('transactions/updatePendingBridgeTransaction') export const removePendingBridgeTransaction = createAction( 'transactions/removePendingBridgeTransaction' ) export const updatePendingBridgeTransactions = createAction< PendingBridgeTransaction[] >('transactions/updatePendingBridgeTransactions') export const updateUserHistoricalTransactions = createAction< BridgeTransaction[] >('transactions/updateUserHistoricalTransactions') export const updateIsUserHistoricalTransactionsLoading = createAction( 'transactions/updateIsUserHistoricalTransactionsLoading' ) export const resetTransactionsState = createAction( 'transactions/resetTransactionsState' )