Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion packages/injected/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@web3-onboard/injected-wallets",
"version": "2.7.0",
"version": "2.8.0-alpha.1",
"description": "Injected wallet module for connecting browser extension and mobile wallets to Web3-Onboard. Web3-Onboard makes it simple to connect Ethereum hardware and software wallets to your dapp. Features standardised spec compliant web3 providers for all supported wallets, framework agnostic modern javascript UI with code splitting, CSS customization, multi-chain and multi-account support, reactive wallet state subscriptions and real-time transaction state change notifications.",
"keywords": [
"Ethereum",
Expand Down
1 change: 1 addition & 0 deletions packages/injected/src/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ export const WALLET_NAMES: { [key: string]: string } = {
alphawallet: 'AlphaWallet',
apexwallet: 'Apex Wallet',
atoken: 'AToken',
bifrostwallet: 'Bifrost Wallet',
binance: 'Binance Chain Wallet',
bitpie: 'Bitpie',
bitski: 'Bitski',
Expand Down
8 changes: 8 additions & 0 deletions packages/injected/src/icons/bifrostwallet.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
export default `<svg width="128" height="128" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M14.63 0C13.14-.1 12 1.17 12 2.76v21.94c0 3.55 1.57 7.43 5.26 8.64l86.5 29.14c2.77.93 6.42 3.54 2.77 7.12
3.21-1.8 9.08-3.21 9.08-9.42V44.13c0-7.6-3.56-10.5-9.23-12.46L15.28.15a2.55 2.55 0 0 0-.65-.14Zm50.74 51.52-22.58
7.8c-5.67 1.97-9.23 4.87-9.23 12.47v16.04c0 6.74 5.44 8.44 9.08 9.42-3.66-3.58 0-6.19 2.76-7.12L103.7 70.5c1.84-.62
2.58-2.12 2.39-3.44-.23-1.51-2.02-2.5-4.16-3.23L65.37 51.52Zm18.38 27.84-35.6 12c-1.66.55-3.85 1.65-4.12 3.32a3.58
3.58 0 0 0 2.35 3.83L87.3 112.3c2.77.93 5.94 3.88 2.28 7.46 3.65-.97 9.57-3.02 9.57-9.77V93.95c0-7.6-3.57-10.5-9.24-12.45l-6.17-2.14ZM51.87
102.4v21.12c0 2.56 3.16 5.06 5.95 4.35l28.69-7.34c2.13-.54 2.43-2.56 2.26-3.5-.29-1.66-2.15-2.93-3.79-3.48l-33.1-11.15Z" fill="#4961EA"/>
</svg>`
2 changes: 2 additions & 0 deletions packages/injected/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ export enum ProviderIdentityFlag {
AlphaWallet = 'isAlphaWallet',
ApexWallet = 'isApexWallet',
AToken = 'isAToken',
BifrostWallet = 'isBifrost',
Binance = 'bbcSignTx',
Bitpie = 'isBitpie',
BlockWallet = 'isBlockWallet',
Expand Down Expand Up @@ -65,6 +66,7 @@ export enum ProviderLabel {
AlphaWallet = 'AlphaWallet',
ApexWallet = 'Apex Wallet',
AToken = 'AToken',
BifrostWallet = 'Bifrost Wallet',
Binance = 'Binance Smart Wallet',
Bitpie = 'Bitpie',
Bitski = 'Bitski',
Expand Down
27 changes: 19 additions & 8 deletions packages/injected/src/wallets.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ function getInjectedInterface(
): () => Promise<{ provider: EIP1193Provider }> {
return async () => ({
provider: (window.ethereum.providers &&
Array.isArray(window.ethereum.providers)
Array.isArray(window.ethereum.providers)
? getInterfaceFromProvidersArray(identity, checkOtherProviderFlags)
: window.ethereum) as EIP1193Provider
})
Expand Down Expand Up @@ -137,7 +137,7 @@ const binance: InjectedWalletModule = {
wallet_switchEthereumChain: UNSUPPORTED_METHOD
})

provider.removeListener = (event, func) => {}
provider.removeListener = (event, func) => { }

return {
provider
Expand Down Expand Up @@ -287,6 +287,16 @@ const atoken: InjectedWalletModule = {
platforms: ['mobile']
}

const bifrostwallet: InjectedWalletModule = {
label: ProviderLabel.BifrostWallet,
injectedNamespace: InjectedNameSpace.Ethereum,
checkProviderIdentity: ({ provider }) =>
!!provider && !!provider[ProviderIdentityFlag.BifrostWallet],
getIcon: async () => (await import('./icons/bifrostwallet.js')).default,
getInterface: getInjectedInterface(ProviderIdentityFlag.BifrostWallet),
platforms: ['all']
}

const bitpie: InjectedWalletModule = {
label: ProviderLabel.Bitpie,
injectedNamespace: InjectedNameSpace.Ethereum,
Expand Down Expand Up @@ -382,7 +392,7 @@ const liquality: InjectedWalletModule = {
eth_selectAccounts: UNSUPPORTED_METHOD
})

provider.removeListener = (event, func) => {}
provider.removeListener = (event, func) => { }

return { provider }
},
Expand Down Expand Up @@ -428,8 +438,8 @@ const ownbit: InjectedWalletModule = {
wallet_switchEthereumChain: UNSUPPORTED_METHOD,
eth_selectAccounts: UNSUPPORTED_METHOD
})
provider.removeListener = (event, listener) => {}
provider.on = (event, listener) => {}
provider.removeListener = (event, listener) => { }
provider.on = (event, listener) => { }
return { provider }
},
platforms: ['mobile']
Expand Down Expand Up @@ -560,8 +570,8 @@ const gamestop: InjectedWalletModule = {
),
wallet_switchEthereumChain: UNSUPPORTED_METHOD
})
provider.removeListener = (event, listener) => {}
provider.on = (event, listener) => {}
provider.removeListener = (event, listener) => { }
provider.on = (event, listener) => { }
return { provider }
},
platforms: ['desktop']
Expand Down Expand Up @@ -658,7 +668,7 @@ const enkrypt: InjectedWalletModule = {
)
})

provider.removeListener = (event, func) => {}
provider.removeListener = (event, func) => { }

return {
provider
Expand Down Expand Up @@ -732,6 +742,7 @@ const wallets = [
exodus,
frontier,
metamask,
bifrostwallet,
binance,
coinbase,
detected,
Expand Down