@axerunners/axecore-lib
Version:
A pure and powerful JavaScript Axe library.
122 lines (110 loc) • 3.46 kB
TypeScript
/**
* @typedef {Object} SubTxResetKeyPayloadJSON
* @property {number} version - payload version
* @property {string} regTxHash
* @property {string} hashPrevSubTx
* @property {number} creditFee - fee to pay for transaction (haks)
* @property {number} newPubKeySize - length of the new public key (not present in implementation)
* @property {Buffer} newPubKey
* @property {number} payloadSigSize - length of the signature (payloadSig)
* @property {string} payloadSig - signature of most recent pubkey
*/
export type SubTxResetKeyPayloadJSON = {
version: number;
regTxHash: string;
hashPrevSubTx: string;
creditFee: number;
newPubKeySize: number;
newPubKey: Buffer;
payloadSigSize: number;
payloadSig: string;
};
/**
* @class SubTxResetKeyPayload
* @property {number} version - payload version
* @property {string} regTxHash
* @property {string} hashPrevSubTx
* @property {number} creditFee - fee to pay for transaction (haks)
* @property {number} newPubKeySize - length of the new public key (not present in implementation)
* @property {Buffer} newPubKey
* @property {number} payloadSigSize - length of the signature (payloadSig)
* @property {string} payloadSig - signature of most recent pubkey
*/
export class SubTxResetKeyPayload {
/**
* Parse raw transition payload
* @param {Buffer} rawPayload
* @return {SubTxResetKeyPayload}
*/
static fromBuffer(rawPayload: Buffer): SubTxResetKeyPayload;
/**
* Create new instance of payload from JSON
* @param {string|SubTxResetKeyPayloadJSON} payloadJson
* @return {SubTxResetKeyPayload}
*/
static fromJSON(payloadJson: string | SubTxResetKeyPayloadJSON): SubTxResetKeyPayload;
/**
* Validates payload data
* @return {boolean}
*/
validate(): boolean;
/**
* @param {string} regTxHash
* @return {SubTxResetKeyPayload}
*/
setRegTxHash(regTxHash: string): SubTxResetKeyPayload;
/**
* @param {string} hashPrevSubTx
* @return {SubTxResetKeyPayload}
*/
setPrevSubTxHash(hashPrevSubTx: string): SubTxResetKeyPayload;
/**
* @param {number} haks
* @return {SubTxResetKeyPayload}
*/
setCreditFee(haks: number): SubTxResetKeyPayload;
/**
* @param {Buffer} pubKeyId
* @return {SubTxResetKeyPayload}
*/
setNewPubKeyId(pubKeyId: Buffer): SubTxResetKeyPayload;
/**
* Extracts and sets pubKeyId from private key
* @param {string|PrivateKey} privateKey
* @return {SubTxResetKeyPayload}
*/
setPubKeyIdFromPrivateKey(privateKey: string | PrivateKey): SubTxResetKeyPayload;
/**
* Serializes payload to JSON
* @return {{version: *, regTxHash: *, hashPrevSubTx: *, creditFee: *, newPubKeySize: *, newPubKey: *, payloadSigSize: *, payloadSig: *}}
*/
toJSON(): any;
/**
* Serialize payload to buffer
* @return {Buffer}
*/
toBuffer(): Buffer;
/**
* payload version
*/
version: number;
regTxHash: string;
hashPrevSubTx: string;
/**
* fee to pay for transaction (haks)
*/
creditFee: number;
/**
* length of the new public key (not present in implementation)
*/
newPubKeySize: number;
newPubKey: Buffer;
/**
* length of the signature (payloadSig)
*/
payloadSigSize: number;
/**
* signature of most recent pubkey
*/
payloadSig: string;
}