diff --git a/composer.json b/composer.json
index 8e257f97957e7d9b66702200b9753bbf5d7d9e7f..83b38ccec98f1b88e6c12541c1d1b98cf8c37568 100644
--- a/composer.json
+++ b/composer.json
@@ -5,7 +5,7 @@
     "homepage": "https://drupal.org/project/commerce",
     "license": "GPL-2.0-or-later",
     "require": {
-        "php": "^7.3 || ^8.0",
+        "php": "^8.0",
         "ext-bcmath": "*",
         "drupal/core": "^9.3 || ^10",
         "drupal/address": "^1.7",
@@ -15,7 +15,7 @@
         "drupal/profile": "^1.2",
         "drupal/state_machine": "^1.5",
         "drupal/token": "^1.7",
-        "commerceguys/intl": "^1.0.0"
+        "commerceguys/intl": "^2.0.2"
     },
     "require-dev": {
         "drupal/entity_print": "^2.2",
diff --git a/ludwig.json b/ludwig.json
index c00a9f78b05558b6849c8eb282ee34a3f39f0930..cd6d55b0b04bbef1ca0b64d355cff84348e83ef6 100644
--- a/ludwig.json
+++ b/ludwig.json
@@ -1,8 +1,8 @@
 {
     "require": {
         "commerceguys/intl": {
-            "version": "v1.0.5",
-            "url": "https://github.com/commerceguys/intl/archive/v1.0.5.zip"
+            "version": "v2.0.1",
+            "url": "https://github.com/commerceguys/intl/archive/v2.0.2.zip"
         }
     }
 }
diff --git a/modules/price/src/CurrencyImporterInterface.php b/modules/price/src/CurrencyImporterInterface.php
index 768b3edeb83645c1d899330d01f9fa5e0fa9c81d..5a56b5e840b4e86f1e3289f850d75256f81fc79f 100644
--- a/modules/price/src/CurrencyImporterInterface.php
+++ b/modules/price/src/CurrencyImporterInterface.php
@@ -39,7 +39,7 @@ interface CurrencyImporterInterface {
    *   The saved currency entity or NULL if the given country's currency
    *   isn't known.
    *
-   * @throws \CommerceGuys\Intl\Exception\UnknownCountryException
+   * @throws \CommerceGuys\Addressing\Exception\UnknownCountryException
    *   Thrown when the country couldn't be found in the library definitions.
    */
   public function importByCountry($country_code);
diff --git a/modules/price/src/Repository/CurrencyRepository.php b/modules/price/src/Repository/CurrencyRepository.php
index c81903640e5c91a5eea9d611fc271692742a9028..7a4ad92af01ad4a7e90e1a60e385de3d78276121 100644
--- a/modules/price/src/Repository/CurrencyRepository.php
+++ b/modules/price/src/Repository/CurrencyRepository.php
@@ -41,7 +41,7 @@ class CurrencyRepository extends ExternalCurrencyRepository implements CurrencyR
   /**
    * {@inheritdoc}
    */
-  public function get($currency_code, $locale = NULL) {
+  public function get($currency_code, $locale = NULL): Currency {
     /** @var \Drupal\commerce_price\Entity\CurrencyInterface $currency */
     $currency = $this->currencyStorage->load($currency_code);
     if (!$currency) {
@@ -54,7 +54,7 @@ class CurrencyRepository extends ExternalCurrencyRepository implements CurrencyR
   /**
    * {@inheritdoc}
    */
-  public function getAll($locale = NULL) {
+  public function getAll($locale = NULL): array {
     $all = [];
     /** @var \Drupal\commerce_price\Entity\CurrencyInterface[] $currencies */
     $currencies = $this->currencyStorage->loadMultiple();
@@ -68,7 +68,7 @@ class CurrencyRepository extends ExternalCurrencyRepository implements CurrencyR
   /**
    * {@inheritdoc}
    */
-  public function getList($locale = NULL) {
+  public function getList($locale = NULL): array {
     $list = [];
     /** @var \Drupal\commerce_price\Entity\CurrencyInterface[] $entities */
     $currencies = $this->currencyStorage->loadMultiple();
@@ -88,7 +88,7 @@ class CurrencyRepository extends ExternalCurrencyRepository implements CurrencyR
    * @return \CommerceGuys\Intl\Currency\Currency
    *   The currency value object.
    */
-  protected function createValueObjectFromEntity(CurrencyInterface $currency) {
+  protected function createValueObjectFromEntity(CurrencyInterface $currency): Currency {
     return new Currency([
       'currency_code' => $currency->getCurrencyCode(),
       'name' => $currency->getName(),
diff --git a/modules/price/src/Repository/NumberFormatRepository.php b/modules/price/src/Repository/NumberFormatRepository.php
index dbc227b8529143cc17f73a864193ce335739c10d..265c461836ca3ae22e436ccc26cd112a15eb4376 100644
--- a/modules/price/src/Repository/NumberFormatRepository.php
+++ b/modules/price/src/Repository/NumberFormatRepository.php
@@ -16,23 +16,14 @@ use Symfony\Component\EventDispatcher\EventDispatcherInterface;
  */
 class NumberFormatRepository extends ExternalNumberFormatRepository implements NumberFormatRepositoryInterface {
 
-  /**
-   * The event dispatcher.
-   *
-   * @var \Symfony\Component\EventDispatcher\EventDispatcherInterface
-   */
-  protected $eventDispatcher;
-
   /**
    * Creates a NumberFormatRepository instance.
    *
-   * @param \Symfony\Component\EventDispatcher\EventDispatcherInterface $event_dispatcher
+   * @param \Symfony\Component\EventDispatcher\EventDispatcherInterface $eventDispatcher
    *   The event dispatcher.
    */
-  public function __construct(EventDispatcherInterface $event_dispatcher) {
+  public function __construct(protected EventDispatcherInterface $eventDispatcher) {
     parent::__construct();
-
-    $this->eventDispatcher = $event_dispatcher;
   }
 
   /**