@axerunners/axecore-lib
Version:
A pure and powerful JavaScript Axe library.
123 lines (109 loc) • 3.29 kB
TypeScript
/**
* @typedef {Object} TransitionPayloadJSON
* @property {Number} version
* @property {string} regTxId
* @property {string} hashPrevSubTx
* @property {Number} creditFee
* @property {string} hashSTPacket
* @property {string} [payloadSig]
* @property {string} [payloadSigSize]
*/
export type TransitionPayloadJSON = {
version: number;
regTxId: string;
hashPrevSubTx: string;
creditFee: number;
hashSTPacket: string;
payloadSig?: string;
payloadSigSize?: string;
};
/**
* @class SubTxTransitionPayload
* @property {number} version
* @property {string} regTxId
* @property {string} hashPrevSubTx
* @property {number} creditFee
* @property {string} hashSTPacket
* @property {string} [payloadSig]
* @property {string} [payloadSigSize]
*/
export class SubTxTransitionPayload {
/**
* Serialize transition payload
* @param {TransitionPayloadJSON} transitionPayload
* @return {Buffer} serialized payload
*/
static serializeJSONToBuffer(transitionPayload: TransitionPayloadJSON): Buffer;
/**
* Parse raw transition payload
* @param {Buffer} rawPayload
* @return {SubTxTransitionPayload}
*/
static fromBuffer(rawPayload: Buffer): SubTxTransitionPayload;
/**
* Create new instance of payload from JSON
* @param {string|TransitionPayloadJSON} payloadJson
* @return {SubTxTransitionPayload}
*/
static fromJSON(payloadJson: string | TransitionPayloadJSON): SubTxTransitionPayload;
/**
* Validate payload
* @param {TransitionPayloadJSON} blockchainUserPayload
* @return {boolean}
*/
static validatePayloadJSON(blockchainUserPayload: TransitionPayloadJSON): boolean;
/**
* Validates payload data
* @return {boolean}
*/
validate(): boolean;
/**
* @param {string} regTxId - Hex string
*/
setRegTxId(regTxId: string): void;
/**
* @param {string} hashPrevSubTx - Hex string
* @return {SubTxTransitionPayload}
*/
setHashPrevSubTx(hashPrevSubTx: string): SubTxTransitionPayload;
/**
* @param {string} hashSTPacket - Hex string
* @return {SubTxTransitionPayload}
*/
setHashSTPacket(hashSTPacket: string): SubTxTransitionPayload;
/**
* @param {number} creditFee
* @return {SubTxTransitionPayload}
*/
setCreditFee(creditFee: number): SubTxTransitionPayload;
/**
* Serializes payload to JSON
* @param [options]
* @param {boolean} options.skipSignature - skip signature part. Needed for creating new signature
* @return {TransitionPayloadJSON}
*/
toJSON(options?: {
skipSignature: boolean;
}): TransitionPayloadJSON;
/**
* Serialize payload to buffer
* @param [options]
* @param {boolean} options.skipSignature - skip signature part. Needed for creating new signature
* @return {Buffer}
*/
toBuffer(options?: {
skipSignature: boolean;
}): Buffer;
/**
* Copy payload instance
* @return {SubTxTransitionPayload}
*/
copy(): SubTxTransitionPayload;
version: number;
regTxId: string;
hashPrevSubTx: string;
creditFee: number;
hashSTPacket: string;
payloadSig?: string;
payloadSigSize?: string;
}