@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
28 lines (26 loc) • 4.46 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const constants_1 = require("../../../constants");
const constants_2 = require("../../constants");
const Helper_1 = require("../Helper");
class SetProcessedTransactionHelper extends Helper_1.Helper {
emit(sb, node, optionsIn) {
const options = sb.pushValueOptions(optionsIn);
sb.emitHelper(node, options, sb.helpers.createStructuredStorage({
prefix: constants_1.ContractPropertyName.processedTransactions,
type: constants_2.Types.SetStorage,
}));
sb.emitSysCall(node, 'System.ExecutionEngine.GetScriptContainer');
sb.emitSysCall(node, 'Neo.Transaction.GetHash');
sb.emitHelper(node, options, sb.helpers.wrapBuffer);
sb.emitPushBoolean(node, true);
sb.emitHelper(node, options, sb.helpers.wrapBoolean);
sb.emitHelper(node, options, sb.helpers.setStructuredStorage({
type: constants_2.Types.SetStorage,
keyType: undefined,
knownKeyType: constants_2.Types.Buffer,
}));
}
}
exports.SetProcessedTransactionHelper = SetProcessedTransactionHelper;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNldFByb2Nlc3NlZFRyYW5zYWN0aW9uSGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0Esa0RBQTBEO0FBQzFELCtDQUF3QztBQUd4QyxzQ0FBbUM7QUFJbkMsTUFBYSw2QkFBOEIsU0FBUSxlQUFNO0lBQ2hELElBQUksQ0FBQyxFQUFpQixFQUFFLElBQWEsRUFBRSxTQUF1QjtRQUNuRSxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFHL0MsRUFBRSxDQUFDLFVBQVUsQ0FDWCxJQUFJLEVBQ0osT0FBTyxFQUNQLEVBQUUsQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUM7WUFDakMsTUFBTSxFQUFFLGdDQUFvQixDQUFDLHFCQUFxQjtZQUNsRCxJQUFJLEVBQUUsaUJBQUssQ0FBQyxVQUFVO1NBQ3ZCLENBQUMsQ0FDSCxDQUFDO1FBRUYsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsMkNBQTJDLENBQUMsQ0FBQztRQUVsRSxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO1FBRWhELEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXBELEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRS9CLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXJELEVBQUUsQ0FBQyxVQUFVLENBQ1gsSUFBSSxFQUNKLE9BQU8sRUFDUCxFQUFFLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDO1lBQzlCLElBQUksRUFBRSxpQkFBSyxDQUFDLFVBQVU7WUFDdEIsT0FBTyxFQUFFLFNBQVM7WUFDbEIsWUFBWSxFQUFFLGlCQUFLLENBQUMsTUFBTTtTQUMzQixDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQWxDRCxzRUFrQ0MiLCJmaWxlIjoibmVvLW9uZS1zbWFydC1jb250cmFjdC1jb21waWxlci9zcmMvY29tcGlsZS9oZWxwZXIvY29udHJhY3QvU2V0UHJvY2Vzc2VkVHJhbnNhY3Rpb25IZWxwZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBDb250cmFjdFByb3BlcnR5TmFtZSB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBUeXBlcyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBTY3JpcHRCdWlsZGVyIH0gZnJvbSAnLi4vLi4vc2InO1xuaW1wb3J0IHsgVmlzaXRPcHRpb25zIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgSGVscGVyIH0gZnJvbSAnLi4vSGVscGVyJztcblxuLy8gSW5wdXQ6IFtdXG4vLyBPdXRwdXQ6IFtdXG5leHBvcnQgY2xhc3MgU2V0UHJvY2Vzc2VkVHJhbnNhY3Rpb25IZWxwZXIgZXh0ZW5kcyBIZWxwZXIge1xuICBwdWJsaWMgZW1pdChzYjogU2NyaXB0QnVpbGRlciwgbm9kZTogdHMuTm9kZSwgb3B0aW9uc0luOiBWaXNpdE9wdGlvbnMpOiB2b2lkIHtcbiAgICBjb25zdCBvcHRpb25zID0gc2IucHVzaFZhbHVlT3B0aW9ucyhvcHRpb25zSW4pO1xuXG4gICAgLy8gW3ZhbF1cbiAgICBzYi5lbWl0SGVscGVyKFxuICAgICAgbm9kZSxcbiAgICAgIG9wdGlvbnMsXG4gICAgICBzYi5oZWxwZXJzLmNyZWF0ZVN0cnVjdHVyZWRTdG9yYWdlKHtcbiAgICAgICAgcHJlZml4OiBDb250cmFjdFByb3BlcnR5TmFtZS5wcm9jZXNzZWRUcmFuc2FjdGlvbnMsXG4gICAgICAgIHR5cGU6IFR5cGVzLlNldFN0b3JhZ2UsXG4gICAgICB9KSxcbiAgICApO1xuICAgIC8vIFt0cmFuc2FjdGlvbiwgdmFsXVxuICAgIHNiLmVtaXRTeXNDYWxsKG5vZGUsICdTeXN0ZW0uRXhlY3V0aW9uRW5naW5lLkdldFNjcmlwdENvbnRhaW5lcicpO1xuICAgIC8vIFtoYXNoLCB2YWxdXG4gICAgc2IuZW1pdFN5c0NhbGwobm9kZSwgJ05lby5UcmFuc2FjdGlvbi5HZXRIYXNoJyk7XG4gICAgLy8gW2hhc2hWYWwsIHZhbF1cbiAgICBzYi5lbWl0SGVscGVyKG5vZGUsIG9wdGlvbnMsIHNiLmhlbHBlcnMud3JhcEJ1ZmZlcik7XG4gICAgLy8gW2Jvb2xlYW4sIGhhc2hWYWwsIHZhbF1cbiAgICBzYi5lbWl0UHVzaEJvb2xlYW4obm9kZSwgdHJ1ZSk7XG4gICAgLy8gW3ZhbCwgaGFzaFZhbCwgdmFsXVxuICAgIHNiLmVtaXRIZWxwZXIobm9kZSwgb3B0aW9ucywgc2IuaGVscGVycy53cmFwQm9vbGVhbik7XG4gICAgLy8gW11cbiAgICBzYi5lbWl0SGVscGVyKFxuICAgICAgbm9kZSxcbiAgICAgIG9wdGlvbnMsXG4gICAgICBzYi5oZWxwZXJzLnNldFN0cnVjdHVyZWRTdG9yYWdlKHtcbiAgICAgICAgdHlwZTogVHlwZXMuU2V0U3RvcmFnZSxcbiAgICAgICAga2V5VHlwZTogdW5kZWZpbmVkLFxuICAgICAgICBrbm93bktleVR5cGU6IFR5cGVzLkJ1ZmZlcixcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==