UNPKG

@coin-voyage/paykit

Version:

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

39 lines (38 loc) 2.24 kB
import { WalletProps } from "@coin-voyage/crypto/types"; import { ChainId, ChainType, Currency, CurrencyBase, PaymentDetails, PaymentMethod, PayOrderParams, type PayOrder } from "@coin-voyage/shared/types"; import { ROUTE } from "../types/routes"; import { CurrencyAndQuoteID } from "../types/state"; import { usePayOrderQuotes } from "./usePayOrderQuotes"; /** Loads a PayOrder + manages the corresponding modal. */ export interface PaymentState { setPayId: (id: string | null) => Promise<PayOrder | undefined>; createDepositPayOrder: (params: PayOrderParams, onError?: (message: string) => void) => Promise<PayOrder | undefined>; copyDepositPayOrder: () => Promise<void>; clearUserSelection: () => void; resetPaymentState: () => void; payOrder: PayOrder | undefined; paymentMethod: PaymentMethod | undefined; setPaymentMethod: React.Dispatch<React.SetStateAction<PaymentMethod | 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>; selectedCurrencyOption: CurrencyAndQuoteID | undefined; setSelectedCurrencyOption: (option: CurrencyAndQuoteID | undefined) => void; payFromWallet: (currency: CurrencyAndQuoteID) => Promise<string | undefined>; payWithCard: () => Promise<PaymentDetails>; payToAddress: (currency: CurrencyBase) => Promise<PaymentDetails | undefined>; refreshOrder: () => Promise<void>; senderEnsName: string | undefined; payToAddressChainId: ChainId | undefined; setPayToAddressChainId: React.Dispatch<React.SetStateAction<ChainId | undefined>>; payToAddressCurrency: Currency | undefined; setPayToAddressCurrency: React.Dispatch<React.SetStateAction<Currency | undefined>>; } export declare function usePaymentState({ payOrder, setPayOrder, setRoute, log, }: { payOrder: PayOrder | undefined; setPayOrder: (o: PayOrder | undefined) => void; setRoute: React.Dispatch<React.SetStateAction<ROUTE>>; log: (...args: unknown[]) => void; }): PaymentState;