Skip to content

Commit 341dbec

Browse files
author
师狮
committed
init MYKEY wallet
1 parent 3b24626 commit 341dbec

File tree

5 files changed

+52
-1
lines changed

5 files changed

+52
-1
lines changed

src/modules/select/index.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ const defaultWalletNames = [
1313
'opera',
1414
'operaTouch',
1515
'status',
16-
'unilogin'
16+
'unilogin',
17+
'MYKEY'
1718
]
1819

1920
function select(
@@ -92,6 +93,8 @@ function getModule(name: string): Promise<any> | undefined {
9293
return import('./wallets/imtoken')
9394
case 'unilogin':
9495
return import('./wallets/unilogin')
96+
case 'MYKEY':
97+
return import('./wallets/mykey')
9598
default:
9699
return
97100
}
2.16 KB
Loading
Loading

src/modules/select/wallets/mykey.ts

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import { mobileWalletInstallMessage } from '../content'
2+
import { WalletModule, Helpers, CommonWalletOptions } from '../../../interfaces'
3+
4+
import mykeyIcon from '../wallet-icons/icon-mykey.png'
5+
import mykeyIcon2x from '../wallet-icons/icon-mykey@2x.png'
6+
7+
function mykey(options: CommonWalletOptions): WalletModule {
8+
const { preferred, label, iconSrc, svg } = options
9+
10+
return {
11+
name: label || 'MYKEY',
12+
iconSrc: iconSrc || mykeyIcon,
13+
iconSrcSet: iconSrc || mykeyIcon2x,
14+
svg,
15+
wallet: async (helpers: Helpers) => {
16+
const {
17+
getProviderName,
18+
createModernProviderInterface,
19+
createLegacyProviderInterface
20+
} = helpers
21+
22+
const provider =
23+
(window as any).ethereum ||
24+
((window as any).web3 && (window as any).web3.currentProvider)
25+
26+
return {
27+
provider,
28+
interface:
29+
provider && getProviderName(provider) === 'MYKEY'
30+
? typeof provider.enable === 'function'
31+
? createModernProviderInterface(provider)
32+
: createLegacyProviderInterface(provider)
33+
: null
34+
}
35+
},
36+
type: 'injected',
37+
link: 'https://mykey.org/download',
38+
installMessage: mobileWalletInstallMessage,
39+
mobile: true,
40+
preferred
41+
}
42+
}
43+
44+
export default mykey

src/utilities.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,10 @@ export function getProviderName(provider: any): string | undefined {
211211
return 'MetaMask'
212212
}
213213

214+
if (provider.isMYKEY) {
215+
return 'MYKEY'
216+
}
217+
214218
if (provider.host && provider.host.indexOf('localhost') !== -1) {
215219
return 'localhost'
216220
}

0 commit comments

Comments
 (0)