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