stellar-plus
Version:
beta version of stellar-plus, an all-in-one sdk for the Stellar blockchain
26 lines (25 loc) • 1.17 kB
JavaScript
;
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;