File tree Expand file tree Collapse file tree 4 files changed +21
-9
lines changed
Expand file tree Collapse file tree 4 files changed +21
-9
lines changed Original file line number Diff line number Diff line change @@ -2294,7 +2294,13 @@ export class Clerk implements ClerkInterface {
22942294 generateSignature = generateSignatureWithCoinbaseWallet ;
22952295 break ;
22962296 case 'solana' :
2297- generateSignature = generateSignatureWithSolana ;
2297+ if ( ! walletName ) {
2298+ throw new ClerkRuntimeError ( 'Wallet name is required for Solana authentication.' , {
2299+ code : 'web3_solana_wallet_name_required' ,
2300+ } ) ;
2301+ }
2302+ // Solana requires walletName; bind it into the helper
2303+ generateSignature = params => generateSignatureWithSolana ( { ...params , walletName } ) ;
22982304 break ;
22992305 default :
23002306 generateSignature = generateSignatureWithOKXWallet ;
Original file line number Diff line number Diff line change @@ -473,7 +473,7 @@ export class SignIn extends BaseResource implements SignInResource {
473473 const identifier = await getSolanaIdentifier ( params . walletName ) ;
474474 return this . authenticateWithWeb3 ( {
475475 identifier,
476- generateSignature : generateSignatureWithSolana ,
476+ generateSignature : p => generateSignatureWithSolana ( { ... p , walletName : params . walletName } ) ,
477477 strategy : 'web3_solana_signature' ,
478478 walletName : params . walletName ,
479479 } ) ;
@@ -1006,8 +1006,13 @@ class SignInFuture implements SignInFutureResource {
10061006 generateSignature = generateSignatureWithOKXWallet ;
10071007 break ;
10081008 case 'solana' :
1009+ if ( ! params . walletName ) {
1010+ throw new ClerkRuntimeError ( 'Wallet name is required for Solana authentication.' , {
1011+ code : 'web3_solana_wallet_name_required' ,
1012+ } ) ;
1013+ }
10091014 identifier = await getSolanaIdentifier ( params . walletName ) ;
1010- generateSignature = generateSignatureWithSolana ;
1015+ generateSignature = p => generateSignatureWithSolana ( { ... p , walletName : params . walletName as string } ) ;
10111016 break ;
10121017 default :
10131018 throw new Error ( `Unsupported Web3 provider: ${ provider } ` ) ;
Original file line number Diff line number Diff line change @@ -388,7 +388,7 @@ export class SignUp extends BaseResource implements SignUpResource {
388388 const identifier = await getSolanaIdentifier ( params . walletName ) ;
389389 return this . authenticateWithWeb3 ( {
390390 identifier,
391- generateSignature : generateSignatureWithSolana ,
391+ generateSignature : p => generateSignatureWithSolana ( { ... p , walletName : params . walletName } ) ,
392392 unsafeMetadata : params ?. unsafeMetadata ,
393393 strategy : 'web3_solana_signature' ,
394394 legalAccepted : params ?. legalAccepted ,
Original file line number Diff line number Diff line change @@ -98,10 +98,7 @@ export async function getBaseIdentifier(): Promise<string> {
9898 return await getWeb3Identifier ( { provider : 'base' } ) ;
9999}
100100
101- export async function getSolanaIdentifier ( walletName ?: string ) : Promise < string > {
102- if ( ! walletName ) {
103- throw new Error ( 'walletName is required for solana web3 authentication' ) ;
104- }
101+ export async function getSolanaIdentifier ( walletName : string ) : Promise < string > {
105102 return await getWeb3Identifier ( { provider : 'solana' , walletName } ) ;
106103}
107104
@@ -110,6 +107,10 @@ type GenerateSignatureParams = {
110107 nonce : string ;
111108} ;
112109
110+ type GenerateSolanaSignatureParams = GenerateSignatureParams & {
111+ walletName : string ;
112+ } ;
113+
113114export async function generateSignatureWithMetamask ( params : GenerateSignatureParams ) : Promise < string > {
114115 return await generateWeb3Signature ( { ...params , provider : 'metamask' } ) ;
115116}
@@ -126,7 +127,7 @@ export async function generateSignatureWithBase(params: GenerateSignatureParams)
126127 return await generateWeb3Signature ( { ...params , provider : 'base' } ) ;
127128}
128129
129- export async function generateSignatureWithSolana ( params : GenerateSignatureParams ) : Promise < string > {
130+ export async function generateSignatureWithSolana ( params : GenerateSolanaSignatureParams ) : Promise < string > {
130131 return await generateWeb3Signature ( { ...params , provider : 'solana' } ) ;
131132}
132133
You can’t perform that action at this time.
0 commit comments