diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 6144575b..61c84258 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -30,14 +30,6 @@ jobs: env: TALLY_API_KEY: ${{ secrets.TALLY_API_KEY }} - - name: Prepare tag - id: prepare_tag - if: startsWith(github.ref, 'refs/tags/') - run: | - TAG_NAME="${GITHUB_REF##refs/tags/}" - echo "::set-output name=tag_name::${TAG_NAME}" - echo "::set-output name=deploy_tag_name::deploy-${TAG_NAME}" - - name: Edgeserver Upload uses: lvkdotsh/edgeserver-action@v0.1.2-pre.4 with: diff --git a/app/app/theme.tsx b/app/app/theme.tsx index 11611582..92841ba5 100644 --- a/app/app/theme.tsx +++ b/app/app/theme.tsx @@ -1,20 +1,32 @@ 'use client'; -import '@ens-tools/thorin-core'; - import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { ThemeProvider } from 'next-themes'; -import { goerli, mainnet, sepolia } from 'viem/chains'; +import { useEffect } from 'react'; +import { goerli, holesky, mainnet, sepolia } from 'viem/chains'; import { createConfig, http, WagmiProvider } from 'wagmi'; -import { injected } from 'wagmi/connectors'; +import { injected, walletConnect } from 'wagmi/connectors'; const config = createConfig({ - chains: [mainnet, goerli, sepolia], - connectors: [injected({})], + chains: [mainnet, goerli, sepolia, holesky], + connectors: [ + injected({}), + walletConnect({ + projectId: '3b205429cec06896f1d18c3b46dc5a68', + metadata: { + name: 'ENS Documentation', + description: 'Ethereum Name Service Documentation', + icons: ['https://docs.ens.domains/favicon.ico'], + url: 'https://docs.ens.domains', + }, + showQrModal: false, + }), + ], transports: { [mainnet.id]: http(), [goerli.id]: http(), [sepolia.id]: http(), + [holesky.id]: http(), }, }); @@ -27,6 +39,14 @@ declare module 'wagmi' { const queryClient = new QueryClient(); export const Theme = ({ children }) => { + useEffect(() => { + (async () => { + const { setupConfig } = await import('@ens-tools/thorin-core'); + + setupConfig(() => config as any); + })(); + }, []); + return ( diff --git a/app/package.json b/app/package.json index aeb10cad..0a41bc84 100644 --- a/app/package.json +++ b/app/package.json @@ -12,8 +12,7 @@ "browserslist": "defaults, not ie <= 11", "dependencies": { "@ens-tools/format": "^0.0.2", - "@ens-tools/thorin-core": "0.0.3", - "@ens-tools/thorin-react": "0.0.3", + "@ens-tools/thorin-core": "0.0.3-8", "@ensdomains/thorin": "^0.6.44", "@headlessui/react": "^1.7.18", "@mdx-js/loader": "^3.0.0", @@ -59,6 +58,7 @@ "use-debounce": "^10.0.0", "viem": "^2.7.8", "wagmi": "^2.5.6", + "webcomponent-qr-code": "^1.2.0", "zod": "^3.22.4", "zustand": "^4.5.0" }, diff --git a/app/pnpm-lock.yaml b/app/pnpm-lock.yaml index bc84ce33..6b14c247 100644 --- a/app/pnpm-lock.yaml +++ b/app/pnpm-lock.yaml @@ -9,11 +9,8 @@ dependencies: specifier: ^0.0.2 version: 0.0.2 '@ens-tools/thorin-core': - specifier: 0.0.3 - version: 0.0.3(@wagmi/connectors@4.1.14)(@wagmi/core@2.6.4)(rollup@4.11.0)(viem@2.7.8) - '@ens-tools/thorin-react': - specifier: 0.0.3 - version: 0.0.3(@types/react@18.2.55)(@wagmi/connectors@4.1.14)(@wagmi/core@2.6.4)(rollup@4.11.0)(viem@2.7.8) + specifier: 0.0.3-8 + version: 0.0.3-8(@wagmi/connectors@4.1.14)(@wagmi/core@2.6.4)(rollup@4.11.0)(viem@2.7.8) '@ensdomains/thorin': specifier: ^0.6.44 version: 0.6.44(react-dom@18.2.0)(react-transition-state@1.1.5)(react@18.2.0)(styled-components@5.3.11) @@ -149,6 +146,9 @@ dependencies: wagmi: specifier: ^2.5.6 version: 2.5.6(@tanstack/react-query@5.18.1)(@types/react@18.2.55)(encoding@0.1.13)(react-dom@18.2.0)(react-native@0.73.4)(react@18.2.0)(rollup@4.11.0)(typescript@5.3.3)(viem@2.7.8)(zod@3.22.4) + webcomponent-qr-code: + specifier: ^1.2.0 + version: 1.2.0 zod: specifier: ^3.22.4 version: 3.22.4 @@ -1799,8 +1799,8 @@ packages: resolution: {integrity: sha512-hgIznthtDRaxtmuGsvv51RpL840daIk619nBG90lTWFGnrfzKWaKNo98QA/n+7WWd//47Bvy/3unv0VVgQaggA==} dev: false - /@ens-tools/thorin-core@0.0.3(@wagmi/connectors@4.1.14)(@wagmi/core@2.6.4)(rollup@4.11.0)(viem@2.7.8): - resolution: {integrity: sha512-uyAZItLi6Wml8uVQZHUQy3OzGXHWcFIRQ161Tw9wwk1uiqgUGLzpaIDD7hMaxTjzsB8hZdwr0M9xk4ElR9HxsQ==} + /@ens-tools/thorin-core@0.0.3-8(@wagmi/connectors@4.1.14)(@wagmi/core@2.6.4)(rollup@4.11.0)(viem@2.7.8): + resolution: {integrity: sha512-FWzOIyMMqnB+YdWtoBfomfRZ2bI52nSHLN+qkPwleBm86UcwrR8yYC4lP2alfpBxDopry52JY2V+hjnE1zKpOQ==} peerDependencies: '@wagmi/connectors': ^4.1.14 '@wagmi/core': ^2.6.5 @@ -1813,32 +1813,11 @@ packages: lit: 3.1.2 rollup-plugin-peer-deps-external: 2.2.4(rollup@4.11.0) viem: 2.7.8(typescript@5.3.3)(zod@3.22.4) + webcomponent-qr-code: 1.2.0 transitivePeerDependencies: - rollup dev: false - /@ens-tools/thorin-react@0.0.3(@types/react@18.2.55)(@wagmi/connectors@4.1.14)(@wagmi/core@2.6.4)(rollup@4.11.0)(viem@2.7.8): - resolution: {integrity: sha512-2BLUTtlxw9G88k1JHU7Rt10/auKmBzihVR378egtHVY7ffzm8AICrohCRm9wCGSqK1aTorFX3xB9txLSAMIPZA==} - peerDependencies: - '@wagmi/connectors': ^4.1.14 - '@wagmi/core': ^2.6.5 - viem: 2.x - dependencies: - '@ens-tools/thorin-core': 0.0.3(@wagmi/connectors@4.1.14)(@wagmi/core@2.6.4)(rollup@4.11.0)(viem@2.7.8) - '@lit/react': 1.0.3(@types/react@18.2.55) - '@rollup/plugin-commonjs': 25.0.7(rollup@4.11.0) - '@rollup/plugin-json': 6.1.0(rollup@4.11.0) - '@wagmi/connectors': 4.1.14(@types/react@18.2.55)(@wagmi/core@2.6.4)(encoding@0.1.13)(react-dom@18.2.0)(react-native@0.73.4)(react@18.2.0)(rollup@4.11.0)(typescript@5.3.3)(viem@2.7.8)(zod@3.22.4) - '@wagmi/core': 2.6.4(@types/react@18.2.55)(react@18.2.0)(typescript@5.3.3)(viem@2.7.8)(zod@3.22.4) - lit: 3.1.2 - react: 18.2.0 - rollup-plugin-peer-deps-external: 2.2.4(rollup@4.11.0) - viem: 2.7.8(typescript@5.3.3)(zod@3.22.4) - transitivePeerDependencies: - - '@types/react' - - rollup - dev: false - /@ensdomains/thorin@0.6.44(react-dom@18.2.0)(react-transition-state@1.1.5)(react@18.2.0)(styled-components@5.3.11): resolution: {integrity: sha512-MoW0csfH/ql1q85IrWQvAFU/7gTlhM7GWBbSCN7uFN/v5hUr+f+C8zON/17QM9UT7bhigCur48DeL172eqiIMA==} peerDependencies: @@ -2425,14 +2404,6 @@ packages: resolution: {integrity: sha512-yWJKmpGE6lUURKAaIltoPIE/wrbY3TEkqQt+X0m+7fQNnAv0keydnYvbiJFP1PnMhizmIWRWOG5KLhYyc/xl+g==} dev: false - /@lit/react@1.0.3(@types/react@18.2.55): - resolution: {integrity: sha512-RGoPMrAPbFjQFXFbfmYdotw000DyChehTim+d562HRXvFGw//KxouI8jNOcc3Kw/1uqUA1SJqXFtKKxK0NUrww==} - peerDependencies: - '@types/react': 17 || 18 - dependencies: - '@types/react': 18.2.55 - dev: false - /@lit/reactive-element@1.6.3: resolution: {integrity: sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==} dependencies: @@ -11508,6 +11479,10 @@ packages: yargs: 15.4.1 dev: false + /qrjs@0.2.0: + resolution: {integrity: sha512-6tOePfihDByEXDULYlT/FmV27m5rX6IehCeZ82LouBD5kzSNqNXuVog8m1KGuGNyQovVOb0nKOB2ybHRRRgKJw==} + dev: false + /query-string@7.1.3: resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==} engines: {node: '>=6'} @@ -13682,6 +13657,12 @@ packages: resolution: {integrity: sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA==} dev: false + /webcomponent-qr-code@1.2.0: + resolution: {integrity: sha512-1qEJ70HpiO0GbPy9T6XCtHn+RyI3awtpU88BBPQkhefwuRKg408X6z7mJeQxBnKkFQSv3ZWwmlgMvIjIO3RGOg==} + dependencies: + qrjs: 0.2.0 + dev: false + /webextension-polyfill-ts@0.25.0: resolution: {integrity: sha512-ikQhwwHYkpBu00pFaUzIKY26I6L87DeRI+Q6jBT1daZUNuu8dSrg5U9l/ZbqdaQ1M/TTSPKeAa3kolP5liuedw==} deprecated: This project has moved to @types/webextension-polyfill diff --git a/app/src/content/demos/border/BorderConnection.tsx b/app/src/content/demos/border/BorderConnection.tsx index 6e1397fb..b27b6792 100644 --- a/app/src/content/demos/border/BorderConnection.tsx +++ b/app/src/content/demos/border/BorderConnection.tsx @@ -1,26 +1,47 @@ 'use client'; -import { FC, useState } from 'react'; +import { FC, useLayoutEffect, useRef, useState } from 'react'; import { FaWallet } from 'react-icons/fa6'; import { useAccount } from 'wagmi'; import { Button } from '@/components/Button'; -import { ConnectModal } from '@/wallet/ConnectModal'; import { ChainSwitcher } from './ChainSwitcher'; export const BorderConnection: FC<{ chains?: Set }> = ({ chains }) => { - const { isConnected } = useAccount(); + const { isConnected, address, connector } = useAccount(); const [isOpen, setIsOpen] = useState(false); + const connectModalReference = useRef(null); + + useLayoutEffect(() => { + connectModalReference?.current?.addEventListener('onClose', () => { + setIsOpen(false); + }); + }, [connectModalReference]); return (
- setIsOpen(false)} /> + {/* setIsOpen(false)} /> */} {!isConnected && ( )} + + {/* @ts-ignore */} + + {/* @ts-ignore */} + + {isConnected && (
+
+
+ {connector.name} +
+
{address}
+