Skip to content

Commit

Permalink
fix: accept base64 encoded signatures from wallets in the JS protocol
Browse files Browse the repository at this point in the history
  • Loading branch information
steveluscher authored and sdlaver committed Jul 23, 2022
1 parent 773d4f4 commit 08459ef
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
},
"dependencies": {
"@solana-mobile/mobile-wallet-adapter-protocol": "^0.0.1-alpha.7",
"bs58": "^5.0.0",
"js-base64": "^3.7.2"
},
"devDependencies": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import {
transact as baseTransact,
WalletAssociationConfig,
} from '@solana-mobile/mobile-wallet-adapter-protocol';
import bs58 from 'bs58';

import { fromUint8Array, toUint8Array } from './base64Utils';

Expand Down Expand Up @@ -92,12 +93,13 @@ export async function transact<TReturn>(
return serializedTransaction.toString('base64');
}),
);
const { signatures } = await wallet.signAndSendTransactions({
const { signatures: base64EncodedSignatures } = await wallet.signAndSendTransactions({
...rest,
commitment: targetCommitment,
payloads,
preflight_commitment: targetCommitment,
});
const signatures = base64EncodedSignatures.map(toUint8Array).map(bs58.encode);
return signatures as TransactionSignature[];
} as Web3MobileWallet[TMethodName];
break;
Expand Down
4 changes: 2 additions & 2 deletions js/packages/mobile-wallet-adapter-protocol/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ export type AuthToken = string;

export type Base64EncodedAddress = string;

type Base58EncodedSignature = string;
type Base64EncodedSignature = string;

type Base64EncodedMessage = string;

Expand Down Expand Up @@ -77,7 +77,7 @@ export interface SignAndSendTransactionsAPI {
commitment: Finality;
payloads: Base64EncodedTransaction[];
preflight_commitment: Finality;
}): Promise<Readonly<{ signatures: Base58EncodedSignature[] }>>;
}): Promise<Readonly<{ signatures: Base64EncodedSignature[] }>>;
}

export interface MobileWallet
Expand Down
12 changes: 12 additions & 0 deletions js/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2803,6 +2803,11 @@ base-x@^3.0.2:
dependencies:
safe-buffer "^5.0.1"

base-x@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/base-x/-/base-x-4.0.0.tgz#d0e3b7753450c73f8ad2389b5c018a4af7b2224a"
integrity sha512-FuwxlW4H5kh37X/oW59pwTzzTKRzfrrQwhmyspRM7swOEZcHtDZSCt45U6oKgtuFE+WYPblePMVIPR4RZrh/hw==

base64-js@^1.1.2, base64-js@^1.3.1, base64-js@^1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
Expand Down Expand Up @@ -2967,6 +2972,13 @@ bs58@^4.0.0, bs58@^4.0.1:
dependencies:
base-x "^3.0.2"

bs58@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/bs58/-/bs58-5.0.0.tgz#865575b4d13c09ea2a84622df6c8cbeb54ffc279"
integrity sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ==
dependencies:
base-x "^4.0.0"

bser@2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05"
Expand Down

0 comments on commit 08459ef

Please sign in to comment.