From f731ea1e1dc0cd38a3714dbe2e4c4d124dc5cc56 Mon Sep 17 00:00:00 2001 From: Jordan Sexton Date: Tue, 13 Sep 2022 16:00:35 -0500 Subject: [PATCH] alpha adapter test --- packages/wallets/alpha/src/adapter.ts | 29 ++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/packages/wallets/alpha/src/adapter.ts b/packages/wallets/alpha/src/adapter.ts index 88e36cd94..b8e5af75b 100644 --- a/packages/wallets/alpha/src/adapter.ts +++ b/packages/wallets/alpha/src/adapter.ts @@ -1,6 +1,7 @@ import type { EventEmitter, SendTransactionOptions, WalletName } from '@solana/wallet-adapter-base'; import { BaseMessageSignerWalletAdapter, + isVersionedTransaction, scopePollingDetectionStrategy, WalletAccountError, WalletConnectionError, @@ -49,10 +50,11 @@ export interface AlphaWalletAdapterConfig {} export const AlphaWalletName = 'Alpha' as WalletName<'Alpha'>; export class AlphaWalletAdapter extends BaseMessageSignerWalletAdapter { - name = AlphaWalletName; - url = 'https://github.com/babilu-online/alpha-wallet'; - icon = + readonly name = AlphaWalletName; + readonly url = 'https://github.com/babilu-online/alpha-wallet'; + readonly icon = 'data:image/svg+xml;base64,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'; + readonly supportedTransactionVersions = null; private _connecting: boolean; private _wallet: AlphaWallet | null; @@ -164,9 +166,8 @@ export class AlphaWalletAdapter extends BaseMessageSignerWalletAdapter { const wallet = this._wallet; if (!wallet) throw new WalletNotConnectedError(); - if ('message' in transaction) { + if (isVersionedTransaction(transaction)) throw new WalletSendTransactionError(`Sending versioned transactions isn't supported by this wallet`); - } try { const { signers, ...sendOptions } = options; @@ -189,13 +190,16 @@ export class AlphaWalletAdapter extends BaseMessageSignerWalletAdapter { } } - async signTransaction(transaction: Transaction): Promise { + async signTransaction(transaction: T): Promise { try { const wallet = this._wallet; if (!wallet) throw new WalletNotConnectedError(); + if (isVersionedTransaction(transaction)) + throw new WalletSendTransactionError(`Signing versioned transactions isn't supported by this wallet`); + try { - return (await wallet.signTransaction(transaction)) || transaction; + return ((await wallet.signTransaction(transaction)) || transaction) as T; } catch (error: any) { throw new WalletSignTransactionError(error?.message, error); } @@ -205,13 +209,20 @@ export class AlphaWalletAdapter extends BaseMessageSignerWalletAdapter { } } - async signAllTransactions(transactions: Transaction[]): Promise { + async signAllTransactions(transactions: T[]): Promise { try { const wallet = this._wallet; if (!wallet) throw new WalletNotConnectedError(); + for (const transaction of transactions) { + if (isVersionedTransaction(transaction)) + throw new WalletSendTransactionError( + `Signing versioned transactions isn't supported by this wallet` + ); + } + try { - return (await wallet.signAllTransactions(transactions)) || transactions; + return ((await wallet.signAllTransactions(transactions as Transaction[])) as T[]) || transactions; } catch (error: any) { throw new WalletSignTransactionError(error?.message, error); }