@faktoryfun/styx-sdk
Version:
Bitcoin deposit SDK for Stacks applications, enabling trustless Bitcoin-to-sBTC deposits
76 lines (75 loc) • 1.91 kB
TypeScript
export interface FeeEstimates {
low: number;
medium: number;
high: number;
}
export interface DepositCreateParams {
btcAmount: number;
stxReceiver: string;
btcSender: string;
}
export interface DepositUpdateParams {
id: string;
data: {
btcTxId?: string;
status?: string;
};
}
export type FeePriority = "low" | "medium" | "high";
export interface TransactionPrepareParams {
amount: string;
userAddress: string;
btcAddress: string;
feePriority: FeePriority;
walletProvider: "leather" | "xverse" | null;
}
export interface PreparedTransactionData {
utxos: any[];
opReturnData: string;
depositAddress: string;
fee: number;
changeAmount: number;
amountInSatoshis: number;
feeRate: number;
inscriptionCount: number;
inputCount: number;
outputCount: number;
}
export interface TransactionDetails {
inputCount: number;
outputCount: number;
totalValueIn: number;
primaryOutput: number;
changeOutput: number;
fee: number;
feeRate: number;
}
export interface ExecuteTransactionResponse {
txPsbtHex: string;
txPsbtBase64: string;
utxos: any[];
addressType: "segwit" | "p2sh" | "legacy";
needsFrontendInputHandling: boolean;
transactionDetails: TransactionDetails;
}
export type DepositStatus = "initiated" | "broadcast" | "processing" | "confirmed" | "refund-requested" | "canceled";
export interface Deposit {
id: string;
btcAmount: number;
sbtcAmount: number | null;
stxReceiver: string;
btcSender: string;
btcTxId: string | null;
btcTxBlockHeight: number | null;
stxTxId: string | null;
stxTxBlockHeight: number | null;
status: DepositStatus;
createdAt: number | null;
updatedAt: number | null;
}
export declare enum TransactionPriority {
Low = "low",
Medium = "medium",
High = "high"
}
export {};