Skip to content

Commit b1c305f

Browse files
add blank wallet (#700)
* add blank wallet * fix linting
1 parent ce50017 commit b1c305f

File tree

4 files changed

+58
-1
lines changed

4 files changed

+58
-1
lines changed

src/modules/select/index.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ const desktopDefaultWalletNames = [
1414
'frame',
1515
'torus',
1616
'opera',
17-
'liquality'
17+
'liquality',
18+
'blankwallet'
1819
]
1920

2021
const mobileDefaultWalletNames = [
@@ -214,6 +215,8 @@ function getModule(name: string): Promise<{
214215
return import('./wallets/detectedwallet')
215216
case 'tp':
216217
return import('./wallets/tp')
218+
case 'blankwallet':
219+
return import('./wallets/blankwallet')
217220
// case 'mewwallet':
218221
// return import('./wallets/mewwallet')
219222
default:
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
const blankwalletIcon = `
2+
<svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
3+
<path fill-rule="evenodd" clip-rule="evenodd" d="M15 30C23.2843 30 30 23.2843 30 15C30 6.71573 23.2843 0 15 0C6.71573 0 0 6.71573 0 15C0 23.2843 6.71573 30 15 30ZM23.125 6.875H6.875V23.125H23.125V6.875Z" fill="currentColor"/>
4+
</svg>
5+
`
6+
7+
export default blankwalletIcon
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import { extensionInstallMessage } from '../content'
2+
import { WalletModule, Helpers, CommonWalletOptions } from '../../../interfaces'
3+
4+
import blankwalletIcon from '../wallet-icons/icon-blankwallet'
5+
6+
function blankwallet(options: CommonWalletOptions): WalletModule {
7+
const { preferred, label, iconSrc, svg } = options
8+
9+
return {
10+
name: label || 'Blank Wallet',
11+
iconSrc,
12+
svg: svg || blankwalletIcon,
13+
wallet: async (helpers: Helpers) => {
14+
const {
15+
getProviderName,
16+
createModernProviderInterface,
17+
createLegacyProviderInterface
18+
} = helpers
19+
20+
const provider =
21+
(window as any).ethereum ||
22+
((window as any).web3 && (window as any).web3.currentProvider)
23+
24+
return {
25+
provider,
26+
interface:
27+
provider && getProviderName(provider) === 'BlankWallet'
28+
? typeof provider.enable === 'function'
29+
? createModernProviderInterface(provider)
30+
: createLegacyProviderInterface(provider)
31+
: null
32+
}
33+
},
34+
type: 'injected',
35+
link: `https://www.goblank.io/`,
36+
installMessage: extensionInstallMessage,
37+
desktop: true,
38+
mobile: false,
39+
preferred
40+
}
41+
}
42+
43+
export default blankwallet

src/utilities.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,10 @@ export function getProviderName(provider: any): string | undefined {
345345
return 'tp'
346346
}
347347

348+
if (provider.isBlank) {
349+
return 'BlankWallet'
350+
}
351+
348352
// =====================================
349353
// When adding new wallet place above this metamask check as some providers
350354
// have an isMetaMask property in addition to the wallet's own `is[WalletName]`

0 commit comments

Comments
 (0)