Skip to content

Commit 83d9058

Browse files
committed
hexify external wallet personal_sign
new metamask mobile versions require this for display now
1 parent 2db98d3 commit 83d9058

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

Diff for: Assets/Thirdweb/Runtime/Unity/Wallets/Core/MetaMaskWallet.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,8 @@ public Task<string> PersonalSign(byte[] rawMessage)
9191
throw new ArgumentNullException(nameof(rawMessage), "Message to sign cannot be null.");
9292
}
9393

94-
var message = Encoding.UTF8.GetString(rawMessage);
95-
return PersonalSign(message);
94+
var hex = Utils.BytesToHex(rawMessage);
95+
return PersonalSign(hex);
9696
}
9797

9898
public async Task<string> PersonalSign(string message)
@@ -102,7 +102,7 @@ public async Task<string> PersonalSign(string message)
102102
throw new ArgumentNullException(nameof(message), "Message to sign cannot be null or empty.");
103103
}
104104

105-
var rpcRequest = new RpcRequest { Method = "personal_sign", Params = new object[] { message, WebGLMetaMask.Instance.GetAddress() } };
105+
var rpcRequest = new RpcRequest { Method = "personal_sign", Params = new object[] { message.StartsWith("0x") ? message : message.StringToHex(), WebGLMetaMask.Instance.GetAddress() } };
106106
return await WebGLMetaMask.Instance.RequestAsync<string>(rpcRequest);
107107
}
108108

Diff for: Assets/Thirdweb/Runtime/Unity/Wallets/Core/WalletConnectWallet.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -149,8 +149,8 @@ public Task<string> PersonalSign(byte[] rawMessage)
149149
throw new ArgumentNullException(nameof(rawMessage), "Message to sign cannot be null.");
150150
}
151151

152-
var message = Encoding.UTF8.GetString(rawMessage);
153-
return PersonalSign(message);
152+
var hex = Utils.BytesToHex(rawMessage);
153+
return PersonalSign(hex);
154154
}
155155

156156
public async Task<string> PersonalSign(string message)
@@ -160,7 +160,7 @@ public async Task<string> PersonalSign(string message)
160160
throw new ArgumentNullException(nameof(message), "Message to sign cannot be null.");
161161
}
162162

163-
var task = _walletConnectService.PersonalSignAsync(message);
163+
var task = _walletConnectService.PersonalSignAsync(message.StartsWith("0x") ? message : message.StringToHex());
164164
SessionRequestDeeplink();
165165
return await task as string;
166166
}

0 commit comments

Comments
 (0)