UNPKG

@trezor/connect

Version:

High-level javascript interface for Trezor hardware wallet.

74 lines 3.01 kB
import type { Address as AccountAddress, AccountAddresses, Utxo as AccountUtxo } from '@trezor/blockchain-link'; import { MessagesSchema as PROTO } from '@trezor/protobuf'; import type { ComposeInput as ComposeInputBase, ComposeOutput as ComposeOutputBase, ComposeResultError as ComposeResultErrorBase, ComposeResultFinal as ComposeResultFinalBase, ComposeResultNonFinal as ComposeResultNonFinalBase, TransactionInputOutputSortingStrategy } from '@trezor/utxo-lib'; import type { Params, Response } from '../params'; export type ComposeOutputPayment = Omit<Extract<ComposeOutputBase, { type: 'payment'; }>, 'type'> & { type?: 'payment'; }; export type ComposeOutput = Exclude<ComposeOutputBase, { type: 'payment'; }> | ComposeOutputPayment; type SortingStrategyPropsWithBackCompatibility = { skipPermutation?: boolean; sortingStrategy?: undefined; } | { skipPermutation?: undefined; sortingStrategy?: TransactionInputOutputSortingStrategy; }; export type ComposeParams = { outputs: ComposeOutput[]; coin: string; identity?: string; account?: undefined; feeLevels?: undefined; push?: boolean; sequence?: number; baseFee?: number; floorBaseFee?: boolean; } & SortingStrategyPropsWithBackCompatibility; export type SignedTransaction = { signatures: string[]; serializedTx: string; txid?: string; }; export type ComposeUtxo = AccountUtxo & Partial<ComposeInputBase>; export type PrecomposeParams = { outputs: ComposeOutput[]; coin: string; identity?: string; account: { path: string; addresses: AccountAddresses; utxo: ComposeUtxo[]; }; feeLevels: { feePerUnit: string; }[]; push?: undefined; baseFee?: number; floorBaseFee?: boolean; sequence?: number; } & SortingStrategyPropsWithBackCompatibility; export type ComposedInputs = AccountUtxo & ComposeInputBase; export type ComposeResultError = ComposeResultErrorBase | { type: 'error'; error: 'ADDRESSES-NOT-SET'; }; export type ComposeResultFinal = ComposeResultFinalBase<ComposedInputs, ComposeOutputBase, AccountAddress>; export type ComposeResultNonFinal = ComposeResultNonFinalBase<ComposedInputs>; export type ComposeResult = ComposeResultError | ComposeResultNonFinal | ComposeResultFinal; export type PrecomposeResultError = ComposeResultError; export type PrecomposeResultNonFinal = Omit<ComposeResultNonFinal, 'inputs'> & { inputs: PROTO.TxInputType[]; }; export type PrecomposeResultFinal = Omit<ComposeResultFinal, 'inputs' | 'outputs'> & { inputs: PROTO.TxInputType[]; outputs: PROTO.TxOutputType[]; }; export type PrecomposedResult = PrecomposeResultError | PrecomposeResultNonFinal | PrecomposeResultFinal; export declare function composeTransaction(params: Params<ComposeParams>): Response<SignedTransaction>; export declare function composeTransaction(params: Params<PrecomposeParams>): Response<PrecomposedResult[]>; export {}; //# sourceMappingURL=composeTransaction.d.ts.map