@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.21 kB
TypeScript
import { WalletProps } from "@coin-voyage/crypto/types/wallet";
import { ChainId, ChainType, Currency, CurrencyBase, type PayOrder } from "@coin-voyage/shared/types";
import { PaymentDetails, PayOrderParams } from "@coin-voyage/shared/types/api";
import { PaymentMethod } from "../types/enums";
import { ROUTES } 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<void>;
createDepositPayOrder: (params: PayOrderParams, onError?: (message: string) => void) => Promise<void>;
copyDepositPayOrder: () => Promise<void>;
clearUserSelection: () => 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>;
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) => void;
setRoute: React.Dispatch<React.SetStateAction<ROUTES>>;
log: (...args: unknown[]) => void;
}): PaymentState;