import { HotConnector } from "../HotConnector"; import { OmniConnector } from "../OmniConnector"; import { BridgeReview } from "../exchange"; import { Token } from "../omni/token"; import { OmniWallet } from "../OmniWallet"; import { WalletType } from "../omni/config"; import { Recipient } from "../omni/recipient"; import { present } from "./Popup"; import { Payment } from "./payment/Payment"; import { LogoutPopup } from "./connect/LogoutPopup"; import { Bridge } from "./payment/Bridge"; import { Profile } from "./payment/Profile"; import { SelectTokenPopup } from "./payment/SelectToken"; import { WalletPicker } from "./connect/WalletPicker"; import { BridgeProps } from "./payment/Bridge"; import { Connector } from "./connect/ConnectWallet"; import { SelectSender } from "./payment/SelectSender"; import { SelectRecipient } from "./payment/SelectRecipient"; import { WCRequest } from "./connect/WCRequest"; export const openPayment = (connector: HotConnector, token: Token, amount: bigint, recipient?: Recipient) => { return new Promise>((resolve, reject) => { present((close) => ( (close(), reject(new Error("User rejected")))} onProcess={(task) => (close(), resolve(task))} connector={connector} token={token} amount={amount} recipient={recipient} /> )); }); }; export const openLogoutPopup = (connector: OmniConnector) => { return new Promise((resolve, reject) => { present((close) => { return ( (close(), resolve())} onReject={() => (close(), reject(new Error("User rejected")))} /> ); }); }); }; export const openBridge = (hot: HotConnector, setup?: BridgeProps["setup"]) => { return new Promise((resolve, reject) => { present((close) => ( (close(), reject(new Error("User rejected")))} /> )); }); }; export const openConnector = (hot: HotConnector) => { present((close) => ); }; export const openProfile = (hot: HotConnector) => { present((close) => ); }; export const openSelectTokenPopup = ({ hot, initialChain, onSelect }: { hot: HotConnector; initialChain?: number; onSelect: (token: Token, wallet?: OmniWallet) => void }) => { present((close) => (onSelect(t, w), close())} />); }; export const openWalletPicker = (connector: OmniConnector, onSelect?: (wallet: OmniWallet) => void) => { present((close) => ); }; export const openSelectSender = (props: { hot: HotConnector; type: WalletType; onSelect: (wallet?: OmniWallet | "qr") => void }) => { present((close) => ); }; export const openSelectRecipient = (props: { hot: HotConnector; recipient?: Recipient; type: WalletType; onSelect: (wallet?: Recipient) => void }) => { present((close) => ); }; export const openWCRequest = (args: { task: () => Promise; deeplink?: string; name: string; icon: string; request: any }): Promise => { const taskPromise = args.task(); present((close) => ); return taskPromise; };