import { TransactionStatus } from "@usedapp/core"; import { BigNumber } from "ethers"; import { Dispatch, SetStateAction } from "react"; export type OnBridge = (amount: string, sourceChain: string, target?: string) => Promise; export type ILimits = Record< string, { dailyLimit: BigNumber; txLimit: BigNumber; accountDailyLimit: BigNumber; minAmount: BigNumber } >; export type IFees = Record; export interface MicroBridgeProps { // onBridge: OnBridge; useCanBridge: (chain: "fuse" | "celo", amountWei: string) => { isValid: boolean; reason: string }; onSetChain?: (chain: "fuse" | "celo") => void; originChain: ["fuse" | "celo", Dispatch>]; inputTransaction: [string, Dispatch>]; pendingTransaction: [any, Dispatch>]; error?: string | null; limits?: ILimits; fees?: IFees; bridgeStatus?: TransactionStatus; relayStatus?: Partial; selfRelayStatus?: Partial; onBridgeStart?: () => void; onBridgeSuccess?: () => void; onBridgeFailed?: (e: Error) => void; withRelay?: boolean; }