code: def mine_block(self, *args: Any, **kwargs: Any) -> BaseBlock:
          
          mined_block = self.get_vm(self.header).mine_block(*args, **kwargs)
  
          self.validate_block(mined_block)
  
          self.chaindb.persist_block(mined_block)
          self.header = self.create_header_from_parent(mined_block.header)
          return mined_block
docs: Mines the current block. Proxies to the current Virtual Machine.
          See VM. :meth:`~eth.vm.base.VM.mine_block`