UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

30 lines (28 loc) 4.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const constants_1 = require("../../constants"); const Helper_1 = require("../Helper"); class IsTransactionHelperBase extends Helper_1.Helper { emit(sb, node, optionsIn) { const options = sb.pushValueOptions(optionsIn); sb.emitHelper(node, options, sb.helpers.createStructuredStorage({ prefix: this.prefix, type: constants_1.Types.SetStorage, })); sb.emitOp(node, 'SWAP'); sb.emitHelper(node, options, sb.helpers.wrapBuffer); sb.emitHelper(node, options, sb.helpers.hasStructuredStorage({ type: constants_1.Types.SetStorage, keyType: undefined, knownKeyType: constants_1.Types.Buffer, })); if (optionsIn.pushValue) { sb.emitHelper(node, options, sb.helpers.unwrapBoolean); } else { sb.emitOp(node, 'DROP'); } } } exports.IsTransactionHelperBase = IsTransactionHelperBase; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIklzVHJhbnNhY3Rpb25IZWxwZXJCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsK0NBQXdDO0FBR3hDLHNDQUFtQztBQUluQyxNQUFzQix1QkFBd0IsU0FBUSxlQUFNO0lBR25ELElBQUksQ0FBQyxFQUFpQixFQUFFLElBQWEsRUFBRSxTQUF1QjtRQUNuRSxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFHL0MsRUFBRSxDQUFDLFVBQVUsQ0FDWCxJQUFJLEVBQ0osT0FBTyxFQUNQLEVBQUUsQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUM7WUFDakMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLElBQUksRUFBRSxpQkFBSyxDQUFDLFVBQVU7U0FDdkIsQ0FBQyxDQUNILENBQUM7UUFFRixFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUV4QixFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVwRCxFQUFFLENBQUMsVUFBVSxDQUNYLElBQUksRUFDSixPQUFPLEVBQ1AsRUFBRSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQztZQUM5QixJQUFJLEVBQUUsaUJBQUssQ0FBQyxVQUFVO1lBQ3RCLE9BQU8sRUFBRSxTQUFTO1lBQ2xCLFlBQVksRUFBRSxpQkFBSyxDQUFDLE1BQU07U0FDM0IsQ0FBQyxDQUNILENBQUM7UUFFRixJQUFJLFNBQVMsQ0FBQyxTQUFTLEVBQUU7WUFFdkIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDeEQ7YUFBTTtZQUVMLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztDQUNGO0FBdENELDBEQXNDQyIsImZpbGUiOiJuZW8tb25lLXNtYXJ0LWNvbnRyYWN0LWNvbXBpbGVyL3NyYy9jb21waWxlL2hlbHBlci9jb250cmFjdC9Jc1RyYW5zYWN0aW9uSGVscGVyQmFzZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0cyBmcm9tICd0eXBlc2NyaXB0JztcbmltcG9ydCB7IFR5cGVzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFNjcmlwdEJ1aWxkZXIgfSBmcm9tICcuLi8uLi9zYic7XG5pbXBvcnQgeyBWaXNpdE9wdGlvbnMgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBIZWxwZXIgfSBmcm9tICcuLi9IZWxwZXInO1xuXG4vLyBJbnB1dDogW2J1ZmZlcl1cbi8vIE91dHB1dDogW2Jvb2xlYW5dXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSXNUcmFuc2FjdGlvbkhlbHBlckJhc2UgZXh0ZW5kcyBIZWxwZXIge1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVhZG9ubHkgcHJlZml4OiBzdHJpbmc7XG5cbiAgcHVibGljIGVtaXQoc2I6IFNjcmlwdEJ1aWxkZXIsIG5vZGU6IHRzLk5vZGUsIG9wdGlvbnNJbjogVmlzaXRPcHRpb25zKTogdm9pZCB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHNiLnB1c2hWYWx1ZU9wdGlvbnMob3B0aW9uc0luKTtcblxuICAgIC8vIFt2YWwsIGJ1ZmZlcl1cbiAgICBzYi5lbWl0SGVscGVyKFxuICAgICAgbm9kZSxcbiAgICAgIG9wdGlvbnMsXG4gICAgICBzYi5oZWxwZXJzLmNyZWF0ZVN0cnVjdHVyZWRTdG9yYWdlKHtcbiAgICAgICAgcHJlZml4OiB0aGlzLnByZWZpeCxcbiAgICAgICAgdHlwZTogVHlwZXMuU2V0U3RvcmFnZSxcbiAgICAgIH0pLFxuICAgICk7XG4gICAgLy8gW2J1ZmZlclZhbCwgdmFsXVxuICAgIHNiLmVtaXRPcChub2RlLCAnU1dBUCcpO1xuICAgIC8vIFtoYXNoVmFsLCB2YWxdXG4gICAgc2IuZW1pdEhlbHBlcihub2RlLCBvcHRpb25zLCBzYi5oZWxwZXJzLndyYXBCdWZmZXIpO1xuICAgIC8vIFt2YWxdXG4gICAgc2IuZW1pdEhlbHBlcihcbiAgICAgIG5vZGUsXG4gICAgICBvcHRpb25zLFxuICAgICAgc2IuaGVscGVycy5oYXNTdHJ1Y3R1cmVkU3RvcmFnZSh7XG4gICAgICAgIHR5cGU6IFR5cGVzLlNldFN0b3JhZ2UsXG4gICAgICAgIGtleVR5cGU6IHVuZGVmaW5lZCxcbiAgICAgICAga25vd25LZXlUeXBlOiBUeXBlcy5CdWZmZXIsXG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgaWYgKG9wdGlvbnNJbi5wdXNoVmFsdWUpIHtcbiAgICAgIC8vIFtib29sZWFuXVxuICAgICAgc2IuZW1pdEhlbHBlcihub2RlLCBvcHRpb25zLCBzYi5oZWxwZXJzLnVud3JhcEJvb2xlYW4pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBbXVxuICAgICAgc2IuZW1pdE9wKG5vZGUsICdEUk9QJyk7XG4gICAgfVxuICB9XG59XG4iXX0=