UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

51 lines (49 loc) 5.92 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const types_1 = require("../types"); class UnwrapKeyStructuredStorageHelper extends types_1.TypedHelper { emit(sb, node, optionsIn) { const options = sb.pushValueOptions(optionsIn); const unwrapArray = (innerOptions) => { sb.emitHelper(node, innerOptions, sb.helpers.unwrapArray); }; const wrapArray = () => { sb.emitPushInt(node, 1); sb.emitOp(node, 'PACK'); }; sb.emitHelper(node, options, sb.helpers.forBuiltinType({ type: this.type, knownType: this.knownType, array: unwrapArray, map: wrapArray, set: wrapArray, boolean: wrapArray, buffer: wrapArray, null: wrapArray, number: wrapArray, object: wrapArray, string: wrapArray, symbol: wrapArray, undefined: wrapArray, arrayStorage: wrapArray, mapStorage: wrapArray, setStorage: wrapArray, error: wrapArray, forwardValue: wrapArray, iteratorResult: wrapArray, iterable: wrapArray, iterableIterator: wrapArray, transaction: wrapArray, output: wrapArray, attribute: wrapArray, input: wrapArray, account: wrapArray, asset: wrapArray, contract: wrapArray, header: wrapArray, block: wrapArray, })); } } exports.UnwrapKeyStructuredStorageHelper = UnwrapKeyStructuredStorageHelper; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlVud3JhcEtleVN0cnVjdHVyZWRTdG9yYWdlSGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBR0Esb0NBQXVDO0FBSXZDLE1BQWEsZ0NBQWlDLFNBQVEsbUJBQVc7SUFDeEQsSUFBSSxDQUFDLEVBQWlCLEVBQUUsSUFBYSxFQUFFLFNBQXVCO1FBQ25FLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUUvQyxNQUFNLFdBQVcsR0FBRyxDQUFDLFlBQTBCLEVBQUUsRUFBRTtZQUVqRCxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQUM7UUFFRixNQUFNLFNBQVMsR0FBRyxHQUFHLEVBQUU7WUFFckIsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFFeEIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDO1FBR0YsRUFBRSxDQUFDLFVBQVUsQ0FDWCxJQUFJLEVBQ0osT0FBTyxFQUNQLEVBQUUsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDO1lBQ3hCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixLQUFLLEVBQUUsV0FBVztZQUNsQixHQUFHLEVBQUUsU0FBUztZQUNkLEdBQUcsRUFBRSxTQUFTO1lBQ2QsT0FBTyxFQUFFLFNBQVM7WUFDbEIsTUFBTSxFQUFFLFNBQVM7WUFDakIsSUFBSSxFQUFFLFNBQVM7WUFDZixNQUFNLEVBQUUsU0FBUztZQUNqQixNQUFNLEVBQUUsU0FBUztZQUNqQixNQUFNLEVBQUUsU0FBUztZQUNqQixNQUFNLEVBQUUsU0FBUztZQUNqQixTQUFTLEVBQUUsU0FBUztZQUNwQixZQUFZLEVBQUUsU0FBUztZQUN2QixVQUFVLEVBQUUsU0FBUztZQUNyQixVQUFVLEVBQUUsU0FBUztZQUNyQixLQUFLLEVBQUUsU0FBUztZQUNoQixZQUFZLEVBQUUsU0FBUztZQUN2QixjQUFjLEVBQUUsU0FBUztZQUN6QixRQUFRLEVBQUUsU0FBUztZQUNuQixnQkFBZ0IsRUFBRSxTQUFTO1lBQzNCLFdBQVcsRUFBRSxTQUFTO1lBQ3RCLE1BQU0sRUFBRSxTQUFTO1lBQ2pCLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLEtBQUssRUFBRSxTQUFTO1lBQ2hCLE9BQU8sRUFBRSxTQUFTO1lBQ2xCLEtBQUssRUFBRSxTQUFTO1lBQ2hCLFFBQVEsRUFBRSxTQUFTO1lBQ25CLE1BQU0sRUFBRSxTQUFTO1lBQ2pCLEtBQUssRUFBRSxTQUFTO1NBQ2pCLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBdERELDRFQXNEQyIsImZpbGUiOiJuZW8tb25lLXNtYXJ0LWNvbnRyYWN0LWNvbXBpbGVyL3NyYy9jb21waWxlL2hlbHBlci9zdG9yYWdlL1Vud3JhcEtleVN0cnVjdHVyZWRTdG9yYWdlSGVscGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuaW1wb3J0IHsgU2NyaXB0QnVpbGRlciB9IGZyb20gJy4uLy4uL3NiJztcbmltcG9ydCB7IFZpc2l0T3B0aW9ucyB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IFR5cGVkSGVscGVyIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG4vLyBJbnB1dDogW3ZhbEtleV1cbi8vIE91dHB1dDogW3ZhbEtleUFycl1cbmV4cG9ydCBjbGFzcyBVbndyYXBLZXlTdHJ1Y3R1cmVkU3RvcmFnZUhlbHBlciBleHRlbmRzIFR5cGVkSGVscGVyIHtcbiAgcHVibGljIGVtaXQoc2I6IFNjcmlwdEJ1aWxkZXIsIG5vZGU6IHRzLk5vZGUsIG9wdGlvbnNJbjogVmlzaXRPcHRpb25zKTogdm9pZCB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHNiLnB1c2hWYWx1ZU9wdGlvbnMob3B0aW9uc0luKTtcblxuICAgIGNvbnN0IHVud3JhcEFycmF5ID0gKGlubmVyT3B0aW9uczogVmlzaXRPcHRpb25zKSA9PiB7XG4gICAgICAvLyBba2V5VmFsXVxuICAgICAgc2IuZW1pdEhlbHBlcihub2RlLCBpbm5lck9wdGlvbnMsIHNiLmhlbHBlcnMudW53cmFwQXJyYXkpO1xuICAgIH07XG5cbiAgICBjb25zdCB3cmFwQXJyYXkgPSAoKSA9PiB7XG4gICAgICAvLyBbMSwgdmFsXVxuICAgICAgc2IuZW1pdFB1c2hJbnQobm9kZSwgMSk7XG4gICAgICAvLyBbYXJyXVxuICAgICAgc2IuZW1pdE9wKG5vZGUsICdQQUNLJyk7XG4gICAgfTtcblxuICAgIC8vIFt2YWxLZXlBcnJdXG4gICAgc2IuZW1pdEhlbHBlcihcbiAgICAgIG5vZGUsXG4gICAgICBvcHRpb25zLFxuICAgICAgc2IuaGVscGVycy5mb3JCdWlsdGluVHlwZSh7XG4gICAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICAgICAga25vd25UeXBlOiB0aGlzLmtub3duVHlwZSxcbiAgICAgICAgYXJyYXk6IHVud3JhcEFycmF5LFxuICAgICAgICBtYXA6IHdyYXBBcnJheSxcbiAgICAgICAgc2V0OiB3cmFwQXJyYXksXG4gICAgICAgIGJvb2xlYW46IHdyYXBBcnJheSxcbiAgICAgICAgYnVmZmVyOiB3cmFwQXJyYXksXG4gICAgICAgIG51bGw6IHdyYXBBcnJheSxcbiAgICAgICAgbnVtYmVyOiB3cmFwQXJyYXksXG4gICAgICAgIG9iamVjdDogd3JhcEFycmF5LFxuICAgICAgICBzdHJpbmc6IHdyYXBBcnJheSxcbiAgICAgICAgc3ltYm9sOiB3cmFwQXJyYXksXG4gICAgICAgIHVuZGVmaW5lZDogd3JhcEFycmF5LFxuICAgICAgICBhcnJheVN0b3JhZ2U6IHdyYXBBcnJheSxcbiAgICAgICAgbWFwU3RvcmFnZTogd3JhcEFycmF5LFxuICAgICAgICBzZXRTdG9yYWdlOiB3cmFwQXJyYXksXG4gICAgICAgIGVycm9yOiB3cmFwQXJyYXksXG4gICAgICAgIGZvcndhcmRWYWx1ZTogd3JhcEFycmF5LFxuICAgICAgICBpdGVyYXRvclJlc3VsdDogd3JhcEFycmF5LFxuICAgICAgICBpdGVyYWJsZTogd3JhcEFycmF5LFxuICAgICAgICBpdGVyYWJsZUl0ZXJhdG9yOiB3cmFwQXJyYXksXG4gICAgICAgIHRyYW5zYWN0aW9uOiB3cmFwQXJyYXksXG4gICAgICAgIG91dHB1dDogd3JhcEFycmF5LFxuICAgICAgICBhdHRyaWJ1dGU6IHdyYXBBcnJheSxcbiAgICAgICAgaW5wdXQ6IHdyYXBBcnJheSxcbiAgICAgICAgYWNjb3VudDogd3JhcEFycmF5LFxuICAgICAgICBhc3NldDogd3JhcEFycmF5LFxuICAgICAgICBjb250cmFjdDogd3JhcEFycmF5LFxuICAgICAgICBoZWFkZXI6IHdyYXBBcnJheSxcbiAgICAgICAgYmxvY2s6IHdyYXBBcnJheSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==