UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

21 lines (19 loc) 1.05 kB
import { Types } from '../../constants'; import { BuiltinInterface } from '../BuiltinInterface'; import { SysCallInstanceMemberArray } from './SysCallInstanceMemberArray'; import { ValueFor } from './ValueFor'; import { ValueInstanceOf } from './ValueInstanceOf'; class BlockInterface extends BuiltinInterface { } class BlockConstructorInterface extends BuiltinInterface { } export const add = (builtins) => { builtins.addContractInterface('Block', new BlockInterface()); builtins.addContractValue('Block', new ValueInstanceOf('BlockConstructor', (sb) => sb.helpers.isBlock)); builtins.addContractMember('Block', 'transactions', new SysCallInstanceMemberArray('Neo.Block.GetTransactions', Types.Block, Types.Transaction)); builtins.addContractInterface('BlockConstructor', new BlockConstructorInterface()); builtins.addContractMember('BlockConstructor', 'for', new ValueFor('Neo.Blockchain.GetBlock', (sb, node, options) => { sb.emitHelper(node, options, sb.helpers.wrapBlock); })); }; //# sourceMappingURL=block.js.map