@neo-one/node-blockchain-esnext-esm
Version:
NEO•ONE NEO blockchain implementation.
31 lines (29 loc) • 1.05 kB
JavaScript
import { utils, VMState } from '@neo-one/client-common-esnext-esm';
import { InvocationResultError, InvocationResultSuccess, } from '@neo-one/node-core-esnext-esm';
export const wrapExecuteScripts = async (execute) => {
try {
const result = await execute();
if (result.state === VMState.Halt) {
return new InvocationResultSuccess({
gasConsumed: result.gasConsumed,
gasCost: result.gasCost,
stack: result.stack,
});
}
return new InvocationResultError({
gasConsumed: result.gasConsumed,
gasCost: result.gasCost,
stack: result.stack,
message: result.errorMessage === undefined ? 'Unknown Error' : result.errorMessage,
});
}
catch (error) {
return new InvocationResultError({
gasConsumed: utils.ZERO,
gasCost: utils.ZERO,
stack: [],
message: error.message,
});
}
};
//# sourceMappingURL=wrapExecuteScripts.js.map