@@ -24,6 +24,7 @@ import type {
2424 __internal_UserVerificationModalProps ,
2525 APIKeysNamespace ,
2626 APIKeysProps ,
27+ AuthenticateWithBaseParams ,
2728 AuthenticateWithCoinbaseWalletParams ,
2829 AuthenticateWithGoogleOneTapParams ,
2930 AuthenticateWithMetamaskParams ,
@@ -42,6 +43,7 @@ import type {
4243 EnvironmentJSON ,
4344 EnvironmentJSONSnapshot ,
4445 EnvironmentResource ,
46+ GenerateSignatureParams ,
4547 GoogleOneTapProps ,
4648 HandleEmailLinkVerificationParams ,
4749 HandleOAuthCallbackParams ,
@@ -100,6 +102,7 @@ import {
100102 disabledAPIKeysFeature ,
101103 disabledOrganizationsFeature ,
102104 errorThrower ,
105+ generateSignatureWithBase ,
103106 generateSignatureWithCoinbaseWallet ,
104107 generateSignatureWithMetamask ,
105108 generateSignatureWithOKXWallet ,
@@ -2148,6 +2151,13 @@ export class Clerk implements ClerkInterface {
21482151 } ) ;
21492152 } ;
21502153
2154+ public authenticateWithBase = async ( props : AuthenticateWithBaseParams = { } ) : Promise < void > => {
2155+ await this . authenticateWithWeb3 ( {
2156+ ...props ,
2157+ strategy : 'web3_base_signature' ,
2158+ } ) ;
2159+ } ;
2160+
21512161 public authenticateWithOKXWallet = async ( props : AuthenticateWithOKXWalletParams = { } ) : Promise < void > => {
21522162 await this . authenticateWithWeb3 ( {
21532163 ...props ,
@@ -2172,12 +2182,21 @@ export class Clerk implements ClerkInterface {
21722182
21732183 const provider = strategy . replace ( 'web3_' , '' ) . replace ( '_signature' , '' ) as Web3Provider ;
21742184 const identifier = await getWeb3Identifier ( { provider } ) ;
2175- const generateSignature =
2176- provider === 'metamask'
2177- ? generateSignatureWithMetamask
2178- : provider === 'coinbase_wallet'
2179- ? generateSignatureWithCoinbaseWallet
2180- : generateSignatureWithOKXWallet ;
2185+ let generateSignature : ( params : GenerateSignatureParams ) => Promise < string > ;
2186+ switch ( provider ) {
2187+ case 'metamask' :
2188+ generateSignature = generateSignatureWithMetamask ;
2189+ break ;
2190+ case 'base' :
2191+ generateSignature = generateSignatureWithBase ;
2192+ break ;
2193+ case 'coinbase_wallet' :
2194+ generateSignature = generateSignatureWithCoinbaseWallet ;
2195+ break ;
2196+ default :
2197+ generateSignature = generateSignatureWithOKXWallet ;
2198+ break ;
2199+ }
21812200
21822201 const makeNavigate = ( to : string ) => ( ) =>
21832202 customNavigate && typeof customNavigate === 'function' ? customNavigate ( to ) : this . navigate ( to ) ;
0 commit comments