import type { ComposedTransaction } from './transaction' ; import type { CompleteResult } from './coinselect' ; export type ComposeResult = { type : 'error' ; error : string ; } | { type : 'nonfinal' ; max ? : string ; totalSpent : string ; fee : string ; feePerByte : string ; bytes : number ; } | { type : 'final' ; max ? : string ; totalSpent : string ; fee : string ; feePerByte : string ; bytes : number ; transaction : ComposedTransaction ; } ; export const empty = { type : 'error' , error : 'EMPTY' , } ; export function getNonfinalResult ( result ) { const { max , fee , feePerByte , bytes , totalSpent } = result . result ; return { type : 'nonfinal' , fee : fee . toString ( ) , feePerByte : feePerByte . toString ( ) , bytes , max , totalSpent , } ; } export function getFinalResult ( result , transaction ) { const { max , fee , feePerByte , bytes , totalSpent } = result . result ; return { type : 'final' , fee : fee . toString ( ) , feePerByte : feePerByte . toString ( ) , bytes , transaction , max , totalSpent , } ; }