UNPKG

dpos-offline

Version:

Offline Signing Transactions for DPOS Blockchains

38 lines (37 loc) 2.69 kB
/// <reference types="node" /> import { As } from 'type-tagger'; import { Address, ICoinCodec, ICoinCodecTxs, IKeypair } from './interface'; import { LiskCoinCodecMsgs } from './lisk'; import { IBaseTx } from './txs'; import { IRegisterDelegateTx, IRegisterSecondSignature, ISendTx, IVoteTx, LiskTransaction } from './txs/lisk'; import { IRegisterDelegateRiseV2Tx, IRegisterSecondSignatureRiseV2Tx, ISendRiseV2Tx, IVoteRiseV2Tx, PostableRiseV2Transaction, RiseV2Transaction } from './txs/rise'; export declare type RiseV1Transaction<T> = LiskTransaction<T>; export declare type IRiseV2Transaction = IVoteTx<string> | IVoteRiseV2Tx | ISendTx | ISendRiseV2Tx | IRegisterDelegateTx | IRegisterDelegateRiseV2Tx | IRegisterSecondSignature | IRegisterSecondSignatureRiseV2Tx; export interface IRiseV2CoinCodecTxs extends ICoinCodecTxs<RiseV2Transaction<any> | LiskTransaction<any>, IRiseV2Transaction, PostableRiseV2Transaction<any>> { getAddressBytes(address: Address): Buffer; } export declare type IBaseV2Tx = IBaseTx & { kind: string; }; export declare class RiseV2Txs implements IRiseV2CoinCodecTxs { _codec: ICoinCodec<this, any>; bytes(tx: RiseV2Transaction<any>): Buffer; bytesForSignature(tx: RiseV2Transaction<any>): Buffer; calcSignature(tx: RiseV2Transaction<any>, kp: IKeypair | string): Buffer & As<'signature'>; calc2ndSignature(tx: RiseV2Transaction<any>, kp: IKeypair | string): Buffer & As<'signature'>; createAndSign<T extends IBaseV2Tx>(tx: T, kp: IKeypair | string): PostableRiseV2Transaction<any>; createAndSign<T extends IBaseV2Tx>(tx: T, kp: IKeypair | string, inRawFormat: true): RiseV2Transaction<any>; createAndSign<T extends IBaseV2Tx>(tx: T, kp: IKeypair | string, net: 'main' | 'test' | 'dev', inRawFormat?: true): RiseV2Transaction<any>; createNonce(): string & As<'nonce'>; fromPostable<T>(ptx: PostableRiseV2Transaction<any>): RiseV2Transaction<T>; getAddressBytes(address: Address): Buffer; identifier(tx: RiseV2Transaction<any>): string & As<'txIdentifier'>; sign<T = any>(tx: RiseV2Transaction<T>, _kp: IKeypair | string): RiseV2Transaction<T>; toPostable(tx: RiseV2Transaction<any>): PostableRiseV2Transaction<any>; transform<B extends IBaseV2Tx, T = any>(tx: B, net?: 'main' | 'test' | 'dev'): RiseV2Transaction<T>; verify(tx: RiseV2Transaction<any>, signature?: Buffer & As<'signature'>, pubKey?: Buffer & As<'publicKey'>): boolean; fromV1Format<T>(tx: RiseV1Transaction<T>): RiseV2Transaction<T>; toV1Format<T>(tx: RiseV2Transaction<T>): RiseV1Transaction<T>; private derivePublicKeyFromPubData; } export declare const RiseV2: ICoinCodec<RiseV2Txs, LiskCoinCodecMsgs>;