UNPKG

dpos-offline

Version:

Offline Signing Transactions for DPOS Blockchains

41 lines (40 loc) 1.18 kB
/// <reference types="node" /> import { As } from 'type-tagger'; import { IBaseTx } from '../base'; import { BaseLiskCodec, LiskTransaction } from './base_lisk'; /** * Voting Item for the Vote Transaction interface */ export interface IVoteItem<IDentifier> { /** * The identifier of the delegate to vote/unvoite */ delegateIdentifier: IDentifier; /** * An optional vote weight to assign to the delegate. (If the coin supports it) */ weight?: string; /** * The action to perform + => vote, - => unvote */ action: '-' | '+'; } /** * Vote transaction identifier */ export interface IVoteTx<IDentifier = Buffer & As<'publicKey'>> extends IBaseTx { readonly kind: 'vote'; /** * Preference array of the votes to perform */ readonly preferences: Array<IVoteItem<IDentifier>>; } export declare type LiskVotesAsset = { votes?: string[]; }; export declare class LiskVoteTxCodec extends BaseLiskCodec<LiskVotesAsset> { constructor(); calcFees(tx: IVoteTx): number; transform(from: IVoteTx): LiskTransaction<LiskVotesAsset>; protected assetBytes(tx: LiskTransaction<LiskVotesAsset>): Buffer; }