@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
26 lines (24 loc) • 1.47 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");
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