Skip to content

Commit e3f04c4

Browse files
Add MathWallet (#689)
* MathWallet * format * provider.isMathWallet * fix Co-authored-by: Forrest <zyyu1990@gmail.com>
1 parent 6d2cd62 commit e3f04c4

File tree

6 files changed

+54
-3
lines changed

6 files changed

+54
-3
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "bnc-onboard",
3-
"version": "1.36.0-0.1.1",
3+
"version": "1.36.0-0.1.2",
44
"description": "Onboard users to web3 by allowing them to select a wallet, get that wallet ready to transact and have access to synced wallet state.",
55
"keywords": [
66
"ethereum",

src/modules/select/index.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ const desktopDefaultWalletNames = [
1212
'tally',
1313
'metamask',
1414
'binance',
15+
'mathwallet',
1516
'frame',
1617
'torus',
1718
'opera',
@@ -29,6 +30,7 @@ const mobileDefaultWalletNames = [
2930
'status',
3031
'hyperpay',
3132
'tokenpocket',
33+
'mathwallet',
3234
'dcent',
3335
'atoken',
3436
'liquality',
@@ -223,10 +225,12 @@ function getModule(name: string): Promise<{
223225
return import('./wallets/detectedwallet')
224226
case 'tp':
225227
return import('./wallets/tp')
226-
case 'blankwallet':
227-
return import('./wallets/blankwallet')
228228
// case 'mewwallet':
229229
// return import('./wallets/mewwallet')
230+
case 'mathwallet':
231+
return import('./wallets/mathwallet')
232+
case 'blankwallet':
233+
return import('./wallets/blankwallet')
230234
case 'ronin':
231235
return import('./wallets/ronin')
232236
default:
Loading
Loading
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import { extensionInstallMessage, mobileWalletInstallMessage } from '../content'
2+
import { WalletModule, Helpers, CommonWalletOptions } from '../../../interfaces'
3+
4+
import mathwalletIcon from '../wallet-icons/icon-mathwallet.png'
5+
import mathwalletIcon2x from '../wallet-icons/icon-mathwallet@2x.png'
6+
7+
function mathwallet(
8+
options: CommonWalletOptions & { isMobile: boolean }
9+
): WalletModule {
10+
const { preferred, label, iconSrc, svg, isMobile } = options
11+
12+
return {
13+
name: label || 'MathWallet',
14+
iconSrc: iconSrc || mathwalletIcon,
15+
iconSrcSet: iconSrc || mathwalletIcon2x,
16+
svg,
17+
wallet: async (helpers: Helpers) => {
18+
const { getProviderName, createModernProviderInterface } = 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) === 'MathWallet'
28+
? createModernProviderInterface(provider)
29+
: null
30+
}
31+
},
32+
type: 'injected',
33+
link: 'https://mathwallet.org',
34+
installMessage: isMobile
35+
? mobileWalletInstallMessage
36+
: extensionInstallMessage,
37+
desktop: true,
38+
mobile: true,
39+
preferred
40+
}
41+
}
42+
43+
export default mathwallet

src/utilities.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,10 @@ export function createLegacyProviderInterface(provider: any): WalletInterface {
253253
export function getProviderName(provider: any): string | undefined {
254254
if (!provider) return
255255

256+
if (provider.isMathWallet) {
257+
return 'MathWallet'
258+
}
259+
256260
if (provider.isWalletIO) {
257261
return 'wallet.io'
258262
}

0 commit comments

Comments
 (0)