@@ -35,21 +35,17 @@ function select(
35
35
if ( isWalletInit ( wallet ) ) {
36
36
const { walletName, ...initParams } = wallet
37
37
38
- let module
39
38
try {
40
- module = getModule ( walletName )
39
+ return getModule ( walletName ) . then ( ( m : any ) =>
40
+ m . default ( { ...initParams , networkId } )
41
+ )
41
42
} catch ( error ) {
42
- console . warn ( error )
43
+ if ( error . name === 'DeprecatedWalletError' ) {
44
+ console . warn ( error . message )
45
+ } else {
46
+ throw error
47
+ }
43
48
}
44
-
45
- if ( ! module ) {
46
- throw new Error ( `${ walletName } is not a valid walletName.` )
47
- }
48
-
49
- return (
50
- module &&
51
- module . then ( ( m : any ) => m . default ( { ...initParams , networkId } ) )
52
- )
53
49
}
54
50
55
51
return Promise . resolve ( wallet )
@@ -58,22 +54,26 @@ function select(
58
54
}
59
55
60
56
return Promise . all (
61
- defaultWalletNames . map ( walletName => {
62
- const module = getModule ( walletName )
63
- if ( module ) {
64
- return module . then ( ( m : any ) => m . default ( { networkId } ) )
65
- }
66
- } )
57
+ defaultWalletNames . map ( walletName =>
58
+ getModule ( walletName ) . then ( ( m : any ) => m . default ( { networkId } ) )
59
+ )
67
60
)
68
61
}
69
62
70
- function getModule ( name : string ) : Promise < any > | undefined {
63
+ function getModule (
64
+ name : string
65
+ ) : Promise < {
66
+ default : ( options : any ) => WalletModule
67
+ } > {
71
68
switch ( name ) {
72
69
// Deprecated wallets
73
70
case 'dapper' :
74
71
case 'squarelink' :
75
72
case 'unilogin' :
76
- throw new Error ( `${ name . toUpperCase ( ) } wallet has been deprecated` )
73
+ throw {
74
+ name : 'DeprecatedWalletError' ,
75
+ message : `${ name } wallet has been deprecated`
76
+ }
77
77
case 'meetone' :
78
78
return import ( './wallets/meetone' )
79
79
case 'metamask' :
@@ -123,7 +123,7 @@ function getModule(name: string): Promise<any> | undefined {
123
123
case 'atoken' :
124
124
return import ( './wallets/atoken' )
125
125
default :
126
- return
126
+ throw new Error ( ` ${ name } is not a valid walletName.` )
127
127
}
128
128
}
129
129
0 commit comments