From 5b8be35d33534db3df888faf23d91dd408cdde92 Mon Sep 17 00:00:00 2001 From: katspaugh <381895+katspaugh@users.noreply.github.com> Date: Sun, 12 Jun 2022 10:04:17 +0200 Subject: [PATCH 1/3] Feat: add publicRpcUrl and blockExplorerUrl to the Chain type for adding a chain to wallet --- packages/common/package.json | 2 +- packages/common/src/types.ts | 2 ++ packages/core/package.json | 4 ++-- packages/core/src/provider.ts | 3 ++- packages/core/src/validation.ts | 14 +++++++++----- 5 files changed, 16 insertions(+), 9 deletions(-) diff --git a/packages/common/package.json b/packages/common/package.json index 08c6e322a..d92fdbaec 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/common", - "version": "2.1.1-alpha.1", + "version": "2.1.1-alpha.2", "scripts": { "build": "rollup -c", "dev": "rollup -c -w", diff --git a/packages/common/src/types.ts b/packages/common/src/types.ts index b93475114..ed14165f2 100644 --- a/packages/common/src/types.ts +++ b/packages/common/src/types.ts @@ -430,6 +430,8 @@ export interface Chain { color?: string icon?: string // svg string providerConnectionInfo?: ConnectionInfo + publicRpcUrl?: string + blockExplorerUrl?: string } export type TokenSymbol = string // eg ETH diff --git a/packages/core/package.json b/packages/core/package.json index cc276bcdd..519769eac 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/core", - "version": "2.2.12-alpha.1", + "version": "2.2.12-alpha.2", "scripts": { "build": "rollup -c", "dev": "rollup -c -w", @@ -41,7 +41,7 @@ "typescript": "^4.5.5" }, "dependencies": { - "@web3-onboard/common": "^2.1.1-alpha.1", + "@web3-onboard/common": "^2.1.1-alpha.2", "bowser": "^2.11.0", "ethers": "5.5.3", "eventemitter3": "^4.0.7", diff --git a/packages/core/src/provider.ts b/packages/core/src/provider.ts index afd461008..42a593d04 100644 --- a/packages/core/src/provider.ts +++ b/packages/core/src/provider.ts @@ -324,7 +324,8 @@ export function addNewChain( symbol: chain.token, decimals: 18 }, - rpcUrls: [chain.rpcUrl] + rpcUrls: [chain.publicRpcUrl || chain.rpcUrl], + blockExplorerUrls: chain.blockExplorerUrl ? [chain.blockExplorerUrl] : undefined } ] }) diff --git a/packages/core/src/validation.ts b/packages/core/src/validation.ts index 35813523d..490da5176 100644 --- a/packages/core/src/validation.ts +++ b/packages/core/src/validation.ts @@ -1,5 +1,5 @@ -import Joi from 'joi' -import type { ChainId, WalletInit, WalletModule } from '@web3-onboard/common' +import Joi, { ObjectSchema, Schema } from 'joi' +import type { Chain, ChainId, WalletInit, WalletModule } from '@web3-onboard/common' import type { InitOptions, @@ -29,7 +29,7 @@ const providerConnectionInfo = Joi.object({ timeout: Joi.number() }) -const chain = Joi.object({ +const chainValidationParams: Record = { namespace: chainNamespace, id: chainId.required(), rpcUrl: Joi.string().required(), @@ -37,8 +37,11 @@ const chain = Joi.object({ token: Joi.string().required(), icon: Joi.string(), color: Joi.string(), - providerConnectionInfo: providerConnectionInfo -}) + publicRpcUrl: Joi.string(), + blockExplorerUrl: Joi.string(), + providerConnectionInfo +} +const chain = Joi.object(chainValidationParams) const connectedChain = Joi.object({ namespace: chainNamespace.required(), @@ -208,6 +211,7 @@ export function validateString(str: string): ValidateReturn { export function validateSetChainOptions(data: { chainId: ChainId + chainNamespace?: string wallet?: WalletState['label'] }): ValidateReturn { return validate(setChainOptions, data) From 61bc3a82cc829cd7da06bece7e910b2c2eabcf89 Mon Sep 17 00:00:00 2001 From: katspaugh <381895+katspaugh@users.noreply.github.com> Date: Sun, 12 Jun 2022 10:21:18 +0200 Subject: [PATCH 2/3] Update docs --- packages/core/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/core/README.md b/packages/core/README.md index a6f43fcc9..37d9de742 100644 --- a/packages/core/README.md +++ b/packages/core/README.md @@ -49,6 +49,8 @@ type Chain = { token: TokenSymbol // the native token symbol, eg ETH, BNB, MATIC color?: string // the color used to represent the chain and will be used as a background for the icon icon?: string // the icon to represent the chain + publicRpcUrl?: string // an optional public RPC used when adding a new chain config to the wallet + blockExplorerUrl?: string // also used when adding a new config to the wallet } ``` From ee24348b3c9c23ab4c58b0e4aa0a47b25fc5ef8f Mon Sep 17 00:00:00 2001 From: Mahmud Adeleye Date: Thu, 16 Jun 2022 14:58:56 -0400 Subject: [PATCH 3/3] packages bump --- packages/common/package.json | 2 +- packages/core/package.json | 2 +- packages/react/package.json | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/common/package.json b/packages/common/package.json index b0eca131e..13126b123 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/common", - "version": "2.1.2", + "version": "2.1.2-alpha.1", "scripts": { "build": "rollup -c", "dev": "rollup -c -w", diff --git a/packages/core/package.json b/packages/core/package.json index dbf7465b5..7835e6957 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/core", - "version": "2.2.13", + "version": "2.2.13-alpha.1", "scripts": { "build": "rollup -c", "dev": "rollup -c -w", diff --git a/packages/react/package.json b/packages/react/package.json index 8608d936a..8e17c4701 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/react", - "version": "2.1.9", + "version": "2.1.10-alpha.1", "description": "Collection of React Hooks for web3-onboard", "module": "dist/index.js", "browser": "dist/index.js", @@ -23,8 +23,8 @@ "typescript": "^4.5.5" }, "dependencies": { - "@web3-onboard/core": "^2.2.12", - "@web3-onboard/common": "^2.1.1", + "@web3-onboard/core": "^2.2.13-alpha.1", + "@web3-onboard/common": "^2.1.2-alpha.1", "use-sync-external-store": "1.0.0" }, "peerDependencies": {