@protokol/notarization-transactions
Version:
Transaction Types For Notarization Support
29 lines (28 loc) • 1.74 kB
TypeScript
import { Contracts, Providers } from "@arkecosystem/core-kernel";
import { Handlers } from "@arkecosystem/core-transactions";
import { Interfaces, Transactions, Utils } from "@arkecosystem/crypto";
import { INotarization } from "../interfaces";
export declare class NotarizationTransactionHandler extends Handlers.TransactionHandler {
protected readonly transactionHistoryService: Contracts.Shared.TransactionHistoryService;
private readonly blockHistoryService;
protected readonly poolQuery: Contracts.TransactionPool.Query;
protected readonly notarizationCache: Contracts.Kernel.CacheStore<INotarization["hash"], INotarization>;
protected readonly configuration: Providers.PluginConfiguration;
isActivated(): Promise<boolean>;
getConstructor(): Transactions.TransactionConstructor;
dependencies(): ReadonlyArray<Handlers.TransactionHandlerConstructor>;
walletAttributes(): ReadonlyArray<string>;
dynamicFee({ addonBytes, satoshiPerByte, transaction, height, }: Contracts.Shared.DynamicFeeContext): Utils.BigNumber;
bootstrap(): Promise<void>;
emitEvents(transaction: Interfaces.ITransaction, emitter: Contracts.Kernel.EventDispatcher): void;
throwIfCannotBeApplied(transaction: Interfaces.ITransaction, wallet: Contracts.State.Wallet): Promise<void>;
apply(transaction: Interfaces.ITransaction): Promise<void>;
revert(transaction: Interfaces.ITransaction): Promise<void>;
applyToRecipient(transaction: Interfaces.ITransaction): Promise<void>;
revertForRecipient(transaction: Interfaces.ITransaction): Promise<void>;
protected getDefaultCriteria(): {
typeGroup: number | undefined;
type: number | undefined;
};
private buildNotarization;
}