diff --git a/.gitignore b/.gitignore index 0a7e7d1..de8efea 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,9 @@ storybook-static tsconfig.tsbuildinfo .vercel + + +app/next/certificates/* +app/next/.env +app/next/node_modules +*.pem \ No newline at end of file diff --git a/app/demo-playground/package.json b/app/demo-playground/package.json index 5cef745..60854ea 100644 --- a/app/demo-playground/package.json +++ b/app/demo-playground/package.json @@ -15,7 +15,7 @@ "postcss": "^8.4.14", "react": "^18.0.0", "react-dom": "^18.0.0", - "starkweb": "latest", + "starkweb": "0.0.21", "starkwebkit": "latest", "starkwebkit-next-siwe": "latest", "tailwindcss": "^3.3.2" diff --git a/app/demo-playground/src/pages/_app.tsx b/app/demo-playground/src/pages/_app.tsx index 68a96c7..1e5f608 100644 --- a/app/demo-playground/src/pages/_app.tsx +++ b/app/demo-playground/src/pages/_app.tsx @@ -1,16 +1,38 @@ import '@/styles/globals.css'; -import { siweClient } from '@/utils/siweClient'; -import { ConnectKitProvider, getDefaultConfig } from 'starkwebkit'; -import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; + import type { AppProps } from 'next/app'; -import { StarkwebProvider, createConfig } from 'starkweb/react'; +import { + mainnet, + sepolia, +} from 'starkweb/chains'; +import { argentX, braavos, metamask, keplr } from 'starkweb/connectors'; +import { + createConfig, + StarkwebProvider, +} from 'starkweb/react'; +import { ConnectKitProvider } from 'starkwebkit'; + +import { siweClient } from '@/utils/siweClient'; +import { + QueryClient, + QueryClientProvider, +} from '@tanstack/react-query'; +import { http } from 'starkweb'; + -const config = createConfig( - getDefaultConfig({ - walletConnectProjectId: process.env.NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID!, - appName: 'My ConnectKit App', - }) -); +const config = createConfig({ + chains: [mainnet, sepolia], + transports: { + [mainnet.chain_id]: http(), + [sepolia.chain_id]: http(), + }, + connectors: [ + argentX(), + braavos(), + metamask(), + keplr(), + ], +}); const queryClient = new QueryClient(); export default function App({ Component, pageProps }: AppProps) { return ( diff --git a/app/demo-playground/src/pages/index.tsx b/app/demo-playground/src/pages/index.tsx index 6c5fe57..f65533e 100644 --- a/app/demo-playground/src/pages/index.tsx +++ b/app/demo-playground/src/pages/index.tsx @@ -135,10 +135,10 @@ function Connect() { onClick={() => connect({ connector, chainId })} className="w-full flex items-center justify-center px-4 py-2 bg-teal-500 dark:bg-teal-600 text-white rounded-lg hover:bg-teal-600 dark:hover:bg-teal-700 transition-colors" > - {connector.name} {connector.name} diff --git a/app/next/.gitignore b/app/next/.gitignore new file mode 100644 index 0000000..a34d4b9 --- /dev/null +++ b/app/next/.gitignore @@ -0,0 +1,4 @@ +.next +.env +certificates +node_modules diff --git a/app/next/components/Web3Provider.tsx b/app/next/components/Web3Provider.tsx index 5551f02..f16aefc 100644 --- a/app/next/components/Web3Provider.tsx +++ b/app/next/components/Web3Provider.tsx @@ -24,6 +24,7 @@ import { QueryClientProvider, } from '@tanstack/react-query'; + export function getConfig() { return createConfig({ chains: [mainnet, sepolia], diff --git a/app/next/package.json b/app/next/package.json index 706bf19..c15df1b 100644 --- a/app/next/package.json +++ b/app/next/package.json @@ -3,7 +3,7 @@ "version": "0.1.0", "private": true, "scripts": { - "dev": "next dev", + "dev": "next dev --experimental-https --hostname wisemrmusa.fun", "build": "next build", "start": "next start", "lint": "next lint" diff --git a/packages/starkweb/package.json b/packages/starkweb/package.json index 112c03e..bdb7bf8 100644 --- a/packages/starkweb/package.json +++ b/packages/starkweb/package.json @@ -1,15 +1,12 @@ { "name": "starkweb", - "version": "0.0.17", + "version": "0.0.21", "private": false, "type": "module", "main": "./dist/cjs/exports/starkweb.js", "module": "./dist/esm/exports/starkweb.js", "types": "./dist/types/exports/starkweb.d.ts", "typings": "./dist/types/exports/starkweb.d.ts", - "bin": { - "starkweb": "./dist/esm/create-starkweb/cli.js" - }, "repository": { "type": "git", "url": "https://github.com/NethermindEth/starkweb" @@ -65,11 +62,6 @@ "import": "./dist/esm/exports/window.js", "default": "./dist/cjs/exports/window.js" }, - "./cli": { - "types": "./dist/types/cli/bin.d.ts", - "import": "./dist/esm/cli/bin.js", - "default": "./dist/cjs/cli/bin.js" - }, "./utils": { "types": "./dist/types/exports/utils.d.ts", "import": "./dist/esm/exports/utils.js", diff --git a/packages/starkweb/src/connectors/argent.ts b/packages/starkweb/src/connectors/argent.ts index 87973d3..ee4a65b 100644 --- a/packages/starkweb/src/connectors/argent.ts +++ b/packages/starkweb/src/connectors/argent.ts @@ -28,6 +28,7 @@ export function argentX() { type Provider = WalletProvider type WalletProvider = Evaluate void) | undefined } | undefined /** Only exists in MetaMask as of 2022/04/03 */ @@ -60,13 +61,25 @@ export function argentX() { if (provider && window.starknet_argentX?.isConnected) { this.onConnect.bind(this) provider.on('accountsChanged', this.onAccountsChanged.bind(this)) + provider.on('networkChanged', this.onChainChanged.bind(this)) } }, async connect({ chainId, isReconnecting } = {}) { const provider = await this.getProvider() let accounts: readonly Address[] = [] - if (isReconnecting) accounts = await this.getAccounts().catch(() => []) + if (isReconnecting) { + try { + accounts = await this.getAccounts().catch(() => []) + const currentChainId = await this.getChainId() + return { accounts, chainId: chainId ?? currentChainId } + } catch (error) { + throw new ProviderRpcError( + 'Failed to retrieve accounts', + (error as RpcError).code || -32000 + ) + } + } try { if (!accounts?.length) { @@ -115,7 +128,7 @@ export function argentX() { const provider = await this.getProvider() const accounts = (await provider.request({ type: 'wallet_requestAccounts', - params: {} + params: {silent_mode: true} })) as string[] return accounts.map((x) => getStarknetAddress(x)) } catch (error) { @@ -156,9 +169,8 @@ export function argentX() { // If shim exists in storage, connector is disconnected await config.storage?.getItem('argentX.disconnected') if (isDisconnected) return false - - const accounts = await this.getAccounts() - return !!accounts.length + let provider = await this.getProvider() + return provider.isConnected } catch { return false } diff --git a/packages/starkweb/src/connectors/braavos.ts b/packages/starkweb/src/connectors/braavos.ts index 463ca15..938dfc9 100644 --- a/packages/starkweb/src/connectors/braavos.ts +++ b/packages/starkweb/src/connectors/braavos.ts @@ -21,6 +21,7 @@ import { ProviderRpcError } from "../errors/rpc.js" type Provider = WalletProvider type WalletProvider = Evaluate void) | undefined } | undefined /** Only exists in MetaMask as of 2022/04/03 */ @@ -55,7 +56,21 @@ import { ProviderRpcError } from "../errors/rpc.js" const provider = await this.getProvider() let accounts: readonly Address[] = [] - if (isReconnecting) accounts = await this.getAccounts().catch(() => []) + if (isReconnecting) { + try { + accounts = await this.getAccounts().catch(() => []) + const currentChainId = await this.getChainId() + return { accounts, chainId: chainId ?? currentChainId } + } catch (error) { + throw new ProviderRpcError( + error as Error, + { + shortMessage: 'Failed to retrieve accounts', + code: (error as RpcError).code || -32000 + } + ) + } + } try { if (!accounts?.length) { @@ -104,7 +119,7 @@ import { ProviderRpcError } from "../errors/rpc.js" const provider = await this.getProvider() const accounts = (await provider.request({ type: 'wallet_requestAccounts', - params: {} + params: {silent_mode: true} })) as string[] return accounts.map((x) => getStarknetAddress(x)) } catch (error) { @@ -138,9 +153,8 @@ import { ProviderRpcError } from "../errors/rpc.js" // If shim exists in storage, connector is disconnected await config.storage?.getItem('braavos.disconnected') if (isDisconnected) return false - - const accounts = await this.getAccounts() - return !!accounts.length + let provider = await this.getProvider() + return provider.isConnected } catch { return false } diff --git a/packages/starkweb/src/connectors/keplr.ts b/packages/starkweb/src/connectors/keplr.ts index 82b2b77..f098836 100644 --- a/packages/starkweb/src/connectors/keplr.ts +++ b/packages/starkweb/src/connectors/keplr.ts @@ -22,6 +22,7 @@ import { ProviderRpcError } from "../errors/rpc.js" type Provider = WalletProvider type WalletProvider = Evaluate void) | undefined } | undefined /** Only exists in MetaMask as of 2022/04/03 */ @@ -51,13 +52,28 @@ import { ProviderRpcError } from "../errors/rpc.js" if (provider && window.starknet_keplr?.isConnected) { this.onConnect.bind(this) provider.on('accountsChanged', this.onAccountsChanged.bind(this)) + provider.on('networkChanged', this.onChainChanged.bind(this)) } }, async connect({ chainId, isReconnecting } = {}) { const provider = await this.getProvider() let accounts: readonly Address[] = [] - if (isReconnecting) accounts = await this.getAccounts().catch(() => []) + if (isReconnecting) { + try { + accounts = await this.getAccounts().catch(() => []) + const currentChainId = await this.getChainId() + return { accounts, chainId: chainId ?? currentChainId } + } catch (error) { + throw new ProviderRpcError( + error as Error, + { + shortMessage: 'Failed to retrieve accounts', + code: (error as RpcError).code || -32000 + } + ) + } + } try { if (!accounts?.length) { @@ -105,7 +121,7 @@ import { ProviderRpcError } from "../errors/rpc.js" const provider = await this.getProvider() const accounts = (await provider.request({ type: 'wallet_requestAccounts', - params: {} + params: {silent_mode: true} })) as string[] return accounts.map((x) => getStarknetAddress(x)) }, @@ -140,8 +156,8 @@ import { ProviderRpcError } from "../errors/rpc.js" await config.storage?.getItem('keplr.disconnected') if (isDisconnected) return false - const accounts = await this.getAccounts() - return !!accounts.length + const provider = await this.getProvider() + return provider.isConnected } catch { return false } diff --git a/packages/starkweb/src/connectors/metamask.ts b/packages/starkweb/src/connectors/metamask.ts index fb858c5..17c5267 100644 --- a/packages/starkweb/src/connectors/metamask.ts +++ b/packages/starkweb/src/connectors/metamask.ts @@ -23,6 +23,7 @@ import { injectMetamaskBridge } from './metamask-bridge.js' type Provider = WalletProvider type WalletProvider = SNIP1193Provider & { providers?: SNIP1193Provider[] | undefined + isConnected: boolean /** Only exists in MetaMask as of 2022/04/03 */ _events?: { connect?: (() => void) | undefined } | undefined /** Only exists in MetaMask as of 2022/04/03 */ @@ -54,16 +55,31 @@ import { injectMetamaskBridge } from './metamask-bridge.js' await config.storage?.setItem('metamask.disconnected', true) const provider = await this.getProvider() - if (provider) { + if (provider && window.starknet_metamask?.isConnected) { this.onConnect.bind(this) provider.on('accountsChanged', this.onAccountsChanged.bind(this)) + provider.on('networkChanged', this.onChainChanged.bind(this)) } }, async connect({ chainId, isReconnecting } = {}) { const provider = await this.getProvider() let accounts: readonly Address[] = [] - if (isReconnecting) accounts = await this.getAccounts().catch(() => []) + if (isReconnecting) { + try { + accounts = await this.getAccounts().catch(() => []) + const currentChainId = await this.getChainId() + return { accounts, chainId: chainId ?? currentChainId } + } catch (error) { + throw new ProviderRpcError( + error as Error, + { + shortMessage: 'Failed to retrieve accounts', + code: (error as RpcError).code || -32000 + } + ) + } + } try { if (!accounts?.length) { @@ -111,7 +127,7 @@ import { injectMetamaskBridge } from './metamask-bridge.js' const provider = await this.getProvider() const accounts = (await provider?.request({ type: 'wallet_requestAccounts', - params: {} + params: {silent_mode: true} })) as string[] return accounts.map((x) => getStarknetAddress(x)) }, @@ -151,8 +167,8 @@ import { injectMetamaskBridge } from './metamask-bridge.js' await config.storage?.getItem('metamask.disconnected') if (isDisconnected) return false - const accounts = await this.getAccounts() - return !!accounts.length + const provider = await this.getProvider() + return provider.isConnected } catch { return false } diff --git a/packages/starkweb/src/connectors/starknet.ts b/packages/starkweb/src/connectors/starknet.ts new file mode 100644 index 0000000..e69de29 diff --git a/packages/starkweb/src/exports/connectors.ts b/packages/starkweb/src/exports/connectors.ts index ed5f432..93305bc 100644 --- a/packages/starkweb/src/exports/connectors.ts +++ b/packages/starkweb/src/exports/connectors.ts @@ -4,4 +4,3 @@ export { injected } from "../connectors/injected.js"; export { keplr } from "../connectors/keplr.js"; export { metamask } from "../connectors/metamask.js"; export { createConnector } from "../core/connectors/createConnector.js"; - diff --git a/packages/starkweb/src/types/window.ts b/packages/starkweb/src/types/window.ts index d7d98c3..95b32ff 100644 --- a/packages/starkweb/src/types/window.ts +++ b/packages/starkweb/src/types/window.ts @@ -19,5 +19,11 @@ declare global { enable: () => Promise isConnected: boolean } & SNIP1193Provider | undefined + starknet_catridge?: { + enable: () => Promise + isConnected: boolean + connect: () => Promise<{address: string}> + disconnect: () => Promise + } & SNIP1193Provider | undefined } } \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 16779db..5be31dd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -55,14 +55,14 @@ importers: specifier: ^18.0.0 version: 18.3.1(react@18.3.1) starkweb: - specifier: latest - version: 0.0.17(@tanstack/query-core@5.66.0)(@tanstack/react-query@5.66.0(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1) + specifier: 0.0.21 + version: 0.0.21(@rspack/core@1.2.2(@swc/helpers@0.5.15))(@tanstack/query-core@5.66.0)(@tanstack/react-query@5.66.0(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1) starkwebkit: specifier: latest - version: 0.0.3(@babel/core@7.26.0)(@tanstack/react-query@5.66.0(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@16.13.1)(react@18.3.1)(starkweb@0.0.17(@tanstack/query-core@5.66.0)(@tanstack/react-query@5.66.0(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1)) + version: 0.0.3(@babel/core@7.26.0)(@tanstack/react-query@5.66.0(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@16.13.1)(react@18.3.1)(starkweb@0.0.21(@rspack/core@1.2.2(@swc/helpers@0.5.15))(@tanstack/query-core@5.66.0)(@tanstack/react-query@5.66.0(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1)) starkwebkit-next-siwe: specifier: latest - version: 0.0.2(connectkit@1.8.2(@babel/core@7.26.0)(@tanstack/react-query@5.66.0(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@16.13.1)(react@18.3.1)(viem@2.23.2(bufferutil@4.0.8)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1))(wagmi@2.14.11(@tanstack/query-core@5.66.0)(@tanstack/react-query@5.66.0(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(typescript@5.7.3)(utf-8-validate@5.0.10)(viem@2.23.2(bufferutil@4.0.8)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1)))(koa@2.15.3)(next@12.3.0(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(starkweb@0.0.17(@tanstack/query-core@5.66.0)(@tanstack/react-query@5.66.0(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1)) + version: 0.0.2(connectkit@1.8.2(@babel/core@7.26.0)(@tanstack/react-query@5.66.0(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@16.13.1)(react@18.3.1)(viem@2.23.2(bufferutil@4.0.8)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1))(wagmi@2.14.11(@tanstack/query-core@5.66.0)(@tanstack/react-query@5.66.0(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(typescript@5.7.3)(utf-8-validate@5.0.10)(viem@2.23.2(bufferutil@4.0.8)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1)))(koa@2.15.3)(next@12.3.0(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(starkweb@0.0.21(@rspack/core@1.2.2(@swc/helpers@0.5.15))(@tanstack/query-core@5.66.0)(@tanstack/react-query@5.66.0(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1)) tailwindcss: specifier: ^3.3.2 version: 3.4.15 @@ -1297,12 +1297,12 @@ packages: '@module-federation/error-codes@0.8.10': resolution: {integrity: sha512-UMC/0+l8Xx2/w8LjJtiLBRaxdwrC72zDN1ZjbouQf5ujyR+HZkV/6BBj6fvvwvLKL7fZfoG0SBBBv5aE0Rh87w==} - '@module-federation/error-codes@0.8.11': - resolution: {integrity: sha512-mqt8/BQq11Cc/zbuHtojTwbZ78LJiy4f/cm9UsQPWf65Pqxi4Ticn40wccVFq8O9gee/QEi2Mf3XiwSf2SHl0A==} - '@module-federation/error-codes@0.8.4': resolution: {integrity: sha512-55LYmrDdKb4jt+qr8qE8U3al62ZANp3FhfVaNPOaAmdTh0jHdD8M3yf5HKFlr5xVkVO4eV/F/J2NCfpbh+pEXQ==} + '@module-federation/error-codes@0.9.0': + resolution: {integrity: sha512-dNqIs5cQfE4p+WIdiZ64cTSRJ5KjGaV+epvZkGttrNjXW9XAAtE7zgpo7cMQ8GWA3wCGaKnFw7Dn48XcU5ZMNw==} + '@module-federation/inject-external-runtime-core-plugin@0.8.10': resolution: {integrity: sha512-NWrMm0AXSNuab6atpaT2cLEhsCrIYvbqLU4d1WDPddgO21X3Seze0JYl7CCA7MD7xCuybtMM7bEDhOv/zS2Vxw==} peerDependencies: @@ -1329,8 +1329,8 @@ packages: '@module-federation/runtime-core@0.6.18': resolution: {integrity: sha512-15xZm3wLq/EkvJNdtpygW83N7i7GxszRB4j6fTdd6R2fUSqk1miB7nOdVb1lBxEUYuXn049Aj2lpDWkqD0mMHg==} - '@module-federation/runtime-core@0.6.19': - resolution: {integrity: sha512-PDMQIkxEWlF9c1ezDl1f+DwzoNoWan/jfhtBoOjp0JiMtPNPe3ZUH0v2++Cbaxc/BRtHT+ILCSDEezC4zF98uw==} + '@module-federation/runtime-core@0.6.21': + resolution: {integrity: sha512-CLQiPP3kpcPbgPkiu/A1VURI2v4geFnEdizlB1tq0c6eDZqb5aLzvp87ZCGDVSuwY7DCq6jh1k+CM2WGge/2xA==} '@module-federation/runtime-tools@0.8.10': resolution: {integrity: sha512-AWBCbtZPIOCKynmAhGVIwQI4ql7nC8HPhCacnMtG/xs0s7HNuYlJPgc0SGyWncInTVFpbgsW0tdnVvFUmXgO0g==} @@ -1341,21 +1341,21 @@ packages: '@module-federation/runtime@0.8.10': resolution: {integrity: sha512-3LPewlMw4wSPpcJwwmG+6u/pG/D870eYwn7xlRZ16g1/ymKG3zDHEGPHCWqyIgLp7qsnjxaNLEZuPsGB5WlAvg==} - '@module-federation/runtime@0.8.11': - resolution: {integrity: sha512-07aBwU5AJltbspOot0gVYDA0PAMNkjBBaIRIUMsLNj9MGx01/YKl13z239UdC0Fk4hFlexpkef8ZvnMPgp4YFA==} - '@module-federation/runtime@0.8.4': resolution: {integrity: sha512-yZeZ7z2Rx4gv/0E97oLTF3V6N25vglmwXGgoeju/W2YjsFvWzVtCDI7zRRb0mJhU6+jmSM8jP1DeQGbea/AiZQ==} + '@module-federation/runtime@0.9.0': + resolution: {integrity: sha512-WByDEbJ/9fEUBOQILQRYX9CpAjCEmiU1MBSRoTg0emRKBcE9Ms5vTBN0XVuO+3gZSeyk08SfmaLtnCaeHK8ABA==} + '@module-federation/sdk@0.8.10': resolution: {integrity: sha512-sU7am0SCE01Ks8Ud8wxq2Bsqzc6TBGYRys2rmi/YhTY6M6Q8sT56WdfhB5/AzsulDOAGY6V8Ug8V24/twT1eBw==} - '@module-federation/sdk@0.8.11': - resolution: {integrity: sha512-h9oXuOABJ5O77TeWZoLO3KNq7HywdZkX2c2rmYEQRRrkuXHgHAQu0nEs7ZuL5YDWNQLUMxoOyTH+sK+JWgvnKQ==} - '@module-federation/sdk@0.8.4': resolution: {integrity: sha512-waABomIjg/5m1rPDBWYG4KUhS5r7OUUY7S+avpaVIY/tkPWB3ibRDKy2dNLLAMaLKq0u+B1qIdEp4NIWkqhqpg==} + '@module-federation/sdk@0.9.0': + resolution: {integrity: sha512-84MklxE6Z79gCAr+6HCyqOpF95pqSah+fGnhLz+g4ePcWf98J73bWfrdOWFO/UfxMRneXKBZBNbpDVvPLgaFeQ==} + '@module-federation/third-party-dts-extractor@0.8.10': resolution: {integrity: sha512-TymdIHOzwRUFoOi+B1F/+8gbJ1FGp8CUHbniUbu/UBUV1C7qQBas2U/zEGGLz+FiGXj3x5Poz1ipXWhl13kAwg==} @@ -2332,6 +2332,9 @@ packages: '@stablelib/x25519@1.0.3': resolution: {integrity: sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw==} + '@starknet-io/types-js@0.7.10': + resolution: {integrity: sha512-1VtCqX4AHWJlRRSYGSn+4X1mqolI1Tdq62IwzoU2vUuEE72S1OlEeGhpvd6XsdqXcfHmVzYfj8k1XtKBQqwo9w==} + '@starknet-io/types-js@0.7.7': resolution: {integrity: sha512-WLrpK7LIaIb8Ymxu6KF/6JkGW1sso988DweWu7p5QY/3y7waBIiPvzh27D9bX5KIJNRDyOoOVoHVEKYUYWZ/RQ==} @@ -4717,6 +4720,7 @@ packages: lodash.isequal@4.5.0: resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + deprecated: This package is deprecated. Use require('node:util').isDeepStrictEqual instead. lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} @@ -6017,9 +6021,8 @@ packages: typescript: optional: true - starkweb@0.0.17: - resolution: {integrity: sha512-flGjou6gr3+cPRUoT0abr81a6EAMf1h3+6datZvPZEMuI2ZX7jV/QE5Ct69wu8RUaUmh0Vk6MXXHCblvfTf3HQ==} - hasBin: true + starkweb@0.0.21: + resolution: {integrity: sha512-fiWg7KPvYKOtZMHmGKt0JKDzDmnRnOuMqxaQWWxuCGmdGAOuC2m4J3XMEppFRztKJq4Qw3aRp1KWS4gRkQIdHA==} peerDependencies: '@tanstack/query-core': 5.66.0 '@tanstack/react-query': 5.66.0 @@ -6773,6 +6776,18 @@ packages: utf-8-validate: optional: true + ws@8.18.1: + resolution: {integrity: sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + xmlhttprequest-ssl@2.1.2: resolution: {integrity: sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ==} engines: {node: '>=0.4.0'} @@ -7995,22 +8010,22 @@ snapshots: - supports-color - utf-8-validate - '@module-federation/enhanced@0.8.10(@rspack/core@1.2.2(@swc/helpers@0.5.15))(bufferutil@4.0.8)(react-dom@19.0.0(react@18.3.1))(react@18.3.1)(typescript@5.6.3)(utf-8-validate@5.0.10)': + '@module-federation/enhanced@0.8.10(@rspack/core@1.2.2(@swc/helpers@0.5.15))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(utf-8-validate@5.0.10)': dependencies: '@module-federation/bridge-react-webpack-plugin': 0.8.10 - '@module-federation/data-prefetch': 0.8.10(react-dom@19.0.0(react@18.3.1))(react@18.3.1) - '@module-federation/dts-plugin': 0.8.10(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@module-federation/data-prefetch': 0.8.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@module-federation/dts-plugin': 0.8.10(bufferutil@4.0.8)(typescript@5.7.3)(utf-8-validate@5.0.10) '@module-federation/error-codes': 0.8.10 '@module-federation/inject-external-runtime-core-plugin': 0.8.10(@module-federation/runtime-tools@0.8.10) '@module-federation/managers': 0.8.10 - '@module-federation/manifest': 0.8.10(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10) - '@module-federation/rspack': 0.8.10(@rspack/core@1.2.2(@swc/helpers@0.5.15))(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@module-federation/manifest': 0.8.10(bufferutil@4.0.8)(typescript@5.7.3)(utf-8-validate@5.0.10) + '@module-federation/rspack': 0.8.10(@rspack/core@1.2.2(@swc/helpers@0.5.15))(bufferutil@4.0.8)(typescript@5.7.3)(utf-8-validate@5.0.10) '@module-federation/runtime-tools': 0.8.10 '@module-federation/sdk': 0.8.10 btoa: 1.2.1 upath: 2.0.1 optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.3 transitivePeerDependencies: - '@rspack/core' - bufferutil @@ -8020,22 +8035,22 @@ snapshots: - supports-color - utf-8-validate - '@module-federation/enhanced@0.8.10(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(utf-8-validate@5.0.10)': + '@module-federation/enhanced@0.8.10(@rspack/core@1.2.2(@swc/helpers@0.5.15))(bufferutil@4.0.8)(react-dom@19.0.0(react@18.3.1))(react@18.3.1)(typescript@5.6.3)(utf-8-validate@5.0.10)': dependencies: '@module-federation/bridge-react-webpack-plugin': 0.8.10 - '@module-federation/data-prefetch': 0.8.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@module-federation/dts-plugin': 0.8.10(bufferutil@4.0.8)(typescript@5.7.3)(utf-8-validate@5.0.10) + '@module-federation/data-prefetch': 0.8.10(react-dom@19.0.0(react@18.3.1))(react@18.3.1) + '@module-federation/dts-plugin': 0.8.10(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10) '@module-federation/error-codes': 0.8.10 '@module-federation/inject-external-runtime-core-plugin': 0.8.10(@module-federation/runtime-tools@0.8.10) '@module-federation/managers': 0.8.10 - '@module-federation/manifest': 0.8.10(bufferutil@4.0.8)(typescript@5.7.3)(utf-8-validate@5.0.10) - '@module-federation/rspack': 0.8.10(bufferutil@4.0.8)(typescript@5.7.3)(utf-8-validate@5.0.10) + '@module-federation/manifest': 0.8.10(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@module-federation/rspack': 0.8.10(@rspack/core@1.2.2(@swc/helpers@0.5.15))(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10) '@module-federation/runtime-tools': 0.8.10 '@module-federation/sdk': 0.8.10 btoa: 1.2.1 upath: 2.0.1 optionalDependencies: - typescript: 5.7.3 + typescript: 5.6.3 transitivePeerDependencies: - '@rspack/core' - bufferutil @@ -8047,10 +8062,10 @@ snapshots: '@module-federation/error-codes@0.8.10': {} - '@module-federation/error-codes@0.8.11': {} - '@module-federation/error-codes@0.8.4': {} + '@module-federation/error-codes@0.9.0': {} + '@module-federation/inject-external-runtime-core-plugin@0.8.10(@module-federation/runtime-tools@0.8.10)': dependencies: '@module-federation/runtime-tools': 0.8.10 @@ -8109,7 +8124,7 @@ snapshots: - supports-color - utf-8-validate - '@module-federation/rspack@0.8.10(bufferutil@4.0.8)(typescript@5.7.3)(utf-8-validate@5.0.10)': + '@module-federation/rspack@0.8.10(@rspack/core@1.2.2(@swc/helpers@0.5.15))(bufferutil@4.0.8)(typescript@5.7.3)(utf-8-validate@5.0.10)': dependencies: '@module-federation/bridge-react-webpack-plugin': 0.8.10 '@module-federation/dts-plugin': 0.8.10(bufferutil@4.0.8)(typescript@5.7.3)(utf-8-validate@5.0.10) @@ -8118,6 +8133,7 @@ snapshots: '@module-federation/manifest': 0.8.10(bufferutil@4.0.8)(typescript@5.7.3)(utf-8-validate@5.0.10) '@module-federation/runtime-tools': 0.8.10 '@module-federation/sdk': 0.8.10 + '@rspack/core': 1.2.2(@swc/helpers@0.5.15) optionalDependencies: typescript: 5.7.3 transitivePeerDependencies: @@ -8131,10 +8147,10 @@ snapshots: '@module-federation/error-codes': 0.8.10 '@module-federation/sdk': 0.8.10 - '@module-federation/runtime-core@0.6.19': + '@module-federation/runtime-core@0.6.21': dependencies: - '@module-federation/error-codes': 0.8.11 - '@module-federation/sdk': 0.8.11 + '@module-federation/error-codes': 0.9.0 + '@module-federation/sdk': 0.9.0 '@module-federation/runtime-tools@0.8.10': dependencies: @@ -8152,22 +8168,18 @@ snapshots: '@module-federation/runtime-core': 0.6.18 '@module-federation/sdk': 0.8.10 - '@module-federation/runtime@0.8.11': - dependencies: - '@module-federation/error-codes': 0.8.11 - '@module-federation/runtime-core': 0.6.19 - '@module-federation/sdk': 0.8.11 - '@module-federation/runtime@0.8.4': dependencies: '@module-federation/error-codes': 0.8.4 '@module-federation/sdk': 0.8.4 - '@module-federation/sdk@0.8.10': + '@module-federation/runtime@0.9.0': dependencies: - isomorphic-rslog: 0.0.7 + '@module-federation/error-codes': 0.9.0 + '@module-federation/runtime-core': 0.6.21 + '@module-federation/sdk': 0.9.0 - '@module-federation/sdk@0.8.11': + '@module-federation/sdk@0.8.10': dependencies: isomorphic-rslog: 0.0.7 @@ -8175,6 +8187,10 @@ snapshots: dependencies: isomorphic-rslog: 0.0.6 + '@module-federation/sdk@0.9.0': + dependencies: + isomorphic-rslog: 0.0.7 + '@module-federation/third-party-dts-extractor@0.8.10': dependencies: find-pkg: 2.0.0 @@ -9093,6 +9109,8 @@ snapshots: '@stablelib/random': 1.0.2 '@stablelib/wipe': 1.0.1 + '@starknet-io/types-js@0.7.10': {} + '@starknet-io/types-js@0.7.7': {} '@swc/counter@0.1.3': {} @@ -12404,6 +12422,10 @@ snapshots: dependencies: ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + isows@1.0.4(ws@8.18.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)): + dependencies: + ws: 8.18.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) + isows@1.0.6(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)): dependencies: ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) @@ -14369,19 +14391,19 @@ snapshots: - utf-8-validate - zod - starkweb@0.0.17(@tanstack/query-core@5.66.0)(@tanstack/react-query@5.66.0(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1): + starkweb@0.0.21(@rspack/core@1.2.2(@swc/helpers@0.5.15))(@tanstack/query-core@5.66.0)(@tanstack/react-query@5.66.0(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1): dependencies: '@0x/utils': 7.0.0(encoding@0.1.13) '@adraffy/ens-normalize': 1.10.0 - '@module-federation/enhanced': 0.8.10(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(utf-8-validate@5.0.10) - '@module-federation/runtime': 0.8.11 + '@module-federation/enhanced': 0.8.10(@rspack/core@1.2.2(@swc/helpers@0.5.15))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(utf-8-validate@5.0.10) + '@module-federation/runtime': 0.9.0 '@noble/curves': 1.4.0 '@noble/hashes': 1.4.0 '@scure/base': 1.1.3 '@scure/bip32': 1.4.0 '@scure/bip39': 1.3.0 '@scure/starknet': 1.0.0 - '@starknet-io/types-js': 0.7.7 + '@starknet-io/types-js': 0.7.10 '@tanstack/query-core': 5.66.0 '@tanstack/react-query': 5.66.0(react@18.3.1) '@types/use-sync-external-store': 0.0.6 @@ -14390,14 +14412,14 @@ snapshots: cac: 6.7.14 cross-spawn: 7.0.6 eventemitter3: 5.0.1 - isows: 1.0.4(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + isows: 1.0.4(ws@8.18.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)) lossless-json: 4.0.2 mipd: 0.0.5(bufferutil@4.0.8)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1) picocolors: 1.1.1 prompts: 2.4.2 react: 18.3.1 use-sync-external-store: 1.2.2(react@18.3.1) - ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + ws: 8.18.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) zustand: 4.4.1(@types/react@18.3.12)(react@18.3.1) optionalDependencies: typescript: 5.7.3 @@ -14415,19 +14437,19 @@ snapshots: - webpack - zod - starkwebkit-next-siwe@0.0.2(connectkit@1.8.2(@babel/core@7.26.0)(@tanstack/react-query@5.66.0(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@16.13.1)(react@18.3.1)(viem@2.23.2(bufferutil@4.0.8)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1))(wagmi@2.14.11(@tanstack/query-core@5.66.0)(@tanstack/react-query@5.66.0(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(typescript@5.7.3)(utf-8-validate@5.0.10)(viem@2.23.2(bufferutil@4.0.8)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1)))(koa@2.15.3)(next@12.3.0(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(starkweb@0.0.17(@tanstack/query-core@5.66.0)(@tanstack/react-query@5.66.0(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1)): + starkwebkit-next-siwe@0.0.2(connectkit@1.8.2(@babel/core@7.26.0)(@tanstack/react-query@5.66.0(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@16.13.1)(react@18.3.1)(viem@2.23.2(bufferutil@4.0.8)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1))(wagmi@2.14.11(@tanstack/query-core@5.66.0)(@tanstack/react-query@5.66.0(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(typescript@5.7.3)(utf-8-validate@5.0.10)(viem@2.23.2(bufferutil@4.0.8)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1)))(koa@2.15.3)(next@12.3.0(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(starkweb@0.0.21(@rspack/core@1.2.2(@swc/helpers@0.5.15))(@tanstack/query-core@5.66.0)(@tanstack/react-query@5.66.0(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1)): dependencies: connectkit: 1.8.2(@babel/core@7.26.0)(@tanstack/react-query@5.66.0(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@16.13.1)(react@18.3.1)(viem@2.23.2(bufferutil@4.0.8)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1))(wagmi@2.14.11(@tanstack/query-core@5.66.0)(@tanstack/react-query@5.66.0(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(typescript@5.7.3)(utf-8-validate@5.0.10)(viem@2.23.2(bufferutil@4.0.8)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1)) iron-session: 6.3.1(koa@2.15.3)(next@12.3.0(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) next: 12.3.0(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - starkweb: 0.0.17(@tanstack/query-core@5.66.0)(@tanstack/react-query@5.66.0(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1) + starkweb: 0.0.21(@rspack/core@1.2.2(@swc/helpers@0.5.15))(@tanstack/query-core@5.66.0)(@tanstack/react-query@5.66.0(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1) transitivePeerDependencies: - express - koa - starkwebkit@0.0.3(@babel/core@7.26.0)(@tanstack/react-query@5.66.0(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@16.13.1)(react@18.3.1)(starkweb@0.0.17(@tanstack/query-core@5.66.0)(@tanstack/react-query@5.66.0(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1)): + starkwebkit@0.0.3(@babel/core@7.26.0)(@tanstack/react-query@5.66.0(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@16.13.1)(react@18.3.1)(starkweb@0.0.21(@rspack/core@1.2.2(@swc/helpers@0.5.15))(@tanstack/query-core@5.66.0)(@tanstack/react-query@5.66.0(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1)): dependencies: '@tanstack/react-query': 5.66.0(react@18.3.1) buffer: 6.0.3 @@ -14439,7 +14461,7 @@ snapshots: react-transition-state: 1.1.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-use-measure: 2.1.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) resize-observer-polyfill: 1.5.1 - starkweb: 0.0.17(@tanstack/query-core@5.66.0)(@tanstack/react-query@5.66.0(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1) + starkweb: 0.0.21(@rspack/core@1.2.2(@swc/helpers@0.5.15))(@tanstack/query-core@5.66.0)(@tanstack/react-query@5.66.0(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1) styled-components: 5.3.11(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react-is@16.13.1)(react@18.3.1) transitivePeerDependencies: - '@babel/core' @@ -15301,6 +15323,11 @@ snapshots: bufferutil: 4.0.8 utf-8-validate: 5.0.10 + ws@8.18.1(bufferutil@4.0.8)(utf-8-validate@5.0.10): + optionalDependencies: + bufferutil: 4.0.8 + utf-8-validate: 5.0.10 + xmlhttprequest-ssl@2.1.2: {} xmlhttprequest@1.8.0: {}