UNPKG

@neo-one/smart-contract-compiler-esnext-esm

Version:

NEO•ONE TypeScript smart contract compiler.

23 lines (21 loc) 1.22 kB
import { Types } from '../../../constants'; import { BuiltinInterface } from '../../BuiltinInterface'; import { SysCallInstanceMemberPrimitive } from '../SysCallInstanceMemberPrimitive'; import { ValueFor } from '../ValueFor'; import { ValueInstanceOf } from '../ValueInstanceOf'; import { AccountGetBalance } from './getBalance'; class AccountInterface extends BuiltinInterface { } class AccountConstructorInterface extends BuiltinInterface { } export const add = (builtins) => { builtins.addContractInterface('Account', new AccountInterface()); builtins.addContractValue('Account', new ValueInstanceOf('AccountConstructor', (sb) => sb.helpers.isAccount)); builtins.addContractMember('Account', 'address', new SysCallInstanceMemberPrimitive('Neo.Account.GetScriptHash', Types.Account, Types.Buffer)); builtins.addContractMember('Account', 'getBalance', new AccountGetBalance()); builtins.addContractInterface('AccountConstructor', new AccountConstructorInterface()); builtins.addContractMember('AccountConstructor', 'for', new ValueFor('Neo.Blockchain.GetAccount', (sb, node, options) => { sb.emitHelper(node, options, sb.helpers.wrapAccount); })); }; //# sourceMappingURL=index.js.map