diff --git a/.circleci/config.yml b/.circleci/config.yml index 2487b7585..93dd73fc8 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -395,6 +395,12 @@ jobs: working_directory: ~/web3-onboard-monorepo/packages/cede-store steps: - node-build-steps + build-blocto: + docker: + - image: cimg/node:16.13.1 + working_directory: ~/web3-onboard-monorepo/packages/blocto + steps: + - node-build-steps build-venly: docker: - image: cimg/node:16.13.1 @@ -631,6 +637,12 @@ jobs: working_directory: ~/web3-onboard-monorepo/packages/cede-store steps: - node-staging-build-steps + build-staging-blocto: + docker: + - image: cimg/node:16.13.1 + working_directory: ~/web3-onboard-monorepo/packages/blocto + steps: + - node-staging-build-steps build-staging-venly: docker: - image: cimg/node:16.13.1 @@ -869,6 +881,12 @@ workflows: <<: *deploy_production_filters - build-staging-cede-store: <<: *deploy_staging_filters + blocto: + jobs: + - build-blocto: + <<: *deploy_production_filters + - build-staging-blocto: + <<: *deploy_staging_filters venly: jobs: - build-venly: diff --git a/README.md b/README.md index df2ef767d..677acdc62 100644 --- a/README.md +++ b/README.md @@ -104,6 +104,7 @@ For full documentation, check out the README.md for each package or the [docs pa - [XDEFI](packages/xdefi/README.md) - [Infinity Wallet](packages/infinity-wallet/README.md) - [Frame](packages/frame/README.md) +- [Blocto](packages/blocto/README.md) **Hardware Wallets** diff --git a/docs/package.json b/docs/package.json index 1c28dd77d..22bbba9b3 100644 --- a/docs/package.json +++ b/docs/package.json @@ -12,8 +12,8 @@ "format": "prettier --plugin-search-dir . --write .", "prepare": "svelte-kit sync", "test": "playwright test", - "w3o-latest-prod": "yarn add '@web3-onboard/core' '@web3-onboard/coinbase' '@web3-onboard/transaction-preview' '@web3-onboard/dcent' '@web3-onboard/frontier' '@web3-onboard/fortmatic' '@web3-onboard/frame' '@web3-onboard/gas' '@web3-onboard/gnosis' '@web3-onboard/keepkey' '@web3-onboard/keystone' '@web3-onboard/ledger' '@web3-onboard/infinity-wallet' '@web3-onboard/injected-wallets' '@web3-onboard/magic' '@web3-onboard/phantom' '@web3-onboard/portis' '@web3-onboard/sequence' '@web3-onboard/trezor' '@web3-onboard/trust' '@web3-onboard/torus' '@web3-onboard/taho' '@web3-onboard/web3auth' '@web3-onboard/walletconnect' '@web3-onboard/enkrypt' '@web3-onboard/mew-wallet' '@web3-onboard/xdefi' '@web3-onboard/uauth' '@web3-onboard/zeal' '@web3-onboard/cede-store'", - "w3o-latest-alpha": "yarn add '@web3-onboard/core@next' '@web3-onboard/coinbase@next' '@web3-onboard/transaction-preview@next' '@web3-onboard/dcent@next' '@web3-onboard/frontier@next' '@web3-onboard/fortmatic@next' '@web3-onboard/frame@next' '@web3-onboard/gas@next' '@web3-onboard/gnosis@next' '@web3-onboard/keepkey@next' '@web3-onboard/keystone@next' '@web3-onboard/ledger@next' '@web3-onboard/infinity-wallet@next' '@web3-onboard/injected-wallets@next' '@web3-onboard/magic@next' '@web3-onboard/phantom@next' '@web3-onboard/portis@next' '@web3-onboard/sequence@next' '@web3-onboard/trezor@next' '@web3-onboard/trust@next' '@web3-onboard/torus@next' '@web3-onboard/taho@next' '@web3-onboard/web3auth@next' '@web3-onboard/walletconnect@next' '@web3-onboard/enkrypt@next' '@web3-onboard/mew-wallet@next' '@web3-onboard/xdefi@next' '@web3-onboard/uauth@next' '@web3-onboard/zeal@next' '@web3-onboard/cede-store@next'" + "w3o-latest-prod": "yarn add '@web3-onboard/core' '@web3-onboard/coinbase' '@web3-onboard/transaction-preview' '@web3-onboard/dcent' '@web3-onboard/frontier' '@web3-onboard/fortmatic' '@web3-onboard/frame' '@web3-onboard/gas' '@web3-onboard/gnosis' '@web3-onboard/keepkey' '@web3-onboard/keystone' '@web3-onboard/ledger' '@web3-onboard/infinity-wallet' '@web3-onboard/injected-wallets' '@web3-onboard/magic' '@web3-onboard/phantom' '@web3-onboard/portis' '@web3-onboard/sequence' '@web3-onboard/trezor' '@web3-onboard/trust' '@web3-onboard/torus' '@web3-onboard/taho' '@web3-onboard/web3auth' '@web3-onboard/walletconnect' '@web3-onboard/enkrypt' '@web3-onboard/mew-wallet' '@web3-onboard/xdefi' '@web3-onboard/uauth' '@web3-onboard/zeal' '@web3-onboard/cede-store' '@web3-onboard/blocto'", + "w3o-latest-alpha": "yarn add '@web3-onboard/core@next' '@web3-onboard/coinbase@next' '@web3-onboard/transaction-preview@next' '@web3-onboard/dcent@next' '@web3-onboard/frontier@next' '@web3-onboard/fortmatic@next' '@web3-onboard/frame@next' '@web3-onboard/gas@next' '@web3-onboard/gnosis@next' '@web3-onboard/keepkey@next' '@web3-onboard/keystone@next' '@web3-onboard/ledger@next' '@web3-onboard/infinity-wallet@next' '@web3-onboard/injected-wallets@next' '@web3-onboard/magic@next' '@web3-onboard/phantom@next' '@web3-onboard/portis@next' '@web3-onboard/sequence@next' '@web3-onboard/trezor@next' '@web3-onboard/trust@next' '@web3-onboard/torus@next' '@web3-onboard/taho@next' '@web3-onboard/web3auth@next' '@web3-onboard/walletconnect@next' '@web3-onboard/enkrypt@next' '@web3-onboard/mew-wallet@next' '@web3-onboard/xdefi@next' '@web3-onboard/uauth@next' '@web3-onboard/zeal@next' '@web3-onboard/cede-store@next' '@web3-onboard/blocto@next'" }, "devDependencies": { "@algolia/client-search": "^4.17.0", @@ -49,9 +49,10 @@ }, "type": "module", "dependencies": { + "@web3-onboard/blocto": "^2.0.0-alpha.1", "@web3-onboard/cede-store": "^2.0.2", "@web3-onboard/coinbase": "^2.2.4", - "@web3-onboard/core": "^2.20.1", + "@web3-onboard/core": "^2.20.2-alpha.1", "@web3-onboard/dcent": "^2.2.7", "@web3-onboard/enkrypt": "^2.0.4", "@web3-onboard/fortmatic": "^2.0.19", @@ -60,7 +61,7 @@ "@web3-onboard/gas": "^2.1.8", "@web3-onboard/gnosis": "^2.1.10", "@web3-onboard/infinity-wallet": "^2.0.4", - "@web3-onboard/injected-wallets": "^2.10.0", + "@web3-onboard/injected-wallets": "^2.10.1-alpha.1", "@web3-onboard/keepkey": "^2.3.7", "@web3-onboard/keystone": "^2.3.7", "@web3-onboard/ledger": "^2.4.6", @@ -75,7 +76,7 @@ "@web3-onboard/trezor": "^2.4.2", "@web3-onboard/trust": "^2.0.4", "@web3-onboard/uauth": "^2.0.5", - "@web3-onboard/venly": "^2.0.0-alpha.1", + "@web3-onboard/venly": "^2.0.0", "@web3-onboard/walletconnect": "^2.3.9", "@web3-onboard/web3auth": "^2.2.3", "@web3-onboard/xdefi": "^2.0.4", diff --git a/docs/src/app.html b/docs/src/app.html index 54e2a9b67..187f76c57 100644 --- a/docs/src/app.html +++ b/docs/src/app.html @@ -18,8 +18,14 @@ %sveltekit.head% - - + + +
%sveltekit.body%
diff --git a/docs/src/lib/services/onboard.js b/docs/src/lib/services/onboard.js index eea244d03..9d1e1256a 100644 --- a/docs/src/lib/services/onboard.js +++ b/docs/src/lib/services/onboard.js @@ -53,6 +53,7 @@ const intiOnboard = async (theme) => { const { default: xdefiModule } = await import('@web3-onboard/xdefi') const { default: cedeModule } = await import('@web3-onboard/cede-store') const { default: frameModule } = await import('@web3-onboard/frame') + const { default: bloctoModule } = await import('@web3-onboard/blocto') const { default: venlyModule } = await import('@web3-onboard/venly') const INFURA_ID = '8b60d52405694345a99bcb82e722e0af' @@ -108,6 +109,7 @@ const intiOnboard = async (theme) => { const frame = frameModule() + const blocto = bloctoModule() const venly = venlyModule({ clientId: 'blocknative', environment: 'staging' @@ -138,6 +140,7 @@ const intiOnboard = async (theme) => { portis, frame, infinityWallet, + blocto // venly ], chains: [ diff --git a/docs/src/routes/docs/[...1]overview/[...1]introduction/+page.md b/docs/src/routes/docs/[...1]overview/[...1]introduction/+page.md index 9d054eaec..499d75d21 100644 --- a/docs/src/routes/docs/[...1]overview/[...1]introduction/+page.md +++ b/docs/src/routes/docs/[...1]overview/[...1]introduction/+page.md @@ -157,6 +157,7 @@ We recommend you add the [Core Repo](../../modules/core.md#install) and consider - [Portis](../../wallets/portis.md#install) - [Web3Auth](../../wallets/web3auth.md#install) - [Frame](../../wallets/frame.md#install) +- [Blocto](../../docs/wallets/blocto.md#install) **Hardware Wallets** diff --git a/docs/src/routes/docs/[...4]wallets/[...9]injected/+page.md b/docs/src/routes/docs/[...4]wallets/[...10]injected/+page.md similarity index 99% rename from docs/src/routes/docs/[...4]wallets/[...9]injected/+page.md rename to docs/src/routes/docs/[...4]wallets/[...10]injected/+page.md index 240372226..257a142f7 100644 --- a/docs/src/routes/docs/[...4]wallets/[...9]injected/+page.md +++ b/docs/src/routes/docs/[...4]wallets/[...10]injected/+page.md @@ -334,6 +334,7 @@ const injected = injectedModule({ - BifrostWallet - _Desktop & Mobile_ - Safeheron - _Desktop_ - Talisman - _Desktop_ +- OneKey - _Desktop & Mobile_ ## Build Environments diff --git a/docs/src/routes/docs/[...4]wallets/[...10]keepkey/+page.md b/docs/src/routes/docs/[...4]wallets/[...11]keepkey/+page.md similarity index 100% rename from docs/src/routes/docs/[...4]wallets/[...10]keepkey/+page.md rename to docs/src/routes/docs/[...4]wallets/[...11]keepkey/+page.md diff --git a/docs/src/routes/docs/[...4]wallets/[...11]keystone/+page.md b/docs/src/routes/docs/[...4]wallets/[...12]keystone/+page.md similarity index 100% rename from docs/src/routes/docs/[...4]wallets/[...11]keystone/+page.md rename to docs/src/routes/docs/[...4]wallets/[...12]keystone/+page.md diff --git a/docs/src/routes/docs/[...4]wallets/[...12]ledger/+page.md b/docs/src/routes/docs/[...4]wallets/[...13]ledger/+page.md similarity index 100% rename from docs/src/routes/docs/[...4]wallets/[...12]ledger/+page.md rename to docs/src/routes/docs/[...4]wallets/[...13]ledger/+page.md diff --git a/docs/src/routes/docs/[...4]wallets/[...13]magic/+page.md b/docs/src/routes/docs/[...4]wallets/[...14]magic/+page.md similarity index 100% rename from docs/src/routes/docs/[...4]wallets/[...13]magic/+page.md rename to docs/src/routes/docs/[...4]wallets/[...14]magic/+page.md diff --git a/docs/src/routes/docs/[...4]wallets/[...14]mew/+page.md b/docs/src/routes/docs/[...4]wallets/[...15]mew/+page.md similarity index 100% rename from docs/src/routes/docs/[...4]wallets/[...14]mew/+page.md rename to docs/src/routes/docs/[...4]wallets/[...15]mew/+page.md diff --git a/docs/src/routes/docs/[...4]wallets/[...15]mewwallet/+page.md b/docs/src/routes/docs/[...4]wallets/[...16]mewwallet/+page.md similarity index 100% rename from docs/src/routes/docs/[...4]wallets/[...15]mewwallet/+page.md rename to docs/src/routes/docs/[...4]wallets/[...16]mewwallet/+page.md diff --git a/docs/src/routes/docs/[...4]wallets/[...16]phantom/+page.md b/docs/src/routes/docs/[...4]wallets/[...17]phantom/+page.md similarity index 100% rename from docs/src/routes/docs/[...4]wallets/[...16]phantom/+page.md rename to docs/src/routes/docs/[...4]wallets/[...17]phantom/+page.md diff --git a/docs/src/routes/docs/[...4]wallets/[...17]portis/+page.md b/docs/src/routes/docs/[...4]wallets/[...18]portis/+page.md similarity index 100% rename from docs/src/routes/docs/[...4]wallets/[...17]portis/+page.md rename to docs/src/routes/docs/[...4]wallets/[...18]portis/+page.md diff --git a/docs/src/routes/docs/[...4]wallets/[...18]taho/+page.md b/docs/src/routes/docs/[...4]wallets/[...19]taho/+page.md similarity index 100% rename from docs/src/routes/docs/[...4]wallets/[...18]taho/+page.md rename to docs/src/routes/docs/[...4]wallets/[...19]taho/+page.md diff --git a/docs/src/routes/docs/[...4]wallets/[...1]blocto/+page.md b/docs/src/routes/docs/[...4]wallets/[...1]blocto/+page.md new file mode 100644 index 000000000..bb598a2c1 --- /dev/null +++ b/docs/src/routes/docs/[...4]wallets/[...1]blocto/+page.md @@ -0,0 +1,88 @@ +--- +title: Blocto +--- + +# {$frontmatter.title} + +Wallet module for connecting Blocto SDK to web3-onboard. Check out the [Blocto Developer Docs](https://docs.blocto.app/blocto-sdk/javascript-sdk/evm-sdk) for more information. + +## Install + + + + +```sh copy +yarn add @web3-onboard/blocto +``` + + + + +```sh copy +npm install @web3-onboard/blocto +``` + + + + +## Usage + +```typescript +import Onboard from '@web3-onboard/core' +import bloctoModule from '@web3-onboard/blocto' + +// initialize the module with options +const blocto = bloctoModule() + +const onboard = Onboard({ + // ... other Onboard options + wallets: [ + blocto + //... other wallets + ] +}) + +const connectedWallets = await onboard.connectWallet() +console.log(connectedWallets) +``` + +## Build Environments + +For build env configurations and setups please see the Build Env section [here](/docs/modules/core#build-environments) + +### Webpack 4 + +Node built-ins are automatically bundled in v4 so that portion is handled automatically. + +**Blocto** support will require a Babel to compile from es6 if not already supported. See config for Babel and Webpack4 as follows + +`npm i --save-dev @babel/cli @babel/core @babel/node @babel/plugin-proposal-nullish-coalescing-operator @babel/plugin-proposal-optional-chaining @babel/plugin-syntax-bigint @babel/register` +**AND** +`npm i babel-loader` + +**babel.config.js** + +```javascript +module.exports = (api) => { + api.cache(true) + const plugins = [ + '@babel/plugin-proposal-optional-chaining', + '@babel/plugin-proposal-nullish-coalescing-operator', + '@babel/plugin-syntax-bigint' + ] + return { plugins } +} +``` + +**webpack.config.js** + +```javascript +config.module.rules = [ + ...otherModuleRules, + { + test: /\.js$/, + exclude: (_) => !/node_modules\/(@web3auth|@ethereumjs)/.test(_), + loader: 'babel-loader' + } +] +``` diff --git a/docs/src/routes/docs/[...4]wallets/[...19]tallyho/+page.md b/docs/src/routes/docs/[...4]wallets/[...20]tallyho/+page.md similarity index 100% rename from docs/src/routes/docs/[...4]wallets/[...19]tallyho/+page.md rename to docs/src/routes/docs/[...4]wallets/[...20]tallyho/+page.md diff --git a/docs/src/routes/docs/[...4]wallets/[...20]torus/+page.md b/docs/src/routes/docs/[...4]wallets/[...21]torus/+page.md similarity index 100% rename from docs/src/routes/docs/[...4]wallets/[...20]torus/+page.md rename to docs/src/routes/docs/[...4]wallets/[...21]torus/+page.md diff --git a/docs/src/routes/docs/[...4]wallets/[...21]trezor/+page.md b/docs/src/routes/docs/[...4]wallets/[...22]trezor/+page.md similarity index 100% rename from docs/src/routes/docs/[...4]wallets/[...21]trezor/+page.md rename to docs/src/routes/docs/[...4]wallets/[...22]trezor/+page.md diff --git a/docs/src/routes/docs/[...4]wallets/[...22]uauth/+page.md b/docs/src/routes/docs/[...4]wallets/[...23]uauth/+page.md similarity index 100% rename from docs/src/routes/docs/[...4]wallets/[...22]uauth/+page.md rename to docs/src/routes/docs/[...4]wallets/[...23]uauth/+page.md diff --git a/docs/src/routes/docs/[...4]wallets/[...1]coinbase/+page.md b/docs/src/routes/docs/[...4]wallets/[...2]coinbase/+page.md similarity index 100% rename from docs/src/routes/docs/[...4]wallets/[...1]coinbase/+page.md rename to docs/src/routes/docs/[...4]wallets/[...2]coinbase/+page.md diff --git a/docs/src/routes/docs/[...4]wallets/[...2]dcent/+page.md b/docs/src/routes/docs/[...4]wallets/[...3]dcent/+page.md similarity index 100% rename from docs/src/routes/docs/[...4]wallets/[...2]dcent/+page.md rename to docs/src/routes/docs/[...4]wallets/[...3]dcent/+page.md diff --git a/docs/src/routes/docs/[...4]wallets/[...3]enkrypt/+page.md b/docs/src/routes/docs/[...4]wallets/[...4]enkrypt/+page.md similarity index 100% rename from docs/src/routes/docs/[...4]wallets/[...3]enkrypt/+page.md rename to docs/src/routes/docs/[...4]wallets/[...4]enkrypt/+page.md diff --git a/docs/src/routes/docs/[...4]wallets/[...4]fortmatic/+page.md b/docs/src/routes/docs/[...4]wallets/[...5]fortmatic/+page.md similarity index 100% rename from docs/src/routes/docs/[...4]wallets/[...4]fortmatic/+page.md rename to docs/src/routes/docs/[...4]wallets/[...5]fortmatic/+page.md diff --git a/docs/src/routes/docs/[...4]wallets/[...5]frame/+page.md b/docs/src/routes/docs/[...4]wallets/[...6]frame/+page.md similarity index 100% rename from docs/src/routes/docs/[...4]wallets/[...5]frame/+page.md rename to docs/src/routes/docs/[...4]wallets/[...6]frame/+page.md diff --git a/docs/src/routes/docs/[...4]wallets/[...6]frontier/+page.md b/docs/src/routes/docs/[...4]wallets/[...7]frontier/+page.md similarity index 100% rename from docs/src/routes/docs/[...4]wallets/[...6]frontier/+page.md rename to docs/src/routes/docs/[...4]wallets/[...7]frontier/+page.md diff --git a/docs/src/routes/docs/[...4]wallets/[...7]gnosis/+page.md b/docs/src/routes/docs/[...4]wallets/[...8]gnosis/+page.md similarity index 100% rename from docs/src/routes/docs/[...4]wallets/[...7]gnosis/+page.md rename to docs/src/routes/docs/[...4]wallets/[...8]gnosis/+page.md diff --git a/docs/src/routes/docs/[...4]wallets/[...8]infinitywallet/+page.md b/docs/src/routes/docs/[...4]wallets/[...9]infinitywallet/+page.md similarity index 100% rename from docs/src/routes/docs/[...4]wallets/[...8]infinitywallet/+page.md rename to docs/src/routes/docs/[...4]wallets/[...9]infinitywallet/+page.md diff --git a/docs/yarn.lock b/docs/yarn.lock index 052573e2a..bcb02c51b 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -1009,6 +1009,16 @@ "@babel/helper-validator-identifier" "^7.19.1" to-fast-properties "^2.0.0" +"@blocto/sdk@^0.4.6": + version "0.4.8" + resolved "https://registry.yarnpkg.com/@blocto/sdk/-/sdk-0.4.8.tgz#73aa9791c5d6296ab0648b4aa157e2d065b37063" + integrity sha512-LVxzZ2FixbXOHe8vomEGW3IPV4EJ2bC+kvaPW+81j3FhZAObYWp10WfnDpCJ0UZjY6kjmeVr5Z2r4IW/fe3waQ== + dependencies: + bs58 "^5.0.0" + buffer "^6.0.3" + eip1193-provider "^1.0.1" + js-sha3 "^0.8.0" + "@cedelabs/providers@^0.0.7": version "0.0.7" resolved "https://registry.yarnpkg.com/@cedelabs/providers/-/providers-0.0.7.tgz#859070c5cf0a86841ce98d32c1599cc8de9b7869" @@ -2671,10 +2681,10 @@ "@motionone/utils" "^10.15.1" tslib "^2.3.1" -"@motionone/dom@^10.15.5": - version "10.15.5" - resolved "https://registry.yarnpkg.com/@motionone/dom/-/dom-10.15.5.tgz#4af18f8136d85c2fc997cac98121c969f6731802" - integrity sha512-Xc5avlgyh3xukU9tydh9+8mB8+2zAq+WlLsC3eEIp7Ax7DnXgY7Bj/iv0a4X2R9z9ZFZiaXK3BO0xMYHKbAAdA== +"@motionone/dom@^10.16.2": + version "10.16.2" + resolved "https://registry.yarnpkg.com/@motionone/dom/-/dom-10.16.2.tgz#0c44df8ee3d1cfc50ee11d27050b27824355a61a" + integrity sha512-bnuHdNbge1FutZXv+k7xub9oPWcF0hsu8y1HTH/qg6av58YI0VufZ3ngfC7p2xhMJMnoh0LXFma2EGTgPeCkeg== dependencies: "@motionone/animation" "^10.15.1" "@motionone/generators" "^10.15.1" @@ -2700,12 +2710,12 @@ "@motionone/utils" "^10.15.1" tslib "^2.3.1" -"@motionone/svelte@^10.15.5": - version "10.15.5" - resolved "https://registry.yarnpkg.com/@motionone/svelte/-/svelte-10.15.5.tgz#f36b40101ec1db122820598089f42e831f6cf5f5" - integrity sha512-Xyxtgp7BlVnSBwcoFmXGHUVnpNktzeXsEifu2NJJWc7VGuxutDsBZxNdz80qvpLIC5MeBa1wh7GGegZzTm1msg== +"@motionone/svelte@^10.16.2": + version "10.16.2" + resolved "https://registry.yarnpkg.com/@motionone/svelte/-/svelte-10.16.2.tgz#0b37c3b12927814d31d24941d1ca0ff49981b444" + integrity sha512-38xsroKrfK+aHYhuQlE6eFcGy0EwrB43Q7RGjF73j/kRUTcLNu/LAaKiLLsN5lyqVzCgTBVt4TMT/ShWbTbc5Q== dependencies: - "@motionone/dom" "^10.15.5" + "@motionone/dom" "^10.16.2" tslib "^2.3.1" "@motionone/types@^10.15.1": @@ -2722,12 +2732,12 @@ hey-listen "^1.0.8" tslib "^2.3.1" -"@motionone/vue@^10.15.5": - version "10.15.5" - resolved "https://registry.yarnpkg.com/@motionone/vue/-/vue-10.15.5.tgz#3101c62b2fce06b3f3072b9ff0f551213eb02476" - integrity sha512-cUENrLYAolUacHvCgU+8wF9OgSlVutfWbHMLERI/bElCJ+e2YVQvG/CpGhIM5fYOOJzuvg2T2wHmLLmvJoavEw== +"@motionone/vue@^10.16.2": + version "10.16.2" + resolved "https://registry.yarnpkg.com/@motionone/vue/-/vue-10.16.2.tgz#faf13afc27620a2df870c71c58a04ee8de8dea65" + integrity sha512-7/dEK/nWQXOkJ70bqb2KyNfSWbNvWqKKq1C8juj+0Mg/AorgD8O5wE3naddK0G+aXuNMqRuc4jlsYHHWHtIzVw== dependencies: - "@motionone/dom" "^10.15.5" + "@motionone/dom" "^10.16.2" tslib "^2.3.1" "@ngraveio/bc-ur@^1.0.0", "@ngraveio/bc-ur@^1.1.5": @@ -4016,14 +4026,15 @@ "@walletconnect/types" "^1.8.0" "@walletconnect/utils" "^1.8.0" -"@walletconnect/core@2.7.4": - version "2.7.4" - resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.7.4.tgz#1471215ca8cc08ae4719ca1bb6d45dd1b49dea3a" - integrity sha512-nDJJZALZJI8l8JvjwZE4UmUzDzQBnTTJlQa/rc5MoGYtir0hfsQEl3sPkPcXbkkW5q+cHiynXsDcgM4740fmNQ== +"@walletconnect/core@2.8.0": + version "2.8.0" + resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.8.0.tgz#f694e1562413c4eb700f6b3a83fa7964342100c0" + integrity sha512-pl7x4sq1nuU0ixA9wF2ecjDecUzIauKr7ZwC29rs9qTcmDpxgJbbOdZwaSl+dJlf1bHC87adVLf5KAkwwo9PzQ== dependencies: "@walletconnect/heartbeat" "1.2.1" - "@walletconnect/jsonrpc-provider" "^1.0.12" - "@walletconnect/jsonrpc-utils" "^1.0.7" + "@walletconnect/jsonrpc-provider" "1.0.13" + "@walletconnect/jsonrpc-types" "1.0.3" + "@walletconnect/jsonrpc-utils" "1.0.8" "@walletconnect/jsonrpc-ws-connection" "^1.0.11" "@walletconnect/keyvaluestorage" "^1.0.2" "@walletconnect/logger" "^2.0.1" @@ -4031,8 +4042,8 @@ "@walletconnect/relay-auth" "^1.0.4" "@walletconnect/safe-json" "^1.0.2" "@walletconnect/time" "^1.0.2" - "@walletconnect/types" "2.7.4" - "@walletconnect/utils" "2.7.4" + "@walletconnect/types" "2.8.0" + "@walletconnect/utils" "2.8.0" events "^3.3.0" lodash.isequal "4.5.0" uint8arrays "^3.1.0" @@ -4074,19 +4085,19 @@ dependencies: tslib "1.14.1" -"@walletconnect/ethereum-provider@2.7.4": - version "2.7.4" - resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.7.4.tgz#777ad9a6229f88f766a986bb5cffaa3ff1575c0b" - integrity sha512-R5hcByY9zIsvyTHFUS+3xqtzs2REezED4tZFyXk0snJjWlnlL2EdeHaCjr5n+SIZDin4CMj1EAFC0ZrM4KoA4Q== - dependencies: - "@walletconnect/jsonrpc-http-connection" "^1.0.4" - "@walletconnect/jsonrpc-provider" "^1.0.11" - "@walletconnect/jsonrpc-types" "^1.0.2" - "@walletconnect/jsonrpc-utils" "^1.0.7" - "@walletconnect/sign-client" "2.7.4" - "@walletconnect/types" "2.7.4" - "@walletconnect/universal-provider" "2.7.4" - "@walletconnect/utils" "2.7.4" +"@walletconnect/ethereum-provider@2.8.0": + version "2.8.0" + resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.8.0.tgz#15e9efa37b7c2455cd30c883f5698c89e481b163" + integrity sha512-nVVJtZUpoeurFjoEPYlrUHkT3YleCpEC9YAMKJyEIB3MZZInttcGxGyi0vwFQ+trCfuX8RrdKUPQ952NvxvCvw== + dependencies: + "@walletconnect/jsonrpc-http-connection" "^1.0.7" + "@walletconnect/jsonrpc-provider" "^1.0.13" + "@walletconnect/jsonrpc-types" "^1.0.3" + "@walletconnect/jsonrpc-utils" "^1.0.8" + "@walletconnect/sign-client" "2.8.0" + "@walletconnect/types" "2.8.0" + "@walletconnect/universal-provider" "2.8.0" + "@walletconnect/utils" "2.8.0" events "^3.3.0" "@walletconnect/events@^1.0.1": @@ -4115,25 +4126,33 @@ "@walletconnect/types" "^1.8.0" "@walletconnect/utils" "^1.8.0" -"@walletconnect/jsonrpc-http-connection@^1.0.4": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.6.tgz#48c41cf3e5ac9add9425420b345615dc438594cd" - integrity sha512-/3zSqDi7JDN06E4qm0NmVYMitngXfh21UWwy8zeJcBeJc+Jcs094EbLsIxtziIIKTCCbT88lWuTjl1ZujxN7cw== +"@walletconnect/jsonrpc-http-connection@^1.0.7": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.7.tgz#a6973569b8854c22da707a759d241e4f5c2d5a98" + integrity sha512-qlfh8fCfu8LOM9JRR9KE0s0wxP6ZG9/Jom8M0qsoIQeKF3Ni0FyV4V1qy/cc7nfI46SLQLSl4tgWSfLiE1swyQ== dependencies: "@walletconnect/jsonrpc-utils" "^1.0.6" "@walletconnect/safe-json" "^1.0.1" cross-fetch "^3.1.4" tslib "1.14.1" -"@walletconnect/jsonrpc-provider@^1.0.11", "@walletconnect/jsonrpc-provider@^1.0.12": - version "1.0.12" - resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.12.tgz#965408d99fc889d49c194cd207804282805f45ed" - integrity sha512-6uI2y5281gloZSzICOjk+CVC7CVu0MhtMt2Yzpj05lPb0pzm/bK2oZ2ibxwLerPrqpNt/5bIFVRmoOgPw1mHAQ== +"@walletconnect/jsonrpc-provider@1.0.13", "@walletconnect/jsonrpc-provider@^1.0.13": + version "1.0.13" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.13.tgz#9a74da648d015e1fffc745f0c7d629457f53648b" + integrity sha512-K73EpThqHnSR26gOyNEL+acEex3P7VWZe6KE12ZwKzAt2H4e5gldZHbjsu2QR9cLeJ8AXuO7kEMOIcRv1QEc7g== dependencies: - "@walletconnect/jsonrpc-utils" "^1.0.7" + "@walletconnect/jsonrpc-utils" "^1.0.8" "@walletconnect/safe-json" "^1.0.2" tslib "1.14.1" +"@walletconnect/jsonrpc-types@1.0.3", "@walletconnect/jsonrpc-types@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.3.tgz#65e3b77046f1a7fa8347ae02bc1b841abe6f290c" + integrity sha512-iIQ8hboBl3o5ufmJ8cuduGad0CQm3ZlsHtujv9Eu16xq89q+BG7Nh5VLxxUgmtpnrePgFkTwXirCTkwJH1v+Yw== + dependencies: + keyvaluestorage-interface "^1.0.0" + tslib "1.14.1" + "@walletconnect/jsonrpc-types@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.2.tgz#b79519f679cd6a5fa4a1bea888f27c1916689a20" @@ -4142,6 +4161,15 @@ keyvaluestorage-interface "^1.0.0" tslib "1.14.1" +"@walletconnect/jsonrpc-utils@1.0.8", "@walletconnect/jsonrpc-utils@^1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.8.tgz#82d0cc6a5d6ff0ecc277cb35f71402c91ad48d72" + integrity sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw== + dependencies: + "@walletconnect/environment" "^1.0.1" + "@walletconnect/jsonrpc-types" "^1.0.3" + tslib "1.14.1" + "@walletconnect/jsonrpc-utils@^1.0.3", "@walletconnect/jsonrpc-utils@^1.0.6", "@walletconnect/jsonrpc-utils@^1.0.7": version "1.0.7" resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.7.tgz#1812d17c784f1ec0735bf03d0884287f60bfa2ce" @@ -4190,6 +4218,14 @@ resolved "https://registry.yarnpkg.com/@walletconnect/mobile-registry/-/mobile-registry-1.4.0.tgz#502cf8ab87330841d794819081e748ebdef7aee5" integrity sha512-ZtKRio4uCZ1JUF7LIdecmZt7FOLnX72RPSY7aUVu7mj7CSfxDwUn6gBuK6WGtH+NZCldBqDl5DenI5fFSvkKYw== +"@walletconnect/modal@2.4.3": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@walletconnect/modal/-/modal-2.4.3.tgz#e213f2129415a059763e1f3d51da3c90eb39498b" + integrity sha512-YcvkfBN7qBdZk0juUxnbPsyA9n0v15PK+7vL55u1v1mgMhPosvUU2dMIcPqlan+TgSPByo7moEBbHtCbYZpLVw== + dependencies: + "@web3modal/core" "2.4.3" + "@web3modal/ui" "2.4.3" + "@walletconnect/qrcode-modal@^1.7.1", "@walletconnect/qrcode-modal@^1.8.0": version "1.8.0" resolved "https://registry.yarnpkg.com/@walletconnect/qrcode-modal/-/qrcode-modal-1.8.0.tgz#ddd6f5c9b7ee52c16adf9aacec2a3eac4994caea" @@ -4244,19 +4280,19 @@ dependencies: tslib "1.14.1" -"@walletconnect/sign-client@2.7.4": - version "2.7.4" - resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.7.4.tgz#e07db5856f9e45945080a169bbd9cb6849576bac" - integrity sha512-hZoCB51GB4u32yxzYnxp8dpzXgo6E7ZWUVOgnihmoMPjgJahPtvB/Ip9jYxI3fuV+ZPQYNlxQgEvR9X+2fLz+g== +"@walletconnect/sign-client@2.8.0": + version "2.8.0" + resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.8.0.tgz#735dc8bf120242584fb2ff22c6a3d672c1fae1a1" + integrity sha512-+l9qwvVeUGk0fBQsgx6yb6hdGYt8uQ3a9jR9GgsJvm8FjFh1oUzTKqFnG7XdhCBnzFnbSoLr41Xe8PbN8qoUSw== dependencies: - "@walletconnect/core" "2.7.4" + "@walletconnect/core" "2.8.0" "@walletconnect/events" "^1.0.1" "@walletconnect/heartbeat" "1.2.1" - "@walletconnect/jsonrpc-utils" "^1.0.7" + "@walletconnect/jsonrpc-utils" "1.0.8" "@walletconnect/logger" "^2.0.1" "@walletconnect/time" "^1.0.2" - "@walletconnect/types" "2.7.4" - "@walletconnect/utils" "2.7.4" + "@walletconnect/types" "2.8.0" + "@walletconnect/utils" "2.8.0" events "^3.3.0" "@walletconnect/socket-transport@^1.8.0": @@ -4287,14 +4323,14 @@ "@walletconnect/logger" "^2.0.1" events "^3.3.0" -"@walletconnect/types@2.7.4": - version "2.7.4" - resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.7.4.tgz#958864e7ef497206a24db0ca629a478ca8e1cc08" - integrity sha512-Nagfz8DqLxf0UlVd7xopgBX60EJp1xUEq7J30ALlTbWqEhCHuLK/qPk5vGdJ9Q6+ZDpTW9ShLq1DNf+5nVpVDQ== +"@walletconnect/types@2.8.0": + version "2.8.0" + resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.8.0.tgz#f8a5f09ee2b31abed231966e7e1eebd22be058a2" + integrity sha512-FMeGK3lGXFDwcs5duoN74xL1aLrkgYqnavWE0DnFPt2i1QmSUITU9c8f88EDh8uPXANd2WIYOItm0DVCNxLGGA== dependencies: "@walletconnect/events" "^1.0.1" "@walletconnect/heartbeat" "1.2.1" - "@walletconnect/jsonrpc-types" "^1.0.2" + "@walletconnect/jsonrpc-types" "1.0.3" "@walletconnect/keyvaluestorage" "^1.0.2" "@walletconnect/logger" "^2.0.1" events "^3.3.0" @@ -4304,37 +4340,36 @@ resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-1.8.0.tgz#3f5e85b2d6b149337f727ab8a71b8471d8d9a195" integrity sha512-Cn+3I0V0vT9ghMuzh1KzZvCkiAxTq+1TR2eSqw5E5AVWfmCtECFkVZBP6uUJZ8YjwLqXheI+rnjqPy7sVM4Fyg== -"@walletconnect/universal-provider@2.7.4": - version "2.7.4" - resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.7.4.tgz#f21dcaf89c102bda79f13e92c45833f8f1196775" - integrity sha512-suH3o5LpTX7hlx5lU98oLdEM0Ws5ZysjQ4Zr6EWIK1DVT8EDdWbw49ggJSW9IYRLQ2xG22jDvmTIdFAexYOgng== +"@walletconnect/universal-provider@2.8.0": + version "2.8.0" + resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.8.0.tgz#134f6873742f672c2424969335f9cc75d1532d17" + integrity sha512-BMsGiINI3rT7DRyDJM7miuWG6vDVE0PV6zMcCXIMDYYPay7zFvJxv2VHEx9an4MutrvQR76NTRyG//i1K84VOQ== dependencies: - "@walletconnect/jsonrpc-http-connection" "^1.0.4" - "@walletconnect/jsonrpc-provider" "^1.0.11" + "@walletconnect/jsonrpc-http-connection" "^1.0.7" + "@walletconnect/jsonrpc-provider" "1.0.13" "@walletconnect/jsonrpc-types" "^1.0.2" "@walletconnect/jsonrpc-utils" "^1.0.7" "@walletconnect/logger" "^2.0.1" - "@walletconnect/sign-client" "2.7.4" - "@walletconnect/types" "2.7.4" - "@walletconnect/utils" "2.7.4" + "@walletconnect/sign-client" "2.8.0" + "@walletconnect/types" "2.8.0" + "@walletconnect/utils" "2.8.0" eip1193-provider "1.0.1" events "^3.3.0" -"@walletconnect/utils@2.7.4": - version "2.7.4" - resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.7.4.tgz#314a164aabb7551dae4ac58e63312c9ae6369e1e" - integrity sha512-2WEeKB9h/FQvyNmIBYwLtjdLm3Oo55EwtJoxkC00SA7xjf8jYxZ8q2y4P/CJP8oO5ruxBK5Ft0smKvPHXsE58Q== +"@walletconnect/utils@2.8.0": + version "2.8.0" + resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.8.0.tgz#c219e78fd2c35062cf3e37f84961afde8da9b9a1" + integrity sha512-Q8OwMtUevIn1+64LXyTMLlhH58k3UOAjU5b3smYZ7CEEmwEGpOTfTDAWrB3v+ZDIhjyqP94+8fuvKIbcVLKLWA== dependencies: "@stablelib/chacha20poly1305" "1.0.1" "@stablelib/hkdf" "1.0.1" "@stablelib/random" "^1.0.2" "@stablelib/sha256" "1.0.1" "@stablelib/x25519" "^1.0.3" - "@walletconnect/jsonrpc-utils" "^1.0.7" "@walletconnect/relay-api" "^1.0.9" "@walletconnect/safe-json" "^1.0.2" "@walletconnect/time" "^1.0.2" - "@walletconnect/types" "2.7.4" + "@walletconnect/types" "2.8.0" "@walletconnect/window-getters" "^1.0.1" "@walletconnect/window-metadata" "^1.0.1" detect-browser "5.3.0" @@ -4402,6 +4437,14 @@ "@walletconnect/window-getters" "^1.0.1" tslib "1.14.1" +"@web3-onboard/blocto@^2.0.0": + version "2.0.0-alpha.1" + resolved "https://registry.yarnpkg.com/@web3-onboard/blocto/-/blocto-2.0.0-alpha.1.tgz#8781646d98520b80be090c622e218b9dfea12221" + integrity sha512-YBhsjkVdL6Z/SXoQeFNt5Rjj1WxlXg1oKOBOZOqfioPuMwmi8RJOLcLi7evhVUdGs5T8sYCBWg+eDeA/K6XK7w== + dependencies: + "@blocto/sdk" "^0.4.6" + "@web3-onboard/common" "^2.3.1" + "@web3-onboard/cede-store@^2.0.2": version "2.0.2" resolved "https://registry.yarnpkg.com/@web3-onboard/cede-store/-/cede-store-2.0.2.tgz#6f8c9a62afbbb5a51affaa8076594125206f0c9e" @@ -4427,10 +4470,10 @@ ethers "5.5.4" joi "17.9.1" -"@web3-onboard/core@^2.20.0-alpha.1": - version "2.20.0-alpha.1" - resolved "https://registry.yarnpkg.com/@web3-onboard/core/-/core-2.20.0-alpha.1.tgz#0cf6e0ba91b46dfd0b7d654e9269436c3b8fbed8" - integrity sha512-yxSp582hvQ2vXgb43Rq99paLt39zUaSDiXijsTsuh3fjt/1fsOFjPOQIP/yc40y7tLmMxGwCp8eaTUQm9Au/Iw== +"@web3-onboard/core@^2.20.2-alpha.1": + version "2.20.2-alpha.1" + resolved "https://registry.yarnpkg.com/@web3-onboard/core/-/core-2.20.2-alpha.1.tgz#da3618634c430ef6468e27067fc21244dac026db" + integrity sha512-9zLzGG2F9KxOBe/KTE7hGPON/kbjn2e8rDVAzP79rzn+AwO5kvPcLapBgJRbh2FlbKx2werotGTUtZNKRaFMPA== dependencies: "@web3-onboard/common" "^2.3.3" bignumber.js "^9.0.0" @@ -4523,10 +4566,10 @@ dependencies: "@infinitywallet/infinity-connector" "^1.0.6" -"@web3-onboard/injected-wallets@^2.9.0": - version "2.9.0" - resolved "https://registry.yarnpkg.com/@web3-onboard/injected-wallets/-/injected-wallets-2.9.0.tgz#e074dbc48516edf82f235c09fa936b18be19e533" - integrity sha512-GrbbodUVqguBxf9YDz+DlIGYJ2wSBdwj8/2C4QMMcCbnx5NtSlamSXiRQngTMn7AIm4fnSHOwdyAeEi8Q/k2fg== +"@web3-onboard/injected-wallets@^2.10.1-alpha.1": + version "2.10.1-alpha.1" + resolved "https://registry.yarnpkg.com/@web3-onboard/injected-wallets/-/injected-wallets-2.10.1-alpha.1.tgz#2f459f3dba4ecf3eca8131bd335cffcfcf9273fc" + integrity sha512-IeDWc5VvdkypktGa40Np1hvHCmDE+BCHc+r/TpUAhn2dg/XOQQfr1v6aI8PnST546ulEzE2PwFSXUZtsosLLGQ== dependencies: "@web3-onboard/common" "^2.3.3" joi "17.9.1" @@ -4672,25 +4715,25 @@ joi "17.9.1" rxjs "^7.5.2" -"@web3-onboard/venly@^2.0.0-alpha.1": - version "2.0.0-alpha.1" - resolved "https://registry.yarnpkg.com/@web3-onboard/venly/-/venly-2.0.0-alpha.1.tgz#b3a2c950909e2ca6a2b52fdec63356d9497a37da" - integrity sha512-RAQ2BaJL8PU4Xmyz6prlVaHHc+IwPy1PUmAAHx4v2LnAz1vQWUR7Hz+6Pag75vz07fGKi4fBAsxgNPmdDjMNTQ== +"@web3-onboard/venly@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@web3-onboard/venly/-/venly-2.0.0.tgz#99a72e6de95a962e684cc3ab681fd3fe95e17d53" + integrity sha512-OA9U4J3HMoSiByoR+NzUllp+tfh3O1wHOJRPB5hSsb8hOAWgrd3Dv6Fys36HpqWe9VkMIAMAbWT8/ufEbQ7ciw== dependencies: "@venly/web3-provider" "^3.1.1" "@web3-onboard/common" "^2.3.1" -"@web3-onboard/walletconnect@^2.3.8": - version "2.3.8" - resolved "https://registry.yarnpkg.com/@web3-onboard/walletconnect/-/walletconnect-2.3.8.tgz#2c57e7fb57f6105736bcc94cfe85712133352b97" - integrity sha512-u/4utKyjp/v2qcM6WVpLervqMIUn2SIpw5Lgf/7Qo6EvpCLfaqBz1KqZZf9hPQaoROFSLi0D2FqC98NcD5S1tQ== +"@web3-onboard/walletconnect@^2.3.9": + version "2.3.9" + resolved "https://registry.yarnpkg.com/@web3-onboard/walletconnect/-/walletconnect-2.3.9.tgz#a569db39db61c927fee70744c5fcf015dad47042" + integrity sha512-0n1UesJLNNU33j/I0X4QHVL8AhFb6Oyo/ZU3EEYeDBev2Cis1A6Bvl38BfmeBBMdBOZBxeTOC2kNeRjvvvpzhA== dependencies: "@ethersproject/providers" "5.5.0" "@walletconnect/client" "^1.8.0" - "@walletconnect/ethereum-provider" "2.7.4" + "@walletconnect/ethereum-provider" "2.8.0" + "@walletconnect/modal" "2.4.3" "@walletconnect/qrcode-modal" "^1.8.0" "@web3-onboard/common" "^2.3.3" - "@web3modal/standalone" "2.4.1" rxjs "^7.5.2" "@web3-onboard/web3auth@^2.2.3": @@ -4919,30 +4962,22 @@ "@web3auth/base-evm-adapter" "^5.2.0" "@web3auth/ethereum-provider" "^5.2.0" -"@web3modal/core@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@web3modal/core/-/core-2.4.1.tgz#9b0a60aa88ef8518de7a30bab1278b2c9f046012" - integrity sha512-v6Y/eQJSI2YfUTv8rGqjFabqdk3ZPjx6Fe7j5Q8fw0ZWF1YRGM3mySG457qtKQ7D7E1kNKA3BHbaOZ3pgQoG6A== +"@web3modal/core@2.4.3": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@web3modal/core/-/core-2.4.3.tgz#ea6d3911e52a132c70defb7584f869d09a8af974" + integrity sha512-7Z/sDe9RIYQ2k9ITcxgEa/u7FvlI76vcVVZn9UY4ISivefqrH4JAS3GX4JmVNUUlovwuiZdyqBv4llAQOMK6Rg== dependencies: buffer "6.0.3" valtio "1.10.5" -"@web3modal/standalone@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@web3modal/standalone/-/standalone-2.4.1.tgz#e10330583ce7b550ba676e4c595ac8ea8715bcdb" - integrity sha512-ZrI5LwWeT9sd8A3FdIX/gBp3ZrzrX882Ln1vJN0LTCmeP2OUsYcW5bPxjv1PcJ1YUBY7Tg4aTgMUnAVTTuqb+w== - dependencies: - "@web3modal/core" "2.4.1" - "@web3modal/ui" "2.4.1" - -"@web3modal/ui@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@web3modal/ui/-/ui-2.4.1.tgz#c1c5a8bf4cd749febd15411ec710b22215e66e56" - integrity sha512-x1ceyd3mMJsIHs5UUTLvE+6qyCjhyjL6gB/wVmTDbwASHSQIVyshQJ+s7BwIEMP/pbAsYDg+/M8EiUuE+/E/kg== +"@web3modal/ui@2.4.3": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@web3modal/ui/-/ui-2.4.3.tgz#986c6bed528dccab679c734ff531e42f6605c5b2" + integrity sha512-J989p8CdtEhI9gZHf/rZ/WFqYlrAHWw9GmAhFoiNODwjAp0BoG/uoaPiijJMchXdngihZOjLGCQwDXU16DHiKg== dependencies: - "@web3modal/core" "2.4.1" - lit "2.7.4" - motion "10.15.5" + "@web3modal/core" "2.4.3" + lit "2.7.5" + motion "10.16.2" qrcode "1.5.3" JSONStream@^1.3.5: @@ -6702,7 +6737,7 @@ eip-712@^1.0.0: "@noble/hashes" "^1.0.0" superstruct "^0.15.3" -eip1193-provider@1.0.1: +eip1193-provider@1.0.1, eip1193-provider@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/eip1193-provider/-/eip1193-provider-1.0.1.tgz#420d29cf4f6c443e3f32e718fb16fafb250637c3" integrity sha512-kSuqwQ26d7CzuS/t3yRXo2Su2cVH0QfvyKbr2H7Be7O5YDyIq4hQGCNTo5wRdP07bt+E2R/8nPCzey4ojBHf7g== @@ -9052,10 +9087,10 @@ lit-html@^2.7.0: dependencies: "@types/trusted-types" "^2.0.2" -lit@2.7.4: - version "2.7.4" - resolved "https://registry.yarnpkg.com/lit/-/lit-2.7.4.tgz#ca63d27fda178dbffae0faf2c882b9910e40842c" - integrity sha512-cgD7xrZoYr21mbrkZIuIrj98YTMw/snJPg52deWVV4A8icLyNHI3bF70xsJeAgwTuiq5Kkd+ZR8gybSJDCPB7g== +lit@2.7.5: + version "2.7.5" + resolved "https://registry.yarnpkg.com/lit/-/lit-2.7.5.tgz#60bc82990cfad169d42cd786999356dcf79b035f" + integrity sha512-i/cH7Ye6nBDUASMnfwcictBnsTN91+aBjXoTHF2xARghXScKxpD4F4WYI+VLXg9lqbMinDfvoI7VnZXjyHgdfQ== dependencies: "@lit/reactive-element" "^1.6.0" lit-element "^3.3.0" @@ -9753,17 +9788,17 @@ mkdirp@^0.5.1: dependencies: minimist "^1.2.6" -motion@10.15.5: - version "10.15.5" - resolved "https://registry.yarnpkg.com/motion/-/motion-10.15.5.tgz#d336ddbdd37bc28bb99fbb243fe309df6c685ad6" - integrity sha512-ejP6KioN4pigTGxL93APzOnvtLklParL59UQB2T3HWXQBxFcIp5/7YXFmkgiA6pNKKzjvnLhnonRBN5iSFMnNw== +motion@10.16.2: + version "10.16.2" + resolved "https://registry.yarnpkg.com/motion/-/motion-10.16.2.tgz#7dc173c6ad62210a7e9916caeeaf22c51e598d21" + integrity sha512-p+PurYqfUdcJZvtnmAqu5fJgV2kR0uLFQuBKtLeFVTrYEVllI99tiOTSefVNYuip9ELTEkepIIDftNdze76NAQ== dependencies: "@motionone/animation" "^10.15.1" - "@motionone/dom" "^10.15.5" - "@motionone/svelte" "^10.15.5" + "@motionone/dom" "^10.16.2" + "@motionone/svelte" "^10.16.2" "@motionone/types" "^10.15.1" "@motionone/utils" "^10.15.1" - "@motionone/vue" "^10.15.5" + "@motionone/vue" "^10.16.2" mri@^1.1.0: version "1.2.0" diff --git a/package.json b/package.json index eee28ef41..09ff3f5dd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "web3-onboard-monorepo", - "version": "2.23.2", + "version": "2.24.1", "private": true, "workspaces": { "packages": [ diff --git a/packages/blocto/README.md b/packages/blocto/README.md new file mode 100644 index 000000000..2946b2538 --- /dev/null +++ b/packages/blocto/README.md @@ -0,0 +1,80 @@ +# @web3-onboard/blocto + +## Wallet module for connecting Blocto SDK to web3-onboard + +See [Blocto Developer Docs](https://docs.blocto.app/blocto-sdk/javascript-sdk/evm-sdk) + +### Install + +`npm i @web3-onboard/blocto` + +## Usage + +```typescript +import Onboard from '@web3-onboard/core' +import bloctoModule from '@web3-onboard/blocto' + +// initialize the module with options +const blocto = bloctoModule() + +const onboard = Onboard({ + // ... other Onboard options + wallets: [ + blocto + //... other wallets + ] +}) + +const connectedWallets = await onboard.connectWallet() +console.log(connectedWallets) +``` + +## Build Environments + +For build env configurations and setups please see the Build Env section [here](https://onboard.blocknative.com/docs/modules/core#build-environments) + +### Webpack 4 + +Node built-ins are automatically bundled in v4 so that portion is handled automatically. + +**Blocto** support will require a Babel to compile from es6 if not already supported. See config for Babel and Webpack4 as follows + +`npm i --save-dev @babel/cli @babel/core @babel/node @babel/plugin-proposal-nullish-coalescing-operator @babel/plugin-proposal-optional-chaining @babel/plugin-syntax-bigint @babel/register` + +**AND** + +`npm i babel-loader` + +**babel.config.js** + +```javascript +module.exports = api => { + api.cache(true) + + const plugins = [ + '@babel/plugin-proposal-optional-chaining', + + '@babel/plugin-proposal-nullish-coalescing-operator', + + '@babel/plugin-syntax-bigint' + ] + + return { plugins } +} +``` + +**webpack.config.js** + +```javascript +config.module.rules = [ + ...otherModuleRules, + + { + test: /\.js$/, + + exclude: _ => !/node_modules\/(@web3auth|@ethereumjs)/.test(_), + + loader: 'babel-loader' + } +] +``` diff --git a/packages/blocto/package.json b/packages/blocto/package.json new file mode 100644 index 000000000..af6137bfb --- /dev/null +++ b/packages/blocto/package.json @@ -0,0 +1,71 @@ +{ + "name": "@web3-onboard/blocto", + "version": "2.0.0", + "description": "Blocto SDK wallet module for connecting 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", + "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", + "Tally Ho", + "Blocto" + ], + "repository": { + "type": "git", + "url": "https://github.com/blocknative/web3-onboard.git", + "directory": "packages/core" + }, + "homepage": "https://onboard.blocknative.com", + "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": { + "@ethersproject/providers": "^5.5.0", + "@types/lodash.uniqby": "^4.7.6", + "@types/node": "^17.0.21", + "ts-node": "^10.2.1", + "typescript": "^4.5.5", + "window": "^4.2.7" + }, + "dependencies": { + "@web3-onboard/common": "^2.3.1", + "@blocto/sdk": "^0.4.6" + } +} diff --git a/packages/blocto/src/icon.ts b/packages/blocto/src/icon.ts new file mode 100644 index 000000000..b4dc051c1 --- /dev/null +++ b/packages/blocto/src/icon.ts @@ -0,0 +1,14 @@ +export default ` + + + + + + + + + + + + +` diff --git a/packages/blocto/src/index.ts b/packages/blocto/src/index.ts new file mode 100644 index 000000000..c61ae474d --- /dev/null +++ b/packages/blocto/src/index.ts @@ -0,0 +1,86 @@ +import type { WalletInit } from '@web3-onboard/common' + +function BloctoWallet(): WalletInit { + if (typeof window === 'undefined') return () => null + return () => { + return { + label: 'Blocto', + getIcon: async () => (await import('./icon.js')).default, + getInterface: async ({ chains }) => { + const { default: BloctoSDK } = await import('@blocto/sdk') + + const { createEIP1193Provider } = await import('@web3-onboard/common') + + const [defaultChain] = chains + + const instance = new BloctoSDK({ + ethereum: { + chainId: defaultChain.id, + rpc: defaultChain.rpcUrl + } + }) + const bloctoProvider: any = instance.ethereum + + const provider = createEIP1193Provider(bloctoProvider, { + eth_selectAccounts: null, + wallet_switchEthereumChain: async ({ params, baseRequest }) => { + const chain = chains.find(function (item) { + return item.id === (params && params[0] && params[0].chainId) + }) + if (!chain) throw new Error('chain must be set before switching') + const providerRpcurl = + bloctoProvider.switchableNetwork[chain.id] && + bloctoProvider.switchableNetwork[chain.id].rpc_url + const chainUrl = chain.rpcUrl + if (providerRpcurl !== chainUrl) { + await baseRequest({ + method: 'wallet_addEthereumChain', + params: [ + { + chainId: chain.id, + rpcUrls: [chainUrl] + } + ] + }) + } + await baseRequest({ + method: 'wallet_switchEthereumChain', + params: [{ chainId: chain.id }] + }) + return null + }, + eth_chainId: async ({ baseRequest }) => { + const chainId = await baseRequest({ method: 'eth_chainId' }) + return `0x${parseInt(chainId).toString(16)}` + } + }) + + provider.disconnect = () => + instance.ethereum + ? instance.ethereum.request({ method: 'wallet_disconnect' }) + : null + // patch the chainChanged event + const on = bloctoProvider.on.bind(bloctoProvider) + bloctoProvider.on = ( + event: string, + listener: (arg0: string) => void + ) => { + on(event, (val: any) => { + if (event === 'chainChanged') { + listener(`0x${(val as number).toString(16)}`) + return + } + listener(val) + }) + return bloctoProvider + } + return { + provider, + instance + } + } + } + } +} + +export default BloctoWallet diff --git a/packages/blocto/tsconfig.json b/packages/blocto/tsconfig.json new file mode 100644 index 000000000..53a27ffad --- /dev/null +++ b/packages/blocto/tsconfig.json @@ -0,0 +1,16 @@ +{ + "extends": "../../tsconfig.json", + "include": ["src/**/*"], + + "compilerOptions": { + "outDir": "dist", + "rootDir": "src", + "declaration": true, + "declarationDir": "dist", + "allowSyntheticDefaultImports": true, + "paths": { + "*": ["./src/*", "./node_modules/*"] + }, + "typeRoots": ["node_modules/@types"] + } + } \ No newline at end of file diff --git a/packages/core/package.json b/packages/core/package.json index 9fd774b47..9bf6c3e1b 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/core", - "version": "2.20.1", + "version": "2.20.2", "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", diff --git a/packages/core/src/validation.ts b/packages/core/src/validation.ts index b9c092ed3..19b35bc09 100644 --- a/packages/core/src/validation.ts +++ b/packages/core/src/validation.ts @@ -247,7 +247,6 @@ const connectOptions = Joi.object({ }), Joi.string() ) - .required() }) const disconnectOptions = Joi.object({ diff --git a/packages/core/src/views/connect/Index.svelte b/packages/core/src/views/connect/Index.svelte index 31e776da9..e085b514c 100644 --- a/packages/core/src/views/connect/Index.svelte +++ b/packages/core/src/views/connect/Index.svelte @@ -57,7 +57,7 @@ export let autoSelect: ConnectOptions['autoSelect'] - const { appMetadata, unstoppableResolution } = configuration + const { appMetadata, unstoppableResolution, device } = configuration const { icon } = appMetadata || {} const { walletModules, connect } = state.get() @@ -414,6 +414,11 @@ function scrollToTop() { scrollContainer && scrollContainer.scrollTo(0, 0) } + + const isSafariMobile = + device.type === 'mobile' && + device.browser.name && + device.browser.name === 'Safari'