UNPKG

@aeternity/aepp-calldata

Version:
27 lines (26 loc) 1.45 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _FateTuple = _interopRequireDefault(require("../types/FateTuple.cjs")); var _FateCalldata = _interopRequireDefault(require("../types/FateCalldata.cjs")); var _FateByteArray = _interopRequireDefault(require("../types/FateByteArray.cjs")); var _BaseSerializer = _interopRequireDefault(require("./BaseSerializer.cjs")); var _FateTypes = require("../FateTypes.cjs"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } class CalldataSerializer extends _BaseSerializer.default { serialize(calldata) { const funcBytes = new _FateByteArray.default(calldata.functionId); const argsTuple = new _FateTuple.default(calldata.argTypes, calldata.args); const calldataTuple = new _FateTuple.default([funcBytes.type, argsTuple.type], [funcBytes, argsTuple]); return this.globalSerializer.serialize(calldataTuple); } deserialize(data, typeInfo) { const calldataType = (0, _FateTypes.FateTypeTuple)([(0, _FateTypes.FateTypeByteArray)(), (0, _FateTypes.FateTypeTuple)(typeInfo.argumentTypes)]); const [calldataTuple] = this.globalSerializer.deserializeStream(data, calldataType); const [functionId, argsTuple] = calldataTuple.items; return new _FateCalldata.default(functionId.valueOf(), argsTuple.valueTypes, argsTuple.items); } } var _default = exports.default = CalldataSerializer;