diff --git a/nodeaccess_bulk.info.yml b/nodeaccess_bulk.info.yml
index 885c12b..d73e049 100644
--- a/nodeaccess_bulk.info.yml
+++ b/nodeaccess_bulk.info.yml
@@ -2,8 +2,7 @@ type: module
 name: Nodeaccess bulk
 description: Update Nodeaccess in Bulk.
 package: Access control
-core: 8.x
-core_version_requirement: ^8 || ^9
+core_version_requirement: ^9 || ^10
 dependencies:
   - 'drupal:views_bulk_operations'
   - 'nodeaccess:nodeaccess'
diff --git a/src/Plugin/Action/NodeaccessBulkAction.php b/src/Plugin/Action/NodeaccessBulkAction.php
index 94da7cb..e7251dd 100644
--- a/src/Plugin/Action/NodeaccessBulkAction.php
+++ b/src/Plugin/Action/NodeaccessBulkAction.php
@@ -63,7 +63,7 @@ class NodeaccessBulkAction extends ViewsBulkOperationsActionBase implements
       ->condition("nid", $nid)
       ->execute();
     foreach ($grants as $grant) {
-      $id = db_insert("nodeaccess")
+      $id = \Drupal::database()->insert('nodeaccess')
         ->fields([
           "nid" => $nid,
           "gid" => $grant["gid"],
@@ -76,7 +76,8 @@ class NodeaccessBulkAction extends ViewsBulkOperationsActionBase implements
     }
     \Drupal::entityTypeManager()
       ->getAccessControlHandler("node")
-      ->writeGrants($node);
+      ->acquireGrants($node);
+    \Drupal::service('node.grant_storage')->write($node, $grants);
     $tags = ["node:" . $node->id()];
     Cache::invalidateTags($tags);
 
@@ -89,8 +90,6 @@ class NodeaccessBulkAction extends ViewsBulkOperationsActionBase implements
    *
    * @param array $form
    *   Form array.
-   * @param Drupal\Core\Form\FormStateInterface $form_state
-   *   The form state object.
    *
    * @return array
    *   The configuration form.
@@ -124,7 +123,7 @@ class NodeaccessBulkAction extends ViewsBulkOperationsActionBase implements
         array_push($uids, $form_values["keys"]);
       }
       $params = [":uids[]" => $uids];
-      $result = db_query($sql, $params);
+      $result = \Drupal::database()->query($sql, $params);
       foreach ($result as $account) {
         $form_values["uid"][$account->uid] = [
           "name" => $account->name,
@@ -133,12 +132,8 @@ class NodeaccessBulkAction extends ViewsBulkOperationsActionBase implements
       }
     }
 
-    $form_values["rid"] = isset($form_values["rid"])
-            ? $form_values["rid"]
-            : [];
-    $form_values["uid"] = isset($form_values["uid"])
-            ? $form_values["uid"]
-            : [];
+    $form_values["rid"] ??= [];
+    $form_values["uid"] ??= [];
     $roles = $form_values["rid"];
     $users = $form_values["uid"];
 
@@ -193,9 +188,7 @@ class NodeaccessBulkAction extends ViewsBulkOperationsActionBase implements
     if ($user->hasPermission("access user profiles")) {
       $form["keys"] = [
         "#type" => "entity_autocomplete",
-        "#default_value" => isset($form_values["keys"])
-        ? $form_values["keys"]
-        : "",
+        "#default_value" => $form_values["keys"] ?? "",
         "#size" => 40,
         "#target_type" => "user",
         "#title" => $this->t("Enter names to search for users"),
@@ -204,9 +197,7 @@ class NodeaccessBulkAction extends ViewsBulkOperationsActionBase implements
     else {
       $form["keys"] = [
         "#type" => "textfield",
-        "#default_value" => isset($form_values["keys"])
-        ? $form_values["keys"]
-        : "",
+        "#default_value" => $form_values["keys"] ?? "",
         "#size" => 40,
       ];
     }
@@ -218,7 +209,7 @@ class NodeaccessBulkAction extends ViewsBulkOperationsActionBase implements
       "#suffix" => "</div></p>",
     ];
     // Users table.
-    if (count($users)) {
+    if (is_countable($users) ? count($users) : 0) {
       $header = [];
       $header[] = $this->t("User");
       $header[] = $this->t("Keep?");
@@ -279,18 +270,16 @@ class NodeaccessBulkAction extends ViewsBulkOperationsActionBase implements
    * {@inheritdoc}
    */
   public function buildPreConfigurationForm(
-        array $form,
+        array $element,
         array $values,
         FormStateInterface $form_state
-    ) {
-    $form["nodeaccess_bulk_config"] = [
+    ): array {
+    $element["nodeaccess_bulk_config"] = [
       "#title" => $this->t("Add cofirmation step"),
       "#type" => "checkbox",
-      "#default_value" => isset($values["nodeaccess_bulk_config"])
-      ? $values["nodeaccess_bulk_config"]
-      : TRUE,
+      "#default_value" => $values["nodeaccess_bulk_config"] ?? TRUE,
     ];
-    return $form;
+    return $element;
   }
 
   /**
@@ -298,8 +287,6 @@ class NodeaccessBulkAction extends ViewsBulkOperationsActionBase implements
    *
    * @param array $form
    *   Form array.
-   * @param Drupal\Core\Form\FormStateInterface $form_state
-   *   The form state object.
    */
   public function submitConfigurationForm(
         array &$form,
