import {Address, Output, Pointer, Tx} from "@aldea/sdk"; import {Abi} from "@aldea/core/abi"; export interface OwnedAddress { address: Address path: string } export interface OwnedOutput { output: Output path: string } export interface WalletStorage { allUtxos(): Promise> currentIndex(): Promise, changeCurrentIndex(f: (newIndex: number) => number): Promise latestUsedIndex(): Promise changeLastUsedIndex(f: (newIndex: number) => number): Promise saveAddress(address: Address, path: string): Promise; saveUtxo(output: Output, path: string): Promise utxoById(outputId: string): Promise; utxoByOrigin(origin: Pointer): Promise; removeUtxoByOrigin(origin: Pointer): Promise removeUtxoByOutputId(id: string): Promise saveTx(tx: Tx): Promise addressByPubKeyHash(pubKeHashStr: string): Promise addAbi(pkgId: string, abi: Abi): Promise; abiByPkgId(pkgId: string): Promise }