From 032635dee97493c4f1b6a65c1a99c259cff2d36f Mon Sep 17 00:00:00 2001 From: MrX-SNX Date: Wed, 21 Aug 2024 22:26:35 +0100 Subject: [PATCH] feat: added snax chain (#2273) * feat: added snax chain * feat: added chainId hex string * ref: renamed token to SNAXETH * ref: bumped dependencies * ref: updated package versions for react, vue, solid * Update packages/react/package.json * Update packages/solid/package.json * Update packages/vue/package.json * Update package.json * Update package.json * Update package.json * Update packages/react/package.json * Update packages/solid/package.json * Update packages/vue/package.json --------- Co-authored-by: Adam Carpenter --- docs/package.json | 2 +- docs/src/lib/services/onboard.js | 20 ++- .../[...1]introduction/+page.md | 7 + .../docs/[...3]modules/[...1]core/+page.md | 6 + .../examples/[...1]connect-wallet/+page.md | 12 ++ examples/with-sveltekit/package.json | 2 +- examples/with-vanilla-js/package.json | 2 +- packages/core/package.json | 2 +- packages/core/src/icons/index.ts | 1 + packages/core/src/icons/snax.ts | 6 + packages/core/src/utils.ts | 13 +- packages/demo/package.json | 2 +- packages/finoaconnect/package.json | 129 +++++++++--------- packages/react/package.json | 4 +- packages/solid/package.json | 4 +- packages/vue/package.json | 4 +- 16 files changed, 130 insertions(+), 86 deletions(-) create mode 100644 packages/core/src/icons/snax.ts diff --git a/docs/package.json b/docs/package.json index c7d3ee996..d2e9157fa 100644 --- a/docs/package.json +++ b/docs/package.json @@ -57,7 +57,7 @@ "@web3-onboard/capsule": "^2.3.0", "@web3-onboard/cede-store": "^2.3.1", "@web3-onboard/coinbase": "^2.3.1", - "@web3-onboard/core": "^2.22.1", + "@web3-onboard/core": "^2.22.3-alpha.1", "@web3-onboard/dcent": "^2.2.8", "@web3-onboard/enkrypt": "^2.1.1", "@web3-onboard/fortmatic": "^2.1.1", diff --git a/docs/src/lib/services/onboard.js b/docs/src/lib/services/onboard.js index b57b0d9f2..189b8908b 100644 --- a/docs/src/lib/services/onboard.js +++ b/docs/src/lib/services/onboard.js @@ -1,7 +1,7 @@ import blocknativeIcon from '../components/icons/blocknative-icon' let onboard -const getOnboard = async (passedTheme) => { +const getOnboard = async passedTheme => { const key = 'svelteness::color-scheme' const scheme = localStorage[key] let theme = passedTheme || scheme @@ -10,8 +10,8 @@ const getOnboard = async (passedTheme) => { return onboard } -const classMutationsCheck = (mutationsList) => { - mutationsList.forEach((mutation) => { +const classMutationsCheck = mutationsList => { + mutationsList.forEach(mutation => { if (onboard && mutation.attributeName === 'class') { if (mutation.target.className.includes('dark')) { onboard.state.actions.updateTheme('dark') @@ -28,7 +28,7 @@ const classMutationListener = () => { mutationObserver.observe(document.querySelector('html'), { attributes: true }) } -const intiOnboard = async (theme) => { +const intiOnboard = async theme => { const { default: Onboard } = await import('@web3-onboard/core') const { default: injectedModule } = await import('@web3-onboard/injected-wallets') const { default: trezorModule } = await import('@web3-onboard/trezor') @@ -114,8 +114,8 @@ const intiOnboard = async (theme) => { } const trezor = trezorModule(trezorOptions) - const finoaConnectOptions = {}; - const finoaconnect = finoaConnectModule(finoaConnectOptions); + const finoaConnectOptions = {} + const finoaconnect = finoaConnectModule(finoaConnectOptions) const uauthOptions = { clientID: 'a25c3a65-a1f2-46cc-a515-a46fe7acb78c', @@ -139,7 +139,7 @@ const intiOnboard = async (theme) => { const capsule = capsuleModule({ environment: Environment.DEVELOPMENT, - apiKey: '992bbd9146d5de8ad0419f141d9a7ca7' + apiKey: '992bbd9146d5de8ad0419f141d9a7ca7' }) const particle = particleAuthModule({ @@ -253,6 +253,12 @@ const intiOnboard = async (theme) => { token: 'DEGEN', label: 'Degen', rpcUrl: 'https://rpc.degen.tips' + }, + { + id: 2192, + token: 'SNAXETH', + label: 'SNAX Chain', + rpcUrl: 'https://mainnet.snaxchain.io' } ], appMetadata: { 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 6aa409090..d2ba7dc42 100644 --- a/docs/src/routes/docs/[...1]overview/[...1]introduction/+page.md +++ b/docs/src/routes/docs/[...1]overview/[...1]introduction/+page.md @@ -46,6 +46,7 @@ Web3 Onboard supports all EVM networks. Supporting a new network is simply a mat - BNB Chain - Celo - Degen +- SNAX - Fantom - Gnosis Chain - Harmony One @@ -140,6 +141,12 @@ const onboard = Onboard({ token: 'DEGEN', label: 'Degen', rpcUrl: 'https://rpc.degen.tips' + }, + { + id: 2192, + token: 'SNAXETH', + label: 'SNAX Chain', + rpcUrl: 'https://mainnet.snaxchain.io' } ] }) diff --git a/docs/src/routes/docs/[...3]modules/[...1]core/+page.md b/docs/src/routes/docs/[...3]modules/[...1]core/+page.md index 72ea627bf..102c7d852 100644 --- a/docs/src/routes/docs/[...3]modules/[...1]core/+page.md +++ b/docs/src/routes/docs/[...3]modules/[...1]core/+page.md @@ -735,6 +735,12 @@ const onboard = Onboard({ token: 'DEGEN', label: 'Degen', rpcUrl: 'https://rpc.degen.tips' + }, + { + id: 2192, + token: 'SNAXETH', + label: 'SNAX Chain', + rpcUrl: 'https://mainnet.snaxchain.io' } ], appMetadata: { diff --git a/docs/src/routes/examples/[...1]connect-wallet/+page.md b/docs/src/routes/examples/[...1]connect-wallet/+page.md index 4db11dad7..4d5ec47e4 100644 --- a/docs/src/routes/examples/[...1]connect-wallet/+page.md +++ b/docs/src/routes/examples/[...1]connect-wallet/+page.md @@ -170,6 +170,12 @@ const chains = [ token: 'DEGEN', label: 'Degen', rpcUrl: 'https://rpc.degen.tips' + }, + { + id: 2192, + token: 'SNAX', + label: 'SNAX Chain', + rpcUrl: 'https://mainnet.snaxchain.io' } ] @@ -441,6 +447,12 @@ const chains = [ token: 'DEGEN', label: 'Degen', rpcUrl: 'https://rpc.degen.tips' + }, + { + id: 2192, + token: 'SNAXETH', + label: 'SNAX Chain', + rpcUrl: 'https://mainnet.snaxchain.io' } ] diff --git a/examples/with-sveltekit/package.json b/examples/with-sveltekit/package.json index 9c659a481..b5abaa74f 100644 --- a/examples/with-sveltekit/package.json +++ b/examples/with-sveltekit/package.json @@ -35,7 +35,7 @@ "@esbuild-plugins/node-modules-polyfill": "^0.2.2", "@fontsource/fira-mono": "^4.5.10", "@rollup/plugin-commonjs": "^25.0.7", - "@web3-onboard/core": "^2.21.4", + "@web3-onboard/core": "^2.22.3-alpha.1", "@web3-onboard/injected-wallets": "^2.8.5", "@web3-onboard/walletconnect": "^2.3.6", "assert": "^2.1.0", diff --git a/examples/with-vanilla-js/package.json b/examples/with-vanilla-js/package.json index 233518368..3d9c6432d 100644 --- a/examples/with-vanilla-js/package.json +++ b/examples/with-vanilla-js/package.json @@ -28,7 +28,7 @@ }, "dependencies": { "@web3-onboard/coinbase": "^2.2.2", - "@web3-onboard/core": "^2.21.0", + "@web3-onboard/core": "^2.22.3-alpha.1", "@web3-onboard/injected-wallets": "^2.8.4", "@web3-onboard/walletconnect": "^2.3.5" } diff --git a/packages/core/package.json b/packages/core/package.json index f7768a00c..4fb0d8d8d 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/core", - "version": "2.22.2", + "version": "2.22.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/core/src/icons/index.ts b/packages/core/src/icons/index.ts index 8565422dd..3c32e41aa 100644 --- a/packages/core/src/icons/index.ts +++ b/packages/core/src/icons/index.ts @@ -24,3 +24,4 @@ export { default as warningIcon } from './warning.js' export { default as successIcon } from './success.js' export { default as pendingIcon } from './pending.js' export { default as degenIcon } from './degen.js' +export { default as snaxIcon } from './snax.js' diff --git a/packages/core/src/icons/snax.ts b/packages/core/src/icons/snax.ts new file mode 100644 index 000000000..f00d7c947 --- /dev/null +++ b/packages/core/src/icons/snax.ts @@ -0,0 +1,6 @@ +export default ` + + + + +` diff --git a/packages/core/src/utils.ts b/packages/core/src/utils.ts index 3f86bc028..efd8fcc9e 100644 --- a/packages/core/src/utils.ts +++ b/packages/core/src/utils.ts @@ -30,7 +30,8 @@ import { harmonyOneIcon, arbitrumIcon, baseIcon, - degenIcon + degenIcon, + snaxIcon } from './icons/index.js' import type { ChainStyle, ConnectedChain, NotifyEventStyles } from './types.js' @@ -113,7 +114,8 @@ export const chainIdToLabel: Record = { '0x63564C40': 'Harmony One', '0xa4b1': 'Arbitrum One', '0xa4ba': 'Arbitrum Nova', - '0x27bc86aa': 'Degen' + '0x27bc86aa': 'Degen', + '0x890': 'SNAX' } export function validEnsChain(chainId: ChainId): string | null { @@ -163,7 +165,8 @@ export const networkToChainId: Record = { 'matic-main': '0x89', 'fantom-main': '0xfa', 'matic-mumbai': '0x80001', - degen: '0x27bc86aa' + degen: '0x27bc86aa', + SNAX: '0x890' } export const chainStyles: Record = { @@ -234,6 +237,10 @@ export const chainStyles: Record = { '0x27bc86aa': { icon: degenIcon, color: '#a36dfe' + }, + '0x890': { + icon: snaxIcon, + color: '#00D1FF' } } diff --git a/packages/demo/package.json b/packages/demo/package.json index bf7254b5f..f851d8f0b 100644 --- a/packages/demo/package.json +++ b/packages/demo/package.json @@ -34,7 +34,7 @@ "@web3-onboard/bloom": "2.0.0", "@web3-onboard/capsule": "^2.3.0", "@web3-onboard/cede-store": "^2.3.1", - "@web3-onboard/core": "2.22.2", + "@web3-onboard/core": "2.22.3-alpha.1", "@web3-onboard/coinbase": "^2.4.1", "@web3-onboard/dcent": "^2.2.7", "@web3-onboard/enkrypt": "^2.1.1", diff --git a/packages/finoaconnect/package.json b/packages/finoaconnect/package.json index 7e04ac695..21ba1170c 100644 --- a/packages/finoaconnect/package.json +++ b/packages/finoaconnect/package.json @@ -1,66 +1,65 @@ { - "name": "@web3-onboard/finoaconnect", - "version": "2.0.0", - "description": "FinoaConnect enables DApp users to use Finoa's Institutional Custody services.", - "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", - "FinoaConnect" - ], - "repository": { - "type": "git", - "url": "https://github.com/blocknative/web3-onboard.git", - "directory": "packages/finoaconnect" - }, - "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" - }, - "devDependencies": { - "typescript": "^5.4.5" - }, - "dependencies": { - "@finoa/finoa-connect-sdk": "^1.0.4", - "@web3-onboard/core": "^2.20.4" - } - - } \ No newline at end of file + "name": "@web3-onboard/finoaconnect", + "version": "2.0.0", + "description": "FinoaConnect enables DApp users to use Finoa's Institutional Custody services.", + "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", + "FinoaConnect" + ], + "repository": { + "type": "git", + "url": "https://github.com/blocknative/web3-onboard.git", + "directory": "packages/finoaconnect" + }, + "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" + }, + "devDependencies": { + "typescript": "^5.4.5" + }, + "dependencies": { + "@finoa/finoa-connect-sdk": "^1.0.4", + "@web3-onboard/core": "^2.22.3-alpha.1" + } +} diff --git a/packages/react/package.json b/packages/react/package.json index 2f298e32f..7b0ab77eb 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/react", - "version": "2.9.2", + "version": "2.9.3-alpha.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", @@ -61,7 +61,7 @@ "typescript": "^5.4.5" }, "dependencies": { - "@web3-onboard/core": "2.22.2", + "@web3-onboard/core": "2.22.3-alpha.1", "@web3-onboard/common": "^2.4.1", "use-sync-external-store": "1.0.0" }, diff --git a/packages/solid/package.json b/packages/solid/package.json index c9c97b3ef..144366938 100644 --- a/packages/solid/package.json +++ b/packages/solid/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/solid", - "version": "2.1.2", + "version": "2.1.3-alpha.1", "description": "A collection of solid Composables for integrating Web3-Onboard in to a Solid 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 @@ }, "dependencies": { "@web3-onboard/common": "^2.4.1", - "@web3-onboard/core": "2.22.2", + "@web3-onboard/core": "2.22.3-alpha.1", "solid-js": "^1.8.1" } } diff --git a/packages/vue/package.json b/packages/vue/package.json index 8208d5f0d..7d2d381b0 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/vue", - "version": "2.8.2", + "version": "2.8.3-alpha.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", @@ -62,7 +62,7 @@ "@vueuse/core": "^8.4.2", "@vueuse/rxjs": "^8.2.0", "@web3-onboard/common": "^2.4.1", - "@web3-onboard/core": "2.22.2", + "@web3-onboard/core": "2.22.3-alpha.1", "vue-demi": "^0.12.4" }, "peerDependencies": {