@muirglacier/jellyfish-transaction
Version:
A collection of TypeScript + JavaScript tools and libraries for DeFi Blockchain developers to build decentralized finance for Bitcoin
46 lines • 1.83 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CResignMasternode = exports.CCreateMasternode = void 0;
const jellyfish_buffer_1 = require("@muirglacier/jellyfish-buffer");
/**
* Composable CreateMasternode, C stands for Composable.
* Immutable by design, bi-directional fromBuffer, toBuffer deep composer.
*/
class CCreateMasternode extends jellyfish_buffer_1.ComposableBuffer {
composers(cmn) {
return [
jellyfish_buffer_1.ComposableBuffer.uInt8(() => cmn.operatorType, v => cmn.operatorType = v),
jellyfish_buffer_1.ComposableBuffer.hex(20, () => cmn.operatorPubKeyHash, v => cmn.operatorPubKeyHash = v),
{
fromBuffer: (buffer) => {
if (buffer.remaining() > 0) {
cmn.timelock = buffer.readUInt16LE();
}
},
toBuffer: (buffer) => {
if (cmn.timelock !== undefined) {
buffer.writeUInt16LE(cmn.timelock);
}
}
}
];
}
}
exports.CCreateMasternode = CCreateMasternode;
CCreateMasternode.OP_CODE = 0x43; // 'C'
CCreateMasternode.OP_NAME = 'OP_DEFI_TX_CREATE_MASTER_NODE';
/**
* Composable ResignMasternode, C stands for Composable.
* Immutable by design, bi-directional fromBuffer, toBuffer deep composer.
*/
class CResignMasternode extends jellyfish_buffer_1.ComposableBuffer {
composers(cmn) {
return [
jellyfish_buffer_1.ComposableBuffer.hexBEBufferLE(32, () => cmn.nodeId, v => cmn.nodeId = v)
];
}
}
exports.CResignMasternode = CResignMasternode;
CResignMasternode.OP_CODE = 0x52; // 'R'
CResignMasternode.OP_NAME = 'OP_DEFI_TX_RESIGN_MASTER_NODE';
//# sourceMappingURL=dftx_masternode.js.map