Skip to content

Commit 44e2070

Browse files
Merge pull request #761 from blocknative/release/1.37.0
Release: 1.37.0 - Master
2 parents f124281 + 68ea242 commit 44e2070

File tree

9 files changed

+118
-14
lines changed

9 files changed

+118
-14
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",
3+
"version": "1.37.0",
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: 8 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,14 @@ 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')
234+
case 'ronin':
235+
return import('./wallets/ronin')
230236
default:
231237
throw new Error(`${name} is not a valid walletName.`)
232238
}
Loading
Loading
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
export const roninWalletLogo = `
2+
<svg width="26" height="26" viewBox="0 0 26 26" fill="none" xmlns="http://www.w3.org/2000/svg">
3+
<path d="M21.6611 9.15935V3.77545C21.6611 3.0615 21.3873 2.37679 20.8998 1.87195C20.4124 1.36711 19.7513 1.0835 19.0619 1.0835H8.01524C7.32588 1.0835 6.66476 1.36711 6.17731 1.87195C5.68986 2.37679 5.41602 3.0615 5.41602 3.77545V19.3972C5.41626 19.8004 5.50397 20.1985 5.67268 20.5619C5.84139 20.9253 6.08678 21.2449 6.39072 21.4969L10.413 24.8417C10.4608 24.8818 10.5185 24.907 10.5796 24.9145C10.6406 24.922 10.7025 24.9114 10.758 24.8839C10.8134 24.8564 10.8602 24.8132 10.8929 24.7592C10.9256 24.7053 10.9428 24.6429 10.9426 24.5792V13.5338C10.9426 13.4445 10.9768 13.3589 11.0378 13.2958C11.0987 13.2327 11.1813 13.1973 11.2675 13.1973H14.1916C14.7086 13.1973 15.2045 13.41 15.5701 13.7886C15.9357 14.1672 16.141 14.6808 16.141 15.2162V24.5792C16.1411 24.6426 16.1584 24.7046 16.191 24.7583C16.2236 24.8119 16.2702 24.8549 16.3254 24.8823C16.3805 24.9098 16.442 24.9205 16.5028 24.9133C16.5636 24.9061 16.6212 24.8813 16.669 24.8417L20.6913 21.4969C20.9953 21.2449 21.2406 20.9253 21.4093 20.5619C21.5781 20.1985 21.6658 19.8004 21.666 19.3972V14.5433C21.666 13.8293 21.3922 13.1446 20.9047 12.6398C20.4173 12.1349 19.7562 11.8513 19.0668 11.8513C19.7553 11.85 20.4152 11.5658 20.9016 11.0611C21.388 10.5564 21.6611 9.87243 21.6611 9.15935V9.15935ZM14.1884 10.5053H11.2643C11.1781 10.5053 11.0955 10.4699 11.0345 10.4068C10.9736 10.3437 10.9394 10.2581 10.9394 10.1688V4.11194C10.9394 4.0227 10.9736 3.93711 11.0345 3.874C11.0955 3.8109 11.1781 3.77545 11.2643 3.77545H15.8129C15.8991 3.77545 15.9817 3.8109 16.0426 3.874C16.1036 3.93711 16.1378 4.0227 16.1378 4.11194V8.48636C16.1378 9.02182 15.9324 9.53536 15.5668 9.91399C15.2012 10.2926 14.7054 10.5053 14.1884 10.5053V10.5053Z" fill="url(#paint0_linear_1295:5753)"/>
4+
<defs>
5+
<linearGradient id="paint0_linear_1295:5753" x1="21.666" y1="1.08349" x2="1.99448" y2="4.35723" gradientUnits="userSpaceOnUse">
6+
<stop stop-color="#1C94F4"/>
7+
<stop offset="1" stop-color="#1273EA"/>
8+
</linearGradient>
9+
</defs>
10+
</svg>
11+
`
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/modules/select/wallets/ronin.ts

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import { CommonWalletOptions, Helpers, WalletModule } from '../../../interfaces'
2+
import { extensionInstallMessage, mobileWalletInstallMessage } from '../content'
3+
import { roninWalletLogo } from '../wallet-icons/icon-ronin'
4+
5+
function roninWallet(
6+
options: CommonWalletOptions & { isMobile: boolean }
7+
): WalletModule {
8+
const { preferred, label, iconSrc, svg, isMobile } = options
9+
10+
return {
11+
name: label || 'Ronin',
12+
iconSrc: iconSrc || roninWalletLogo,
13+
iconSrcSet: iconSrc || roninWalletLogo,
14+
svg: svg || roninWalletLogo,
15+
wallet: async (helpers: Helpers) => {
16+
const { createModernProviderInterface } = helpers
17+
const provider = (window as any).ronin?.provider
18+
let providerInterface = null
19+
20+
if (provider) {
21+
providerInterface = createModernProviderInterface(provider)
22+
23+
if (providerInterface.network.get) {
24+
providerInterface.network.get = async () => 2020
25+
}
26+
}
27+
28+
return {
29+
provider,
30+
interface: providerInterface
31+
}
32+
},
33+
type: 'injected',
34+
link: 'https://skymavis.com/wallet',
35+
installMessage: isMobile
36+
? mobileWalletInstallMessage
37+
: extensionInstallMessage,
38+
desktop: true,
39+
mobile: false,
40+
preferred
41+
}
42+
}
43+
44+
export default roninWallet

src/modules/select/wallets/xdefi.ts

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,18 @@ function xdefi(options: CommonWalletOptions): WalletModule {
1313
iconSrcSet: iconSrc || xdefiIcon2x,
1414
svg,
1515
wallet: async (helpers: Helpers) => {
16-
const {
17-
getProviderName,
18-
createModernProviderInterface,
19-
createLegacyProviderInterface
20-
} = helpers
16+
const { createModernProviderInterface, createLegacyProviderInterface } =
17+
helpers
2118

2219
const provider = (window as any).xfi && (window as any).xfi.ethereum
2320

2421
return {
2522
provider,
26-
interface:
27-
provider && getProviderName(provider) === 'XDEFI'
28-
? typeof provider.enable === 'function'
29-
? createModernProviderInterface(provider)
30-
: createLegacyProviderInterface(provider)
31-
: null
23+
interface: provider
24+
? typeof provider.enable === 'function'
25+
? createModernProviderInterface(provider)
26+
: createLegacyProviderInterface(provider)
27+
: null
3228
}
3329
},
3430
type: 'injected',

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)