From 29bae09f8d755c0679914e21c2cd20576d85941b Mon Sep 17 00:00:00 2001 From: sanyu1225 Date: Mon, 11 Mar 2024 17:02:30 +0800 Subject: [PATCH 1/7] feat: update blocto sdk version --- packages/blocto/package.json | 2 +- packages/blocto/src/index.ts | 33 ++++++++++++++++----------------- yarn.lock | 9 ++++----- 3 files changed, 21 insertions(+), 23 deletions(-) diff --git a/packages/blocto/package.json b/packages/blocto/package.json index af6137bfb..e2c389434 100644 --- a/packages/blocto/package.json +++ b/packages/blocto/package.json @@ -66,6 +66,6 @@ }, "dependencies": { "@web3-onboard/common": "^2.3.1", - "@blocto/sdk": "^0.4.6" + "@blocto/sdk": "^0.9.1" } } diff --git a/packages/blocto/src/index.ts b/packages/blocto/src/index.ts index c61ae474d..cd587f8b9 100644 --- a/packages/blocto/src/index.ts +++ b/packages/blocto/src/index.ts @@ -28,26 +28,24 @@ function BloctoWallet(): WalletInit { 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 providerRpcurl = bloctoProvider.rpc && bloctoProvider.rpc; const chainUrl = chain.rpcUrl - if (providerRpcurl !== chainUrl) { + if (providerRpcurl !== chainUrl) { + await baseRequest({ + method: 'wallet_addEthereumChain', + params: [ + { + chainId: chain.id, + rpcUrls: [chainUrl] + } + ] + }) + } await baseRequest({ - method: 'wallet_addEthereumChain', - params: [ - { - chainId: chain.id, - rpcUrls: [chainUrl] - } - ] + method: 'wallet_switchEthereumChain', + params: [{ chainId: chain.id }] }) - } - await baseRequest({ - method: 'wallet_switchEthereumChain', - params: [{ chainId: chain.id }] - }) - return null + return null }, eth_chainId: async ({ baseRequest }) => { const chainId = await baseRequest({ method: 'eth_chainId' }) @@ -67,6 +65,7 @@ function BloctoWallet(): WalletInit { ) => { on(event, (val: any) => { if (event === 'chainChanged') { + console.log('has chainChanged') listener(`0x${(val as number).toString(16)}`) return } diff --git a/yarn.lock b/yarn.lock index 7fde3be06..71b785cde 100644 --- a/yarn.lock +++ b/yarn.lock @@ -649,12 +649,11 @@ safe-buffer "^5.1.2" web3 "^1.3.1" -"@blocto/sdk@^0.4.6": - version "0.4.9" - resolved "https://registry.yarnpkg.com/@blocto/sdk/-/sdk-0.4.9.tgz#646cfea7737d8e5bb4c57885c0bb26d132185826" - integrity sha512-fscOaN4oux/7ySaNCQtltKLIefcZ7J85TpW/LKgAqfbEniBQ3z6SYxkG8ud6SPJs/camfljr+5hRdvcjTZCgGw== +"@blocto/sdk@^0.9.1": + version "0.9.1" + resolved "https://registry.yarnpkg.com/@blocto/sdk/-/sdk-0.9.1.tgz#86eb3f972f6bdd78a1c929e271c652f8ec5e1bd0" + integrity sha512-JPBKDUrgTrTc9PaCj1iNleMy68V6DARa93sJa6OBvxkFCtYNxGn+sNCOZqhCU/3YjQ6z75/Mls2oF4kQe/04cw== dependencies: - bs58 "^5.0.0" buffer "^6.0.3" eip1193-provider "^1.0.1" js-sha3 "^0.8.0" From 17179a326c9051e2764a32f0cf6e504d9547f513 Mon Sep 17 00:00:00 2001 From: sanyu1225 Date: Mon, 11 Mar 2024 17:55:23 +0800 Subject: [PATCH 2/7] feat: update blocto version --- packages/blocto/src/index.ts | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/packages/blocto/src/index.ts b/packages/blocto/src/index.ts index cd587f8b9..c8266a074 100644 --- a/packages/blocto/src/index.ts +++ b/packages/blocto/src/index.ts @@ -28,24 +28,24 @@ function BloctoWallet(): WalletInit { return item.id === (params && params[0] && params[0].chainId) }) if (!chain) throw new Error('chain must be set before switching') - const providerRpcurl = bloctoProvider.rpc && bloctoProvider.rpc; + const providerRpcurl = bloctoProvider.rpc && bloctoProvider.rpc const chainUrl = chain.rpcUrl - if (providerRpcurl !== chainUrl) { - await baseRequest({ - method: 'wallet_addEthereumChain', - params: [ - { - chainId: chain.id, - rpcUrls: [chainUrl] - } - ] - }) - } + if (providerRpcurl !== chainUrl) { await baseRequest({ - method: 'wallet_switchEthereumChain', - params: [{ chainId: chain.id }] + method: 'wallet_addEthereumChain', + params: [ + { + chainId: chain.id, + rpcUrls: [chainUrl] + } + ] }) - return null + } + await baseRequest({ + method: 'wallet_switchEthereumChain', + params: [{ chainId: chain.id }] + }) + return null }, eth_chainId: async ({ baseRequest }) => { const chainId = await baseRequest({ method: 'eth_chainId' }) @@ -65,8 +65,7 @@ function BloctoWallet(): WalletInit { ) => { on(event, (val: any) => { if (event === 'chainChanged') { - console.log('has chainChanged') - listener(`0x${(val as number).toString(16)}`) + listener(val) return } listener(val) From c644b699a4af647a734387579d0fb07dacd99e25 Mon Sep 17 00:00:00 2001 From: sanyu1225 Date: Mon, 11 Mar 2024 17:57:39 +0800 Subject: [PATCH 3/7] feat: update demo polygon testnet rpcUrl --- packages/demo/src/App.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/demo/src/App.svelte b/packages/demo/src/App.svelte index 221d14817..875426611 100644 --- a/packages/demo/src/App.svelte +++ b/packages/demo/src/App.svelte @@ -307,7 +307,7 @@ id: '0x13881', token: 'MATIC', label: 'Polygon - Mumbai', - rpcUrl: 'https://matic-mumbai.chainstacklabs.com ' + rpcUrl: 'https://polygon-mumbai-bor-rpc.publicnode.com' }, { id: '0x2105', From e574d4b47e7ef18c84370b03a4a342f4d39bc120 Mon Sep 17 00:00:00 2001 From: sanyu1225 Date: Mon, 11 Mar 2024 18:05:20 +0800 Subject: [PATCH 4/7] feat: update package version --- packages/core/package.json | 2 +- packages/demo/package.json | 2 +- packages/react/package.json | 2 +- packages/solid/package.json | 2 +- packages/vue/package.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/core/package.json b/packages/core/package.json index dbc892188..81015cfc0 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/core", - "version": "2.21.3-alpha.1", + "version": "2.21.3-alpha.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/demo/package.json b/packages/demo/package.json index 90ab86989..cc7845a05 100644 --- a/packages/demo/package.json +++ b/packages/demo/package.json @@ -33,7 +33,7 @@ "@web3-onboard/capsule": "2.0.1", "@web3-onboard/cede-store": "^2.2.0", "@web3-onboard/coinbase": "^2.2.6", - "@web3-onboard/core": "^2.21.3-alpha.1", + "@web3-onboard/core": "^2.21.3-alpha.2", "@web3-onboard/dcent": "^2.2.7", "@web3-onboard/enkrypt": "^2.0.3", "@web3-onboard/fortmatic": "^2.0.18", diff --git a/packages/react/package.json b/packages/react/package.json index fc4677b32..dc7089af3 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -62,7 +62,7 @@ }, "dependencies": { "@web3-onboard/common": "^2.3.3", - "@web3-onboard/core": "^2.21.3-alpha.1", + "@web3-onboard/core": "^2.21.3-alpha.2", "use-sync-external-store": "1.0.0" }, "peerDependencies": { diff --git a/packages/solid/package.json b/packages/solid/package.json index 9eb514d26..a367acb2d 100644 --- a/packages/solid/package.json +++ b/packages/solid/package.json @@ -63,7 +63,7 @@ }, "dependencies": { "@web3-onboard/common": "^2.3.3", - "@web3-onboard/core": "^2.21.3-alpha.1", + "@web3-onboard/core": "^2.21.3-alpha.2", "solid-js": "^1.8.1" } } diff --git a/packages/vue/package.json b/packages/vue/package.json index 882e636bd..bfc339242 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -62,7 +62,7 @@ "@vueuse/core": "^8.4.2", "@vueuse/rxjs": "^8.2.0", "@web3-onboard/common": "^2.3.3", - "@web3-onboard/core": "^2.21.3-alpha.1", + "@web3-onboard/core": "^2.21.3-alpha.2", "vue-demi": "^0.12.4" }, "peerDependencies": { From a065226661afe3a67d91c13193171ba249611675 Mon Sep 17 00:00:00 2001 From: sanyu1225 Date: Mon, 11 Mar 2024 23:51:02 +0800 Subject: [PATCH 5/7] fix: update package version --- packages/blocto/package.json | 2 +- packages/blocto/src/index.ts | 4 +++- packages/core/package.json | 2 +- packages/demo/package.json | 4 ++-- packages/react/package.json | 2 +- packages/solid/package.json | 2 +- packages/vue/package.json | 2 +- 7 files changed, 10 insertions(+), 8 deletions(-) diff --git a/packages/blocto/package.json b/packages/blocto/package.json index e2c389434..bf789fc1b 100644 --- a/packages/blocto/package.json +++ b/packages/blocto/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/blocto", - "version": "2.0.0", + "version": "2.0.1-alpha.1", "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", diff --git a/packages/blocto/src/index.ts b/packages/blocto/src/index.ts index c8266a074..59225fd0e 100644 --- a/packages/blocto/src/index.ts +++ b/packages/blocto/src/index.ts @@ -28,7 +28,9 @@ function BloctoWallet(): WalletInit { return item.id === (params && params[0] && params[0].chainId) }) if (!chain) throw new Error('chain must be set before switching') - const providerRpcurl = bloctoProvider.rpc && bloctoProvider.rpc + const providerRpcurl = bloctoProvider.rpc + ? bloctoProvider.rpc + : undefined const chainUrl = chain.rpcUrl if (providerRpcurl !== chainUrl) { await baseRequest({ diff --git a/packages/core/package.json b/packages/core/package.json index 81015cfc0..dbc892188 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/core", - "version": "2.21.3-alpha.2", + "version": "2.21.3-alpha.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", diff --git a/packages/demo/package.json b/packages/demo/package.json index cc7845a05..4f88284ee 100644 --- a/packages/demo/package.json +++ b/packages/demo/package.json @@ -29,11 +29,11 @@ "@safe-global/safe-apps-sdk": "^8.1.0", "@web3-onboard/arcana-auth": "^2.0.0", "@web3-onboard/bitget": "2.0.1", - "@web3-onboard/blocto": "2.0.0", + "@web3-onboard/blocto": "^2.0.1-alpha.1", "@web3-onboard/capsule": "2.0.1", "@web3-onboard/cede-store": "^2.2.0", "@web3-onboard/coinbase": "^2.2.6", - "@web3-onboard/core": "^2.21.3-alpha.2", + "@web3-onboard/core": "^2.21.3-alpha.1", "@web3-onboard/dcent": "^2.2.7", "@web3-onboard/enkrypt": "^2.0.3", "@web3-onboard/fortmatic": "^2.0.18", diff --git a/packages/react/package.json b/packages/react/package.json index dc7089af3..fc4677b32 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -62,7 +62,7 @@ }, "dependencies": { "@web3-onboard/common": "^2.3.3", - "@web3-onboard/core": "^2.21.3-alpha.2", + "@web3-onboard/core": "^2.21.3-alpha.1", "use-sync-external-store": "1.0.0" }, "peerDependencies": { diff --git a/packages/solid/package.json b/packages/solid/package.json index a367acb2d..9eb514d26 100644 --- a/packages/solid/package.json +++ b/packages/solid/package.json @@ -63,7 +63,7 @@ }, "dependencies": { "@web3-onboard/common": "^2.3.3", - "@web3-onboard/core": "^2.21.3-alpha.2", + "@web3-onboard/core": "^2.21.3-alpha.1", "solid-js": "^1.8.1" } } diff --git a/packages/vue/package.json b/packages/vue/package.json index bfc339242..882e636bd 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -62,7 +62,7 @@ "@vueuse/core": "^8.4.2", "@vueuse/rxjs": "^8.2.0", "@web3-onboard/common": "^2.3.3", - "@web3-onboard/core": "^2.21.3-alpha.2", + "@web3-onboard/core": "^2.21.3-alpha.1", "vue-demi": "^0.12.4" }, "peerDependencies": { From fa5edc67f6cc3a7ac1290545e2c23889ceb30572 Mon Sep 17 00:00:00 2001 From: sanyu1225 Date: Mon, 11 Mar 2024 23:54:26 +0800 Subject: [PATCH 6/7] fix: use optional chaining --- packages/blocto/src/index.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/blocto/src/index.ts b/packages/blocto/src/index.ts index 59225fd0e..ce8b964a4 100644 --- a/packages/blocto/src/index.ts +++ b/packages/blocto/src/index.ts @@ -28,9 +28,7 @@ function BloctoWallet(): WalletInit { return item.id === (params && params[0] && params[0].chainId) }) if (!chain) throw new Error('chain must be set before switching') - const providerRpcurl = bloctoProvider.rpc - ? bloctoProvider.rpc - : undefined + const providerRpcurl = bloctoProvider?.rpc const chainUrl = chain.rpcUrl if (providerRpcurl !== chainUrl) { await baseRequest({ From aedd7d5b00b95d7dcf6d5f18c66179f53133a4ca Mon Sep 17 00:00:00 2001 From: sanyu1225 Date: Mon, 11 Mar 2024 23:55:57 +0800 Subject: [PATCH 7/7] fix: uppercase variable name --- packages/blocto/src/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/blocto/src/index.ts b/packages/blocto/src/index.ts index ce8b964a4..a0efc972f 100644 --- a/packages/blocto/src/index.ts +++ b/packages/blocto/src/index.ts @@ -28,9 +28,9 @@ function BloctoWallet(): WalletInit { return item.id === (params && params[0] && params[0].chainId) }) if (!chain) throw new Error('chain must be set before switching') - const providerRpcurl = bloctoProvider?.rpc + const providerRpcUrl = bloctoProvider?.rpc const chainUrl = chain.rpcUrl - if (providerRpcurl !== chainUrl) { + if (providerRpcUrl !== chainUrl) { await baseRequest({ method: 'wallet_addEthereumChain', params: [