From 51aa4e80392b6d50797c6a65ebf16cfb1bb724b1 Mon Sep 17 00:00:00 2001
From: Hussein Ait Lahcen <hussein.aitlahcen@gmail.com>
Date: Mon, 13 Jan 2025 17:31:36 +0100
Subject: [PATCH] feat(evm): upgrade solady

---
 evm/contracts/apps/ucs/03-zkgm/Zkgm.sol | 11 +++++++++++
 evm/evm.nix                             |  4 ++--
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/evm/contracts/apps/ucs/03-zkgm/Zkgm.sol b/evm/contracts/apps/ucs/03-zkgm/Zkgm.sol
index d56afe18cd..c3528a8ca6 100644
--- a/evm/contracts/apps/ucs/03-zkgm/Zkgm.sol
+++ b/evm/contracts/apps/ucs/03-zkgm/Zkgm.sol
@@ -685,6 +685,17 @@ contract UCS03Zkgm is
         return (wrappedToken, wrappedTokenSalt);
     }
 
+    function internalPredictWrappedTokenMemory(
+        uint256 path,
+        uint32 channel,
+        bytes memory token
+    ) internal view returns (address, bytes32) {
+        bytes32 wrappedTokenSalt = keccak256(abi.encode(path, channel, token));
+        address wrappedToken =
+            CREATE3.predictDeterministicAddress(wrappedTokenSalt);
+        return (wrappedToken, wrappedTokenSalt);
+    }
+
     function predictWrappedToken(
         uint256 path,
         uint32 channel,
diff --git a/evm/evm.nix b/evm/evm.nix
index 5ac80d6ed4..949724b595 100644
--- a/evm/evm.nix
+++ b/evm/evm.nix
@@ -26,8 +26,8 @@ _: {
       solady = pkgs.fetchFromGitHub {
         owner = "vectorized";
         repo = "solady";
-        rev = "v0.0.253";
-        hash = "sha256-P8joH3RZvA2GijTVlRE6CmSSP730Q3zY8k9jiWflyDk=";
+        rev = "v0.0.292";
+        hash = "sha256-74No9at4wi0K0bgfjRUYMfvtg2NmWA7yY2MnM1jFAY0=";
       };
       forge-std = pkgs.fetchFromGitHub {
         owner = "foundry-rs";