@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
33 lines (31 loc) • 2 kB
JavaScript
"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