UNPKG

@coin-voyage/paykit

Version:

Seamless crypto payments. Onboard users from any chain, any coin into your app with one click.

31 lines (30 loc) 1.62 kB
import { WalletProps } from "@coin-voyage/crypto/types/wallet"; import { DepositPayOrderParams } from "@coin-voyage/shared/api"; import { ChainType, CurrencyWithAmount, PayOrder } from "@coin-voyage/shared/common"; import { ROUTES } from "../types/routes"; import { usePayOrderQuotes } from "./usePayOrderQuotes"; /** Loads a PayOrder + manages the corresponding modal. */ export interface PaymentState { setPayId: (id: string | null) => Promise<void>; createDepositPayOrder: (payOrderParams: DepositPayOrderParams, onError?: (message: string) => void) => Promise<void>; copyDepositPayOrder: () => Promise<void>; resetPayOrder: () => void; payOrder: PayOrder | undefined; connectorChainType: ChainType | undefined; setConnectorChainType: React.Dispatch<React.SetStateAction<ChainType | undefined>>; selectedWallet: WalletProps | undefined; setSelectedWallet: React.Dispatch<React.SetStateAction<WalletProps | undefined>>; payOrderQuotes: ReturnType<typeof usePayOrderQuotes>; selectedTokenOption: CurrencyWithAmount | undefined; setSelectedTokenOption: (option: CurrencyWithAmount | undefined) => void; payWithToken: (tokenAmount: CurrencyWithAmount) => Promise<string | undefined>; refreshOrder: () => Promise<void>; senderEnsName: string | undefined; } export declare function usePaymentState({ payOrder, setPayOrder, setRoute, log, apiKey, }: { payOrder: PayOrder | undefined; setPayOrder: (o: PayOrder) => void; setRoute: React.Dispatch<React.SetStateAction<ROUTES>>; log: (...args: any[]) => void; apiKey: string; }): PaymentState;