From b5356375f1185121a4798a0efbf3e91696a9b59f Mon Sep 17 00:00:00 2001 From: robGG1997 Date: Thu, 14 Sep 2023 11:30:11 +0300 Subject: [PATCH 1/3] Revert "automated duplicating imported samples modifications (#595)" This reverts commit a5558941827a91df51e2dd200648dcd13a1231c8. --- .github/workflows/duplicate_sample.yaml | 28 ------------------- duplicate_package_sample.sh | 14 ---------- .../Samples~/Web3.Unity/Prefabs.meta | 8 ------ .../Samples~/Web3.Unity/Scenes.meta | 8 ------ .../Samples~/Web3.Unity/Scripts.meta | 8 ------ .../Samples~/Web3.Unity/Sprites.meta | 8 ------ 6 files changed, 74 deletions(-) delete mode 100644 .github/workflows/duplicate_sample.yaml delete mode 100644 duplicate_package_sample.sh delete mode 100644 src/UnityPackages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Prefabs.meta delete mode 100644 src/UnityPackages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scenes.meta delete mode 100644 src/UnityPackages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts.meta delete mode 100644 src/UnityPackages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Sprites.meta diff --git a/.github/workflows/duplicate_sample.yaml b/.github/workflows/duplicate_sample.yaml deleted file mode 100644 index 793149e56..000000000 --- a/.github/workflows/duplicate_sample.yaml +++ /dev/null @@ -1,28 +0,0 @@ -name: Duplicate-Package-Sample - -on: - push: - branches: - - main - -jobs: - duplicate: - name: duplicate package sample - runs-on: ubuntu-latest - - steps: - - name: Checkout Repository - uses: actions/checkout@v2 - - - name: Run duplicate script file - run: bash ${GITHUB_WORKSPACE}/duplicate_package_sample.sh - - - name: Commit and Push - run: | - git config --global user.email $git_email - git config --global user.name "${{ github.actor }}" - git add ./src/UnityPackages/io.chainsafe.web3-unity/Samples~/Web3.Unity/. -f - git diff-index --cached --quiet HEAD || git commit -m "Auto-duplicate Package Samples" - git push - env: - git_email: "${{ github.actor }}@users.noreply.github.com" \ No newline at end of file diff --git a/duplicate_package_sample.sh b/duplicate_package_sample.sh deleted file mode 100644 index f3a677742..000000000 --- a/duplicate_package_sample.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -# Specify the source directory and the destination directory -SOURCE_DIRECTORY="src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/" -DESTINATION_DIRECTORY="src/UnityPackages/io.chainsafe.web3-unity/Samples~/Web3.Unity/" - -# clear destination directory first -rm -r "$DESTINATION_DIRECTORY" - -# Copy source to the destination -cp -r "$SOURCE_DIRECTORY" "$DESTINATION_DIRECTORY" - -#add all modified files -git add "src/UnityPackages/io.chainsafe.web3-unity/Samples~/Web3.Unity/." -f \ No newline at end of file diff --git a/src/UnityPackages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Prefabs.meta b/src/UnityPackages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Prefabs.meta deleted file mode 100644 index 5b35daff8..000000000 --- a/src/UnityPackages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Prefabs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 45a04d2621549e3458049c6c447c3941 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/src/UnityPackages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scenes.meta b/src/UnityPackages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scenes.meta deleted file mode 100644 index 5488a62ed..000000000 --- a/src/UnityPackages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scenes.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f39f8dda9616349489a7803d7e0aff30 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/src/UnityPackages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts.meta b/src/UnityPackages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts.meta deleted file mode 100644 index 9a1e8b8d4..000000000 --- a/src/UnityPackages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: eaef630f284e6e04a88b5939e0eb1cc5 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/src/UnityPackages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Sprites.meta b/src/UnityPackages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Sprites.meta deleted file mode 100644 index 7175ee89d..000000000 --- a/src/UnityPackages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Sprites.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0c06517aee7843642a091a67c72b1379 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: From cd514db5c9d0bb82e069293c669733864d41544e Mon Sep 17 00:00:00 2001 From: robGG1997 Date: Wed, 7 Feb 2024 13:35:15 +0300 Subject: [PATCH 2/3] made main package testable, revert due to a mistake --- src/UnitySampleProject/Packages/manifest.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/UnitySampleProject/Packages/manifest.json b/src/UnitySampleProject/Packages/manifest.json index 08c0ac92f..22a37ba40 100644 --- a/src/UnitySampleProject/Packages/manifest.json +++ b/src/UnitySampleProject/Packages/manifest.json @@ -47,5 +47,8 @@ "com.unity.modules.wind": "1.0.0", "com.unity.modules.xr": "1.0.0", "com.tools.webglthreadingpatcher": "https://github.com/VolodymyrBS/WebGLThreadingPatcher.git" - } + }, + "testables": [ + "io.chainsafe.web3-unity" + ] } \ No newline at end of file From f3638c9d098fad253747a89d2d5970787100536b Mon Sep 17 00:00:00 2001 From: robGG1997 Date: Mon, 8 Apr 2024 16:06:46 +0300 Subject: [PATCH 3/3] Sign verify and WebGL login logout issue fixed for metamask --- .../Runtime/Scripts/EVM/Token/Evm.cs | 2 +- .../MetaMaskProvider.cs | 10 +++++++++- .../MetaMaskProviderExtensions.cs | 3 ++- 3 files changed, 12 insertions(+), 3 deletions(-) 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; }