UNPKG

@aeternity/aepp-calldata

Version:
28 lines (27 loc) 1.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _hash = require("../utils/hash.cjs"); var _FateTypeError = _interopRequireDefault(require("../Errors/FateTypeError.cjs")); var _FateCalldata = _interopRequireDefault(require("../types/FateCalldata.cjs")); var _BaseDataFactory = _interopRequireDefault(require("./BaseDataFactory.cjs")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } class CallDataFactory extends _BaseDataFactory.default { supports({ name, _valueTypes }) { return 'calldata' === name; } create(type, value) { if (!Array.isArray(value)) { throw new _FateTypeError.default(type.name, `Fate calldata arguments must be an Array, got ${value} instead`); } const argsData = this.valueFactory.createMultiple(type.argumentTypes, value); const functionId = (0, _hash.symbolIdentifier)(type.functionName); return new _FateCalldata.default(functionId, type.argumentTypes, argsData); } } var _default = exports.default = CallDataFactory;