/// import { OutPoint, TransactionDetails, Utxo, ListUnspentResponse, Transaction, ListUnspentRequest, AddressType, EstimateFeeRequest } from "./ln-rpc"; import { KeyDescriptor, KeyLocator, TxOut } from "./sign-rpc"; import { JsonBuffer } from "../general"; export declare enum WitnessType { UNKNOWN_WITNESS = 0, COMMITMENT_TIME_LOCK = 1, COMMITMENT_NO_DELAY = 2, COMMITMENT_REVOKE = 3, HTLC_OFFERED_REVOKE = 4, HTLC_ACCEPTED_REVOKE = 5, HTLC_OFFERED_TIMEOUT_SECOND_LEVEL = 6, HTLC_ACCEPTED_SUCCESS_SECOND_LEVEL = 7, HTLC_OFFERED_REMOTE_TIMEOUT = 8, HTLC_ACCEPTED_REMOTE_SUCCESS = 9, HTLC_SECOND_LEVEL_REVOKE = 10, WITNESS_KEY_HASH = 11, NESTED_WITNESS_KEY_HASH = 12, COMMITMENT_ANCHOR = 13 } export declare enum SweepsCase { SWEEPS_NOT_SET = 0, TRANSACTION_DETAILS = 1, TRANSACTION_IDS = 2 } export interface ListUnspentReq { minConfs?: number; maxConfs?: number; } export interface ListUnspentResp { utxos: Utxo[]; } export interface LeaseOutputRequest { id: Buffer | string | JsonBuffer; outpoint?: OutPoint; } export interface LeaseOutputResponse { expiration: number; } export interface ReleaseOutputRequest { id: Buffer | string | JsonBuffer; outpoint?: OutPoint; expirationSeconds: number; } export interface KeyReq { keyFingerPrint: number; keyFamily: number; } export interface AddrResponse { addr: string; } export interface Tx { txHex: Buffer | string | JsonBuffer; label?: string; } export interface PublishResponse { publishError?: string; } export interface SendOutputsRequest { satPerKw: number; outputs: TxOut[]; label?: string; minConfs: number; spendUnconfirmed: boolean; } export interface SendOutputsResponse { rawTx: Buffer | string | JsonBuffer; } export interface EstimateFeeReq { confTarget: number; } export interface EstimateFeeResp { satPerKw: number; } export interface PendingSweep { outpoint?: OutPoint; witnessType: WitnessType; amountSat: number; satPerByte: number; broadcastAttempts: number; nextBroadcastHeight: number; requestedConfTarget: number; requestedSatPerByte: number; satPerVbyte: number; requestedSatPerVbyte: number; force: boolean; } export interface PendingSweepsResponse { pendingSweeps: PendingSweep[]; } export interface BumpFeeRequest { outpoint: OutPoint; targetConf?: number; satPerByte?: number; force?: boolean; satPerVbyte: number; } export interface ListSweepsRequest { verbose?: boolean; } export interface TransactionIDs { transactionIds: string[]; } export interface ListSweepsResponse { transactionDetails?: TransactionDetails; transactionIds?: TransactionIDs; } export interface FundPsbtRequest { psbt: Buffer | string | JsonBuffer; raw?: TxTemplate; targetConf: number; satPerVbyte: number; account: string; minConfs: number; spendUnconfirmed: boolean; } export declare enum FundPsbtRequestTemplateCase { TEMPLATE_NOT_SET = 0, PSBT = 1, RAW = 2 } export declare enum FundPsbtRequestFeesCase { FEES_NOT_SET = 0, TARGET_CONF = 3, SAT_PER_VBYTE = 4 } export interface FundPsbtResponse { fundedPsbt: Buffer | string | JsonBuffer; changeOutputIndex: number; lockedUtxos: Array; } export interface TxTemplate { inputs: Array; outputs: Array<[string, number]>; } export interface UtxoLease { id: Buffer | string | JsonBuffer; outpoint?: OutPoint; expiration: number; } export interface FinalizePsbtRequest { fundedPsbt: Buffer | string | JsonBuffer; account: string; } export interface LabelTransactionRequest { txid: Buffer | string | JsonBuffer; label: string; overwrite?: boolean; } export interface FinalizePsbtResponse { signedPsbt: Buffer | string | JsonBuffer; rawFinalTx: Buffer | string | JsonBuffer; } export interface UtxoLease { id: Buffer | string | JsonBuffer; outpoint?: OutPoint; expiration: number; } export interface FundPsbtResponse { fundedPsbt: Buffer | string | JsonBuffer; changeOutputIndex: number; lockedUtxos: Array; } export interface FinalizePsbtRequest { fundedPsbt: Buffer | string | JsonBuffer; account: string; } export interface ListLeasesRequest { } export interface ReleaseOutputResponse { } export interface ListLeasesRequest { } export interface ListLeasesResponse { lockedUtxos: Array; } export interface ListLeasesResponse { lockedUtxos: Array; } export interface ListAccountsRequest { name?: string; addressType?: AddressType; } export interface AddrRequest { account: string; type: AddressType; change: boolean; } export interface Account { name: string; addressType: AddressType; extendedPublicKey: string; masterKeyFingerprint: Buffer | string | JsonBuffer; derivationPath: string; externalKeyCount: number; internalKeyCount: number; watchOnly: boolean; } export interface ListAccountsResponse { accounts: Array; } export interface ImportAccountRequest { name: string; extendedPublicKey: string; masterKeyFingerprint: Buffer | string | JsonBuffer; addressType: AddressType; dryRun: boolean; } export interface ImportAccountResponse { account?: Account; dryRunExternalAddrs: Array; dryRunInternalAddrs: Array; } export interface ImportPublicKeyRequest { publicKey: Buffer | string | JsonBuffer; addressType: AddressType; } export interface ImportPublicKeyResponse { } export interface BumpFeeResponse { } export interface PendingSweepsRequest { } export interface LabelTransactionResponse { } export interface EstimateFeeResponse { satPerKw: number; } /** * LND Wallet gRPC API Client */ export interface WalletRpc { listUnspent(args: ListUnspentRequest): Promise; leaseOutput(args: LeaseOutputRequest): Promise; releaseOutput(args: ReleaseOutputRequest): Promise; listLeases(args: ListLeasesRequest): Promise; deriveNextKey(args: KeyReq): Promise; deriveKey(args: KeyLocator): Promise; nextAddr(args: AddrRequest): Promise; listAccounts(args?: ListAccountsRequest): Promise; importAccount(args: ImportAccountRequest): Promise; importPublicKey(args: ImportPublicKeyRequest): Promise; publishTransaction(args: Transaction): Promise; sendOutputs(args: SendOutputsRequest): Promise; estimateFee(args: EstimateFeeRequest): Promise; pendingSweeps(args: PendingSweepsRequest): Promise; bumpFee(args: BumpFeeRequest): Promise; listSweeps(args: ListSweepsRequest): Promise; labelTransaction(args: LabelTransactionRequest): Promise; fundPsbt(args: FundPsbtRequest): Promise; finalizePsbt(args: FinalizePsbtRequest): Promise; }