UNPKG

stellar-plus

Version:

beta version of stellar-plus, an all-in-one sdk for the Stellar blockchain

26 lines (25 loc) 1.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ExtractInvocationOutputPlugin = void 0; const tslib_1 = require("tslib"); const types_1 = require("../../../../../../stellar-plus/core/pipelines/soroban-get-transaction/types"); class ExtractInvocationOutputPlugin { constructor(spec, method) { this.type = types_1.SorobanGetTransactionPipelineType.id; this.name = 'ExtractInvocationOutputPlugin'; this.spec = spec; this.method = method; } postProcess(item, _meta) { return tslib_1.__awaiter(this, void 0, void 0, function* () { var _a; const { response, output } = item; const value = this.spec.funcResToNative(this.method, (_a = response.resultMetaXdr.v3().sorobanMeta()) === null || _a === void 0 ? void 0 : _a.returnValue().toXDR('base64')); const pluginOutput = { value: String(value), }; return Object.assign(Object.assign({}, item), { output: Object.assign(Object.assign({}, output), pluginOutput) }); }); } } exports.ExtractInvocationOutputPlugin = ExtractInvocationOutputPlugin;