UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

20 lines (18 loc) 3.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const DiagnosticCode_1 = require("../../../../DiagnosticCode"); const DiagnosticMessage_1 = require("../../../../DiagnosticMessage"); const BuiltinMemberCall_1 = require("../../BuiltinMemberCall"); class PublicKeyFrom extends BuiltinMemberCall_1.BuiltinMemberCall { emitCall(sb, _func, node, options) { const address = sb.context.analysis.extractLiteralPublicKey(node); if (address === undefined) { sb.context.reportError(node, DiagnosticCode_1.DiagnosticCode.InvalidLiteral, DiagnosticMessage_1.DiagnosticMessage.InvalidPublicKey); return; } sb.emitPushBuffer(node, address); sb.emitHelper(node, options, sb.helpers.wrapBuffer); } } exports.PublicKeyFrom = PublicKeyFrom; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZyb20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSwrREFBNEQ7QUFDNUQscUVBQWtFO0FBR2xFLCtEQUE0RDtBQUk1RCxNQUFhLGFBQWMsU0FBUSxxQ0FBaUI7SUFDM0MsUUFBUSxDQUNiLEVBQWlCLEVBQ2pCLEtBQTJCLEVBQzNCLElBQXVCLEVBQ3ZCLE9BQXFCO1FBRXJCLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xFLElBQUksT0FBTyxLQUFLLFNBQVMsRUFBRTtZQUN6QixFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsK0JBQWMsQ0FBQyxjQUFjLEVBQUUscUNBQWlCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUVoRyxPQUFPO1NBQ1I7UUFHRCxFQUFFLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUVqQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0Y7QUFuQkQsc0NBbUJDIiwiZmlsZSI6Im5lby1vbmUtc21hcnQtY29udHJhY3QtY29tcGlsZXIvc3JjL2NvbXBpbGUvYnVpbHRpbnMvY29udHJhY3QvcHVibGljS2V5L2Zyb20uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBEaWFnbm9zdGljQ29kZSB9IGZyb20gJy4uLy4uLy4uLy4uL0RpYWdub3N0aWNDb2RlJztcbmltcG9ydCB7IERpYWdub3N0aWNNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vLi4vRGlhZ25vc3RpY01lc3NhZ2UnO1xuaW1wb3J0IHsgU2NyaXB0QnVpbGRlciB9IGZyb20gJy4uLy4uLy4uL3NiJztcbmltcG9ydCB7IFZpc2l0T3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEJ1aWx0aW5NZW1iZXJDYWxsIH0gZnJvbSAnLi4vLi4vQnVpbHRpbk1lbWJlckNhbGwnO1xuaW1wb3J0IHsgTWVtYmVyTGlrZUV4cHJlc3Npb24gfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZSBleHBvcnQtbmFtZVxuZXhwb3J0IGNsYXNzIFB1YmxpY0tleUZyb20gZXh0ZW5kcyBCdWlsdGluTWVtYmVyQ2FsbCB7XG4gIHB1YmxpYyBlbWl0Q2FsbChcbiAgICBzYjogU2NyaXB0QnVpbGRlcixcbiAgICBfZnVuYzogTWVtYmVyTGlrZUV4cHJlc3Npb24sXG4gICAgbm9kZTogdHMuQ2FsbEV4cHJlc3Npb24sXG4gICAgb3B0aW9uczogVmlzaXRPcHRpb25zLFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBhZGRyZXNzID0gc2IuY29udGV4dC5hbmFseXNpcy5leHRyYWN0TGl0ZXJhbFB1YmxpY0tleShub2RlKTtcbiAgICBpZiAoYWRkcmVzcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBzYi5jb250ZXh0LnJlcG9ydEVycm9yKG5vZGUsIERpYWdub3N0aWNDb2RlLkludmFsaWRMaXRlcmFsLCBEaWFnbm9zdGljTWVzc2FnZS5JbnZhbGlkUHVibGljS2V5KTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFtidWZmZXJdXG4gICAgc2IuZW1pdFB1c2hCdWZmZXIobm9kZSwgYWRkcmVzcyk7XG4gICAgLy8gW3ZhbF1cbiAgICBzYi5lbWl0SGVscGVyKG5vZGUsIG9wdGlvbnMsIHNiLmhlbHBlcnMud3JhcEJ1ZmZlcik7XG4gIH1cbn1cbiJdfQ==