/// import { SignersCoordinatorSignResponse } from '@dfns/private-api-client'; import { SendPaymentTxParams, SendTransactionParams } from './requests'; import { TransactionsHistory } from './responses'; import { BroadcastTransactionRequest, BroadcastTransactionResponse, GetAddressResponse, GetBalanceRequest, GetBalanceResponse, SignRequest, SignResponse, TransferRequest, TransferResponse } from '.'; export interface WalletInterface { getAddress: () => Promise; getBalance: (assets: string[]) => Promise; getTransactions: (assets: string[]) => Promise; sendPaymentTx: (paymentTxParams: SendPaymentTxParams) => Promise; sendTx?: (txParams: SendTransactionParams) => Promise<{ hash: string; response: unknown; }>; getAddress2?: () => Promise; getBalance2?: (request: GetBalanceRequest) => Promise>; transfer?: (request: TransferRequest) => Promise; broadcastTransaction?: (request: BroadcastTransactionRequest) => Promise; sign2?: (request: SignRequest) => Promise; } export type WalletBalanceResponse = { walletId: string; balance: string; }; export type WalletAddressResponse = { walletId: string; address: string; }; export type WalletTransactionsResponse = { walletId: string; transactions: TransactionsHistory; }; export type WalletPostTransactionResponse = { walletId: string; tx: string; response?: unknown; }; export type GenerateWalletResponse = { key: string; id: string; parties: string; threshold: string; }; export interface DfnsSigner { getPublicKey(): Buffer; sign(hash: Buffer): Promise; }