import { TransactionError } from '../../background/errors/TransactionError'; import { BalanceService } from '../../services/balance-service'; import { ChainService } from '../../services/chain-service'; import { EventService } from '../../services/event-service'; import { HistoryService } from '../../services/history-service'; import NotificationService from '../../services/notification-service/NotificationService'; import RequestService from '../../services/request-service'; import DatabaseService from '../../services/storage-service/DatabaseService'; import { SWTransaction, SWTransactionInput, SWTransactionResponse, TransactionEmitter } from '../../services/transaction-service/types'; import { BehaviorSubject } from 'rxjs'; import { TransactionConfig } from 'web3-core'; import { HexString } from '@polkadot/util/types'; export default class TransactionService { private readonly balanceService; private readonly chainService; private readonly databaseService; private readonly eventService; private readonly historyService; private readonly notificationService; private readonly requestService; private readonly transactionSubject; private readonly watchTransactionSubscribes; private get transactions(); constructor(chainService: ChainService, eventService: EventService, requestService: RequestService, balanceService: BalanceService, historyService: HistoryService, notificationService: NotificationService, databaseService: DatabaseService); private get allTransactions(); private get processingTransactions(); getTransaction(id: string): SWTransaction; private checkDuplicate; generalValidate(validationInput: SWTransactionInput): Promise; getTransactionSubject(): BehaviorSubject>; private fillTransactionDefaultInfo; addTransaction(inputTransaction: SWTransactionInput): Promise; generateBeforeHandleResponseErrors(errors: TransactionError[]): SWTransactionResponse; handleTransaction(transaction: SWTransactionInput): Promise; private sendTransaction; private removeTransaction; private updateTransaction; private getTransactionLink; private transactionToHistories; private onSigned; private onSend; private onHasTransactionHash; private handlePostProcessing; private onSuccess; private onFailed; generateHashPayload(chain: string, transaction: TransactionConfig): HexString; private signAndSendEvmTransaction; private signAndSendSubstrateTransaction; private handleTransactionTimeout; resetWallet(): void; }