diff --git a/docs/providers/boltx.md b/docs/providers/boltx.md new file mode 100644 index 0000000000..acd0e83b4f --- /dev/null +++ b/docs/providers/boltx.md @@ -0,0 +1,11 @@ +# Bolt-X Wallet + +1. Set Provider Options + +```typescript +const providerOptions = { + boltx: { + package: true + } +}; +``` \ No newline at end of file diff --git a/src/providers/connectors/boltx.ts b/src/providers/connectors/boltx.ts new file mode 100644 index 0000000000..c4e6269c50 --- /dev/null +++ b/src/providers/connectors/boltx.ts @@ -0,0 +1,16 @@ +const ConnectToBoltX = async () => { + let provider = null; + if (typeof (window as any).boltX !== 'undefined') { + provider = (window as any).boltX.ethereum; + try { + await provider.request({ method: 'eth_requestAccounts' }) + } catch (error) { + throw new Error("User Rejected"); + } + } else { + throw new Error("BoltX not found"); + } + return provider; +}; + +export default ConnectToBoltX; diff --git a/src/providers/connectors/index.ts b/src/providers/connectors/index.ts index 2d6b1f80f0..e75d74e70f 100644 --- a/src/providers/connectors/index.ts +++ b/src/providers/connectors/index.ts @@ -1,4 +1,5 @@ import injected from "./injected"; +import boltx from "./boltx"; import walletconnect from "./walletconnect"; import portis from "./portis"; import fortmatic from "./fortmatic"; @@ -16,6 +17,7 @@ import walletlink from "./walletlink"; export { injected, walletconnect, + boltx, portis, torus, fortmatic, diff --git a/src/providers/injected/index.ts b/src/providers/injected/index.ts index 5a9489ca95..7db41a1800 100644 --- a/src/providers/injected/index.ts +++ b/src/providers/injected/index.ts @@ -29,6 +29,8 @@ import FrameLogo from "../logos/frame.svg"; // @ts-ignore import LiqualityLogo from "../logos/liquality.png"; // @ts-ignore +import BoltXLogo from "../logos/boltx.svg"; +// @ts-ignore import MathWalletLogo from "../logos/mathwallet.png"; // @ts-ignore import RWalletLogo from "../logos/rwallet.svg"; @@ -151,6 +153,14 @@ export const LIQUALITY: IProviderInfo = { check: "isLiquality" }; +export const BOLTX: IProviderInfo = { + id: "boltx", + name: "Bolt-X", + logo: BoltXLogo, + type: "injected", + check: "isBoltX", +}; + export const MATHWALLET: IProviderInfo = { id: "injected", name: "Math Wallet", diff --git a/src/providers/logos/boltx.png b/src/providers/logos/boltx.png new file mode 100644 index 0000000000..25a2eeb53f Binary files /dev/null and b/src/providers/logos/boltx.png differ diff --git a/src/providers/logos/boltx.svg b/src/providers/logos/boltx.svg new file mode 100644 index 0000000000..f9eced7c7f --- /dev/null +++ b/src/providers/logos/boltx.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + \ No newline at end of file