diff --git a/Assets/Plugins/Web3AuthSDK/Editor/BuildPostProcess.cs b/Assets/Plugins/Web3AuthSDK/Editor/BuildPostProcess.cs index 64fba3a..e599d4d 100644 --- a/Assets/Plugins/Web3AuthSDK/Editor/BuildPostProcess.cs +++ b/Assets/Plugins/Web3AuthSDK/Editor/BuildPostProcess.cs @@ -39,8 +39,6 @@ public static void OnPostprocessBuild(BuildTarget target, string pathToBuiltProj urlSchemes.AddString(uri.Scheme); infoPlist.WriteToFile(infoPlistPath); - - #endif } } \ No newline at end of file diff --git a/Assets/Plugins/Web3AuthSDK/Keystore/KeyStoreManagerUtils.cs b/Assets/Plugins/Web3AuthSDK/Keystore/KeyStoreManagerUtils.cs index 7be0e63..2987f05 100644 --- a/Assets/Plugins/Web3AuthSDK/Keystore/KeyStoreManagerUtils.cs +++ b/Assets/Plugins/Web3AuthSDK/Keystore/KeyStoreManagerUtils.cs @@ -1,10 +1,24 @@ -using Nethereum.Hex.HexConvertors.Extensions; -using Nethereum.Signer; -using Nethereum.Util; using Org.BouncyCastle.Asn1; +using Org.BouncyCastle.Asn1.Sec; +using Org.BouncyCastle.Crypto.Digests; +using Org.BouncyCastle.Crypto.Parameters; +using Org.BouncyCastle.Crypto.Signers; +using Org.BouncyCastle.Math; +using Org.BouncyCastle.Utilities.Encoders; +using System.Runtime.InteropServices; public class KeyStoreManagerUtils { +#if UNITY_IOS + [DllImport("__Internal")] + extern static int web3auth_keystore_set(string key, string value); + + [DllImport("__Internal")] + extern static string web3auth_keystore_get(string key); + + [DllImport("__Internal")] + extern static int web3auth_keystore_delete(string key); +#endif public static string SESSION_ID = "sessionId"; public static string IV_KEY = "ivKey"; @@ -13,40 +27,78 @@ public class KeyStoreManagerUtils public static string getPubKey(string sessionId) { - var privKey = new EthECKey(sessionId); - return privKey.GetPubKey().ToHex(); + var domain = SecNamedCurves.GetByName("secp256k1"); + var parameters = new ECDomainParameters(domain.Curve, domain.G, domain.H); + + var key = new ECPrivateKeyParameters(new BigInteger(sessionId, 16), parameters); + var q = new ECPublicKeyParameters("EC", domain.G.Multiply(key.D), parameters).Q; + + return Hex.ToHexString(domain.Curve.CreatePoint(q.XCoord.ToBigInteger(), q.YCoord.ToBigInteger()).GetEncoded(false)); } static KeyStoreManagerUtils() { +#if !UNITY_IOS SecurePlayerPrefs.Init(); +#endif } public static void savePreferenceData(string key, string value) { +#if UNITY_IOS + web3auth_keystore_set(key, value); +#else SecurePlayerPrefs.SetString(key, value); +#endif } public static string getPreferencesData(string key) { +#if UNITY_IOS + return web3auth_keystore_get(key); +#else return SecurePlayerPrefs.GetString(key); +#endif } public static void deletePreferencesData(string key) { +#if UNITY_IOS + web3auth_keystore_delete(key); +#else SecurePlayerPrefs.DeleteKey(key); +#endif } public static string getECDSASignature(string privateKey, string data){ - var derivedECKeyPair = new EthECKey(privateKey); - byte[] hashedData = new Sha3Keccack().CalculateHash(System.Text.Encoding.UTF8.GetBytes(data)); + var curve = SecNamedCurves.GetByName("secp256k1"); + var domain = new ECDomainParameters(curve.Curve, curve.G, curve.N, curve.H); + var keyParameters = new ECPrivateKeyParameters(new BigInteger(privateKey, 16), domain); + + var signer = new ECDsaSigner(new HMacDsaKCalculator(new Sha256Digest())); + signer.Init(true, keyParameters); + + var hashAlgorithm = new KeccakDigest(256); + byte[] input = System.Text.Encoding.UTF8.GetBytes(data); + hashAlgorithm.BlockUpdate(input, 0, input.Length); + + byte[] messageHash = new byte[32]; + hashAlgorithm.DoFinal(messageHash, 0); + + var signature = signer.GenerateSignature(messageHash); + + var r = signature[0]; + var s = signature[1]; + + var other = curve.Curve.Order.Subtract(s); + if (s.CompareTo(other) == 1) + s = other; - var signature = derivedECKeyPair.Sign(hashedData); var v = new Asn1EncodableVector(); - v.Add(new DerInteger(signature.R)); - v.Add(new DerInteger(signature.S)); + v.Add(new DerInteger(r)); + v.Add(new DerInteger(s)); + + var derSignature = new DerSequence(v).GetDerEncoded(); - var der = new DerSequence(v); - var sigBytes = der.GetEncoded(); - return sigBytes.ToHexCompact(); + return Hex.ToHexString(derSignature); } } diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum.meta b/Assets/Plugins/Web3AuthSDK/Libs.meta similarity index 77% rename from Assets/Plugins/Web3AuthSDK/Nethereum.meta rename to Assets/Plugins/Web3AuthSDK/Libs.meta index 3d37a99..5dcc28b 100644 --- a/Assets/Plugins/Web3AuthSDK/Nethereum.meta +++ b/Assets/Plugins/Web3AuthSDK/Libs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: c894e19c6cae1c34eb4b8e497ddcbbd9 +guid: 2185d40b1e0bad3458b0e5397e330657 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/BouncyCastle.Crypto.dll b/Assets/Plugins/Web3AuthSDK/Libs/BouncyCastle.Crypto.dll similarity index 100% rename from Assets/Plugins/Web3AuthSDK/Nethereum/BouncyCastle.Crypto.dll rename to Assets/Plugins/Web3AuthSDK/Libs/BouncyCastle.Crypto.dll diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/BouncyCastle.Crypto.dll.meta b/Assets/Plugins/Web3AuthSDK/Libs/BouncyCastle.Crypto.dll.meta similarity index 93% rename from Assets/Plugins/Web3AuthSDK/Nethereum/BouncyCastle.Crypto.dll.meta rename to Assets/Plugins/Web3AuthSDK/Libs/BouncyCastle.Crypto.dll.meta index e68e5c7..d46209a 100644 --- a/Assets/Plugins/Web3AuthSDK/Nethereum/BouncyCastle.Crypto.dll.meta +++ b/Assets/Plugins/Web3AuthSDK/Libs/BouncyCastle.Crypto.dll.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 3c0ca40a901aedb4190102a20b2ed3fa +guid: 73cf35c220798cf4f8e413918848ac3f PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Microsoft.Extensions.Logging.Abstractions.dll b/Assets/Plugins/Web3AuthSDK/Nethereum/Microsoft.Extensions.Logging.Abstractions.dll deleted file mode 100644 index 79bb804..0000000 Binary files a/Assets/Plugins/Web3AuthSDK/Nethereum/Microsoft.Extensions.Logging.Abstractions.dll and /dev/null differ diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Microsoft.Extensions.Logging.Abstractions.dll.meta b/Assets/Plugins/Web3AuthSDK/Nethereum/Microsoft.Extensions.Logging.Abstractions.dll.meta deleted file mode 100644 index 61e830f..0000000 --- a/Assets/Plugins/Web3AuthSDK/Nethereum/Microsoft.Extensions.Logging.Abstractions.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: d5deaf1f3d49d4b4faa4c87115b61e23 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.ABI.dll b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.ABI.dll deleted file mode 100644 index 52d269a..0000000 Binary files a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.ABI.dll and /dev/null differ diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.ABI.dll.meta b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.ABI.dll.meta deleted file mode 100644 index c765a78..0000000 --- a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.ABI.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 0948f733b548caa429510b4060ce8604 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Accounts.dll b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Accounts.dll deleted file mode 100644 index 183569d..0000000 Binary files a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Accounts.dll and /dev/null differ diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Accounts.dll.meta b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Accounts.dll.meta deleted file mode 100644 index 3481d40..0000000 --- a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Accounts.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 9d34fc673f1104942946a7c1294c17c1 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.BlockchainProcessing.dll b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.BlockchainProcessing.dll deleted file mode 100644 index 7777fb8..0000000 Binary files a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.BlockchainProcessing.dll and /dev/null differ diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.BlockchainProcessing.dll.meta b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.BlockchainProcessing.dll.meta deleted file mode 100644 index c931b73..0000000 --- a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.BlockchainProcessing.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: a6f3ed72e60b37b4ba401d7cc85116fa -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Contracts.dll b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Contracts.dll deleted file mode 100644 index 29a9ed6..0000000 Binary files a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Contracts.dll and /dev/null differ diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Contracts.dll.meta b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Contracts.dll.meta deleted file mode 100644 index f67b6ea..0000000 --- a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Contracts.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: e70fdd76ec04e9e48992e7a730be727b -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.GnosisSafe.dll b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.GnosisSafe.dll deleted file mode 100644 index 4afd924..0000000 Binary files a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.GnosisSafe.dll and /dev/null differ diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.GnosisSafe.dll.meta b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.GnosisSafe.dll.meta deleted file mode 100644 index 3da6293..0000000 --- a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.GnosisSafe.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 36e129d73753ebf4ba8a2cafbcd036d5 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Hex.dll b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Hex.dll deleted file mode 100644 index ab63f8d..0000000 Binary files a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Hex.dll and /dev/null differ diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Hex.dll.meta b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Hex.dll.meta deleted file mode 100644 index 3da5949..0000000 --- a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Hex.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 3027b7cef45ff8d429f635f9c7b13c99 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.JsonRpc.Client.dll b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.JsonRpc.Client.dll deleted file mode 100644 index 71e8495..0000000 Binary files a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.JsonRpc.Client.dll and /dev/null differ diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.JsonRpc.Client.dll.meta b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.JsonRpc.Client.dll.meta deleted file mode 100644 index 37f0871..0000000 --- a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.JsonRpc.Client.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 3f6341a0a5db965408f9bc869466a1ec -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.JsonRpc.RpcClient.dll b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.JsonRpc.RpcClient.dll deleted file mode 100644 index 03a8787..0000000 Binary files a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.JsonRpc.RpcClient.dll and /dev/null differ diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.JsonRpc.RpcClient.dll.meta b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.JsonRpc.RpcClient.dll.meta deleted file mode 100644 index 56d10aa..0000000 --- a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.JsonRpc.RpcClient.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 51319e77480a1a543813b9f70c18d921 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.KeyStore.dll b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.KeyStore.dll deleted file mode 100644 index d2fd5fb..0000000 Binary files a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.KeyStore.dll and /dev/null differ diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.KeyStore.dll.meta b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.KeyStore.dll.meta deleted file mode 100644 index 55dac75..0000000 --- a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.KeyStore.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: e7e67e37759ab3042a38c91153e68723 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Model.dll b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Model.dll deleted file mode 100644 index 49b4fa2..0000000 Binary files a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Model.dll and /dev/null differ diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Model.dll.meta b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Model.dll.meta deleted file mode 100644 index 8beb659..0000000 --- a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Model.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 01e958474c5137e4aa26b6b1933da70f -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.RLP.dll b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.RLP.dll deleted file mode 100644 index 3a91c6f..0000000 Binary files a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.RLP.dll and /dev/null differ diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.RLP.dll.meta b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.RLP.dll.meta deleted file mode 100644 index 291364f..0000000 --- a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.RLP.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 46b228160db053d4b9e381d101435bc5 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.RPC.dll b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.RPC.dll deleted file mode 100644 index 1eb3553..0000000 Binary files a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.RPC.dll and /dev/null differ diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.RPC.dll.meta b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.RPC.dll.meta deleted file mode 100644 index 2b8aa2a..0000000 --- a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.RPC.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 4e50820de8fa3454591f0120aa0be5c2 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Signer.EIP712.dll b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Signer.EIP712.dll deleted file mode 100644 index 21a0341..0000000 Binary files a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Signer.EIP712.dll and /dev/null differ diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Signer.EIP712.dll.meta b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Signer.EIP712.dll.meta deleted file mode 100644 index 50b0484..0000000 --- a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Signer.EIP712.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 15de5083e6898f146aae8a43e8925531 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Signer.dll b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Signer.dll deleted file mode 100644 index b4b0b19..0000000 Binary files a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Signer.dll and /dev/null differ diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Signer.dll.meta b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Signer.dll.meta deleted file mode 100644 index 13b6da9..0000000 --- a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Signer.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 0d7d7017a2363aa4ca082060a66dc780 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Siwe.Core.dll b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Siwe.Core.dll deleted file mode 100644 index 66b9d56..0000000 Binary files a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Siwe.Core.dll and /dev/null differ diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Siwe.Core.dll.meta b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Siwe.Core.dll.meta deleted file mode 100644 index 05e63fb..0000000 --- a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Siwe.Core.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 4c4b7531e9e32c545a96467e8f385b73 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Unity.Metamask.dll b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Unity.Metamask.dll deleted file mode 100644 index f6a4ae9..0000000 Binary files a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Unity.Metamask.dll and /dev/null differ diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Unity.Metamask.dll.meta b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Unity.Metamask.dll.meta deleted file mode 100644 index f2436f4..0000000 --- a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Unity.Metamask.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: f01ac4963ecc50448bd58367c12d2294 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Unity.dll b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Unity.dll deleted file mode 100644 index 6fcc255..0000000 Binary files a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Unity.dll and /dev/null differ diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Unity.dll.meta b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Unity.dll.meta deleted file mode 100644 index efcf1bb..0000000 --- a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Unity.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 686686d658b732e40b07000c462457d6 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Util.dll b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Util.dll deleted file mode 100644 index 8c31ea6..0000000 Binary files a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Util.dll and /dev/null differ diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Util.dll.meta b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Util.dll.meta deleted file mode 100644 index 2ac6065..0000000 --- a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Util.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: a8f9ed014b8434c46a08d862cef606cc -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Web3.dll b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Web3.dll deleted file mode 100644 index 72c13d4..0000000 Binary files a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Web3.dll and /dev/null differ diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Web3.dll.meta b/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Web3.dll.meta deleted file mode 100644 index 8687ad5..0000000 --- a/Assets/Plugins/Web3AuthSDK/Nethereum/Nethereum.Web3.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 4fc41dfedeb0c9846b93213373333020 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/NethereumMetamask.jslib b/Assets/Plugins/Web3AuthSDK/Nethereum/NethereumMetamask.jslib deleted file mode 100644 index 5d81ba9..0000000 --- a/Assets/Plugins/Web3AuthSDK/Nethereum/NethereumMetamask.jslib +++ /dev/null @@ -1,149 +0,0 @@ -mergeInto(LibraryManager.library, { - EnableEthereum: async function (gameObjectName, callback, fallback) { - const parsedObjectName = UTF8ToString(gameObjectName); - const parsedCallback = UTF8ToString(callback); - const parsedFallback = UTF8ToString(fallback); - - try { - - const accounts = await ethereum.request({ method: 'eth_requestAccounts' }); - ethereum.autoRefreshOnNetworkChange = false; - - var bufferSize = lengthBytesUTF8(accounts[0]) + 1; - var buffer = _malloc(bufferSize); - stringToUTF8(accounts[0], buffer, bufferSize); - nethereumUnityInstance.SendMessage(parsedObjectName, parsedCallback, accounts[0]); - return buffer; - } catch (error) { - nethereumUnityInstance.SendMessage(parsedObjectName, parsedFallback, error.message); - return null; - } - }, - EthereumInit: function(gameObjectName, callBackAccountChange, callBackChainChange){ - const parsedObjectName = UTF8ToString(gameObjectName); - const parsedCallbackAccountChange = UTF8ToString(callBackAccountChange); - const parsedCallbackChainChange = UTF8ToString(callBackChainChange); - // console.log("EthereumInit"); - - ethereum.on("accountsChanged", - function (accounts) { - //console.log(accounts[0]); - let account = ""; - if(account[0] !== undefined){ - account = account[0]; - } - nethereumUnityInstance.SendMessage(parsedObjectName, parsedCallbackAccountChange, account); - }); - ethereum.on("chainChanged", - function (chainId) { - // console.log(chainId); - nethereumUnityInstance.SendMessage(parsedObjectName, parsedCallbackChainChange, chainId.toString()); - }); - }, - GetChainId: async function(gameObjectName, callback, fallback) { - const parsedObjectName = UTF8ToString(gameObjectName); - const parsedCallback = UTF8ToString(callback); - const parsedFallback = UTF8ToString(fallback); - try { - - const chainId = await ethereum.request({ method: 'eth_chainId' }); - nethereumUnityInstance.SendMessage(parsedObjectName, parsedCallback, chainId.toString()); - - } catch (error) { - nethereumUnityInstance.SendMessage(parsedObjectName, parsedFallback, error.message); - return null; - } - }, - IsMetamaskAvailable: function () { - if (window.ethereum) return true; - return false; - }, - GetSelectedAddress: function () { - var returnValue = ethereum.selectedAddress; - if(returnValue !== null) { - var bufferSize = lengthBytesUTF8(returnValue) + 1; - var buffer = _malloc(bufferSize); - stringToUTF8(returnValue, buffer, bufferSize); - return buffer; - } - }, - Request: async function (message, gameObjectName, callback, fallback ) { - const parsedMessageStr = UTF8ToString(message); - const parsedObjectName = UTF8ToString(gameObjectName); - const parsedCallback = UTF8ToString(callback); - const parsedFallback = UTF8ToString(fallback); - let parsedMessage = JSON.parse(parsedMessageStr); - try { - //console.log(parsedMessage); - const response = await ethereum.request(parsedMessage); - let rpcResponse = { - jsonrpc: "2.0", - result: response, - id: parsedMessage.id, - error: null - } - //console.log(rpcResponse); - - var json = JSON.stringify(rpcResponse); - //console.log(json); - nethereumUnityInstance.SendMessage(parsedObjectName, parsedCallback, json); - return json; - } catch (e) { - let rpcResonseError = { - jsonrpc: "2.0", - id: parsedMessage.id, - error: { - message: e.message, - } - } - var json = JSON.stringify(rpcResonseError); - nethereumUnityInstance.SendMessage(parsedObjectName, parsedFallback, json); - return json; - } - }, - - RequestRpcClientCallback: async function (callback, message) { - const parsedMessageStr = UTF8ToString(message); - const parsedCallback = UTF8ToString(callback); - let parsedMessage = JSON.parse(parsedMessageStr); - try { - - //console.log(parsedMessage); - const response = await ethereum.request(parsedMessage); - let rpcResponse = { - jsonrpc: "2.0", - result: response, - id: parsedMessage.id, - error: null - } - //console.log(rpcResponse); - - var json = JSON.stringify(rpcResponse); - //console.log(json); - - var len = lengthBytesUTF8(json) + 1; - var strPtr = _malloc(len); - stringToUTF8(json, strPtr, len); - Module.dynCall_vi(callback, strPtr); - - return json; - } catch (e) { - //console.log(e); - let rpcResonseError = { - jsonrpc: "2.0", - id: parsedMessage.id, - error: { - message: e.message, - } - } - var json = JSON.stringify(rpcResonseError); - //console.log(json); - var len = lengthBytesUTF8(json) + 1; - var strPtr = _malloc(len); - stringToUTF8(json, strPtr, len); - - Module.dynCall_vi(callback, strPtr); - } - } - -}); \ No newline at end of file diff --git a/Assets/Plugins/Web3AuthSDK/Nethereum/NethereumMetamask.jslib.meta b/Assets/Plugins/Web3AuthSDK/Nethereum/NethereumMetamask.jslib.meta deleted file mode 100644 index 925e1c9..0000000 --- a/Assets/Plugins/Web3AuthSDK/Nethereum/NethereumMetamask.jslib.meta +++ /dev/null @@ -1,32 +0,0 @@ -fileFormatVersion: 2 -guid: cf4245450cf0d9544b5b7ab23b421287 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 0 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - WebGL: WebGL - second: - enabled: 1 - settings: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Plugins/Web3AuthSDK/Types/AES256CBC.cs b/Assets/Plugins/Web3AuthSDK/Types/AES256CBC.cs index b293de1..bf02ba3 100644 --- a/Assets/Plugins/Web3AuthSDK/Types/AES256CBC.cs +++ b/Assets/Plugins/Web3AuthSDK/Types/AES256CBC.cs @@ -1,6 +1,7 @@ +using Org.BouncyCastle.Asn1.Sec; +using Org.BouncyCastle.Crypto.Agreement; using Org.BouncyCastle.Crypto.Parameters; using Org.BouncyCastle.Math; -using Org.BouncyCastle.Math.EC; using Org.BouncyCastle.Security; using System.Security.Cryptography; @@ -57,15 +58,17 @@ public string decrypt(byte[] src) public BigInteger ecdh(string privateKeyHex, string ephemPublicKeyHex) { - string affineX = ephemPublicKeyHex.Substring(2, 66 - 2); - string affineY = ephemPublicKeyHex.Substring(66); + var domain = SecNamedCurves.GetByName("secp256k1"); + var parameters = new ECDomainParameters(domain.Curve, domain.G, domain.H); - ECPointArithmetic ecPoint = new ECPointArithmetic(new FpCurve( - new BigInteger("115792089237316195423570985008687907853269984665640564039457584007908834671663"), - new BigInteger("0"), - new BigInteger("7")), new BigInteger(affineX, 16), new BigInteger(affineY, 16), null); + ECPrivateKeyParameters privKey = new ECPrivateKeyParameters(new BigInteger(privateKeyHex, 16), parameters); - return ecPoint.multiply(new BigInteger(privateKeyHex, 16)).getX(); + ECDHBasicAgreement basicAgreement = new ECDHBasicAgreement(); + basicAgreement.Init(privKey); + + var pt = domain.Curve.DecodePoint(new BigInteger(ephemPublicKeyHex, 16).ToByteArray()); + + return basicAgreement.CalculateAgreement(new ECPublicKeyParameters(pt, parameters)); } public static byte[] toByteArray(string s) diff --git a/Assets/Plugins/Web3AuthSDK/Web3Auth.cs b/Assets/Plugins/Web3AuthSDK/Web3Auth.cs index c7b704a..cb0144b 100644 --- a/Assets/Plugins/Web3AuthSDK/Web3Auth.cs +++ b/Assets/Plugins/Web3AuthSDK/Web3Auth.cs @@ -242,10 +242,28 @@ public void setResultUrl(Uri uri) if (!string.IsNullOrEmpty(this.web3AuthResponse.sessionId)) this.Enqueue(() => KeyStoreManagerUtils.savePreferenceData(KeyStoreManagerUtils.SESSION_ID, this.web3AuthResponse.sessionId) ); + + if (!string.IsNullOrEmpty(web3AuthResponse.userInfo?.dappShare)) + { + KeyStoreManagerUtils.savePreferenceData( + web3AuthResponse.userInfo?.verifier, web3AuthResponse.userInfo?.dappShare + ); + } } public void login(LoginParams loginParams) { + if (web3AuthOptions.loginConfig != null) + { + var loginConfigItem = web3AuthOptions.loginConfig?.Values.First(); + var share = KeyStoreManagerUtils.getPreferencesData(loginConfigItem?.verifier); + + if (!string.IsNullOrEmpty(share)) + { + loginParams.dappShare = share; + } + } + request("login", loginParams); } @@ -366,12 +384,21 @@ private void sessionTimeOutAPI() ); - //if (result != null) - //{ - // //Delete local storage - // var loginConfigItem = web3AuthOptions.loginConfig.Values.First(); - // KeyStoreManagerUtils.deletePreferencesData(loginConfigItem.verifier); - //} + if (result != null) + { + try + { + KeyStoreManagerUtils.deletePreferencesData(KeyStoreManagerUtils.EPHEM_PUBLIC_Key); + KeyStoreManagerUtils.deletePreferencesData(KeyStoreManagerUtils.IV_KEY); + KeyStoreManagerUtils.deletePreferencesData(KeyStoreManagerUtils.MAC); + KeyStoreManagerUtils.deletePreferencesData(KeyStoreManagerUtils.SESSION_ID); + KeyStoreManagerUtils.deletePreferencesData(web3AuthOptions.loginConfig?.Values.First()?.verifier); + } + catch (Exception ex) + { + Debug.LogError(ex.Message); + } + } } } diff --git a/Assets/Plugins/Web3AuthSDK/iOS/WebAuthenticate.mm b/Assets/Plugins/Web3AuthSDK/iOS/WebAuthenticate.mm index 96f98a1..b391782 100644 --- a/Assets/Plugins/Web3AuthSDK/iOS/WebAuthenticate.mm +++ b/Assets/Plugins/Web3AuthSDK/iOS/WebAuthenticate.mm @@ -8,9 +8,74 @@ #import #import #import +#import extern "C" { void web3auth_launch(const char *url, const char *redirectUri, const char *objectName) { [WebAuthenticate launch:[NSString stringWithUTF8String:url] :[NSString stringWithUTF8String:redirectUri] :[NSString stringWithUTF8String:objectName]]; } + + int web3auth_keystore_set(const char* dataType, const char* value) { + NSMutableDictionary* attributes = nil; + NSMutableDictionary* query = [NSMutableDictionary dictionary]; + NSData* sata = [[NSString stringWithCString:value encoding:NSUTF8StringEncoding] dataUsingEncoding:NSUTF8StringEncoding]; + + [query setObject:(id)kSecClassGenericPassword forKey:(id)kSecClass]; + [query setObject:(id)[NSString stringWithCString:dataType encoding:NSUTF8StringEncoding] forKey:(id)kSecAttrAccount]; + + OSStatus err = SecItemCopyMatching((CFDictionaryRef)query, NULL); + + if (err == noErr) { + attributes = [NSMutableDictionary dictionary]; + [attributes setObject:sata forKey:(id)kSecValueData]; + [attributes setObject:[NSDate date] forKey:(id)kSecAttrModificationDate]; + + err = SecItemUpdate((CFDictionaryRef)query, (CFDictionaryRef)attributes); + return (int)err; + } else if (err == errSecItemNotFound) { + attributes = [NSMutableDictionary dictionary]; + [attributes setObject:(id)kSecClassGenericPassword forKey:(id)kSecClass]; + [attributes setObject:(id)[NSString stringWithCString:dataType encoding:NSUTF8StringEncoding] forKey:(id)kSecAttrAccount]; + [attributes setObject:sata forKey:(id)kSecValueData]; + [attributes setObject:[NSDate date] forKey:(id)kSecAttrCreationDate]; + [attributes setObject:[NSDate date] forKey:(id)kSecAttrModificationDate]; + err = SecItemAdd((CFDictionaryRef)attributes, NULL); + return (int)err; + } else { + return (int)err; + } + } + + char* web3auth_keystore_get(const char* dataType) { + NSMutableDictionary* query = [NSMutableDictionary dictionary]; + [query setObject:(id)kSecClassGenericPassword forKey:(id)kSecClass]; + [query setObject:(id)[NSString stringWithCString:dataType encoding:NSUTF8StringEncoding] forKey:(id)kSecAttrAccount]; + [query setObject:(id)kCFBooleanTrue forKey:(id)kSecReturnData]; + + CFDataRef cfresult = NULL; + OSStatus err = SecItemCopyMatching((CFDictionaryRef)query, (CFTypeRef*)&cfresult); + + if (err == noErr) { + NSData* passwordData = (__bridge_transfer NSData *)cfresult; + const char* value = [[[NSString alloc] initWithData:passwordData encoding:NSUTF8StringEncoding] UTF8String]; + char *str = strdup(value); + return str; + } else { + return NULL; + } + } + + int web3auth_keystore_delete(const char* dataType) { + NSMutableDictionary* query = [NSMutableDictionary dictionary]; + [query setObject:(id)kSecClassGenericPassword forKey:(id)kSecClass]; + [query setObject:(id)[NSString stringWithCString:dataType encoding:NSUTF8StringEncoding] forKey:(id)kSecAttrAccount]; + + OSStatus err = SecItemDelete((CFDictionaryRef)query); + + if (err == noErr) { + return 0; + } else { + return (int)err; + } + } } diff --git a/Assets/Plugins/Web3AuthSDK/net472UnityCommonAOT.meta b/Assets/Plugins/Web3AuthSDK/net472UnityCommonAOT.meta deleted file mode 100644 index 7e819ab..0000000 --- a/Assets/Plugins/Web3AuthSDK/net472UnityCommonAOT.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 54400ce81713bf84d9d425ba56b06105 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/StreamingAssets.meta b/Assets/StreamingAssets.meta deleted file mode 100644 index d33aabe..0000000 --- a/Assets/StreamingAssets.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: cdd52a26d71f14fc78447133899898d6 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: