UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

26 lines (24 loc) 1.47 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"); const getBalance_1 = require("./getBalance"); class AccountInterface extends BuiltinInterface_1.BuiltinInterface { } class AccountConstructorInterface extends BuiltinInterface_1.BuiltinInterface { } exports.add = (builtins) => { builtins.addContractInterface('Account', new AccountInterface()); builtins.addContractValue('Account', new ValueInstanceOf_1.ValueInstanceOf('AccountConstructor', (sb) => sb.helpers.isAccount)); builtins.addContractMember('Account', 'address', new SysCallInstanceMemberPrimitive_1.SysCallInstanceMemberPrimitive('Neo.Account.GetScriptHash', constants_1.Types.Account, constants_1.Types.Buffer)); builtins.addContractMember('Account', 'getBalance', new getBalance_1.AccountGetBalance()); builtins.addContractInterface('AccountConstructor', new AccountConstructorInterface()); builtins.addContractMember('AccountConstructor', 'for', new ValueFor_1.ValueFor('Neo.Blockchain.GetAccount', (sb, node, options) => { sb.emitHelper(node, options, sb.helpers.wrapAccount); })); }; //# sourceMappingURL=index.js.map