@dashevo/dashcore-lib
Version:
A pure and powerful JavaScript Dash library.
100 lines (91 loc) • 2.92 kB
TypeScript
/**
* @typedef {Object} ProUpRevTransactionPayloadJSON
* @property {number} version
* @property {string} proTxHash
* @property {number} reason
* @property {string} inputsHash
* @property {string} payloadSig
*/
export type ProUpRevTransactionPayloadJSON = {
version: number;
proTxHash: string;
reason: number;
inputsHash: string;
payloadSig: string;
};
/**
* @class ProUpRevTxPayload
* @property {number} version uint_16 2 ProUpRevTx version number. Currently set to 1.
* @property {string} proTxHash uint256 32 The hash of the provider transaction
* @property {number} reason uint_16 2 The reason for revoking the key.
* @property {string} inputsHash uint256 32 Hash of all the outpoints of the transaction inputs
* @property {string} payloadSig BLSSig Signature of the hash of the ProTx fields. Signed by the Operator.
*/
export class ProUpRevTxPayload {
/**
* Serializes ProUpRevTxPayload payload
* @param {ProUpRevTransactionPayloadJSON} transitionPayloadJSON
* @return {Buffer} serialized payload
*/
static serializeJSONToBuffer(
transitionPayloadJSON: ProUpRevTransactionPayloadJSON
): Buffer;
/**
* Parses raw ProUpRevTxPayload payload
* @param {Buffer} rawPayloadBuffer
* @return {ProUpRevTxPayload}
*/
static fromBuffer(rawPayloadBuffer: Buffer): ProUpRevTxPayload;
/**
* Creates new instance of ProUpRevTxPayload payload from JSON
* @param {string|ProUpRevTransactionPayloadJSON} payloadJSON
* @return {ProUpRevTxPayload}
*/
static fromJSON(
payloadJSON: string | ProUpRevTransactionPayloadJSON
): ProUpRevTxPayload;
/**
* Validates ProUpRevTxPayload payload data
* @return {boolean}
*/
validate(): boolean;
/**
* Serializes ProUpRevTxPayload payload to JSON
* @param [options]
* @param {boolean} options.skipSignature - skip signature part. Needed for creating new signature
* @return {ProUpRevTransactionPayloadJSON}
*/
toJSON(options?: { skipSignature: boolean }): ProUpRevTransactionPayloadJSON;
/**
* Serializes ProUpRevTxPayload 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 {ProUpRevTxPayload}
*/
copy(): ProUpRevTxPayload;
/**
* uint_16 2 ProUpRevTx version number. Currently set to 1.
*/
version: number;
/**
* uint256 32 The hash of the provider transaction
*/
proTxHash: string;
/**
* uint_16 2 The reason for revoking the key.
*/
reason: number;
/**
* uint256 32 Hash of all the outpoints of the transaction inputs
*/
inputsHash: string;
/**
* BLSSig Signature of the hash of the ProTx fields. Signed by the Operator.
*/
payloadSig: string;
}