UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

23 lines (21 loc) 3.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const constants_1 = require("../../constants"); const Helper_1 = require("../Helper"); class InvocationIsCallerHelper extends Helper_1.Helper { emit(sb, node, optionsIn) { if (!optionsIn.pushValue) { return; } const options = sb.pushValueOptions(optionsIn); sb.emitHelper(node, options, sb.helpers.getGlobalProperty({ property: constants_1.GlobalProperty.CallingScriptHash })); sb.emitSysCall(node, 'System.ExecutionEngine.GetEntryScriptHash'); sb.emitOp(node, 'EQUAL'); sb.emitSysCall(node, 'Neo.Runtime.GetTrigger'); sb.emitPushInt(node, 0x00); sb.emitOp(node, 'NUMEQUAL'); sb.emitOp(node, 'BOOLOR'); } } exports.InvocationIsCallerHelper = InvocationIsCallerHelper; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkludm9jYXRpb25Jc0NhbGxlckhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLCtDQUFpRDtBQUdqRCxzQ0FBbUM7QUFJbkMsTUFBYSx3QkFBeUIsU0FBUSxlQUFNO0lBQzNDLElBQUksQ0FBQyxFQUFpQixFQUFFLElBQWEsRUFBRSxTQUF1QjtRQUNuRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRTtZQUN4QixPQUFPO1NBQ1I7UUFFRCxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFL0MsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsRUFBRSxRQUFRLEVBQUUsMEJBQWMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUUzRyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSwyQ0FBMkMsQ0FBQyxDQUFDO1FBRWxFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXpCLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLHdCQUF3QixDQUFDLENBQUM7UUFFL0MsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFM0IsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFNUIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDNUIsQ0FBQztDQUNGO0FBdEJELDREQXNCQyIsImZpbGUiOiJuZW8tb25lLXNtYXJ0LWNvbnRyYWN0LWNvbXBpbGVyL3NyYy9jb21waWxlL2hlbHBlci9jb250cmFjdC9JbnZvY2F0aW9uSXNDYWxsZXJIZWxwZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBHbG9iYWxQcm9wZXJ0eSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBTY3JpcHRCdWlsZGVyIH0gZnJvbSAnLi4vLi4vc2InO1xuaW1wb3J0IHsgVmlzaXRPcHRpb25zIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgSGVscGVyIH0gZnJvbSAnLi4vSGVscGVyJztcblxuLy8gSW5wdXQ6IFtdXG4vLyBPdXRwdXQ6IFtib29sZWFuXVxuZXhwb3J0IGNsYXNzIEludm9jYXRpb25Jc0NhbGxlckhlbHBlciBleHRlbmRzIEhlbHBlciB7XG4gIHB1YmxpYyBlbWl0KHNiOiBTY3JpcHRCdWlsZGVyLCBub2RlOiB0cy5Ob2RlLCBvcHRpb25zSW46IFZpc2l0T3B0aW9ucyk6IHZvaWQge1xuICAgIGlmICghb3B0aW9uc0luLnB1c2hWYWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG9wdGlvbnMgPSBzYi5wdXNoVmFsdWVPcHRpb25zKG9wdGlvbnNJbik7XG4gICAgLy8gW2J1ZmZlcl1cbiAgICBzYi5lbWl0SGVscGVyKG5vZGUsIG9wdGlvbnMsIHNiLmhlbHBlcnMuZ2V0R2xvYmFsUHJvcGVydHkoeyBwcm9wZXJ0eTogR2xvYmFsUHJvcGVydHkuQ2FsbGluZ1NjcmlwdEhhc2ggfSkpO1xuICAgIC8vIFtidWZmZXIsIGJ1ZmZlcl1cbiAgICBzYi5lbWl0U3lzQ2FsbChub2RlLCAnU3lzdGVtLkV4ZWN1dGlvbkVuZ2luZS5HZXRFbnRyeVNjcmlwdEhhc2gnKTtcbiAgICAvLyBbYm9vbGVhbl1cbiAgICBzYi5lbWl0T3Aobm9kZSwgJ0VRVUFMJyk7XG4gICAgLy8gW3RyaWdnZXIsIGJvb2xlYW5dXG4gICAgc2IuZW1pdFN5c0NhbGwobm9kZSwgJ05lby5SdW50aW1lLkdldFRyaWdnZXInKTtcbiAgICAvLyBbbnVtYmVyLCB0cmlnZ2VyLCBib29sZWFuXVxuICAgIHNiLmVtaXRQdXNoSW50KG5vZGUsIDB4MDApO1xuICAgIC8vIFtib29sZWFuLCBib29sZWFuXVxuICAgIHNiLmVtaXRPcChub2RlLCAnTlVNRVFVQUwnKTtcbiAgICAvLyBbYm9vbGVhbl1cbiAgICBzYi5lbWl0T3Aobm9kZSwgJ0JPT0xPUicpO1xuICB9XG59XG4iXX0=