UNPKG

@dashevo/dashcore-lib

Version:

A pure and powerful JavaScript Dash library.

154 lines (145 loc) 4.71 kB
/** * @typedef {Object} ProUpRegTransactionPayloadJSON * @property {number} version * @property {number} [type] * @property {string} proTxHash * @property {string} pubKeyOperator * @property {string} keyIDVoting * @property {string} payoutAddress * @property {string} inputsHash * @property {string} [platformNodeID] Platform Node ID * @property {number} [platformP2PPort] Platform P2P port * @property {number} [platformHTTPPort] Platform HTTP port * @property {string} [payloadSig] */ export type ProUpRegTransactionPayloadJSON = { version: number; type?: number; proTxHash: string; pubKeyOperator: string; keyIDVoting: string; payoutAddress: string; inputsHash: string; platformNodeID?: string; platformP2PPort?: number; platformHTTPPort?: number; payloadSig?: string; }; /** * @class ProUpRegTxPayload * @property {number} version uint_16 2 Upgrade Provider Transaction version number. Currently set to 1. * @property {string} proTxHash uint256 32 The hash of the provider transaction * @property {number} [type] * @property {number} mode uint_16 2 Masternode mode * @property {string} pubKeyOperator BLSPubKey 48 The public key hash used for operational related signing (network messages, ProTx updates) * @property {string} keyIDVoting CKeyID 20 The public key hash used for voting. * @property {number} scriptPayoutSize compactSize uint 1-9 Size of the Payee Script. * @property {string} scriptPayout Script Variable Payee script (p2pkh/p2sh) * @property {string} inputsHash uint256 32 Hash of all the outpoints of the transaction inputs * @property {number} payloadSigSize compactSize uint 1-9 Size of the Signature * @property {string} [platformNodeID] Platform Node ID * @property {number} [platformP2PPort] Platform P2P port * @property {number} [platformHTTPPort] Platform HTTP port@ * @property {string} payloadSig vector Variable Signature of the hash of the ProTx fields. Signed by the Owner. * * @param {ProUpRegTransactionPayloadJSON} [payloadJSON] * @constructor */ export class ProUpRegTxPayload { constructor(payloadJSON?: ProUpRegTransactionPayloadJSON); /** * Parses raw ProUpRegTxPayload payload * @param {Buffer} rawPayload * @return {ProUpRegTxPayload} */ static fromBuffer(rawPayload: Buffer): ProUpRegTxPayload; /** * Creates new instance of ProUpRegTxPayload payload from JSON * @param {string|ProUpRegTransactionPayloadJSON} payloadJSON * @return {ProUpRegTxPayload} */ static fromJSON( payloadJSON: string | ProUpRegTransactionPayloadJSON ): ProUpRegTxPayload; /** * Validates ProUpRegTxPayload payload data * @return {boolean} */ validate(): boolean; /** * Serializes ProUpRegTxPayload payload to JSON * @param [options] * @param [options.skipSignature] - skip signature part. Needed for creating new signature * @param [options.network] * @return {ProUpRegTransactionPayloadJSON} */ toJSON(options?: { skipSignature?: any; network?: any; }): ProUpRegTransactionPayloadJSON; /** * Serializes ProUpRegTxPayload 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 {ProUpRegTxPayload} */ copy(): ProUpRegTxPayload; /** * uint_16 2 Upgrade Provider Transaction version number. Currently set to 1. */ version: number; type?: number; /** * uint256 32 The hash of the provider transaction */ proTxHash: string; /** * uint_16 2 Masternode mode */ mode: number; /** * BLSPubKey 48 The public key hash used for operational related signing (network messages, ProTx updates) */ pubKeyOperator: string; /** * CKeyID 20 The public key hash used for voting. */ keyIDVoting: string; /** * compactSize uint 1-9 Size of the Payee Script. */ scriptPayoutSize: number; /** * Script Variable Payee script (p2pkh/p2sh) */ scriptPayout: string; /** * uint256 32 Hash of all the outpoints of the transaction inputs */ inputsHash: string; /** * compactSize uint 1-9 Size of the Signature */ payloadSigSize: number; /* * Platform Node ID */ platformNodeID?: string; /* * Platform P2P port */ platformP2PPort?: number; /* * Platform HTTP port */ platformHTTPPort?: number; /** * vector Variable Signature of the hash of the ProTx fields. Signed by the Owner. */ payloadSig: string; }