@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
TypeScript
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;