dpos-offline
Version:
Offline Signing Transactions for DPOS Blockchains
38 lines (37 loc) • 2.69 kB
TypeScript
/// <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>;