UNPKG

@aeternity/aepp-calldata

Version:
36 lines (35 loc) 1.61 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _rlp = _interopRequireDefault(require("rlp")); var _BaseSerializer = _interopRequireDefault(require("./BaseSerializer.cjs")); var _BytecodeSerializer = _interopRequireDefault(require("./BytecodeSerializer.cjs")); var _IntSerializer = _interopRequireDefault(require("./IntSerializer.cjs")); var _int2ByteArray = require("../utils/int2ByteArray.cjs"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } class ContractBytecodeSerializer extends _BaseSerializer.default { constructor(globalSerializer) { super(); this._bytecodeSerializer = new _BytecodeSerializer.default(globalSerializer); this._intSerializer = new _IntSerializer.default(); } deserializeStream(data) { const buffer = new Uint8Array(data); const [fateInt, remainder] = this._intSerializer.deserializeStream(buffer.slice(1)); const overallSize = Number(fateInt); const decoded = _rlp.default.decode(remainder.slice(0, overallSize)); const stringEncoder = new TextDecoder(); return [{ tag: (0, _int2ByteArray.byteArray2Int)(decoded[0]), vsn: (0, _int2ByteArray.byteArray2Int)(decoded[1]), sourceHash: (0, _int2ByteArray.byteArray2Hex)(decoded[2]), aevmTypeInfo: decoded[3], bytecode: this._bytecodeSerializer.deserialize(decoded[4]), compilerVersion: stringEncoder.decode(decoded[5]), payable: Boolean(decoded[6][0]) }, remainder.slice(overallSize)]; } } var _default = exports.default = ContractBytecodeSerializer;