UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

30 lines (28 loc) 2.51 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 ValueFor_1 = require("./ValueFor"); const ValueInstanceOf_1 = require("./ValueInstanceOf"); class HeaderInterface extends BuiltinInterface_1.BuiltinInterface { } class HeaderConstructorInterface extends BuiltinInterface_1.BuiltinInterface { } exports.add = (builtins) => { builtins.addContractInterface('Header', new HeaderInterface()); builtins.addContractValue('Header', new ValueInstanceOf_1.ValueInstanceOf('HeaderConstructor', (sb) => sb.helpers.isHeader)); builtins.addContractMember('Header', 'hash', new SysCallInstanceMemberPrimitive_1.SysCallInstanceMemberPrimitive('Neo.Header.GetHash', constants_1.Types.Header, constants_1.Types.Buffer)); builtins.addContractMember('Header', 'version', new SysCallInstanceMemberPrimitive_1.SysCallInstanceMemberPrimitive('Neo.Header.GetVersion', constants_1.Types.Header, constants_1.Types.Number)); builtins.addContractMember('Header', 'previousHash', new SysCallInstanceMemberPrimitive_1.SysCallInstanceMemberPrimitive('Neo.Header.GetPrevHash', constants_1.Types.Header, constants_1.Types.Buffer)); builtins.addContractMember('Header', 'index', new SysCallInstanceMemberPrimitive_1.SysCallInstanceMemberPrimitive('Neo.Header.GetIndex', constants_1.Types.Header, constants_1.Types.Number)); builtins.addContractMember('Header', 'merkleRoot', new SysCallInstanceMemberPrimitive_1.SysCallInstanceMemberPrimitive('Neo.Header.GetMerkleRoot', constants_1.Types.Header, constants_1.Types.Buffer)); builtins.addContractMember('Header', 'time', new SysCallInstanceMemberPrimitive_1.SysCallInstanceMemberPrimitive('Neo.Header.GetTimestamp', constants_1.Types.Header, constants_1.Types.Number)); builtins.addContractMember('Header', 'nextConsensus', new SysCallInstanceMemberPrimitive_1.SysCallInstanceMemberPrimitive('Neo.Header.GetNextConsensus', constants_1.Types.Header, constants_1.Types.Buffer)); builtins.addContractInterface('HeaderConstructor', new HeaderConstructorInterface()); builtins.addContractMember('HeaderConstructor', 'for', new ValueFor_1.ValueFor('Neo.Blockchain.GetHeader', (sb, node, options) => { sb.emitHelper(node, options, sb.helpers.wrapHeader); })); }; //# sourceMappingURL=header.js.map