@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
30 lines (28 loc) • 2.51 kB
JavaScript
;
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