UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

33 lines (31 loc) 2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.add = void 0; const constants_1 = require("../../constants"); const BuiltinInterface_1 = require("../BuiltinInterface"); const SysCallInstanceMemberPrimitive_1 = require("./SysCallInstanceMemberPrimitive"); const ValueInstanceOf_1 = require("./ValueInstanceOf"); class AttributeBaseInterface extends BuiltinInterface_1.BuiltinInterface { } class AttributeBaseConstructorInterface extends BuiltinInterface_1.BuiltinInterface { } class BufferAttributeInterface extends BuiltinInterface_1.BuiltinInterface { } class PublicKeyAttributeInterface extends BuiltinInterface_1.BuiltinInterface { } class AddressAttributeInterface extends BuiltinInterface_1.BuiltinInterface { } class Hash256AttributeInterface extends BuiltinInterface_1.BuiltinInterface { } exports.add = (builtins) => { builtins.addContractInterface('AttributeBase', new AttributeBaseInterface()); builtins.addContractInterface('AttributeBaseConstructor', new AttributeBaseConstructorInterface()); builtins.addContractValue('AttributeBase', new ValueInstanceOf_1.ValueInstanceOf('AttributeConstructor', (sb) => sb.helpers.isAttribute)); builtins.addContractMember('AttributeBase', 'usage', new SysCallInstanceMemberPrimitive_1.SysCallInstanceMemberPrimitive('Neo.Attribute.GetUsage', constants_1.Types.Attribute, constants_1.Types.Number)); builtins.addContractMember('AttributeBase', 'data', new SysCallInstanceMemberPrimitive_1.SysCallInstanceMemberPrimitive('Neo.Attribute.GetData', constants_1.Types.Attribute, constants_1.Types.Buffer)); builtins.addContractInterface('BufferAttribute', new BufferAttributeInterface()); builtins.addContractInterface('PublicKeyAttribute', new PublicKeyAttributeInterface()); builtins.addContractInterface('AddressAttribute', new AddressAttributeInterface()); builtins.addContractInterface('Hash256Attribute', new Hash256AttributeInterface()); }; //# sourceMappingURL=attribute.js.map