UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

21 lines (19 loc) 4.44 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const constants_1 = require("../../constants"); const BuiltinInterface_1 = require("../BuiltinInterface"); const SysCallInstanceMemberPrimitive_1 = require("./SysCallInstanceMemberPrimitive"); const ValueInstanceOf_1 = require("./ValueInstanceOf"); class OutputInterface extends BuiltinInterface_1.BuiltinInterface { } class OutputConstructorInterface extends BuiltinInterface_1.BuiltinInterface { } exports.add = (builtins) => { builtins.addContractInterface('Output', new OutputInterface()); builtins.addContractValue('Output', new ValueInstanceOf_1.ValueInstanceOf('OutputConstructor', (sb) => sb.helpers.isOutput)); builtins.addContractMember('Output', 'address', new SysCallInstanceMemberPrimitive_1.SysCallInstanceMemberPrimitive('Neo.Output.GetScriptHash', constants_1.Types.Output, constants_1.Types.Buffer)); builtins.addContractMember('Output', 'asset', new SysCallInstanceMemberPrimitive_1.SysCallInstanceMemberPrimitive('Neo.Output.GetAssetId', constants_1.Types.Output, constants_1.Types.Buffer)); builtins.addContractMember('Output', 'value', new SysCallInstanceMemberPrimitive_1.SysCallInstanceMemberPrimitive('Neo.Output.GetValue', constants_1.Types.Output, constants_1.Types.Number)); builtins.addContractInterface('OutputConstructor', new OutputConstructorInterface()); }; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm91dHB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLCtDQUF3QztBQUN4QywwREFBdUQ7QUFFdkQscUZBQWtGO0FBQ2xGLHVEQUFvRDtBQUVwRCxNQUFNLGVBQWdCLFNBQVEsbUNBQWdCO0NBQUc7QUFDakQsTUFBTSwwQkFBMkIsU0FBUSxtQ0FBZ0I7Q0FBRztBQUcvQyxRQUFBLEdBQUcsR0FBRyxDQUFDLFFBQWtCLEVBQVEsRUFBRTtJQUM5QyxRQUFRLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLElBQUksZUFBZSxFQUFFLENBQUMsQ0FBQztJQUMvRCxRQUFRLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksaUNBQWUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzNHLFFBQVEsQ0FBQyxpQkFBaUIsQ0FDeEIsUUFBUSxFQUNSLFNBQVMsRUFDVCxJQUFJLCtEQUE4QixDQUFDLDBCQUEwQixFQUFFLGlCQUFLLENBQUMsTUFBTSxFQUFFLGlCQUFLLENBQUMsTUFBTSxDQUFDLENBQzNGLENBQUM7SUFDRixRQUFRLENBQUMsaUJBQWlCLENBQ3hCLFFBQVEsRUFDUixPQUFPLEVBQ1AsSUFBSSwrREFBOEIsQ0FBQyx1QkFBdUIsRUFBRSxpQkFBSyxDQUFDLE1BQU0sRUFBRSxpQkFBSyxDQUFDLE1BQU0sQ0FBQyxDQUN4RixDQUFDO0lBQ0YsUUFBUSxDQUFDLGlCQUFpQixDQUN4QixRQUFRLEVBQ1IsT0FBTyxFQUNQLElBQUksK0RBQThCLENBQUMscUJBQXFCLEVBQUUsaUJBQUssQ0FBQyxNQUFNLEVBQUUsaUJBQUssQ0FBQyxNQUFNLENBQUMsQ0FDdEYsQ0FBQztJQUNGLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLDBCQUEwQixFQUFFLENBQUMsQ0FBQztBQUN2RixDQUFDLENBQUMiLCJmaWxlIjoibmVvLW9uZS1zbWFydC1jb250cmFjdC1jb21waWxlci9zcmMvY29tcGlsZS9idWlsdGlucy9jb250cmFjdC9vdXRwdXQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlcyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBCdWlsdGluSW50ZXJmYWNlIH0gZnJvbSAnLi4vQnVpbHRpbkludGVyZmFjZSc7XG5pbXBvcnQgeyBCdWlsdGlucyB9IGZyb20gJy4uL0J1aWx0aW5zJztcbmltcG9ydCB7IFN5c0NhbGxJbnN0YW5jZU1lbWJlclByaW1pdGl2ZSB9IGZyb20gJy4vU3lzQ2FsbEluc3RhbmNlTWVtYmVyUHJpbWl0aXZlJztcbmltcG9ydCB7IFZhbHVlSW5zdGFuY2VPZiB9IGZyb20gJy4vVmFsdWVJbnN0YW5jZU9mJztcblxuY2xhc3MgT3V0cHV0SW50ZXJmYWNlIGV4dGVuZHMgQnVpbHRpbkludGVyZmFjZSB7fVxuY2xhc3MgT3V0cHV0Q29uc3RydWN0b3JJbnRlcmZhY2UgZXh0ZW5kcyBCdWlsdGluSW50ZXJmYWNlIHt9XG5cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZSBleHBvcnQtbmFtZVxuZXhwb3J0IGNvbnN0IGFkZCA9IChidWlsdGluczogQnVpbHRpbnMpOiB2b2lkID0+IHtcbiAgYnVpbHRpbnMuYWRkQ29udHJhY3RJbnRlcmZhY2UoJ091dHB1dCcsIG5ldyBPdXRwdXRJbnRlcmZhY2UoKSk7XG4gIGJ1aWx0aW5zLmFkZENvbnRyYWN0VmFsdWUoJ091dHB1dCcsIG5ldyBWYWx1ZUluc3RhbmNlT2YoJ091dHB1dENvbnN0cnVjdG9yJywgKHNiKSA9PiBzYi5oZWxwZXJzLmlzT3V0cHV0KSk7XG4gIGJ1aWx0aW5zLmFkZENvbnRyYWN0TWVtYmVyKFxuICAgICdPdXRwdXQnLFxuICAgICdhZGRyZXNzJyxcbiAgICBuZXcgU3lzQ2FsbEluc3RhbmNlTWVtYmVyUHJpbWl0aXZlKCdOZW8uT3V0cHV0LkdldFNjcmlwdEhhc2gnLCBUeXBlcy5PdXRwdXQsIFR5cGVzLkJ1ZmZlciksXG4gICk7XG4gIGJ1aWx0aW5zLmFkZENvbnRyYWN0TWVtYmVyKFxuICAgICdPdXRwdXQnLFxuICAgICdhc3NldCcsXG4gICAgbmV3IFN5c0NhbGxJbnN0YW5jZU1lbWJlclByaW1pdGl2ZSgnTmVvLk91dHB1dC5HZXRBc3NldElkJywgVHlwZXMuT3V0cHV0LCBUeXBlcy5CdWZmZXIpLFxuICApO1xuICBidWlsdGlucy5hZGRDb250cmFjdE1lbWJlcihcbiAgICAnT3V0cHV0JyxcbiAgICAndmFsdWUnLFxuICAgIG5ldyBTeXNDYWxsSW5zdGFuY2VNZW1iZXJQcmltaXRpdmUoJ05lby5PdXRwdXQuR2V0VmFsdWUnLCBUeXBlcy5PdXRwdXQsIFR5cGVzLk51bWJlciksXG4gICk7XG4gIGJ1aWx0aW5zLmFkZENvbnRyYWN0SW50ZXJmYWNlKCdPdXRwdXRDb25zdHJ1Y3RvcicsIG5ldyBPdXRwdXRDb25zdHJ1Y3RvckludGVyZmFjZSgpKTtcbn07XG4iXX0=