UNPKG

@nervosnetwork/ckb-sdk-utils

Version:

Utils module of @nervosnetwork/ckb-sdk-core

37 lines 1.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.serializeScript = exports.serializeArgs = exports.serializeHashType = exports.serializeCodeHash = void 0; const basic_js_1 = require("./basic.js"); const index_js_1 = require("../exceptions/index.js"); const serializeCodeHash = (codeHash) => (0, basic_js_1.serializeArray)(codeHash); exports.serializeCodeHash = serializeCodeHash; const serializeHashType = (hashType) => { if (hashType === 'data') return '0x00'; if (hashType === 'type') return '0x01'; if (hashType === 'data1') return '0x02'; if (hashType === 'data2') return '0x04'; throw new TypeError("Hash type must be either of 'data' or 'type'"); }; exports.serializeHashType = serializeHashType; const serializeArgs = (args) => (0, basic_js_1.serializeFixVec)(args); exports.serializeArgs = serializeArgs; const serializeScript = (script) => { if (!script) throw new index_js_1.ParameterRequiredException('Script'); const { codeHash = '', hashType, args = '' } = script; const serializedCodeHash = (0, exports.serializeCodeHash)(codeHash); const serializedHashType = (0, exports.serializeHashType)(hashType); const serializedArgs = (0, exports.serializeArgs)(args); const table = new Map([ ['codeHash', serializedCodeHash], ['hashType', serializedHashType], ['args', serializedArgs], ]); return (0, basic_js_1.serializeTable)(table); }; exports.serializeScript = serializeScript; //# sourceMappingURL=script.js.map