UNPKG

@protokol/guardian-crypto

Version:

Transaction Builders For Guardian Transaction Types

38 lines 1.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.deserializePermissions = exports.serializePermissions = exports.calculatePermissionsLength = void 0; const calculatePermissionsLength = (permissions) => { let permissionsLength = 1; if (permissions) { permissionsLength += permissions.length * 8; } return permissionsLength; }; exports.calculatePermissionsLength = calculatePermissionsLength; const serializePermissions = (buffer, permissions) => { if (permissions) { buffer.writeByte(permissions.length); for (const permission of permissions) { buffer.writeUint32(permission.transactionType); buffer.writeUint32(permission.transactionTypeGroup); } } else { buffer.writeByte(0); } }; exports.serializePermissions = serializePermissions; const deserializePermissions = (buf) => { const numOfPermissions = buf.readUint8(); if (!numOfPermissions) return; const permissions = []; for (let i = 0; i < numOfPermissions; i++) { const transactionType = buf.readUInt32(); const transactionTypeGroup = buf.readUInt32(); permissions.push({ transactionType, transactionTypeGroup }); } return permissions; }; exports.deserializePermissions = deserializePermissions; //# sourceMappingURL=serde.js.map