From 130c64364dbe49f0cc2c04843836a4d3c2e501e9 Mon Sep 17 00:00:00 2001 From: QiAbc <121917904+QiAbc@users.noreply.github.com> Date: Fri, 27 Jan 2023 03:18:27 +0800 Subject: [PATCH 01/13] feat: intergration of SafePal wallet (#1450) * feat: intergration of SafePal wallet * cleanup Co-authored-by: Adam Carpenter --- packages/demo/package.json | 2 +- packages/injected/package.json | 2 +- packages/injected/src/icons/safepal.ts | 102 +++++++++++++++++++++++++ packages/injected/src/types.ts | 8 +- packages/injected/src/wallets.ts | 15 +++- 5 files changed, 123 insertions(+), 6 deletions(-) create mode 100644 packages/injected/src/icons/safepal.ts diff --git a/packages/demo/package.json b/packages/demo/package.json index 187853687..00f07869f 100644 --- a/packages/demo/package.json +++ b/packages/demo/package.json @@ -34,7 +34,7 @@ "@web3-onboard/keepkey": "^2.3.3", "@web3-onboard/keystone": "^2.3.3", "@web3-onboard/ledger": "^2.4.2", - "@web3-onboard/injected-wallets": "^2.6.1", + "@web3-onboard/injected-wallets": "^2.6.2-alpha.1", "@web3-onboard/magic": "^2.1.3", "@web3-onboard/phantom": "^2.0.0-alpha.1", "@web3-onboard/portis": "^2.1.3", diff --git a/packages/injected/package.json b/packages/injected/package.json index f1b583574..f22eeb132 100644 --- a/packages/injected/package.json +++ b/packages/injected/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/injected-wallets", - "version": "2.6.1", + "version": "2.6.2-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", diff --git a/packages/injected/src/icons/safepal.ts b/packages/injected/src/icons/safepal.ts new file mode 100644 index 000000000..076e5888e --- /dev/null +++ b/packages/injected/src/icons/safepal.ts @@ -0,0 +1,102 @@ +export default ` +` diff --git a/packages/injected/src/types.ts b/packages/injected/src/types.ts index 8458f7d29..20e236c0c 100644 --- a/packages/injected/src/types.ts +++ b/packages/injected/src/types.ts @@ -51,10 +51,11 @@ export enum ProviderIdentityFlag { Opera = 'isOpera', Bitski = 'isBitski', Enkrypt = 'isEnkrypt', - Zeal = 'isZeal', Phantom = 'isPhantom', + Zeal = 'isZeal', Zerion = 'isZerion', - Rainbow = 'isRainbow' + Rainbow = 'isRainbow', + SafePal = 'isSafePal' } export enum ProviderLabel { @@ -99,7 +100,8 @@ export enum ProviderLabel { Zeal = 'Zeal', Phantom = 'Phantom', Zerion = 'Zerion', - Rainbow = 'Rainbow' + Rainbow = 'Rainbow', + SafePal = 'SafePal' } export interface MeetOneProvider extends ExternalProvider { diff --git a/packages/injected/src/wallets.ts b/packages/injected/src/wallets.ts index c0891e22d..8bcb70135 100644 --- a/packages/injected/src/wallets.ts +++ b/packages/injected/src/wallets.ts @@ -659,6 +659,18 @@ const phantom: InjectedWalletModule = { }), platforms: ['all'] } + +const safepal: InjectedWalletModule = { + label: ProviderLabel.SafePal, + injectedNamespace: InjectedNameSpace.Ethereum, + checkProviderIdentity: ({ provider }) => + !!provider && !!provider[ProviderIdentityFlag.SafePal], + getIcon: async () => (await import('./icons/safepal.js')).default, + getInterface: async () => ({ + provider: createEIP1193Provider(window.ethereum) + }), + platforms: ['all'] +} const rainbow: InjectedWalletModule = { label: ProviderLabel.Rainbow, @@ -710,7 +722,8 @@ const wallets = [ enkrypt, phantom, zerion, - rainbow + rainbow, + safepal ] export default wallets From b9ec1bf5ecdfecdefcb15ac1421dbefa84d6f8aa Mon Sep 17 00:00:00 2001 From: Adam Carpenter Date: Thu, 26 Jan 2023 14:58:17 -0700 Subject: [PATCH 02/13] Update sdk version for TP (#1495) --- packages/demo/package.json | 2 +- packages/transaction-preview/package.json | 4 ++-- yarn.lock | 23 +++++++++++++++++++++++ 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/packages/demo/package.json b/packages/demo/package.json index 00f07869f..cb3e0544c 100644 --- a/packages/demo/package.json +++ b/packages/demo/package.json @@ -25,7 +25,7 @@ "dependencies": { "@web3-onboard/core": "^2.14.0", "@web3-onboard/coinbase": "^2.1.4", - "@web3-onboard/transaction-preview": "^2.0.0", + "@web3-onboard/transaction-preview": "^2.0.1-alpha.1", "@web3-onboard/dcent": "^2.2.3", "@web3-onboard/frontier": "^2.0.0", "@web3-onboard/fortmatic": "^2.0.14", diff --git a/packages/transaction-preview/package.json b/packages/transaction-preview/package.json index d205c0867..a97d5b05c 100644 --- a/packages/transaction-preview/package.json +++ b/packages/transaction-preview/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/transaction-preview", - "version": "2.0.0", + "version": "2.0.1-alpha.1", "description": "In app preview of Ethereum transactions", "keywords": [ "Ethereum", @@ -81,7 +81,7 @@ }, "dependencies": { "@web3-onboard/common": "^2.2.3", - "bnc-sdk": "^4.6.2", + "bnc-sdk": "^4.6.5", "bowser": "^2.11.0", "joi": "^17.6.1", "rxjs": "^7.5.2", diff --git a/yarn.lock b/yarn.lock index b0af7fc3b..6f11edb3c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2901,6 +2901,19 @@ dependencies: "@walletconnect/window-getters" "^1.0.0" +"@web3-onboard/transaction-preview@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@web3-onboard/transaction-preview/-/transaction-preview-2.0.0.tgz#8c610e414bca9c600d4b02761b596793616ad217" + integrity sha512-Gom08bUYpVGElZ5Rz63ToYGVCE3/aq/jdD8aXNoPwVO/+iZ6iwnoaMCg/J3WN6+186oIYSm+e9g4Sn4GadtvNg== + dependencies: + "@web3-onboard/common" "^2.2.3" + bnc-sdk "^4.6.2" + bowser "^2.11.0" + joi "^17.6.1" + rxjs "^7.5.2" + svelte "^3.49.0" + svelte-i18n "^3.3.13" + "@web3auth/base-evm-adapter@^3.3.0": version "3.3.0" resolved "https://registry.yarnpkg.com/@web3auth/base-evm-adapter/-/base-evm-adapter-3.3.0.tgz#ab8575ac5d05dfe055e52500b61691cefdd6268f" @@ -3841,6 +3854,16 @@ bnc-sdk@^4.6.2: rxjs "^6.6.3" sturdy-websocket "^0.1.12" +bnc-sdk@^4.6.5: + version "4.6.5" + resolved "https://registry.yarnpkg.com/bnc-sdk/-/bnc-sdk-4.6.5.tgz#9f91eb2f213c0c4abf8b5f134f673a3f9a981ea2" + integrity sha512-W++M1kY5SensQUpig+EXqKEOfRgKrrobd8l3r9oOa06xJmxmMH4DPUm28IcESVX6NWj4I+bhgghOVDh/SFdE8Q== + dependencies: + crypto-es "^1.2.2" + nanoid "^3.3.1" + rxjs "^6.6.3" + sturdy-websocket "^0.1.12" + body-parser@1.19.2, body-parser@^1.16.0: version "1.19.2" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.2.tgz#4714ccd9c157d44797b8b5607d72c0b89952f26e" From cd1ff273075dca478ee02035560ac44a133429fa Mon Sep 17 00:00:00 2001 From: karim-yassine <118207693+karim-yassine@users.noreply.github.com> Date: Fri, 27 Jan 2023 14:53:17 -0300 Subject: [PATCH 03/13] Trust wallet integration & SDK (#1463) * feat: create trust wallet SDK * docs: add Trust wallet SDK docs link * docs: add trust SDK option * docs: add trust SDK option * chore: add trust SDK jobs * feat: add trust as part of the default wallets * feat: add trust type * fix: not identifying injected trust wallet * fix: building error * fix: only verify if trustwallet exists * fix: wallets conflicting with each other * chore: increment version * chore: revert version * docs: update documentation with Trust example * docs: update description Co-authored-by: Adam Carpenter * chore: update version Co-authored-by: Adam Carpenter * docs: resolve typo Co-authored-by: Adam Carpenter * fix: incorrectly checking providers * Add trust to docs site * Add docs and bump version * Fix deploy config --------- Co-authored-by: Adam Carpenter --- .circleci/config.yml | 18 +++++ .github/ISSUE_TEMPLATE/BUG.yml | 45 ++++++------- README.md | 1 + docs/package.json | 1 + .../connect-wallet/ReactConnectWallet.md | 5 +- .../connect-wallet/SvelteConnectWallet.md | 3 + docs/src/lib/services/onboard.js | 4 ++ packages/core/README.md | 20 +++--- packages/demo/package.json | 2 +- packages/demo/src/App.svelte | 3 + packages/injected/package.json | 2 +- packages/injected/src/constants.ts | 1 + packages/injected/src/helpers.ts | 21 ++++-- packages/injected/src/types.ts | 6 +- packages/injected/src/wallets.ts | 35 ++++++---- packages/trust/README.md | 33 ++++++++++ packages/trust/package.json | 66 +++++++++++++++++++ packages/trust/src/icon.ts | 8 +++ packages/trust/src/index.ts | 38 +++++++++++ packages/trust/src/types.ts | 7 ++ packages/trust/tsconfig.json | 15 +++++ 21 files changed, 278 insertions(+), 56 deletions(-) create mode 100644 packages/trust/README.md create mode 100644 packages/trust/package.json create mode 100644 packages/trust/src/icon.ts create mode 100644 packages/trust/src/index.ts create mode 100644 packages/trust/src/types.ts create mode 100644 packages/trust/tsconfig.json diff --git a/.circleci/config.yml b/.circleci/config.yml index 41f8d4262..592235c1b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -243,6 +243,12 @@ jobs: working_directory: ~/web3-onboard-monorepo/packages/trezor steps: - node-build-steps + build-trust: + docker: + - image: cimg/node:16.13.1 + working_directory: ~/web3-onboard-monorepo/packages/trust + steps: + - node-build-steps build-frontier: docker: - image: cimg/node:16.13.1 @@ -431,6 +437,12 @@ jobs: working_directory: ~/web3-onboard-monorepo/packages/trezor steps: - node-staging-build-steps + build-staging-trust: + docker: + - image: cimg/node:16.13.1 + working_directory: ~/web3-onboard-monorepo/packages/trust + steps: + - node-staging-build-steps build-staging-frontier: docker: - image: cimg/node:16.13.1 @@ -621,6 +633,12 @@ workflows: <<: *deploy_production_filters - build-staging-trezor: <<: *deploy_staging_filters + trust: + jobs: + - build-trust: + <<: *deploy_production_filters + - build-staging-trust: + <<: *deploy_staging_filters frontier: jobs: - build-frontier: diff --git a/.github/ISSUE_TEMPLATE/BUG.yml b/.github/ISSUE_TEMPLATE/BUG.yml index 0e36ced02..b3472c21e 100644 --- a/.github/ISSUE_TEMPLATE/BUG.yml +++ b/.github/ISSUE_TEMPLATE/BUG.yml @@ -1,6 +1,6 @@ name: Bug Report description: File a bug report -title: "[Bug]: " +title: '[Bug]: ' labels: [bug] assignees: - taylorjdawson @@ -40,27 +40,28 @@ body: attributes: label: What package is effected by this issue? options: - - "@web3-onboard/core" - - "@web3-onboard/common" - - "@web3-onboard/coinbase" - - "@web3-onboard/decent" - - "@web3-onboard/formatic" - - "@web3-onboard/gnosis" - - "@web3-onboard/injected" - - "@web3-onboard/keepkey" - - "@web3-onboard/keystone" - - "@web3-onboard/ledger" - - "@web3-onboard/magic" - - "@web3-onboard/mew" - - "@web3-onboard/portis" - - "@web3-onboard/react" - - "@web3-onboard/torus" - - "@web3-onboard/trezor" - - "@web3-onboard/frontier" - - "@web3-onboard/vue" - - "@web3-onboard/walletconnect" - - "@web3-onboard/walletlink" - - "@web3-onboard/web3auth" + - '@web3-onboard/core' + - '@web3-onboard/common' + - '@web3-onboard/coinbase' + - '@web3-onboard/decent' + - '@web3-onboard/formatic' + - '@web3-onboard/gnosis' + - '@web3-onboard/injected' + - '@web3-onboard/keepkey' + - '@web3-onboard/keystone' + - '@web3-onboard/ledger' + - '@web3-onboard/magic' + - '@web3-onboard/mew' + - '@web3-onboard/portis' + - '@web3-onboard/react' + - '@web3-onboard/torus' + - '@web3-onboard/trezor' + - '@web3-onboard/trust' + - '@web3-onboard/frontier' + - '@web3-onboard/vue' + - '@web3-onboard/walletconnect' + - '@web3-onboard/walletlink' + - '@web3-onboard/web3auth' - bnc-onboard (v1) validations: required: true diff --git a/README.md b/README.md index 16d761582..5c2b45bff 100644 --- a/README.md +++ b/README.md @@ -88,6 +88,7 @@ For full documentation, check out the README.md for each package or the [docs pa **SDK Wallets** - [Coinbase](packages/coinbase/README.md) +- [Trust](packages/trust/README.md) - [WalletConnect](packages/walletconnect/README.md) - [Gnosis](packages/gnosis/README.md) - [Magic](packages/magic/README.md) diff --git a/docs/package.json b/docs/package.json index 13de43f20..588169fd1 100644 --- a/docs/package.json +++ b/docs/package.json @@ -72,6 +72,7 @@ "@web3-onboard/tallyho": "^2.0.1", "@web3-onboard/torus": "^2.2.0", "@web3-onboard/trezor": "^2.3.3", + "@web3-onboard/trust": "^2.0.0-alpha.1", "@web3-onboard/uauth": "^2.0.1", "@web3-onboard/walletconnect": "^2.2.1", "@web3-onboard/web3auth": "^2.1.4", diff --git a/docs/src/lib/components/examples/connect-wallet/ReactConnectWallet.md b/docs/src/lib/components/examples/connect-wallet/ReactConnectWallet.md index e0b56147e..679388e18 100644 --- a/docs/src/lib/components/examples/connect-wallet/ReactConnectWallet.md +++ b/docs/src/lib/components/examples/connect-wallet/ReactConnectWallet.md @@ -1,4 +1,3 @@ - ## Step 1: Import + Configure Import the libraries and any wallets you would like to use. For this example, we are going to use the injected wallets module. You can easily add more wallet support to your dapp via our other wallet modules. Additionally, we'll setup web3-onboard to support 2 chains: Ethereum mainnet and Polygon mainnet. @@ -22,6 +21,7 @@ import web3authModule from '@web3-onboard/web3auth' import dcentModule from '@web3-onboard/dcent' import sequenceModule from '@web3-onboard/sequence' import tallyHoModule from '@web3-onboard/tallyho' +import trustModule from '@web3-onboard/trust' import frontierModule from '@web3-onboard/frontier' const INFURA_KEY = '' @@ -45,6 +45,7 @@ const keepkey = keepkeyModule() const gnosis = gnosisModule() const sequence = sequenceModule() const tally = tallyModule() +const trust = trustModule() const frontier = frontierModule() const trezorOptions = { @@ -65,6 +66,7 @@ const wallets = [ keepkey, sequence, injected, + trust, frontier, tally, ledger, @@ -233,4 +235,3 @@ export default function ConnectWallet() { ) } ``` - diff --git a/docs/src/lib/components/examples/connect-wallet/SvelteConnectWallet.md b/docs/src/lib/components/examples/connect-wallet/SvelteConnectWallet.md index 18f81c427..d763918c3 100644 --- a/docs/src/lib/components/examples/connect-wallet/SvelteConnectWallet.md +++ b/docs/src/lib/components/examples/connect-wallet/SvelteConnectWallet.md @@ -21,6 +21,7 @@ import web3authModule from '@web3-onboard/web3auth' import dcentModule from '@web3-onboard/dcent' import sequenceModule from '@web3-onboard/sequence' import tallyHoModule from '@web3-onboard/tallyho' +import trustModule from '@web3-onboard/trust' import frontierModule from '@web3-onboard/frontier' const INFURA_KEY = '' @@ -44,6 +45,7 @@ const keepkey = keepkeyModule() const gnosis = gnosisModule() const sequence = sequenceModule() const tally = tallyModule() +const trust = trustModule() const frontier = frontierModule() const trezorOptions = { @@ -68,6 +70,7 @@ const wallets = [ ledger, coinbase, dcent, + trust, frontier, trezor, walletConnect, diff --git a/docs/src/lib/services/onboard.js b/docs/src/lib/services/onboard.js index 73d608b35..5ab8a4615 100644 --- a/docs/src/lib/services/onboard.js +++ b/docs/src/lib/services/onboard.js @@ -50,6 +50,7 @@ const intiOnboard = async (theme) => { const { default: torusModule } = await import('@web3-onboard/torus') const { default: web3authModule } = await import('@web3-onboard/web3auth') const { default: uauthModule } = await import('@web3-onboard/uauth') + const { default: trustModule } = await import('@web3-onboard/trust') const INFURA_ID = '8b60d52405694345a99bcb82e722e0af' const injected = injectedModule() @@ -65,6 +66,7 @@ const intiOnboard = async (theme) => { const mewWallet = mewWalletModule() const tally = tallyModule() const torus = torusModule() + const trust = trustModule() const portis = portisModule({ apiKey: 'b2b7586f-2b1e-4c30-a7fb-c2d1533b153b' @@ -91,6 +93,7 @@ const intiOnboard = async (theme) => { scope: 'openid wallet email:optional humanity_check:optional profile:optional social:optional' } const uauth = uauthModule(uauthOptions) + const magic = magicModule({ apiKey: 'pk_live_02207D744E81C2BA' }) @@ -102,6 +105,7 @@ const intiOnboard = async (theme) => { coinbase, ledger, trezor, + trust, gnosis, uauth, tally, diff --git a/packages/core/README.md b/packages/core/README.md index 5ca9646a7..73b41229b 100644 --- a/packages/core/README.md +++ b/packages/core/README.md @@ -7,6 +7,7 @@ This is the core package that contains all of the UI and logic to be able to seamlessly connect user's wallets to your app and track the state of those wallets. Onboard no longer contains any wallet specific code, so wallets need to be passed in upon initialization. ## Quick start + Checkout our full library of quick start examples for connecting and interacting with EVM based wallets - **[React](https://github.com/blocknative/react-demo)** @@ -26,12 +27,12 @@ Install the core module: If you would like to support all wallets, then you can install all of the wallet modules: -```bash -npm i @web3-onboard/coinbase @web3-onboard/fortmatic @web3-onboard/gnosis -@web3-onboard/injected-wallets @web3-onboard/keepkey @web3-onboard/keystone -@web3-onboard/ledger @web3-onboard/magic @web3-onboard/portis @web3-onboard/torus -@web3-onboard/trezor @web3-onboard/walletconnect @web3-onboard/web3auth -@web3-onboard/dcent @web3-onboard/sequence @web3-onboard/enkrypt +```bash +npm i @web3-onboard/coinbase @web3-onboard/fortmatic @web3-onboard/gnosis @web3-onboard/trust +@web3-onboard/injected-wallets @web3-onboard/keepkey @web3-onboard/keystone +@web3-onboard/ledger @web3-onboard/magic @web3-onboard/portis @web3-onboard/torus +@web3-onboard/trezor @web3-onboard/walletconnect @web3-onboard/web3auth +@web3-onboard/dcent @web3-onboard/sequence @web3-onboard/enkrypt @web3-onboard/mew-wallet @web3-onboard/uauth @web3-onboard/zeal @web3-onboard/frontier ``` @@ -139,9 +140,10 @@ type ConnectModalOptions = { **`theme`** A string or an object that defines the color theme web3-onboard will render the components. -Define a custom or predefined theme for Web3Onboard using either: - * BuiltInThemes: ['default', 'dark', 'light', 'system'] - * ThemingMap object to create a totally custom theme +Define a custom or predefined theme for Web3Onboard using either: + +- BuiltInThemes: ['default', 'dark', 'light', 'system'] +- ThemingMap object to create a totally custom theme Note: `system` will default to the theme set by the users system. diff --git a/packages/demo/package.json b/packages/demo/package.json index cb3e0544c..9fa95d2ed 100644 --- a/packages/demo/package.json +++ b/packages/demo/package.json @@ -34,7 +34,7 @@ "@web3-onboard/keepkey": "^2.3.3", "@web3-onboard/keystone": "^2.3.3", "@web3-onboard/ledger": "^2.4.2", - "@web3-onboard/injected-wallets": "^2.6.2-alpha.1", + "@web3-onboard/injected-wallets": "^2.6.2-alpha.2", "@web3-onboard/magic": "^2.1.3", "@web3-onboard/phantom": "^2.0.0-alpha.1", "@web3-onboard/portis": "^2.1.3", diff --git a/packages/demo/src/App.svelte b/packages/demo/src/App.svelte index ea2b1953e..6457941fe 100644 --- a/packages/demo/src/App.svelte +++ b/packages/demo/src/App.svelte @@ -23,6 +23,7 @@ import mewWalletModule from '@web3-onboard/mew-wallet' import uauthModule from '@web3-onboard/uauth' import phantomModule from '@web3-onboard/phantom' + import trustModule from '@web3-onboard/trust' import frontierModule from '@web3-onboard/frontier' import { recoverAddress, @@ -125,6 +126,7 @@ const tallyho = tallyHoModule() const zeal = zealModule() const phantom = phantomModule() + const trust = trustModule() const frontier = frontierModule() const trezorOptions = { @@ -163,6 +165,7 @@ ledger, trezor, walletConnect, + trust, enkrypt, mewWallet, keepkey, diff --git a/packages/injected/package.json b/packages/injected/package.json index f22eeb132..151a21ee8 100644 --- a/packages/injected/package.json +++ b/packages/injected/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/injected-wallets", - "version": "2.6.2-alpha.1", + "version": "2.6.2-alpha.2", "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", diff --git a/packages/injected/src/constants.ts b/packages/injected/src/constants.ts index 84941f881..f88a28b6d 100644 --- a/packages/injected/src/constants.ts +++ b/packages/injected/src/constants.ts @@ -17,6 +17,7 @@ export const WALLET_NAMES: { [key: string]: string } = { sequence: 'Sequence', core: 'Core', enkrypt: 'Enkrypt', + trust: 'Trust Wallet', frontier: 'Frontier', zerion: 'Zerion', rainbow: 'Rainbow' diff --git a/packages/injected/src/helpers.ts b/packages/injected/src/helpers.ts index 6075e1a8a..5f863be96 100644 --- a/packages/injected/src/helpers.ts +++ b/packages/injected/src/helpers.ts @@ -22,11 +22,20 @@ export const isWalletAvailable = ( checkProviderIdentity: InjectedWalletModule['checkProviderIdentity'], device: Device ): boolean => { - if (provider && provider.providers && Array.isArray(provider.providers)) { - return !!provider.providers.filter(provider => - checkProviderIdentity({ provider, device }) - ).length - } else { - return checkProviderIdentity({ provider, device }) + // No injected providers exist. + if (!provider) { + return false } + + // Many injected providers add their own object into window. + if (checkProviderIdentity({ provider, device })) { + return true + } + + // For multiple injected providers, check providers array + // example coinbase inj wallet pushes over-ridden wallets + // into a providers array at window.ethereum + return !!provider.providers?.some(provider => + checkProviderIdentity({ provider, device }) + ) } diff --git a/packages/injected/src/types.ts b/packages/injected/src/types.ts index 20e236c0c..cc3f239cf 100644 --- a/packages/injected/src/types.ts +++ b/packages/injected/src/types.ts @@ -127,8 +127,9 @@ export enum InjectedNameSpace { Bitski = 'Bitski', Enkrypt = 'enkrypt', Zeal = 'zeal', - Frontier = 'frontier', - Phantom = 'phantom' + Phantom = 'phantom', + Trust = 'trustwallet', + Frontier = 'frontier' } export interface CustomWindow extends Window { @@ -160,6 +161,7 @@ export interface CustomWindow extends Window { phantom: { ethereum: InjectedProvider } + trustwallet: InjectedProvider } export type InjectedProvider = ExternalProvider & diff --git a/packages/injected/src/wallets.ts b/packages/injected/src/wallets.ts index 8bcb70135..4ae7feb6c 100644 --- a/packages/injected/src/wallets.ts +++ b/packages/injected/src/wallets.ts @@ -190,21 +190,30 @@ const detected: InjectedWalletModule = { const trust: InjectedWalletModule = { label: ProviderLabel.Trust, - injectedNamespace: InjectedNameSpace.Ethereum, + injectedNamespace: InjectedNameSpace.Trust, checkProviderIdentity: ({ provider }) => - !!provider && - !!provider[ProviderIdentityFlag.Trust] && - !!provider && - !provider[ProviderIdentityFlag.TokenPocket], - + !!provider && !!provider[ProviderIdentityFlag.Trust], getIcon: async () => (await import('./icons/trust.js')).default, - getInterface: async () => ({ - provider: createEIP1193Provider(window.ethereum, { - wallet_switchEthereumChain: UNSUPPORTED_METHOD, - eth_selectAccounts: UNSUPPORTED_METHOD - }) - }), - platforms: ['mobile'] + getInterface: async () => { + const ethereumInjectionExists = window.hasOwnProperty( + InjectedNameSpace.Ethereum + ) + + let provider: EIP1193Provider + + // check if trust is injected into window.ethereum + if (ethereumInjectionExists && window[InjectedNameSpace.Ethereum].isTrust) { + provider = window[InjectedNameSpace.Ethereum] + } else { + // directly use the window.trustwallet injection + provider = window[InjectedNameSpace.Trust] + } + + return { + provider + } + }, + platforms: ['all'] } const opera: InjectedWalletModule = { diff --git a/packages/trust/README.md b/packages/trust/README.md new file mode 100644 index 000000000..e88fb34a4 --- /dev/null +++ b/packages/trust/README.md @@ -0,0 +1,33 @@ +# @web3-onboard/trust + +## Wallet module for connecting Trust Wallet through web3-onboard + +Trust Wallet SDK wallet module for connecting to Web3-Onboard. Web3-Onboard makes it simple to connect Ethereum hardware and software wallets to your dapp. Features standardized 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. + +### Install + +**NPM** +`npm i @web3-onboard/core @web3-onboard/trust` + +**Yarn** +`yarn add @web3-onboard/core @web3-onboard/trust` + +## Usage + +```typescript +import Onboard from '@web3-onboard/core' +import trustModule from '@web3-onboard/trust' + +const trust = trustModule() + +const onboard = Onboard({ + // ... other Onboard options + wallets: [ + trust + //... other wallets + ] +}) + +const connectedWallets = await onboard.connectWallet() +console.log(connectedWallets) +``` diff --git a/packages/trust/package.json b/packages/trust/package.json new file mode 100644 index 000000000..ed5b13d51 --- /dev/null +++ b/packages/trust/package.json @@ -0,0 +1,66 @@ +{ + "name": "@web3-onboard/trust", + "version": "2.0.0-alpha.1", + "description": "Trust Wallet SDK wallet module for connecting to Web3-Onboard. Web3-Onboard makes it simple to connect Ethereum hardware and software wallets to your dapp. Features standardized 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", + "Web3", + "EVM", + "dapp", + "Multichain", + "Wallet", + "Transaction", + "Provider", + "Hardware Wallet", + "Notifications", + "React", + "Svelte", + "Vue", + "Next", + "Nuxt", + "MetaMask", + "Coinbase", + "WalletConnect", + "Ledger", + "Trezor", + "Connect Wallet", + "Ethereum Hooks", + "Blocknative", + "Mempool", + "pending", + "confirmed", + "Injected Wallet", + "Crypto", + "Crypto Wallet", + "Enkrypt", + "Trust" + ], + "repository": { + "type": "git", + "url": "https://github.com/blocknative/web3-onboard.git", + "directory": "packages/trust" + }, + "homepage": "https://www.blocknative.com/onboard", + "bugs": "https://github.com/blocknative/web3-onboard/issues", + "module": "dist/index.js", + "browser": "dist/index.js", + "main": "dist/index.js", + "type": "module", + "typings": "dist/index.d.ts", + "files": [ + "dist" + ], + "scripts": { + "build": "tsc", + "dev": "tsc -w", + "type-check": "tsc --noEmit" + }, + "license": "MIT", + "devDependencies": { + "@types/node": "^17.0.21", + "typescript": "^4.5.5" + }, + "dependencies": { + "@web3-onboard/common": "^2.2.3" + } +} diff --git a/packages/trust/src/icon.ts b/packages/trust/src/icon.ts new file mode 100644 index 000000000..64890a79d --- /dev/null +++ b/packages/trust/src/icon.ts @@ -0,0 +1,8 @@ +export default ` + + + +` diff --git a/packages/trust/src/index.ts b/packages/trust/src/index.ts new file mode 100644 index 000000000..5c7b4414a --- /dev/null +++ b/packages/trust/src/index.ts @@ -0,0 +1,38 @@ +import type { WalletInit, EIP1193Provider } from '@web3-onboard/common' +import { CustomWindow } from './types.js' +declare const window: CustomWindow + +function trust(): WalletInit { + if (typeof window === 'undefined') return () => null + + return () => { + return { + label: 'Trust Wallet', + getIcon: async () => (await import('./icon.js')).default, + getInterface: async () => { + const ethereumInjectionExists = window.hasOwnProperty('ethereum') + + let provider: EIP1193Provider + + // check if trust is injected into window.ethereum + if (ethereumInjectionExists && window['ethereum'].isTrust) { + provider = window['ethereum'] + } else if (window['trustwallet']) { + // directly use the window.trustwallet injection + provider = window['trustwallet'] + } else { + // trustwallet extension is not installed + // send user to install page + window.open('https://trustwallet.com/browser-extension', '_blank') + throw new Error('Please Install Trust to use this wallet') + } + + return { + provider + } + } + } + } +} + +export default trust diff --git a/packages/trust/src/types.ts b/packages/trust/src/types.ts new file mode 100644 index 000000000..faed9ea7f --- /dev/null +++ b/packages/trust/src/types.ts @@ -0,0 +1,7 @@ +import { EIP1193Provider } from '@web3-onboard/common' +export interface CustomWindow extends Window { + ethereum: EIP1193Provider & { + isTrust?: boolean + } + trustwallet: EIP1193Provider +} diff --git a/packages/trust/tsconfig.json b/packages/trust/tsconfig.json new file mode 100644 index 000000000..09ae989f9 --- /dev/null +++ b/packages/trust/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "../../tsconfig.json", + "include": ["src/**/*"], + + "compilerOptions": { + "outDir": "dist", + "rootDir": "src", + "declaration": true, + "declarationDir": "dist", + "paths": { + "*": ["./src/*", "./node_modules/*"] + }, + "typeRoots": ["node_modules/@types"] + } +} \ No newline at end of file From a37cd010ac6be8cc6494101512e8457ac084df94 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 27 Jan 2023 10:54:12 -0700 Subject: [PATCH 04/13] Bump cookiejar from 2.1.3 to 2.1.4 (#1482) Bumps [cookiejar](https://github.com/bmeck/node-cookiejar) from 2.1.3 to 2.1.4. - [Release notes](https://github.com/bmeck/node-cookiejar/releases) - [Commits](https://github.com/bmeck/node-cookiejar/commits) --- updated-dependencies: - dependency-name: cookiejar dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 6f11edb3c..470e49e10 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4483,9 +4483,9 @@ cookie@0.4.2: integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== cookiejar@^2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.3.tgz#fc7a6216e408e74414b90230050842dacda75acc" - integrity sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ== + version "2.1.4" + resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.4.tgz#ee669c1fea2cf42dc31585469d193fef0d65771b" + integrity sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw== copy-text-to-clipboard@^3.0.1: version "3.0.1" From 546f03def6d5b4f18b5aa8e633de8eb611a7bdf2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 27 Jan 2023 10:54:58 -0700 Subject: [PATCH 05/13] Bump cookiejar from 2.1.3 to 2.1.4 in /examples/with-vite-react (#1483) Bumps [cookiejar](https://github.com/bmeck/node-cookiejar) from 2.1.3 to 2.1.4. - [Release notes](https://github.com/bmeck/node-cookiejar/releases) - [Commits](https://github.com/bmeck/node-cookiejar/commits) --- updated-dependencies: - dependency-name: cookiejar dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- examples/with-vite-react/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/with-vite-react/yarn.lock b/examples/with-vite-react/yarn.lock index 3052bd13c..51badcdf4 100644 --- a/examples/with-vite-react/yarn.lock +++ b/examples/with-vite-react/yarn.lock @@ -4040,9 +4040,9 @@ cookie@0.5.0: integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== cookiejar@^2.1.1: - version "2.1.3" - resolved "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz#fc7a6216e408e74414b90230050842dacda75acc" - integrity sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ== + version "2.1.4" + resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.4.tgz#ee669c1fea2cf42dc31585469d193fef0d65771b" + integrity sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw== copy-to-clipboard@^3.3.1: version "3.3.2" From b1ce39b0a0d5558aee4318d75cd644109d44b755 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 27 Jan 2023 10:55:06 -0700 Subject: [PATCH 06/13] Bump cookiejar from 2.1.3 to 2.1.4 in /packages/demo (#1485) Bumps [cookiejar](https://github.com/bmeck/node-cookiejar) from 2.1.3 to 2.1.4. - [Release notes](https://github.com/bmeck/node-cookiejar/releases) - [Commits](https://github.com/bmeck/node-cookiejar/commits) --- updated-dependencies: - dependency-name: cookiejar dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- packages/demo/yarn.lock | 221 ++++++++++------------------------------ 1 file changed, 52 insertions(+), 169 deletions(-) diff --git a/packages/demo/yarn.lock b/packages/demo/yarn.lock index 6e4491c49..a58375b68 100644 --- a/packages/demo/yarn.lock +++ b/packages/demo/yarn.lock @@ -1379,114 +1379,10 @@ rxjs "^6.6.3" typescript "^4.6.2" -"@ledgerhq/cryptoassets@^6.37.0": - version "6.37.0" - resolved "https://registry.npmjs.org/@ledgerhq/cryptoassets/-/cryptoassets-6.37.0.tgz#302833777bcd210809ca7820afb82cff8da5c296" - integrity sha512-xwrDKTS9koQBNNzc7CqgV6zfGHvNFWJjlIL0Kc4O4DVWYR2vUdztUHcvwHD1KPjxNYhVnsgIopmtq47fHt3nMg== - dependencies: - invariant "2" - -"@ledgerhq/devices@^5.51.1": - version "5.51.1" - resolved "https://registry.npmjs.org/@ledgerhq/devices/-/devices-5.51.1.tgz#d741a4a5d8f17c2f9d282fd27147e6fe1999edb7" - integrity sha512-4w+P0VkbjzEXC7kv8T1GJ/9AVaP9I6uasMZ/JcdwZBS3qwvKo5A5z9uGhP5c7TvItzcmPb44b5Mw2kT+WjUuAA== - dependencies: - "@ledgerhq/errors" "^5.50.0" - "@ledgerhq/logs" "^5.50.0" - rxjs "6" - semver "^7.3.5" - -"@ledgerhq/devices@^7.0.4": - version "7.0.4" - resolved "https://registry.npmjs.org/@ledgerhq/devices/-/devices-7.0.4.tgz#c348ca7d9225155c8fdd364206e14ecf409601c1" - integrity sha512-smN5/38w/a/TRBjFuqZTs3aSiADpRx6EF0yyFYBbwj/itkw/xfAnGeYzgrUdccEk26yZypcIzjjyCk+wr6gKhw== - dependencies: - "@ledgerhq/errors" "^6.12.0" - "@ledgerhq/logs" "^6.10.1" - rxjs "6" - semver "^7.3.5" - -"@ledgerhq/errors@^5.34.0", "@ledgerhq/errors@^5.50.0": - version "5.50.0" - resolved "https://registry.npmjs.org/@ledgerhq/errors/-/errors-5.50.0.tgz#e3a6834cb8c19346efca214c1af84ed28e69dad9" - integrity sha512-gu6aJ/BHuRlpU7kgVpy2vcYk6atjB4iauP2ymF7Gk0ez0Y/6VSMVSJvubeEQN+IV60+OBK0JgeIZG7OiHaw8ow== - -"@ledgerhq/errors@^6.12.0": - version "6.12.0" - resolved "https://registry.npmjs.org/@ledgerhq/errors/-/errors-6.12.0.tgz#96de365902bbafa2e6c2a5544bb8047b3a3fde84" - integrity sha512-gDUpXDz3Os4bK9tzqvwZtjXMCB8LQwNft1f3x6WrwIGuM4Wo5D6ccJDybw4rP9TOJ4qPbRcXFH4avzQGFvwWNA== - -"@ledgerhq/hw-app-eth@^6.19.0": - version "6.30.0" - resolved "https://registry.npmjs.org/@ledgerhq/hw-app-eth/-/hw-app-eth-6.30.0.tgz#a8e5878b0eac725f0f4fa5e9222ab6e71b536063" - integrity sha512-Mr0apxn/oUXD4DZ2gw3fWJQ1rHDzLCzvoGV7Y1/CLoLy85A3w5nROTrFY0+SZNAIB/tqzWZJ9SQpBg5yXVzmmA== - dependencies: - "@ethersproject/abi" "^5.5.0" - "@ethersproject/rlp" "^5.5.0" - "@ledgerhq/cryptoassets" "^6.37.0" - "@ledgerhq/errors" "^6.12.0" - "@ledgerhq/hw-transport" "^6.27.7" - "@ledgerhq/hw-transport-mocker" "^6.27.7" - "@ledgerhq/logs" "^6.10.1" - axios "^0.26.1" - bignumber.js "^9.1.0" - crypto-js "^4.1.1" - -"@ledgerhq/hw-transport-mocker@^6.27.7": - version "6.27.7" - resolved "https://registry.npmjs.org/@ledgerhq/hw-transport-mocker/-/hw-transport-mocker-6.27.7.tgz#7f3e14f3db8b576c912f016aae24a479b2ffc887" - integrity sha512-naghEqtwbdpcBsfT4AvtGNI9ahIns2K55zO65dn08qUSj6LlfVzdN9vSbSiNHDcMoRmXttRFJdRQXeEDBMOd0w== - dependencies: - "@ledgerhq/hw-transport" "^6.27.7" - "@ledgerhq/logs" "^6.10.1" - -"@ledgerhq/hw-transport-u2f@^5.36.0-deprecated": - version "5.36.0-deprecated" - resolved "https://registry.npmjs.org/@ledgerhq/hw-transport-u2f/-/hw-transport-u2f-5.36.0-deprecated.tgz#66e3ed399a117a1c0110871a055dd54f5fe707fd" - integrity sha512-T/+mGHIiUK/ZQATad6DMDmobCMZ1mVST952009jKzhaE1Et2Uy2secU+QhRkx3BfEAkvwa0zSRSYCL9d20Iqjg== - dependencies: - "@ledgerhq/errors" "^5.34.0" - "@ledgerhq/hw-transport" "^5.34.0" - "@ledgerhq/logs" "^5.30.0" - u2f-api "0.2.7" - -"@ledgerhq/hw-transport-webusb@^6.19.0": - version "6.27.7" - resolved "https://registry.npmjs.org/@ledgerhq/hw-transport-webusb/-/hw-transport-webusb-6.27.7.tgz#392d8a87d26ddffb4f2c499b8753d38f09bed62f" - integrity sha512-Bjp2PWZAdj9Mp7yxJexcsLvpA2QmsPt1NlBYdN8vTgVajDg08TKcc0n8tD61fTaVJE0zNd4jccK1lN5rcaF17g== - dependencies: - "@ledgerhq/devices" "^7.0.4" - "@ledgerhq/errors" "^6.12.0" - "@ledgerhq/hw-transport" "^6.27.7" - "@ledgerhq/logs" "^6.10.1" - -"@ledgerhq/hw-transport@^5.34.0": - version "5.51.1" - resolved "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-5.51.1.tgz#8dd14a8e58cbee4df0c29eaeef983a79f5f22578" - integrity sha512-6wDYdbWrw9VwHIcoDnqWBaDFyviyjZWv6H9vz9Vyhe4Qd7TIFmbTl/eWs6hZvtZBza9K8y7zD8ChHwRI4s9tSw== - dependencies: - "@ledgerhq/devices" "^5.51.1" - "@ledgerhq/errors" "^5.50.0" - events "^3.3.0" - -"@ledgerhq/hw-transport@^6.27.7": - version "6.27.7" - resolved "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-6.27.7.tgz#ee46c456e012e2a78edbc69d12cc8d12d0a2c082" - integrity sha512-VLgqUaQo0PkvSUWJgltD89Q4uj9VGvgwR9i8OBYem+4j0NyDXee7tRxIfGp7SaavzNrnrUh5lXtXQfjfjkMZRg== - dependencies: - "@ledgerhq/devices" "^7.0.4" - "@ledgerhq/errors" "^6.12.0" - events "^3.3.0" - -"@ledgerhq/logs@^5.30.0", "@ledgerhq/logs@^5.50.0": - version "5.50.0" - resolved "https://registry.npmjs.org/@ledgerhq/logs/-/logs-5.50.0.tgz#29c6419e8379d496ab6d0426eadf3c4d100cd186" - integrity sha512-swKHYCOZUGyVt4ge0u8a7AwNcA//h4nx5wIi0sruGye1IJ5Cva0GyK9L2/WdX+kWVTKp92ZiEo1df31lrWGPgA== - -"@ledgerhq/logs@^6.10.1": - version "6.10.1" - resolved "https://registry.npmjs.org/@ledgerhq/logs/-/logs-6.10.1.tgz#5bd16082261d7364eabb511c788f00937dac588d" - integrity sha512-z+ILK8Q3y+nfUl43ctCPuR4Y2bIxk/ooCQFwZxhtci1EhAtMDzMAx2W25qx8G1PPL9UUOdnUax19+F0OjXoj4w== +"@ledgerhq/connect-kit-loader@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@ledgerhq/connect-kit-loader/-/connect-kit-loader-1.0.2.tgz#8554e16943f86cc2a5f6348a14dfe6e5bd0c572a" + integrity sha512-TQ21IjcZOw/scqypaVFY3jHVqI7X7Hta3qN/us6FvTol3AY06UmrhhXGww0E9xHmAbdX241ddwXEiMBSQZFr9g== "@magic-sdk/commons@^4.1.1": version "4.1.1" @@ -1512,17 +1408,6 @@ resolved "https://registry.yarnpkg.com/@metamask/detect-provider/-/detect-provider-2.0.0.tgz#4bc2795e5e6f7d8b84b2e845058d2f222c99917d" integrity sha512-sFpN+TX13E9fdBDh9lvQeZdJn4qYoRb/6QF2oZZK/Pn559IhCFacPMU1rMuqyXoFQF3JSJfii2l98B87QDPeCQ== -"@metamask/eth-sig-util@^4.0.0": - version "4.0.1" - resolved "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz#3ad61f6ea9ad73ba5b19db780d40d9aae5157088" - integrity sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ== - dependencies: - ethereumjs-abi "^0.6.8" - ethereumjs-util "^6.2.1" - ethjs-util "^0.1.6" - tweetnacl "^1.0.3" - tweetnacl-util "^0.15.1" - "@metamask/eth-sig-util@^5.0.2": version "5.0.2" resolved "https://registry.yarnpkg.com/@metamask/eth-sig-util/-/eth-sig-util-5.0.2.tgz#c518279a6e17a88135a13d53a0b970f145ff8bce" @@ -2432,11 +2317,12 @@ ethers "5.5.4" joi "^17.6.1" -"@web3-onboard/core@^2.12.0": - version "2.12.0" - resolved "https://registry.yarnpkg.com/@web3-onboard/core/-/core-2.12.0.tgz#6f2c775064ff9cd1fe6619c62f1b6c1fa71db679" - integrity sha512-c4ZPOXqrT8NCT7Sc/EbwGU4UIpULpgWoDpFaQi5gvSLjvcIEUDCrwicEYBxXZ+4UPgONOxcW+PDiSBBVNUqRzg== +"@web3-onboard/core@^2.13.1": + version "2.13.1" + resolved "https://registry.yarnpkg.com/@web3-onboard/core/-/core-2.13.1.tgz#c9d953751b239798ba1792c480babbd5b03ba015" + integrity sha512-1NL7Eev7Pjy/KxE9LaeoAhaNT+/UVoezXiW/GGFCe7Qx2efb74doCRQjjCf82KInyQAvfr8a/0lOQie4xFZ6ig== dependencies: + "@unstoppabledomains/resolution" "^8.0" "@web3-onboard/common" "^2.2.3" bignumber.js "^9.0.0" bnc-sdk "^4.6.2" @@ -2477,6 +2363,13 @@ "@web3-onboard/common" "^2.2.3" fortmatic "^2.2.1" +"@web3-onboard/frontier@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@web3-onboard/frontier/-/frontier-2.0.0.tgz#0e7688df3d735e05ca38cdb10e9efd48899a07ea" + integrity sha512-wd0nRbCL3IYSkyocGGHBWzUf8Ijf7gcgqDui50XOxV2TxQ5zAew2bSKXrCaQJHazf4rBUnXbUB5krb2HVAIjgg== + dependencies: + "@web3-onboard/common" "^2.2.3" + "@web3-onboard/gas@^2.1.3": version "2.1.4" resolved "https://registry.npmjs.org/@web3-onboard/gas/-/gas-2.1.4.tgz#6022cd10419c5b28b93d7c914e2165e33098a027" @@ -2506,10 +2399,10 @@ joi "^17.6.1" rxjs "^7.5.2" -"@web3-onboard/injected-wallets@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@web3-onboard/injected-wallets/-/injected-wallets-2.4.0.tgz#84e48830605f899601aadc3bc7c79d1ed5787534" - integrity sha512-v27NdfD5vemPTNhqk+7gpMYXuTDsHTSPWWdJt6ybJoks6GlRSgF1fnCkmERNzo3+9S97fEKrzHrlSkpsFgn2Mw== +"@web3-onboard/injected-wallets@^2.6.0": + version "2.6.0" + resolved "https://registry.yarnpkg.com/@web3-onboard/injected-wallets/-/injected-wallets-2.6.0.tgz#6f59ded7728da42a1015215df6f27d016e7094d9" + integrity sha512-j/7hZM4RDCcLwhAARvgX9vjAXkahD59r3YywCPLsttih9YEXAfwyEvbi2aOYXyTMtNt8sEowl0oRBzYA4v2Ckw== dependencies: "@web3-onboard/common" "^2.2.3" joi "^17.6.1" @@ -2538,21 +2431,16 @@ "@web3-onboard/common" "^2.2.3" "@web3-onboard/hw-common" "^2.0.4" -"@web3-onboard/ledger@^2.3.2": - version "2.3.2" - resolved "https://registry.npmjs.org/@web3-onboard/ledger/-/ledger-2.3.2.tgz#aaa436393d8ffdc156fd318154df5e61361d54bb" - integrity sha512-0KLXmnXNs6iTZEhBdGDgg+L5t8rOTroZjYu8l3Qebd02hNBIeaNxgCXIOQ1Y97qvcQz/8rb6oZ1wMp7unmSA1g== +"@web3-onboard/ledger@^2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@web3-onboard/ledger/-/ledger-2.4.1.tgz#d719a4f3315ead3fce938d7cace7ef6c3f365cc3" + integrity sha512-ENA/kmLn2qgqx3SKziMo/10OPxEtEPjBe1e5eyMz7k7XOmb81+Q4rSXoIgTl0uoTu18Yn/5POGCV77/emR40IA== dependencies: - "@ethereumjs/tx" "^3.4.0" "@ethersproject/providers" "^5.5.0" - "@ledgerhq/hw-app-eth" "^6.19.0" - "@ledgerhq/hw-transport-u2f" "^5.36.0-deprecated" - "@ledgerhq/hw-transport-webusb" "^6.19.0" - "@metamask/eth-sig-util" "^4.0.0" + "@ledgerhq/connect-kit-loader" "^1.0.2" + "@walletconnect/client" "^1.7.1" "@web3-onboard/common" "^2.2.3" - "@web3-onboard/hw-common" "^2.0.4" - buffer "^6.0.3" - ethereumjs-util "^7.1.3" + rxjs "^7.5.2" "@web3-onboard/magic@^2.1.3": version "2.1.3" @@ -2572,6 +2460,13 @@ "@web3-onboard/common" "^2.2.3" lodash.uniqby "^4.7.0" +"@web3-onboard/phantom@^2.0.0-alpha.1": + version "2.0.0-alpha.1" + resolved "https://registry.yarnpkg.com/@web3-onboard/phantom/-/phantom-2.0.0-alpha.1.tgz#a6f01ef849b04dde23bef2d1920a46956dc7abbc" + integrity sha512-iTBDfbSqYPCy4Sed5ZY/tpWpYOAlKxPFsrrXVLWUWCIOVflu6y7TStgh5BwN69M9wsXLDVkXDf0joNUhme8OAA== + dependencies: + "@web3-onboard/common" "^2.2.3" + "@web3-onboard/portis@^2.1.3": version "2.1.3" resolved "https://registry.npmjs.org/@web3-onboard/portis/-/portis-2.1.3.tgz#997ef4941aa247e1a02fe24b2f03dc8b7cc13cfb" @@ -2597,10 +2492,10 @@ tallyho-detect-provider "^1.0.0" tallyho-onboarding "^1.0.2" -"@web3-onboard/torus@^2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@web3-onboard/torus/-/torus-2.2.0.tgz#6a844c99d783bbab2370f87b70f30a4cb8f36f07" - integrity sha512-0iaN3o13p5oCy//3FfEDdbRJnV1Y3QWXLWDTuaxJiYh/Qdj7tc7OORWxfAb3FB94vyaqIFV5jvLK8p7AYoQHmQ== +"@web3-onboard/torus@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@web3-onboard/torus/-/torus-2.2.1.tgz#9b82381c200cbf22ebccf08cfe2d84b5d48d0ce8" + integrity sha512-fF6yp2NX4kalClNcG0gR7HsVlcd6wFz3zLogVZ0mpLq0Y94K3B28r/N3HYmcbT/3y7rlUQdf7EJOZE4Pxn7UHg== dependencies: "@toruslabs/torus-embed" "1.38.2" "@web3-onboard/common" "^2.2.3" @@ -2666,6 +2561,13 @@ "@web3auth/base" "^3.3.0" "@web3auth/modal" "^3.3.0" +"@web3-onboard/zeal@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@web3-onboard/zeal/-/zeal-2.0.0.tgz#6d827d8237dfe11315dcee875c5ea8f2a55552df" + integrity sha512-APfERzTWHFc/3FiMZ7NTxvHZ7pphs/pQwibEb5aZCVUyir+XjHGMKaz/i1iI7QM4lswJ5ZS5sXfCO+LUSApo3g== + dependencies: + "@web3-onboard/common" "^2.2.3" + "@web3auth/base-evm-adapter@^3.3.0": version "3.3.0" resolved "https://registry.yarnpkg.com/@web3auth/base-evm-adapter/-/base-evm-adapter-3.3.0.tgz#ab8575ac5d05dfe055e52500b61691cefdd6268f" @@ -3266,13 +3168,6 @@ axios@^0.21.2: dependencies: follow-redirects "^1.14.0" -axios@^0.26.1: - version "0.26.1" - resolved "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz#1ede41c51fcf51bbbd6fd43669caaa4f0495aaa9" - integrity sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA== - dependencies: - follow-redirects "^1.14.8" - b4a@^1.6.0: version "1.6.1" resolved "https://registry.npmjs.org/b4a/-/b4a-1.6.1.tgz#9effac93a469a868d024e16fd77162c653544cbd" @@ -3954,9 +3849,9 @@ cookie@0.5.0: integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== cookiejar@^2.1.1: - version "2.1.3" - resolved "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz#fc7a6216e408e74414b90230050842dacda75acc" - integrity sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ== + version "2.1.4" + resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.4.tgz#ee669c1fea2cf42dc31585469d193fef0d65771b" + integrity sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw== copy-text-to-clipboard@^3.0.1: version "3.0.1" @@ -4768,7 +4663,7 @@ ethereum-cryptography@^1.1.2: "@scure/bip32" "1.1.0" "@scure/bip39" "1.1.0" -ethereumjs-abi@^0.6.8, "ethereumjs-abi@git+https://github.com/ethereumjs/ethereumjs-abi.git": +"ethereumjs-abi@git+https://github.com/ethereumjs/ethereumjs-abi.git": version "0.6.8" resolved "git+https://github.com/ethereumjs/ethereumjs-abi.git#ee3994657fa7a427238e6ba92a84d0b529bbcde0" dependencies: @@ -4876,7 +4771,7 @@ ethereumjs-util@^5.0.0, ethereumjs-util@^5.1.1, ethereumjs-util@^5.1.2, ethereum rlp "^2.0.0" safe-buffer "^5.1.1" -ethereumjs-util@^6.0.0, ethereumjs-util@^6.2.1: +ethereumjs-util@^6.0.0: version "6.2.1" resolved "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz#fcb4e4dd5ceacb9d2305426ab1a5cd93e3163b69" integrity sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw== @@ -5259,7 +5154,7 @@ follow-redirects@1.5.10: dependencies: debug "=3.1.0" -follow-redirects@^1.0.0, follow-redirects@^1.10.0, follow-redirects@^1.14.0, follow-redirects@^1.14.8: +follow-redirects@^1.0.0, follow-redirects@^1.10.0, follow-redirects@^1.14.0: version "1.15.2" resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== @@ -5715,13 +5610,6 @@ intl-messageformat@^9.13.0: "@formatjs/icu-messageformat-parser" "2.1.0" tslib "^2.1.0" -invariant@2: - version "2.2.4" - resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - ip@^1.1.0: version "1.1.8" resolved "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz#ae05948f6b075435ed3307acce04629da8cdbf48" @@ -7480,7 +7368,7 @@ rustbn.js@~0.2.0: resolved "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz#8082cb886e707155fd1cb6f23bd591ab8d55d0ca" integrity sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA== -rxjs@6, rxjs@^6.4.0, rxjs@^6.6.3: +rxjs@^6.4.0, rxjs@^6.6.3: version "6.6.7" resolved "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== @@ -8260,11 +8148,6 @@ typescript@^4.6.2: resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz#3aea307c1746b8c384435d8ac36b8a2e580d85db" integrity sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA== -u2f-api@0.2.7: - version "0.2.7" - resolved "https://registry.npmjs.org/u2f-api/-/u2f-api-0.2.7.tgz#17bf196b242f6bf72353d9858e6a7566cc192720" - integrity sha512-fqLNg8vpvLOD5J/z4B6wpPg4Lvowz1nJ9xdHcCzdUPKcFE/qNCceV2gNZxSJd5vhAZemHr/K/hbzVA0zxB5mkg== - ultron@~1.1.0: version "1.1.1" resolved "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" From dcae71f424bd43a3a3758e92fc7398722106b302 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 27 Jan 2023 10:55:12 -0700 Subject: [PATCH 07/13] Bump cookiejar from 2.1.3 to 2.1.4 in /docs (#1486) Bumps [cookiejar](https://github.com/bmeck/node-cookiejar) from 2.1.3 to 2.1.4. - [Release notes](https://github.com/bmeck/node-cookiejar/releases) - [Commits](https://github.com/bmeck/node-cookiejar/commits) --- updated-dependencies: - dependency-name: cookiejar dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docs/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/yarn.lock b/docs/yarn.lock index 235bb6efb..a0abb6dff 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -4328,9 +4328,9 @@ console-control-strings@^1.0.0, console-control-strings@^1.1.0: integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== cookiejar@^2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.3.tgz#fc7a6216e408e74414b90230050842dacda75acc" - integrity sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ== + version "2.1.4" + resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.4.tgz#ee669c1fea2cf42dc31585469d193fef0d65771b" + integrity sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw== copy-to-clipboard@^3.3.1: version "3.3.3" From 17ce3cd6139dd16a83de3d0a617cc54d00cf564c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 27 Jan 2023 10:55:53 -0700 Subject: [PATCH 08/13] Bump cookiejar from 2.1.3 to 2.1.4 in /examples/with-nextjs-13 (#1484) Bumps [cookiejar](https://github.com/bmeck/node-cookiejar) from 2.1.3 to 2.1.4. - [Release notes](https://github.com/bmeck/node-cookiejar/releases) - [Commits](https://github.com/bmeck/node-cookiejar/commits) --- updated-dependencies: - dependency-name: cookiejar dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- examples/with-nextjs-13/yarn.lock | 48 +++++++++++++++++++------------ 1 file changed, 30 insertions(+), 18 deletions(-) diff --git a/examples/with-nextjs-13/yarn.lock b/examples/with-nextjs-13/yarn.lock index 582789036..78df6c52e 100644 --- a/examples/with-nextjs-13/yarn.lock +++ b/examples/with-nextjs-13/yarn.lock @@ -446,7 +446,7 @@ "@ethersproject/properties" "^5.5.0" "@ethersproject/strings" "^5.5.0" -"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.5.0", "@ethersproject/abi@^5.6.3", "@ethersproject/abi@^5.7.0": +"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.0.1", "@ethersproject/abi@^5.5.0", "@ethersproject/abi@^5.6.3", "@ethersproject/abi@^5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== @@ -1907,6 +1907,17 @@ dependencies: "@types/node" "*" +"@unstoppabledomains/resolution@^8.0": + version "8.4.0" + resolved "https://registry.yarnpkg.com/@unstoppabledomains/resolution/-/resolution-8.4.0.tgz#bcfba87898c5acd65bf15556a9737728daad7a89" + integrity sha512-bjJPF5YGwyd3p3pJuWOiz5YegVsmKDiwjJNWxhibnVYgzIWhaTt8dv6runxLTs761Rlwz37TLQvvBqJ8/KnzvA== + dependencies: + "@ethersproject/abi" "^5.0.1" + bn.js "^4.4.0" + cross-fetch "^3.1.4" + crypto-js "^4.1.1" + elliptic "^6.5.4" + "@walletconnect/browser-utils@^1.8.0": version "1.8.0" resolved "https://registry.npmjs.org/@walletconnect/browser-utils/-/browser-utils-1.8.0.tgz#33c10e777aa6be86c713095b5206d63d32df0951" @@ -2086,11 +2097,12 @@ ethers "5.5.4" joi "^17.6.1" -"@web3-onboard/core@^2.10.1": - version "2.11.0" - resolved "https://registry.npmjs.org/@web3-onboard/core/-/core-2.11.0.tgz#267db444fa39cc9059850bc462286646f4531ed0" - integrity sha512-bNQEVgZKiKiddI/+wDS4KzmNUsqAiNL9xpPyBWSjtGC7/S/N9602quqDQzQxle8ZC/BnrQhaIpNexHvydaVaEQ== +"@web3-onboard/core@^2.14.0": + version "2.14.0" + resolved "https://registry.yarnpkg.com/@web3-onboard/core/-/core-2.14.0.tgz#0c52fa9dfb126f26107ba9b71fc4eb5c24522b46" + integrity sha512-/n/l7L163gzGc8+OrjO3uy5RKG7jmrapSO1a/k8qT7uIIsYsYl+BsMXinQezZwlWqv2aaB8WIQHOy/pfepFj3Q== dependencies: + "@unstoppabledomains/resolution" "^8.0" "@web3-onboard/common" "^2.2.3" bignumber.js "^9.0.0" bnc-sdk "^4.6.2" @@ -2144,10 +2156,10 @@ joi "^17.6.1" rxjs "^7.5.2" -"@web3-onboard/injected-wallets@^2.2.4": - version "2.4.0" - resolved "https://registry.npmjs.org/@web3-onboard/injected-wallets/-/injected-wallets-2.4.0.tgz#84e48830605f899601aadc3bc7c79d1ed5787534" - integrity sha512-v27NdfD5vemPTNhqk+7gpMYXuTDsHTSPWWdJt6ybJoks6GlRSgF1fnCkmERNzo3+9S97fEKrzHrlSkpsFgn2Mw== +"@web3-onboard/injected-wallets@^2.6.1": + version "2.6.1" + resolved "https://registry.yarnpkg.com/@web3-onboard/injected-wallets/-/injected-wallets-2.6.1.tgz#ca926e669593d32a68385c4e77ca3534b1d632e3" + integrity sha512-GuK0nr7eS3VIJNCOkdZrmhnoH0YiUrIopRFPFJENBH3HwRa6Wscl2ZkPdgq1kv9f1/4fKpXSmrAYqjteZGhHWg== dependencies: "@web3-onboard/common" "^2.2.3" joi "^17.6.1" @@ -2218,13 +2230,13 @@ "@portis/web3" "^4.0.6" "@web3-onboard/common" "^2.2.3" -"@web3-onboard/react@^2.3.5": - version "2.4.1" - resolved "https://registry.npmjs.org/@web3-onboard/react/-/react-2.4.1.tgz#6580c208ee4dec30238867607dbf604495091846" - integrity sha512-Qvpb5ezvwBVPhwIHVhW65jG+WIlNHM6O1jgLdNWvP9a0kSkmdfHyNP+gb4yjZ9w23xc+keIK21UVfQk2tBw0MA== +"@web3-onboard/react@^2.6.0": + version "2.6.0" + resolved "https://registry.yarnpkg.com/@web3-onboard/react/-/react-2.6.0.tgz#0587cc0e6a5e312bdcaed260714014f25c8ae4e4" + integrity sha512-wlWzJoKrYCX0kFIN9/v4HZqhb4neTnOIY69ZMdgnZiGAVe2Z7vJPMpGegRJZ8u52/NnvhvIBpI2pOqwB8T7aIw== dependencies: "@web3-onboard/common" "^2.2.3" - "@web3-onboard/core" "^2.10.1" + "@web3-onboard/core" "^2.14.0" use-sync-external-store "1.0.0" "@web3-onboard/sequence@^2.0.3": @@ -2613,7 +2625,7 @@ bn.js@4.11.8: resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.0, bn.js@^4.11.6, bn.js@^4.11.8, bn.js@^4.11.9: +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.0, bn.js@^4.11.6, bn.js@^4.11.8, bn.js@^4.11.9, bn.js@^4.4.0: version "4.12.0" resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== @@ -2947,9 +2959,9 @@ commander@^2.20.3: integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== cookiejar@^2.1.1: - version "2.1.3" - resolved "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz#fc7a6216e408e74414b90230050842dacda75acc" - integrity sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ== + version "2.1.4" + resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.4.tgz#ee669c1fea2cf42dc31585469d193fef0d65771b" + integrity sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw== copy-to-clipboard@^3.3.1: version "3.3.3" From 9c693b637f851e2a0f519fddc95f360ca4613125 Mon Sep 17 00:00:00 2001 From: okxwallet <122091289+okxwallet@users.noreply.github.com> Date: Sat, 28 Jan 2023 05:41:12 +0800 Subject: [PATCH 09/13] Feat/add okx wallet (#1469) * feature: add okx wallet to injected * feature: add okx wallet to injected * feature: add okx wallet to injected * feature: add okx wallet to injected * feature: add okx wallet to injected * Update okx wallet usage * Add debugging code for okx team * Update svg for wallet * Clean up logs --------- Co-authored-by: Adam Carpenter --- docs/src/routes/docs/[...4]wallets/injected.md | 3 +++ packages/demo/package.json | 2 +- packages/injected/README.md | 3 +++ packages/injected/package.json | 2 +- packages/injected/src/helpers.ts | 4 ++-- packages/injected/src/icons/okxwallet.ts | 5 +++++ packages/injected/src/types.ts | 4 ++++ packages/injected/src/wallets.ts | 15 ++++++++++++++- 8 files changed, 33 insertions(+), 5 deletions(-) create mode 100644 packages/injected/src/icons/okxwallet.ts diff --git a/docs/src/routes/docs/[...4]wallets/injected.md b/docs/src/routes/docs/[...4]wallets/injected.md index ebea4c92b..26010db4b 100644 --- a/docs/src/routes/docs/[...4]wallets/injected.md +++ b/docs/src/routes/docs/[...4]wallets/injected.md @@ -271,7 +271,9 @@ const injected = injectedModule({ - Binance - _Desktop_ - Coinbase - _Desktop & Mobile_ - Phantom - _Desktop & Mobile_ +- SafePal - _Desktop & Mobile_ - Zerion - _Desktop & Mobile_ +- OKX Wallet - _Desktop_ - Tally - _Desktop_ - Trust - _Mobile_ - Opera - _Desktop & Mobile_ @@ -307,6 +309,7 @@ const injected = injectedModule({ - Zeal - _Desktop_ - Exodus - _Desktop & Mobile_ - Frontier - _Desktop & Mobile_ +- Rainbow - _Desktop & Mobile_ ## Build Environments diff --git a/packages/demo/package.json b/packages/demo/package.json index 9fa95d2ed..0bdf0c6b5 100644 --- a/packages/demo/package.json +++ b/packages/demo/package.json @@ -34,7 +34,7 @@ "@web3-onboard/keepkey": "^2.3.3", "@web3-onboard/keystone": "^2.3.3", "@web3-onboard/ledger": "^2.4.2", - "@web3-onboard/injected-wallets": "^2.6.2-alpha.2", + "@web3-onboard/injected-wallets": "^2.6.2-alpha.3", "@web3-onboard/magic": "^2.1.3", "@web3-onboard/phantom": "^2.0.0-alpha.1", "@web3-onboard/portis": "^2.1.3", diff --git a/packages/injected/README.md b/packages/injected/README.md index e4a0d9017..8027f7cc1 100644 --- a/packages/injected/README.md +++ b/packages/injected/README.md @@ -39,7 +39,9 @@ console.log(connectedWallets) - Binance - _Desktop_ - Coinbase - _Desktop & Mobile_ - Phantom - _Desktop & Mobile_ +- SafePal - _Desktop & Mobile_ - Zerion - _Desktop & Mobile_ +- OKX Wallet - _Desktop_ - Tally - _Desktop_ - Trust - _Mobile_ - Opera - _Desktop & Mobile_ @@ -75,6 +77,7 @@ console.log(connectedWallets) - Zeal - _Desktop_ - Exodus - _Desktop & Mobile_ - Frontier - _Desktop & Mobile_ +- Rainbow - _Desktop & Mobile_ ## Filtering Wallets diff --git a/packages/injected/package.json b/packages/injected/package.json index 151a21ee8..548a94efb 100644 --- a/packages/injected/package.json +++ b/packages/injected/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/injected-wallets", - "version": "2.6.2-alpha.2", + "version": "2.6.2-alpha.3", "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", diff --git a/packages/injected/src/helpers.ts b/packages/injected/src/helpers.ts index 5f863be96..38e48110b 100644 --- a/packages/injected/src/helpers.ts +++ b/packages/injected/src/helpers.ts @@ -32,8 +32,8 @@ export const isWalletAvailable = ( return true } - // For multiple injected providers, check providers array - // example coinbase inj wallet pushes over-ridden wallets + // For multiple injected providers, check providers array + // example coinbase inj wallet pushes over-ridden wallets // into a providers array at window.ethereum return !!provider.providers?.some(provider => checkProviderIdentity({ provider, device }) diff --git a/packages/injected/src/icons/okxwallet.ts b/packages/injected/src/icons/okxwallet.ts new file mode 100644 index 000000000..2ab6d017e --- /dev/null +++ b/packages/injected/src/icons/okxwallet.ts @@ -0,0 +1,5 @@ +export default ` + + + +` diff --git a/packages/injected/src/types.ts b/packages/injected/src/types.ts index cc3f239cf..b9ff9df64 100644 --- a/packages/injected/src/types.ts +++ b/packages/injected/src/types.ts @@ -52,6 +52,7 @@ export enum ProviderIdentityFlag { Bitski = 'isBitski', Enkrypt = 'isEnkrypt', Phantom = 'isPhantom', + OKXWallet = 'isOkxWallet', Zeal = 'isZeal', Zerion = 'isZerion', Rainbow = 'isRainbow', @@ -99,6 +100,7 @@ export enum ProviderLabel { Enkrypt = 'Enkrypt', Zeal = 'Zeal', Phantom = 'Phantom', + OKXWallet = 'OKX Wallet', Zerion = 'Zerion', Rainbow = 'Rainbow', SafePal = 'SafePal' @@ -128,6 +130,7 @@ export enum InjectedNameSpace { Enkrypt = 'enkrypt', Zeal = 'zeal', Phantom = 'phantom', + OKXWallet = 'okxwallet', Trust = 'trustwallet', Frontier = 'frontier' } @@ -161,6 +164,7 @@ export interface CustomWindow extends Window { phantom: { ethereum: InjectedProvider } + okxwallet: InjectedProvider trustwallet: InjectedProvider } diff --git a/packages/injected/src/wallets.ts b/packages/injected/src/wallets.ts index 4ae7feb6c..465e534d4 100644 --- a/packages/injected/src/wallets.ts +++ b/packages/injected/src/wallets.ts @@ -668,7 +668,7 @@ const phantom: InjectedWalletModule = { }), platforms: ['all'] } - + const safepal: InjectedWalletModule = { label: ProviderLabel.SafePal, injectedNamespace: InjectedNameSpace.Ethereum, @@ -691,6 +691,18 @@ const rainbow: InjectedWalletModule = { platforms: ['all'] } +const okxwallet: InjectedWalletModule = { + label: ProviderLabel.OKXWallet, + injectedNamespace: InjectedNameSpace.OKXWallet, + checkProviderIdentity: ({ provider }) => + !!provider && !!provider[ProviderIdentityFlag.OKXWallet], + getIcon: async () => (await import('./icons/okxwallet.js')).default, + getInterface: async () => ({ + provider: createEIP1193Provider(window.okxwallet) + }), + platforms: ['desktop'] +} + const wallets = [ zeal, exodus, @@ -730,6 +742,7 @@ const wallets = [ bitski, enkrypt, phantom, + okxwallet, zerion, rainbow, safepal From 30b360c3c74ffc700eea61be2fc19934cb6d24de Mon Sep 17 00:00:00 2001 From: Adam Carpenter Date: Fri, 27 Jan 2023 14:51:44 -0700 Subject: [PATCH 10/13] Update versions for release --- docs/package.json | 4 ++-- examples/with-vite-react/package.json | 2 +- examples/with-vuejs-v2/package.json | 2 +- examples/with-vuejs/package.json | 2 +- package.json | 2 +- packages/demo/package.json | 5 +++-- packages/injected/package.json | 2 +- packages/transaction-preview/package.json | 2 +- packages/trust/package.json | 2 +- yarn.lock | 13 ------------- 10 files changed, 12 insertions(+), 24 deletions(-) diff --git a/docs/package.json b/docs/package.json index 588169fd1..a7fd213ac 100644 --- a/docs/package.json +++ b/docs/package.json @@ -61,7 +61,7 @@ "@web3-onboard/fortmatic": "^2.0.14", "@web3-onboard/gas": "^2.1.4", "@web3-onboard/gnosis": "^2.1.6", - "@web3-onboard/injected-wallets": "^2.6.1", + "@web3-onboard/injected-wallets": "^2.6.2", "@web3-onboard/keepkey": "^2.3.3", "@web3-onboard/keystone": "^2.3.3", "@web3-onboard/ledger": "^2.4.2", @@ -72,7 +72,7 @@ "@web3-onboard/tallyho": "^2.0.1", "@web3-onboard/torus": "^2.2.0", "@web3-onboard/trezor": "^2.3.3", - "@web3-onboard/trust": "^2.0.0-alpha.1", + "@web3-onboard/trust": "^2.0.0", "@web3-onboard/uauth": "^2.0.1", "@web3-onboard/walletconnect": "^2.2.1", "@web3-onboard/web3auth": "^2.1.4", diff --git a/examples/with-vite-react/package.json b/examples/with-vite-react/package.json index 71a4e5424..f5ed7075d 100644 --- a/examples/with-vite-react/package.json +++ b/examples/with-vite-react/package.json @@ -13,7 +13,7 @@ "@web3-onboard/dcent": "^2.2.1", "@web3-onboard/fortmatic": "^2.0.14", "@web3-onboard/gnosis": "^2.1.5", - "@web3-onboard/injected-wallets": "^2.6.1-alpha.1", + "@web3-onboard/injected-wallets": "^2.6.2", "@web3-onboard/keepkey": "^2.3.1", "@web3-onboard/keystone": "^2.3.1", "@web3-onboard/ledger": "^2.3.1", diff --git a/examples/with-vuejs-v2/package.json b/examples/with-vuejs-v2/package.json index b9655801b..7850172b1 100644 --- a/examples/with-vuejs-v2/package.json +++ b/examples/with-vuejs-v2/package.json @@ -7,7 +7,7 @@ "serve": "vite preview" }, "dependencies": { - "@web3-onboard/injected-wallets": "^2.6.1-alpha.1", + "@web3-onboard/injected-wallets": "^2.6.2", "@web3-onboard/vue": "^2.3.1", "vue": "^2.6.12", "vue-template-compiler": "^2.7.10" diff --git a/examples/with-vuejs/package.json b/examples/with-vuejs/package.json index 3cf80a672..f35d0fa49 100644 --- a/examples/with-vuejs/package.json +++ b/examples/with-vuejs/package.json @@ -8,7 +8,7 @@ "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs --fix --ignore-path .gitignore" }, "dependencies": { - "@web3-onboard/injected-wallets": "^2.6.1-alpha.1", + "@web3-onboard/injected-wallets": "^2.6.2", "@web3-onboard/vue": "^2.3.1", "pinia": "^2.0.16", "vue": "^3.2.37", diff --git a/package.json b/package.json index 0db6af48f..0bd256cbc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "web3-onboard-monorepo", - "version": "2.19.0", + "version": "2.19.1", "private": true, "workspaces": { "packages": [ diff --git a/packages/demo/package.json b/packages/demo/package.json index 0bdf0c6b5..2552549dd 100644 --- a/packages/demo/package.json +++ b/packages/demo/package.json @@ -25,7 +25,7 @@ "dependencies": { "@web3-onboard/core": "^2.14.0", "@web3-onboard/coinbase": "^2.1.4", - "@web3-onboard/transaction-preview": "^2.0.1-alpha.1", + "@web3-onboard/transaction-preview": "^2.0.1", "@web3-onboard/dcent": "^2.2.3", "@web3-onboard/frontier": "^2.0.0", "@web3-onboard/fortmatic": "^2.0.14", @@ -34,12 +34,13 @@ "@web3-onboard/keepkey": "^2.3.3", "@web3-onboard/keystone": "^2.3.3", "@web3-onboard/ledger": "^2.4.2", - "@web3-onboard/injected-wallets": "^2.6.2-alpha.3", + "@web3-onboard/injected-wallets": "^2.6.2", "@web3-onboard/magic": "^2.1.3", "@web3-onboard/phantom": "^2.0.0-alpha.1", "@web3-onboard/portis": "^2.1.3", "@web3-onboard/sequence": "^2.0.4", "@web3-onboard/trezor": "^2.3.3", + "@web3-onboard/trust": "^2.0.0", "@web3-onboard/torus": "^2.2.1", "@web3-onboard/tallyho": "^2.0.1", "@web3-onboard/web3auth": "^2.1.4", diff --git a/packages/injected/package.json b/packages/injected/package.json index 548a94efb..39ad22989 100644 --- a/packages/injected/package.json +++ b/packages/injected/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/injected-wallets", - "version": "2.6.2-alpha.3", + "version": "2.6.2", "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", diff --git a/packages/transaction-preview/package.json b/packages/transaction-preview/package.json index a97d5b05c..b0e944112 100644 --- a/packages/transaction-preview/package.json +++ b/packages/transaction-preview/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/transaction-preview", - "version": "2.0.1-alpha.1", + "version": "2.0.1", "description": "In app preview of Ethereum transactions", "keywords": [ "Ethereum", diff --git a/packages/trust/package.json b/packages/trust/package.json index ed5b13d51..99e90a8d8 100644 --- a/packages/trust/package.json +++ b/packages/trust/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/trust", - "version": "2.0.0-alpha.1", + "version": "2.0.0", "description": "Trust Wallet SDK wallet module for connecting to Web3-Onboard. Web3-Onboard makes it simple to connect Ethereum hardware and software wallets to your dapp. Features standardized 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", diff --git a/yarn.lock b/yarn.lock index 470e49e10..9d8fe9406 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2901,19 +2901,6 @@ dependencies: "@walletconnect/window-getters" "^1.0.0" -"@web3-onboard/transaction-preview@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@web3-onboard/transaction-preview/-/transaction-preview-2.0.0.tgz#8c610e414bca9c600d4b02761b596793616ad217" - integrity sha512-Gom08bUYpVGElZ5Rz63ToYGVCE3/aq/jdD8aXNoPwVO/+iZ6iwnoaMCg/J3WN6+186oIYSm+e9g4Sn4GadtvNg== - dependencies: - "@web3-onboard/common" "^2.2.3" - bnc-sdk "^4.6.2" - bowser "^2.11.0" - joi "^17.6.1" - rxjs "^7.5.2" - svelte "^3.49.0" - svelte-i18n "^3.3.13" - "@web3auth/base-evm-adapter@^3.3.0": version "3.3.0" resolved "https://registry.yarnpkg.com/@web3auth/base-evm-adapter/-/base-evm-adapter-3.3.0.tgz#ab8575ac5d05dfe055e52500b61691cefdd6268f" From 8a08ef422b03e12ced9b6a354871601c72a074fd Mon Sep 17 00:00:00 2001 From: Adam Carpenter Date: Fri, 27 Jan 2023 15:19:38 -0700 Subject: [PATCH 11/13] Address a couple of warnings from type-check --- packages/core/src/index.ts | 1 - packages/core/src/views/account-center/Maximized.svelte | 6 ------ 2 files changed, 7 deletions(-) diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 1b7691747..4e384a057 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -32,7 +32,6 @@ import { } from './store/actions.js' import type { PatchedEIP1193Provider } from '@web3-onboard/transaction-preview' import { getBlocknativeSdk } from './services.js' -import { defaultBnIcon } from './icons/index.js' const API = { connectWallet, diff --git a/packages/core/src/views/account-center/Maximized.svelte b/packages/core/src/views/account-center/Maximized.svelte index 48214969a..e0f343943 100644 --- a/packages/core/src/views/account-center/Maximized.svelte +++ b/packages/core/src/views/account-center/Maximized.svelte @@ -220,12 +220,6 @@ margin-top: 12px; color: var(--text-color); } - - .powered-by { - color: var(--onboard-gray-400, var(--gray-400)); - font-size: var(--onboard-font-size-7, var(--font-size-7)); - line-height: var(--onboard-font-line-height-3, var(--font-line-height-3)); - } {#if disconnectConfirmModal} From 09d8989d5d0f4ddc14c74afcba9f2cf8803501d9 Mon Sep 17 00:00:00 2001 From: Adam Carpenter Date: Mon, 30 Jan 2023 09:36:01 -0700 Subject: [PATCH 12/13] Bump sdk version in core --- packages/core/package.json | 4 ++-- packages/demo/package.json | 2 +- packages/injected/src/icons/xdefi.ts | 6 +++--- packages/react/package.json | 4 ++-- packages/vue/package.json | 4 ++-- yarn.lock | 10 ---------- 6 files changed, 10 insertions(+), 20 deletions(-) diff --git a/packages/core/package.json b/packages/core/package.json index 6c36b53ab..ebaa6a32b 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/core", - "version": "2.14.0", + "version": "2.14.1", "description": "Web3-Onboard makes it simple to connect Ethereum hardware and software wallets to your dapp. Features standardized 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", @@ -87,7 +87,7 @@ "@unstoppabledomains/resolution": "^8.0", "@web3-onboard/common": "^2.2.3", "bignumber.js": "^9.0.0", - "bnc-sdk": "^4.6.2", + "bnc-sdk": "^4.6.5", "bowser": "^2.11.0", "ethers": "5.5.3", "eventemitter3": "^4.0.7", diff --git a/packages/demo/package.json b/packages/demo/package.json index 2552549dd..845c19837 100644 --- a/packages/demo/package.json +++ b/packages/demo/package.json @@ -23,7 +23,7 @@ "webpack-dev-server": "4.7.4" }, "dependencies": { - "@web3-onboard/core": "^2.14.0", + "@web3-onboard/core": "^2.14.1", "@web3-onboard/coinbase": "^2.1.4", "@web3-onboard/transaction-preview": "^2.0.1", "@web3-onboard/dcent": "^2.2.3", diff --git a/packages/injected/src/icons/xdefi.ts b/packages/injected/src/icons/xdefi.ts index 8524c20f6..6150cfca1 100644 --- a/packages/injected/src/icons/xdefi.ts +++ b/packages/injected/src/icons/xdefi.ts @@ -1,8 +1,8 @@ export default `` diff --git a/packages/react/package.json b/packages/react/package.json index c52ff2ef0..31d3322da 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/react", - "version": "2.6.0", + "version": "2.6.1", "description": "A collection of React hooks for integrating Web3-Onboard in to React and Next.js projects. 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, 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", @@ -62,7 +62,7 @@ "typescript": "^4.5.5" }, "dependencies": { - "@web3-onboard/core": "^2.14.0", + "@web3-onboard/core": "^2.14.1", "@web3-onboard/common": "^2.2.3", "use-sync-external-store": "1.0.0" }, diff --git a/packages/vue/package.json b/packages/vue/package.json index 4ebf31c5d..0dc1a2e9f 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/vue", - "version": "2.5.0", + "version": "2.5.1", "description": "A collection of Vue Composables for integrating Web3-Onboard in to a Vue or Nuxt project. Web3-Onboard makes it simple to connect Ethereum hardware and software wallets to your dapp. Features standardized spec compliant web3 providers for all supported wallets, 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", @@ -63,7 +63,7 @@ "@vueuse/core": "^8.4.2", "@vueuse/rxjs": "^8.2.0", "@web3-onboard/common": "^2.2.3", - "@web3-onboard/core": "^2.14.0", + "@web3-onboard/core": "^2.14.1", "vue-demi": "^0.12.4" }, "peerDependencies": { diff --git a/yarn.lock b/yarn.lock index 9d8fe9406..8c93ee7e4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3831,16 +3831,6 @@ bnb-javascript-sdk-nobroadcast@^2.16.14: uuid "^3.3.2" websocket-stream "^5.5.0" -bnc-sdk@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/bnc-sdk/-/bnc-sdk-4.6.2.tgz#3ba6c2305c1eecfbbf021865898c56704f391c60" - integrity sha512-XPYr1PNCEwJvb6X+xYZCbM7Nr1qN7aSendDxDKsHROyHSqbLN5Q+BobIAGrCxwUolpk9GzuO3zl/oRSVaiRyPg== - dependencies: - crypto-es "^1.2.2" - nanoid "^3.3.1" - rxjs "^6.6.3" - sturdy-websocket "^0.1.12" - bnc-sdk@^4.6.5: version "4.6.5" resolved "https://registry.yarnpkg.com/bnc-sdk/-/bnc-sdk-4.6.5.tgz#9f91eb2f213c0c4abf8b5f134f673a3f9a981ea2" From 76d89a57ddf397fc3b9b879820d30dcf5e79bd60 Mon Sep 17 00:00:00 2001 From: "Karl Anthony B. Baluyot" <38805756+kabaluyot@users.noreply.github.com> Date: Tue, 31 Jan 2023 00:37:30 +0800 Subject: [PATCH 13/13] feat: crypto.com defi wallet injected provider support (#1499) * feat: add injected defi wallet * build: bump injected package * docs: add defi wallet * build: bump demo injected package * Update packages/demo/package.json * Update packages/injected/package.json --------- Co-authored-by: Adam Carpenter --- docs/src/routes/docs/[...4]wallets/injected.md | 1 + packages/demo/package.json | 2 +- packages/injected/README.md | 1 + packages/injected/package.json | 5 +++-- packages/injected/src/constants.ts | 3 ++- packages/injected/src/icons/defiwallet.ts | 7 +++++++ packages/injected/src/types.ts | 10 +++++++--- packages/injected/src/wallets.ts | 15 ++++++++++++++- 8 files changed, 36 insertions(+), 8 deletions(-) create mode 100644 packages/injected/src/icons/defiwallet.ts diff --git a/docs/src/routes/docs/[...4]wallets/injected.md b/docs/src/routes/docs/[...4]wallets/injected.md index 26010db4b..29c8ca909 100644 --- a/docs/src/routes/docs/[...4]wallets/injected.md +++ b/docs/src/routes/docs/[...4]wallets/injected.md @@ -310,6 +310,7 @@ const injected = injectedModule({ - Exodus - _Desktop & Mobile_ - Frontier - _Desktop & Mobile_ - Rainbow - _Desktop & Mobile_ +- DeFiWallet - _Desktop & Mobile_ ## Build Environments diff --git a/packages/demo/package.json b/packages/demo/package.json index 0bdf0c6b5..28f68f9d1 100644 --- a/packages/demo/package.json +++ b/packages/demo/package.json @@ -34,7 +34,7 @@ "@web3-onboard/keepkey": "^2.3.3", "@web3-onboard/keystone": "^2.3.3", "@web3-onboard/ledger": "^2.4.2", - "@web3-onboard/injected-wallets": "^2.6.2-alpha.3", + "@web3-onboard/injected-wallets": "^2.6.2-alpha.4", "@web3-onboard/magic": "^2.1.3", "@web3-onboard/phantom": "^2.0.0-alpha.1", "@web3-onboard/portis": "^2.1.3", diff --git a/packages/injected/README.md b/packages/injected/README.md index 8027f7cc1..d78e77b57 100644 --- a/packages/injected/README.md +++ b/packages/injected/README.md @@ -78,6 +78,7 @@ console.log(connectedWallets) - Exodus - _Desktop & Mobile_ - Frontier - _Desktop & Mobile_ - Rainbow - _Desktop & Mobile_ +- DeFiWallet - _Desktop & Mobile_ ## Filtering Wallets diff --git a/packages/injected/package.json b/packages/injected/package.json index 548a94efb..82f556f1c 100644 --- a/packages/injected/package.json +++ b/packages/injected/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/injected-wallets", - "version": "2.6.2-alpha.3", + "version": "2.6.2-alpha.4", "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", @@ -31,7 +31,8 @@ "confirmed", "Injected Wallet", "GameStop", - "Phantom" + "Phantom", + "DeFi Wallet" ], "repository": { "type": "git", diff --git a/packages/injected/src/constants.ts b/packages/injected/src/constants.ts index f88a28b6d..b78ada7ca 100644 --- a/packages/injected/src/constants.ts +++ b/packages/injected/src/constants.ts @@ -20,5 +20,6 @@ export const WALLET_NAMES: { [key: string]: string } = { trust: 'Trust Wallet', frontier: 'Frontier', zerion: 'Zerion', - rainbow: 'Rainbow' + rainbow: 'Rainbow', + defiwallet: 'DeFi Wallet' } diff --git a/packages/injected/src/icons/defiwallet.ts b/packages/injected/src/icons/defiwallet.ts new file mode 100644 index 000000000..196c1f2f4 --- /dev/null +++ b/packages/injected/src/icons/defiwallet.ts @@ -0,0 +1,7 @@ +export default ` + + +` diff --git a/packages/injected/src/types.ts b/packages/injected/src/types.ts index b9ff9df64..368d40b74 100644 --- a/packages/injected/src/types.ts +++ b/packages/injected/src/types.ts @@ -56,7 +56,8 @@ export enum ProviderIdentityFlag { Zeal = 'isZeal', Zerion = 'isZerion', Rainbow = 'isRainbow', - SafePal = 'isSafePal' + SafePal = 'isSafePal', + DeFiWallet = 'isDeficonnectProvider' } export enum ProviderLabel { @@ -103,7 +104,8 @@ export enum ProviderLabel { OKXWallet = 'OKX Wallet', Zerion = 'Zerion', Rainbow = 'Rainbow', - SafePal = 'SafePal' + SafePal = 'SafePal', + DeFiWallet = 'DeFi Wallet' } export interface MeetOneProvider extends ExternalProvider { @@ -132,7 +134,8 @@ export enum InjectedNameSpace { Phantom = 'phantom', OKXWallet = 'okxwallet', Trust = 'trustwallet', - Frontier = 'frontier' + Frontier = 'frontier', + DeFiConnectProvider = 'deficonnectProvider' } export interface CustomWindow extends Window { @@ -166,6 +169,7 @@ export interface CustomWindow extends Window { } okxwallet: InjectedProvider trustwallet: InjectedProvider + deficonnectProvider: InjectedProvider } export type InjectedProvider = ExternalProvider & diff --git a/packages/injected/src/wallets.ts b/packages/injected/src/wallets.ts index 465e534d4..4201ad1be 100644 --- a/packages/injected/src/wallets.ts +++ b/packages/injected/src/wallets.ts @@ -703,6 +703,18 @@ const okxwallet: InjectedWalletModule = { platforms: ['desktop'] } +const defiwallet: InjectedWalletModule = { + label: ProviderLabel.DeFiWallet, + injectedNamespace: InjectedNameSpace.DeFiConnectProvider, + checkProviderIdentity: ({ provider }) => + !!provider && !!provider[ProviderIdentityFlag.DeFiWallet], + getIcon: async () => (await import('./icons/defiwallet.js')).default, + getInterface: async () => ({ + provider: createEIP1193Provider(window.deficonnectProvider) + }), + platforms: ['all'], +} + const wallets = [ zeal, exodus, @@ -745,7 +757,8 @@ const wallets = [ okxwallet, zerion, rainbow, - safepal + safepal, + defiwallet ] export default wallets