diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Scripts/EVM/Token/Evm.cs b/Packages/io.chainsafe.web3-unity/Runtime/Scripts/EVM/Token/Evm.cs index 5fb439ab0..76ea40144 100644 --- a/Packages/io.chainsafe.web3-unity/Runtime/Scripts/EVM/Token/Evm.cs +++ b/Packages/io.chainsafe.web3-unity/Runtime/Scripts/EVM/Token/Evm.cs @@ -131,7 +131,7 @@ public static async Task SignVerify(Web3 web3, string message) var msgHash = new Sha3Keccack().CalculateHash(Encoding.UTF8.GetBytes(msg)); var signature = MessageSigner.ExtractEcdsaSignature(signatureString); var key = EthECKey.RecoverFromSignature(signature, msgHash); - return key.GetPublicAddress() == playerAccount; + return key.GetPublicAddress().ToLower() == playerAccount.ToLower(); } public static string EcdsaSignTransaction(string _privateKey, string _transaction, string _chainId) diff --git a/src/ChainSafe.Gaming.MetaMask.Unity/MetaMaskProvider.cs b/src/ChainSafe.Gaming.MetaMask.Unity/MetaMaskProvider.cs index 53e60d95b..05898326c 100644 --- a/src/ChainSafe.Gaming.MetaMask.Unity/MetaMaskProvider.cs +++ b/src/ChainSafe.Gaming.MetaMask.Unity/MetaMaskProvider.cs @@ -1,6 +1,7 @@ using System.Threading.Tasks; using ChainSafe.Gaming.Web3; using ChainSafe.Gaming.Web3.Analytics; +using ChainSafe.Gaming.Web3.Core.Logout; using ChainSafe.Gaming.Web3.Environment; using UnityEngine; using Object = UnityEngine.Object; @@ -10,7 +11,7 @@ namespace ChainSafe.Gaming.MetaMask.Unity /// /// Concrete implementation of . /// - public class MetaMaskProvider : IMetaMaskProvider + public class MetaMaskProvider : IMetaMaskProvider, ILogoutHandler { private readonly ILogWriter logWriter; @@ -86,5 +87,12 @@ public async Task Request(string method, params object[] parameters) { return await metaMaskController.Request(method, parameters); } + + public Task OnLogout() + { + Object.Destroy(metaMaskController.gameObject); + + return Task.CompletedTask; + } } } \ No newline at end of file diff --git a/src/ChainSafe.Gaming.MetaMask.Unity/MetaMaskProviderExtensions.cs b/src/ChainSafe.Gaming.MetaMask.Unity/MetaMaskProviderExtensions.cs index 5d1575a42..0143af1ad 100644 --- a/src/ChainSafe.Gaming.MetaMask.Unity/MetaMaskProviderExtensions.cs +++ b/src/ChainSafe.Gaming.MetaMask.Unity/MetaMaskProviderExtensions.cs @@ -1,4 +1,5 @@ using ChainSafe.Gaming.Web3.Build; +using ChainSafe.Gaming.Web3.Core.Logout; using Microsoft.Extensions.DependencyInjection; namespace ChainSafe.Gaming.MetaMask.Unity @@ -18,7 +19,7 @@ public static IWeb3ServiceCollection UseMetaMask(this IWeb3ServiceCollection col collection.AssertServiceNotBound(); // wallet - collection.AddSingleton(); + collection.AddSingleton(); return collection; }