import { Message, UtxoMetaData } from '@saturnbtcio/arch-sdk'; import { Psbt } from '@saturnbtcio/psbt'; import { CollectionUtxo } from '../wallet/wallet.dto'; export interface PoolSdkRequestWithRuneWallet { runeAddress: string; runePublicKey: string; } export interface MessageRequest extends PoolSdkRequestWithRuneWallet { feePayerPubkey: string; recentBlockhash: string; } export interface DepositBitcoinToArchControlledAddressPsbtRequest extends PoolSdkRequestWithRuneWallet { paymentAddress: string | null; paymentPublicKey: string | null; amount: bigint; feeRate: bigint; } export type DepositBitcoinToArchControlledAddressPsbtResponse = Psbt; export interface DepositRunesToArchControlledAddressPsbtRequest extends PoolSdkRequestWithRuneWallet { paymentAddress: string | null; paymentPublicKey: string | null; runeId: string; amount: bigint; feeRate: bigint; } export type DepositRunesToArchControlledAddressPsbtResponse = Psbt; export type WithdrawFundsMessageRequest = | (MessageRequest & { type: 'selected-utxos'; paymentAddress: string | null; utxos: Array; feeRate: bigint; }) | (MessageRequest & { type: 'all-utxos'; paymentAddress: null; feeRate: bigint; }); export type WithdrawFundsMessageResponse = Message; export const BTC_TOKEN = { block: 0n, tx: 0, };