Skip to content

Commit 92491f6

Browse files
authored
Feat: enable signAllTransactions for Ingame & External walllets (#236)
1 parent 90edc61 commit 92491f6

File tree

10 files changed

+70
-421
lines changed

10 files changed

+70
-421
lines changed

Runtime/Plugins/Phantom.jslib

Lines changed: 0 additions & 71 deletions
This file was deleted.

Runtime/Plugins/Phantom.jslib.meta

Lines changed: 0 additions & 86 deletions
This file was deleted.

Runtime/Plugins/SolanaWalletAdapterWebGL/SolanaWalletAdapterWebGL.jslib

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ mergeInto(LibraryManager.library, {
155155
var serializedSignedTransactions = [];
156156
for (var i = 0; i < signedTransactions.length; i++) {
157157
var signedTransaction = signedTransactions[i];
158-
var txStr = signedTransaction.serialize().toString("base64");
158+
var txStr = Buffer.from(signedTransaction.serialize()).toString("base64");
159159
serializedSignedTransactions.push(txStr);
160160
}
161161
var txsStr = serializedSignedTransactions.join(",");

Runtime/codebase/DeepLinkWallets/PhantomWebGL.cs

Lines changed: 0 additions & 122 deletions
This file was deleted.

Runtime/codebase/DeepLinkWallets/PhantomWebGL.cs.meta

Lines changed: 0 additions & 3 deletions
This file was deleted.

Runtime/codebase/DeepLinkWallets/Utils.cs

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,4 +192,57 @@ public class PhantomWalletMessageSignedSuccessfully
192192
{
193193
public string signature;
194194
}
195+
196+
[Serializable]
197+
public class PhantomWalletOptions
198+
{
199+
[SerializeField]
200+
private string apiVersion = "v1";
201+
public virtual string ApiVersion
202+
{
203+
get => apiVersion;
204+
set => apiVersion = value;
205+
}
206+
207+
[SerializeField]
208+
private string appMetaDataUrl = "https://github.com/magicblock-labs/Solana.Unity-SDK";
209+
public virtual string AppMetaDataUrl
210+
{
211+
get => appMetaDataUrl;
212+
set => appMetaDataUrl = value;
213+
}
214+
215+
[SerializeField]
216+
private string deeplinkUrlScheme = "unitydl";
217+
public virtual string DeeplinkUrlScheme
218+
{
219+
get => deeplinkUrlScheme;
220+
set => deeplinkUrlScheme = value;
221+
}
222+
223+
[SerializeField]
224+
private string sessionEncryptionPassword = "use a strong password";
225+
public virtual string SessionEncryptionPassword
226+
{
227+
get => sessionEncryptionPassword;
228+
set => sessionEncryptionPassword = value;
229+
}
230+
231+
[SerializeField]
232+
private string baseUrl = "https://phantom.app";
233+
public virtual string BaseUrl
234+
{
235+
get => baseUrl;
236+
set => baseUrl = value;
237+
}
238+
239+
[SerializeField]
240+
private string walletName = "phantom";
241+
public virtual string WalletName
242+
{
243+
get => walletName;
244+
set => walletName = value;
245+
}
246+
}
247+
195248
}

Runtime/codebase/InGameWallet.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,11 @@ protected override Task<Transaction> _SignTransaction(Transaction transaction)
107107

108108
protected override Task<Transaction[]> _SignAllTransactions(Transaction[] transactions)
109109
{
110-
throw new NotImplementedException();
110+
foreach (Transaction transaction in transactions)
111+
{
112+
transaction.PartialSign(Account);
113+
}
114+
return Task.FromResult(transactions);
111115
}
112116

113117
public override Task<byte[]> SignMessage(byte[] message)

0 commit comments

Comments
 (0)