Skip to content

Commit 7a6971c

Browse files
committed
derive verifying key correctly
1 parent 613055e commit 7a6971c

File tree

3 files changed

+12
-1
lines changed

3 files changed

+12
-1
lines changed

Assets/Dojo/Plugins/WebGL/starknet.jslib

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,14 @@ mergeInto(LibraryManager.library, {
106106
stringToUTF8(compactSig, buffer, bufferSize);
107107
return buffer;
108108
},
109+
DeriveVerifyingKey: function (pk) {
110+
let signingKey = new wasm_bindgen.SigningKey(UTF8ToString(pk));
111+
let verifyingKey = wasm_bindgen.VerifyingKey.fromSigningKey(signingKey);
112+
let bufferSize = lengthBytesUTF8(verifyingKey) + 1;
113+
let buffer = _malloc(bufferSize);
114+
stringToUTF8(verifyingKey, buffer, bufferSize);
115+
return buffer;
116+
},
109117
NewVerifyingKey: function (vk) {
110118
let verifyingKey = new wasm_bindgen.VerifyingKey(UTF8ToString(vk));
111119
let bufferSize = lengthBytesUTF8(verifyingKey) + 1;

Assets/Dojo/Runtime/Starknet/SigningKey.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public VerifyingKey PublicKey
1818
get
1919
{
2020
#if UNITY_WEBGL && !UNITY_EDITOR
21-
return new VerifyingKey(StarknetInterop.NewVerifyingKey(new CString(Inner.Hex())));
21+
return new VerifyingKey(StarknetInterop.DeriveVerifyingKey(new CString(Inner.Hex())));
2222
#else
2323
return new VerifyingKey(dojo.verifying_key_new(Inner.Inner));
2424
#endif

Assets/Dojo/Runtime/Starknet/StarknetInterop.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,9 @@ public static Task<bool> WaitForTransactionAsync(IntPtr provider, FieldElement t
216216
[DllImport("__Internal")]
217217
public static extern string NewVerifyingKey(CString privateKey);
218218

219+
[DllImport("__Internal")]
220+
public static extern string DeriveVerifyingKey(CString privateKey);
221+
219222
[DllImport("__Internal")]
220223
public static extern bool Verify(CString publicKey, CString hash, CString r, CString s);
221224

0 commit comments

Comments
 (0)