diff --git a/package.json b/package.json index d3850b8..c40046a 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "dist/" ], "scripts": { - "dev": "vite --host 0.0.0.0 --port 8081", + "dev": "vite --host 0.0.0.0 --port 8081 --force", "build": "tsc -b && vite build && tsc --project tsconfig.test.json --outDir dist", "format": "biome format", "format:fix": "biome format --write", @@ -49,7 +49,16 @@ "last 1 safari version" ] }, + "resolutions": { + "@metamask/connect-multichain": "file:../connect-monorepo/packages/connect-multichain", + "@metamask/multichain-ui": "file:../connect-monorepo/packages/multichain-ui", + "@metamask/analytics": "file:../connect-monorepo/packages/analytics" + }, "dependencies": { + "@metamask/connect-multichain": "file:../connect-monorepo/packages/connect-multichain", + "@metamask/multichain-api-client": "^0.10.0", + "@metamask/rpc-errors": "^7.0.3", + "@metamask/solana-wallet-standard": "^0.6.0", "@solana/spl-token": "^0.4.13", "@solana/wallet-adapter-base": "^0.9.23", "@solana/wallet-adapter-react": "^0.15.35", @@ -58,6 +67,7 @@ "@solana/wallet-standard-chains": "^1.1.1", "@solana/wallet-standard-util": "^1.1.2", "@solana/web3.js": "^1.95.5", + "bowser": "^2.13.1", "buffer": "^6.0.3", "react": "^18.3.1", "react-dom": "^18.3.1", @@ -106,7 +116,8 @@ "vite>esbuild": false, "jsdom>ws>bufferutil": false, "jsdom>ws>utf-8-validate": false, - "@solana/spl-token>@solana/buffer-layout-utils>bigint-buffer": false + "@solana/spl-token>@solana/buffer-layout-utils>bigint-buffer": false, + "@metamask/connect-multichain>@metamask/mobile-wallet-protocol-core>centrifuge>protobufjs": false } } } diff --git a/src/App.tsx b/src/App.tsx index fbdf93d..a6cad83 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,12 +1,13 @@ import { ConnectionProvider, WalletProvider } from '@solana/wallet-adapter-react'; import { WalletModalProvider } from '@solana/wallet-adapter-react-ui'; -import { type FC, useMemo } from 'react'; +import { type FC, useEffect, useMemo, useRef } from 'react'; import '@solana/wallet-adapter-react-ui/styles.css'; -import { TestPage } from './pages/TestPage'; - +import { registerSolanaWalletStandard } from '@metamask/solana-wallet-standard'; import { CoinbaseWalletAdapter, PhantomWalletAdapter, SolflareWalletAdapter } from '@solana/wallet-adapter-wallets'; +import { useSDK } from './SDKProvider'; import { EndpointProvider, useEndpoint } from './context/EndpointProvider'; +import { TestPage } from './pages/TestPage'; const AppContent: FC = () => { const { endpoint } = useEndpoint(); @@ -16,6 +17,24 @@ const AppContent: FC = () => { [endpoint], ); + const { getProvider } = useSDK(); + const registered = useRef(false); + useEffect(() => { + if (registered.current) { + return; + } + registered.current = true; + (async () => { + // TODO: fix this + await new Promise((resolve) => setTimeout(resolve, 1000)); // Wait for the SDK to be initialized + + const provider = await getProvider(); + if (provider) { + registerSolanaWalletStandard({ client: provider }); + } + })(); + }, [getProvider]); + return ( diff --git a/src/SDKProvider.tsx b/src/SDKProvider.tsx new file mode 100644 index 0000000..b54a421 --- /dev/null +++ b/src/SDKProvider.tsx @@ -0,0 +1,135 @@ +/* eslint-disable */ + +import { + type InvokeMethodOptions, + type MultichainCore, + type SDKState, + type Scope, + type SessionData, + createMultichainClient, + getInfuraRpcUrls, +} from '@metamask/connect-multichain'; +import type { MultichainApiClient } from '@metamask/multichain-api-client'; +import type { CaipAccountId } from '@metamask/utils'; +import type React from 'react'; +import { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react'; + +const METAMASK_PROD_CHROME_ID = 'nkbihfbeogaeaoehlefnkodbefgpgknn'; + +const SDKContext = createContext< + | { + session: SessionData | undefined; + state: SDKState; + error: Error | null; + connect: (scopes: Scope[], caipAccountIds: CaipAccountId[]) => Promise; + disconnect: () => Promise; + invokeMethod: (options: InvokeMethodOptions) => Promise; + getProvider: () => Promise; + } + | undefined +>(undefined); + +export const SDKProvider = ({ children }: { children: React.ReactNode }) => { + const [state, setState] = useState('pending'); + const [session, setSession] = useState(undefined); + const [error, setError] = useState(null); + + const sdkRef = useRef>(undefined); + + useEffect(() => { + if (!sdkRef.current) { + sdkRef.current = createMultichainClient({ + dapp: { + name: 'playground', + url: 'https://playground.metamask.io', + }, + api: { + supportedNetworks: getInfuraRpcUrls(process.env.INFURA_API_KEY || ''), + }, + transport: { + extensionId: METAMASK_PROD_CHROME_ID, + onNotification: (notification: unknown) => { + const payload = notification as Record; + if ( + payload.method === 'wallet_sessionChanged' || + payload.method === 'wallet_createSession' || + payload.method === 'wallet_getSession' + ) { + setSession(payload.params as SessionData); + } else if (payload.method === 'stateChanged') { + setState(payload.params as SDKState); + } + }, + }, + }); + } + }, []); + + const disconnect = useCallback(async () => { + try { + if (!sdkRef.current) { + throw new Error('SDK not initialized'); + } + const sdkInstance = await sdkRef.current; + return sdkInstance.disconnect(); + } catch (error) { + setError(error as Error); + } + }, []); + + const connect = useCallback(async (scopes: Scope[], caipAccountIds: CaipAccountId[]) => { + try { + if (!sdkRef.current) { + throw new Error('SDK not initialized'); + } + const sdkInstance = await sdkRef.current; + await sdkInstance.connect(scopes, caipAccountIds); + } catch (error) { + setError(error as Error); + } + }, []); + + const invokeMethod = useCallback(async (options: InvokeMethodOptions) => { + try { + if (!sdkRef.current) { + throw new Error('SDK not initialized'); + } + const sdkInstance = await sdkRef.current; + return sdkInstance.invokeMethod(options); + } catch (error) { + setError(error as Error); + } + }, []); + + const getProvider = useCallback(async () => { + if (!sdkRef.current) { + throw new Error('SDK not initialized'); + } + const sdkInstance = await sdkRef.current; + return sdkInstance.provider as MultichainApiClient; + }, []); + + return ( + + {children} + + ); +}; + +export const useSDK = () => { + const context = useContext(SDKContext); + if (context === undefined) { + throw new Error('useSDK must be used within a SDKProvider'); + } + return context; +}; diff --git a/src/main.tsx b/src/main.tsx index dda9c21..7b4c8ac 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -2,9 +2,12 @@ import { StrictMode } from 'react'; import { createRoot } from 'react-dom/client'; import './index.css'; import { App } from './App.tsx'; +import { SDKProvider } from './SDKProvider.tsx'; createRoot(document.getElementById('root')!).render( - + + + , ); diff --git a/vite.config.ts b/vite.config.ts index d01e653..cc8b999 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -18,6 +18,19 @@ export default defineConfig({ }, }), ], + optimizeDeps: { + include: ['bowser'], + esbuildOptions: { + // Force bowser to use the CommonJS entry point which has proper exports + mainFields: ['main', 'module'], + }, + }, + resolve: { + alias: { + // Force all bowser imports to use the root-level bowser package (v2.13.1) + bowser: 'bowser/es5.js', + }, + }, test: { // 👋 add the line below to add jsdom to vite environment: 'jsdom', diff --git a/yarn.lock b/yarn.lock index 7b99bff..6ff4210 100644 --- a/yarn.lock +++ b/yarn.lock @@ -254,6 +254,15 @@ __metadata: languageName: node linkType: hard +"@ecies/ciphers@npm:^0.2.4": + version: 0.2.5 + resolution: "@ecies/ciphers@npm:0.2.5" + peerDependencies: + "@noble/ciphers": ^1.0.0 + checksum: 10/af90636ee51812c9ead6e2c4be006f334bd6e12c5840de9c673b974b1ff3f79776747059257da3cb1731fcbc2d435a67b86dfb18fa90e07a6962c8816e6ab596 + languageName: node + linkType: hard + "@emurgo/cardano-serialization-lib-browser@npm:^13.2.0": version: 13.2.1 resolution: "@emurgo/cardano-serialization-lib-browser@npm:13.2.1" @@ -443,6 +452,16 @@ __metadata: languageName: node linkType: hard +"@ethereumjs/common@npm:^3.2.0": + version: 3.2.0 + resolution: "@ethereumjs/common@npm:3.2.0" + dependencies: + "@ethereumjs/util": "npm:^8.1.0" + crc-32: "npm:^1.2.0" + checksum: 10/b3f612406b6bcefaf9117ceb42eff58d311e2b50205e3d55b4c793d803de517efbc84075e058dc0e2ec27a2bff11dfc279dda1fa2b249ed6ab3973be045898f4 + languageName: node + linkType: hard + "@ethereumjs/common@npm:^4.4.0": version: 4.4.0 resolution: "@ethereumjs/common@npm:4.4.0" @@ -452,6 +471,15 @@ __metadata: languageName: node linkType: hard +"@ethereumjs/rlp@npm:^4.0.1": + version: 4.0.1 + resolution: "@ethereumjs/rlp@npm:4.0.1" + bin: + rlp: bin/rlp + checksum: 10/bfdffd634ce72f3b17e3d085d071f2fe7ce9680aebdf10713d74b30afd80ef882d17f19ff7175fcb049431a56e800bd3558d3b028bd0d82341927edb303ab450 + languageName: node + linkType: hard + "@ethereumjs/rlp@npm:^5.0.2": version: 5.0.2 resolution: "@ethereumjs/rlp@npm:5.0.2" @@ -461,6 +489,18 @@ __metadata: languageName: node linkType: hard +"@ethereumjs/tx@npm:^4.2.0": + version: 4.2.0 + resolution: "@ethereumjs/tx@npm:4.2.0" + dependencies: + "@ethereumjs/common": "npm:^3.2.0" + "@ethereumjs/rlp": "npm:^4.0.1" + "@ethereumjs/util": "npm:^8.1.0" + ethereum-cryptography: "npm:^2.0.0" + checksum: 10/cbd2ffc3ef76ca5416d58f2f694858d9fcac946e6a107fef44cf3f308a7c9fcc996a6847868609354d72d5b356faee68408e9d5601c4c4f7dad8e18cb2c24a95 + languageName: node + linkType: hard + "@ethereumjs/tx@npm:^5.4.0": version: 5.4.0 resolution: "@ethereumjs/tx@npm:5.4.0" @@ -473,6 +513,17 @@ __metadata: languageName: node linkType: hard +"@ethereumjs/util@npm:^8.1.0": + version: 8.1.0 + resolution: "@ethereumjs/util@npm:8.1.0" + dependencies: + "@ethereumjs/rlp": "npm:^4.0.1" + ethereum-cryptography: "npm:^2.0.0" + micro-ftch: "npm:^0.3.1" + checksum: 10/cc35338932e49b15e54ca6e548b32a1f48eed7d7e1d34ee743e4d3600dd616668bd50f70139e86c5c35f55aac35fba3b6cc4e6f679cf650aeba66bf93016200c + languageName: node + linkType: hard + "@ethereumjs/util@npm:^9.0.3, @ethereumjs/util@npm:^9.1.0": version: 9.1.0 resolution: "@ethereumjs/util@npm:9.1.0" @@ -749,6 +800,15 @@ __metadata: languageName: node linkType: hard +"@metamask/analytics@file:../connect-monorepo/packages/analytics::locator=%40metamask%2Ftest-dapp-solana%40workspace%3A.": + version: 0.2.0 + resolution: "@metamask/analytics@file:../connect-monorepo/packages/analytics#../connect-monorepo/packages/analytics::hash=aadd4b&locator=%40metamask%2Ftest-dapp-solana%40workspace%3A." + dependencies: + openapi-fetch: "npm:^0.13.5" + checksum: 10/bd76eaadc46441f1a821589cbc297a218e5535fb25b30664131ec63dad7427dce5e49e684b9030ff2c78d3c4e8d30ecdfc5315de47e26f46d04173269b813539 + languageName: node + linkType: hard + "@metamask/auto-changelog@npm:^5.0.1": version: 5.0.2 resolution: "@metamask/auto-changelog@npm:5.0.2" @@ -765,6 +825,118 @@ __metadata: languageName: node linkType: hard +"@metamask/connect-multichain@file:../connect-monorepo/packages/connect-multichain::locator=%40metamask%2Ftest-dapp-solana%40workspace%3A.": + version: 0.4.0 + resolution: "@metamask/connect-multichain@file:../connect-monorepo/packages/connect-multichain#../connect-monorepo/packages/connect-multichain::hash=af810f&locator=%40metamask%2Ftest-dapp-solana%40workspace%3A." + dependencies: + "@metamask/analytics": "workspace:^" + "@metamask/mobile-wallet-protocol-core": "npm:^0.3.0" + "@metamask/mobile-wallet-protocol-dapp-client": "npm:^0.2.1" + "@metamask/multichain-api-client": "npm:^0.10.1" + "@metamask/multichain-ui": "workspace:^" + "@metamask/onboarding": "npm:^1.0.1" + "@metamask/rpc-errors": "npm:^7.0.3" + "@metamask/utils": "npm:^11.8.1" + "@paulmillr/qr": "npm:^0.2.1" + bowser: "npm:^2.11.0" + cross-fetch: "npm:^4.1.0" + eciesjs: "npm:^0.4.15" + eventemitter3: "npm:^5.0.1" + pako: "npm:^2.1.0" + uuid: "npm:^11.1.0" + ws: "npm:^8.18.3" + peerDependencies: + "@react-native-async-storage/async-storage": ^1.23 + checksum: 10/581bf1ada03e11b413f3ca536e9e5404b0577846e63240a1274ad088492cdc5365a23171e86190a5b429f2b201c44bb0331b76e1abf287a300eb7c9cd22f504b + languageName: node + linkType: hard + +"@metamask/mobile-wallet-protocol-core@npm:^0.3.0, @metamask/mobile-wallet-protocol-core@npm:^0.3.1": + version: 0.3.1 + resolution: "@metamask/mobile-wallet-protocol-core@npm:0.3.1" + dependencies: + centrifuge: "npm:^5.3.5" + eventemitter3: "npm:^5.0.1" + uuid: "npm:^11.1.0" + checksum: 10/2de5aab19913c31f6cfcd6dd97c8217207a511c20535fc2b44c91fdd4b553f63cb96d12bcfc248a9f1c357ddb1e29dd996752be89aa77a64229c52aba8d34625 + languageName: node + linkType: hard + +"@metamask/mobile-wallet-protocol-dapp-client@npm:^0.2.1": + version: 0.2.2 + resolution: "@metamask/mobile-wallet-protocol-dapp-client@npm:0.2.2" + dependencies: + "@metamask/mobile-wallet-protocol-core": "npm:^0.3.1" + "@metamask/utils": "npm:^9.1.0" + uuid: "npm:^11.1.0" + checksum: 10/4a2186e6b6e4fcc96472da2dfe98026ec2fbfe01e2b895dbb0ce0098a789e4948908d46bace9514fd56c8cb80a3afd033b2e71300c8291ff9fd9d6fd7103dca4 + languageName: node + linkType: hard + +"@metamask/multichain-api-client@npm:^0.10.0": + version: 0.10.0 + resolution: "@metamask/multichain-api-client@npm:0.10.0" + checksum: 10/d85f3c26ab9be7edf6aef2ddbf84c362d091c48b60bcebf3a3891b3b84ab9211277ea39ec9f6d8f9e04c805e5410df16ccad736b31a683a7209ac26128070502 + languageName: node + linkType: hard + +"@metamask/multichain-api-client@npm:^0.10.1": + version: 0.10.1 + resolution: "@metamask/multichain-api-client@npm:0.10.1" + checksum: 10/adedb90f433cd619eee54943197dc32eb30e461173e928ea698ec70bf8c6780d9ac0bb9b12a22a17f984170841c071d228aa49e6988d5060e8a30e99c433a8f5 + languageName: node + linkType: hard + +"@metamask/multichain-ui@file:../connect-monorepo/packages/multichain-ui::locator=%40metamask%2Ftest-dapp-solana%40workspace%3A.": + version: 0.3.0 + resolution: "@metamask/multichain-ui@file:../connect-monorepo/packages/multichain-ui#../connect-monorepo/packages/multichain-ui::hash=eeda99&locator=%40metamask%2Ftest-dapp-solana%40workspace%3A." + dependencies: + "@paulmillr/qr": "npm:^0.2.1" + qr-code-styling: "npm:^1.9.2" + checksum: 10/5dc1eeb58f34b40239d312dd28950561ba19e4e1efcb95f1a4ed7c15b35ff730c2e35b2e7cc96c3951a0b4cabea8a0467c79c1ce567725821abef6e78a041b59 + languageName: node + linkType: hard + +"@metamask/onboarding@npm:^1.0.1": + version: 1.0.1 + resolution: "@metamask/onboarding@npm:1.0.1" + dependencies: + bowser: "npm:^2.9.0" + checksum: 10/2aa288e58fc34cb4708e311fc08abd33a0d9bc67671610955a2bd8d43a16330261f1159174c365611e249751ec984da9a9cb963bb0a87b3a6945d7caa6cc8799 + languageName: node + linkType: hard + +"@metamask/rpc-errors@npm:^7.0.3": + version: 7.0.3 + resolution: "@metamask/rpc-errors@npm:7.0.3" + dependencies: + "@metamask/utils": "npm:^11.4.2" + fast-safe-stringify: "npm:^2.0.6" + checksum: 10/3eb3e3665aa20566b04788578f93fdbcb2ca41db103f85a00b0002780da1ad5a3f3e9c26e32d9f01b05d7bcf9537091824433c3247e6c7df11ca384627adb809 + languageName: node + linkType: hard + +"@metamask/solana-wallet-standard@npm:^0.6.0": + version: 0.6.0 + resolution: "@metamask/solana-wallet-standard@npm:0.6.0" + dependencies: + "@solana/wallet-standard-chains": "npm:^1.1.1" + "@solana/wallet-standard-features": "npm:^1.3.0" + "@wallet-standard/base": "npm:^1.1.0" + "@wallet-standard/features": "npm:^1.1.0" + "@wallet-standard/wallet": "npm:^1.1.0" + bs58: "npm:^6.0.0" + checksum: 10/5a04227ed51ce27ffd24d691ba4f4136f07a77c04a79eed1f6eb883c9b98e3be7cdf5527833a8af1e1530936b581f74bb7dd6ba18019346939c77498f3c70ff4 + languageName: node + linkType: hard + +"@metamask/superstruct@npm:^3.1.0": + version: 3.2.1 + resolution: "@metamask/superstruct@npm:3.2.1" + checksum: 10/9e29380f2cf8b129283ccb2b568296d92682b705109ba62dbd7739ffd6a1982fe38c7228cdcf3cbee94dbcdd5fcc1c846ab9d1dd3582167154f914422fcff547 + languageName: node + linkType: hard + "@metamask/test-dapp-solana@workspace:.": version: 0.0.0-use.local resolution: "@metamask/test-dapp-solana@workspace:." @@ -773,6 +945,10 @@ __metadata: "@lavamoat/allow-scripts": "npm:^3.0.4" "@lavamoat/preinstall-always-fail": "npm:^2.0.0" "@metamask/auto-changelog": "npm:^5.0.1" + "@metamask/connect-multichain": "file:../connect-monorepo/packages/connect-multichain" + "@metamask/multichain-api-client": "npm:^0.10.0" + "@metamask/rpc-errors": "npm:^7.0.3" + "@metamask/solana-wallet-standard": "npm:^0.6.0" "@solana/spl-token": "npm:^0.4.13" "@solana/wallet-adapter-base": "npm:^0.9.23" "@solana/wallet-adapter-react": "npm:^0.15.35" @@ -788,6 +964,7 @@ __metadata: "@types/react-dom": "npm:^18.3.1" "@vitejs/plugin-react-swc": "npm:^3.5.0" "@yarnpkg/types": "npm:^4.0.1" + bowser: "npm:^2.13.1" buffer: "npm:^6.0.3" depcheck: "npm:^1.4.7" jsdom: "npm:^26.0.0" @@ -801,6 +978,42 @@ __metadata: languageName: unknown linkType: soft +"@metamask/utils@npm:^11.4.2, @metamask/utils@npm:^11.8.1": + version: 11.8.1 + resolution: "@metamask/utils@npm:11.8.1" + dependencies: + "@ethereumjs/tx": "npm:^4.2.0" + "@metamask/superstruct": "npm:^3.1.0" + "@noble/hashes": "npm:^1.3.1" + "@scure/base": "npm:^1.1.3" + "@types/debug": "npm:^4.1.7" + "@types/lodash": "npm:^4.17.20" + debug: "npm:^4.3.4" + lodash: "npm:^4.17.21" + pony-cause: "npm:^2.1.10" + semver: "npm:^7.5.4" + uuid: "npm:^9.0.1" + checksum: 10/efd3aab7f86b4a74d396cf1d5fc76e748ff78906802fdc15ec9ce2d1a9bd6b035e8e036ea93eb6b9ea33782c70adb9000772eb7a5e0164e8e9e2ebb077dca3ab + languageName: node + linkType: hard + +"@metamask/utils@npm:^9.1.0": + version: 9.3.0 + resolution: "@metamask/utils@npm:9.3.0" + dependencies: + "@ethereumjs/tx": "npm:^4.2.0" + "@metamask/superstruct": "npm:^3.1.0" + "@noble/hashes": "npm:^1.3.1" + "@scure/base": "npm:^1.1.3" + "@types/debug": "npm:^4.1.7" + debug: "npm:^4.3.4" + pony-cause: "npm:^2.1.10" + semver: "npm:^7.5.4" + uuid: "npm:^9.0.1" + checksum: 10/ed6648cd973bbf3b4eb0e862903b795a99d27784c820e19f62f0bc0ddf353e98c2858d7e9aaebc0249a586391b344e35b9249d13c08e3ea0c74b23dc1c6b1558 + languageName: node + linkType: hard + "@mobily/ts-belt@npm:^3.13.1": version: 3.13.1 resolution: "@mobily/ts-belt@npm:3.13.1" @@ -830,6 +1043,13 @@ __metadata: languageName: node linkType: hard +"@noble/ciphers@npm:^1.3.0": + version: 1.3.0 + resolution: "@noble/ciphers@npm:1.3.0" + checksum: 10/051660051e3e9e2ca5fb9dece2885532b56b7e62946f89afa7284a0fb8bc02e2bd1c06554dba68162ff42d295b54026456084198610f63c296873b2f1cd7a586 + languageName: node + linkType: hard + "@noble/curves@npm:1.4.2, @noble/curves@npm:~1.4.0": version: 1.4.2 resolution: "@noble/curves@npm:1.4.2" @@ -875,6 +1095,15 @@ __metadata: languageName: node linkType: hard +"@noble/curves@npm:^1.9.7": + version: 1.9.7 + resolution: "@noble/curves@npm:1.9.7" + dependencies: + "@noble/hashes": "npm:1.8.0" + checksum: 10/3cfe2735ea94972988ca9e217e0ebb2044372a7160b2079bf885da789492a6291fc8bf76ca3d8bf8dee477847ee2d6fac267d1e6c4f555054059f5e8c4865d44 + languageName: node + linkType: hard + "@noble/hashes@npm:1.4.0, @noble/hashes@npm:~1.4.0": version: 1.4.0 resolution: "@noble/hashes@npm:1.4.0" @@ -903,7 +1132,7 @@ __metadata: languageName: node linkType: hard -"@noble/hashes@npm:1.8.0, @noble/hashes@npm:^1.0.0, @noble/hashes@npm:^1.2.0, @noble/hashes@npm:^1.4.0, @noble/hashes@npm:^1.5.0, @noble/hashes@npm:^1.6.1, @noble/hashes@npm:~1.8.0": +"@noble/hashes@npm:1.8.0, @noble/hashes@npm:^1.0.0, @noble/hashes@npm:^1.2.0, @noble/hashes@npm:^1.3.1, @noble/hashes@npm:^1.4.0, @noble/hashes@npm:^1.5.0, @noble/hashes@npm:^1.6.1, @noble/hashes@npm:^1.8.0, @noble/hashes@npm:~1.8.0": version: 1.8.0 resolution: "@noble/hashes@npm:1.8.0" checksum: 10/474b7f56bc6fb2d5b3a42132561e221b0ea4f91e590f4655312ca13667840896b34195e2b53b7f097ec080a1fdd3b58d902c2a8d0fbdf51d2e238b53808a177e @@ -1068,6 +1297,13 @@ __metadata: languageName: node linkType: hard +"@paulmillr/qr@npm:^0.2.1": + version: 0.2.1 + resolution: "@paulmillr/qr@npm:0.2.1" + checksum: 10/69ee9002124496c4c7ed31f376c6f4a8fa1e86d71a14b420b22133baeab416af1349ae173d93e73a9627c2d9813d0a4bc84a64efa4e125436909f7d6d1d39785 + languageName: node + linkType: hard + "@pkgjs/parseargs@npm:^0.11.0": version: 0.11.0 resolution: "@pkgjs/parseargs@npm:0.11.0" @@ -3613,6 +3849,15 @@ __metadata: languageName: node linkType: hard +"@types/debug@npm:^4.1.7": + version: 4.1.12 + resolution: "@types/debug@npm:4.1.12" + dependencies: + "@types/ms": "npm:*" + checksum: 10/47876a852de8240bfdaf7481357af2b88cb660d30c72e73789abf00c499d6bc7cd5e52f41c915d1b9cd8ec9fef5b05688d7b7aef17f7f272c2d04679508d1053 + languageName: node + linkType: hard + "@types/estree@npm:1.0.7, @types/estree@npm:^1.0.0": version: 1.0.7 resolution: "@types/estree@npm:1.0.7" @@ -3620,6 +3865,13 @@ __metadata: languageName: node linkType: hard +"@types/lodash@npm:^4.17.20": + version: 4.17.21 + resolution: "@types/lodash@npm:4.17.21" + checksum: 10/34920830a3bc82ba619cda05e606fef00c148a69b4f19f770645d2587ccdb8e42ef3ddfc174b7884c0c709fc0a1aeb48f7326da969bad12a1464a03efbbe414c + languageName: node + linkType: hard + "@types/minimatch@npm:^3.0.3": version: 3.0.5 resolution: "@types/minimatch@npm:3.0.5" @@ -3627,6 +3879,13 @@ __metadata: languageName: node linkType: hard +"@types/ms@npm:*": + version: 2.1.0 + resolution: "@types/ms@npm:2.1.0" + checksum: 10/532d2ebb91937ccc4a89389715e5b47d4c66e708d15942fe6cc25add6dc37b2be058230a327dd50f43f89b8b6d5d52b74685a9e8f70516edfc9bdd6be910eff4 + languageName: node + linkType: hard + "@types/node-fetch@npm:^2.6.12": version: 2.6.12 resolution: "@types/node-fetch@npm:2.6.12" @@ -4752,6 +5011,13 @@ __metadata: languageName: node linkType: hard +"bowser@npm:^2.13.1, bowser@npm:^2.9.0": + version: 2.13.1 + resolution: "bowser@npm:2.13.1" + checksum: 10/b93c4f92b0ee2225c7bcfd8cd8a657e4abe4dadfae51588e7567b39846d7e47d98dfb4b178a23989eb753a36dc6451a18c5adce7a38bc41f5df7b2de19e4a759 + languageName: node + linkType: hard + "brace-expansion@npm:^1.1.7": version: 1.1.11 resolution: "brace-expansion@npm:1.1.11" @@ -5086,6 +5352,16 @@ __metadata: languageName: node linkType: hard +"centrifuge@npm:^5.3.5": + version: 5.5.2 + resolution: "centrifuge@npm:5.5.2" + dependencies: + events: "npm:^3.3.0" + protobufjs: "npm:^7.2.5" + checksum: 10/d48bff4fe5ab9a1dfe8f1b4100a197c1e90b929f15ba4a5ff5c191c5bbd5f103aa1fe46945338e3f854174c99a90ef94412f142d84410b4c28d309e7ce73ce69 + languageName: node + linkType: hard + "chai@npm:^5.2.0": version: 5.2.0 resolution: "chai@npm:5.2.0" @@ -5317,6 +5593,15 @@ __metadata: languageName: node linkType: hard +"crc-32@npm:^1.2.0": + version: 1.2.2 + resolution: "crc-32@npm:1.2.2" + bin: + crc32: bin/crc32.njs + checksum: 10/824f696a5baaf617809aa9cd033313c8f94f12d15ebffa69f10202480396be44aef9831d900ab291638a8022ed91c360696dd5b1ba691eb3f34e60be8835b7c3 + languageName: node + linkType: hard + "crc@npm:^3.8.0": version: 3.8.0 resolution: "crc@npm:3.8.0" @@ -5379,7 +5664,7 @@ __metadata: languageName: node linkType: hard -"cross-fetch@npm:^4.0.0": +"cross-fetch@npm:^4.0.0, cross-fetch@npm:^4.1.0": version: 4.1.0 resolution: "cross-fetch@npm:4.1.0" dependencies: @@ -5737,6 +6022,18 @@ __metadata: languageName: node linkType: hard +"eciesjs@npm:^0.4.15": + version: 0.4.16 + resolution: "eciesjs@npm:0.4.16" + dependencies: + "@ecies/ciphers": "npm:^0.2.4" + "@noble/ciphers": "npm:^1.3.0" + "@noble/curves": "npm:^1.9.7" + "@noble/hashes": "npm:^1.8.0" + checksum: 10/0b179dc8ad470b976edb1c7f59770c934a36854d22ccab979fea32ae559f017d843c468f8a551523877251e7340df1babef0777acebcf6518341337d8ed7bb94 + languageName: node + linkType: hard + "elliptic@npm:6.6.1, elliptic@npm:^6.4.0, elliptic@npm:^6.5.3, elliptic@npm:^6.5.4, elliptic@npm:^6.5.5": version: 6.6.1 resolution: "elliptic@npm:6.6.1" @@ -6046,7 +6343,7 @@ __metadata: languageName: node linkType: hard -"ethereum-cryptography@npm:^2.1.3, ethereum-cryptography@npm:^2.2.1": +"ethereum-cryptography@npm:^2.0.0, ethereum-cryptography@npm:^2.1.3, ethereum-cryptography@npm:^2.2.1": version: 2.2.1 resolution: "ethereum-cryptography@npm:2.2.1" dependencies: @@ -7340,6 +7637,13 @@ __metadata: languageName: node linkType: hard +"micro-ftch@npm:^0.3.1": + version: 0.3.1 + resolution: "micro-ftch@npm:0.3.1" + checksum: 10/a7ab07d25e28ec4ae492ce4542ea9b06eee85538742b3b1263b247366ee8872f2c5ce9c8651138b2f1d22c8212f691a7b8b5384fe86ead5aff1852e211f1c035 + languageName: node + linkType: hard + "micromatch@npm:^4.0.4": version: 4.0.8 resolution: "micromatch@npm:4.0.8" @@ -7927,6 +8231,22 @@ __metadata: languageName: node linkType: hard +"openapi-fetch@npm:^0.13.5": + version: 0.13.8 + resolution: "openapi-fetch@npm:0.13.8" + dependencies: + openapi-typescript-helpers: "npm:^0.0.15" + checksum: 10/fed630452ac2d6abc680402651d848b7377b651164ca2be61a8c5e1fc89e41b09c928ba9dc92cf7c7ad2d400b3fbe5af380165303f293501dc08cefa4c0f92fd + languageName: node + linkType: hard + +"openapi-typescript-helpers@npm:^0.0.15": + version: 0.0.15 + resolution: "openapi-typescript-helpers@npm:0.0.15" + checksum: 10/63f8f0b8464aed3e5c6910428bd14839bd5c1dd6ddf841bcea9d5f536a6e03e942a028202920da1a8b1ed9e4304c6fca14943d01a8adff2942d1254a229b8c70 + languageName: node + linkType: hard + "os-browserify@npm:^0.3.0": version: 0.3.0 resolution: "os-browserify@npm:0.3.0" @@ -8040,6 +8360,13 @@ __metadata: languageName: node linkType: hard +"pako@npm:^2.1.0": + version: 2.1.0 + resolution: "pako@npm:2.1.0" + checksum: 10/38a04991d0ec4f4b92794a68b8c92bf7340692c5d980255c92148da96eb3e550df7a86a7128b5ac0c65ecddfe5ef3bbe9c6dab13e1bc315086e759b18f7c1401 + languageName: node + linkType: hard + "pako@npm:~1.0.5": version: 1.0.11 resolution: "pako@npm:1.0.11" @@ -8254,6 +8581,13 @@ __metadata: languageName: node linkType: hard +"pony-cause@npm:^2.1.10": + version: 2.1.11 + resolution: "pony-cause@npm:2.1.11" + checksum: 10/ed7d0bb6e3e69f753080bf736b71f40e6ae4c13ec0c8c473ff73345345c088819966fdd68a62ad7482d464bf41176cf9421f5f63715d1a4532005eedc099db55 + languageName: node + linkType: hard + "possible-typed-array-names@npm:^1.0.0": version: 1.1.0 resolution: "possible-typed-array-names@npm:1.1.0" @@ -8375,6 +8709,26 @@ __metadata: languageName: node linkType: hard +"protobufjs@npm:^7.2.5": + version: 7.5.4 + resolution: "protobufjs@npm:7.5.4" + dependencies: + "@protobufjs/aspromise": "npm:^1.1.2" + "@protobufjs/base64": "npm:^1.1.2" + "@protobufjs/codegen": "npm:^2.0.4" + "@protobufjs/eventemitter": "npm:^1.1.0" + "@protobufjs/fetch": "npm:^1.1.0" + "@protobufjs/float": "npm:^1.0.2" + "@protobufjs/inquire": "npm:^1.1.0" + "@protobufjs/path": "npm:^1.1.2" + "@protobufjs/pool": "npm:^1.1.0" + "@protobufjs/utf8": "npm:^1.1.0" + "@types/node": "npm:>=13.7.0" + long: "npm:^5.0.0" + checksum: 10/88d677bb6f11a2ecec63fdd053dfe6d31120844d04e865efa9c8fbe0674cd077d6624ecfdf014018a20dcb114ae2a59c1b21966dd8073e920650c71370966439 + languageName: node + linkType: hard + "proxy-compare@npm:2.6.0": version: 2.6.0 resolution: "proxy-compare@npm:2.6.0" @@ -8429,6 +8783,15 @@ __metadata: languageName: node linkType: hard +"qr-code-styling@npm:^1.9.2": + version: 1.9.2 + resolution: "qr-code-styling@npm:1.9.2" + dependencies: + qrcode-generator: "npm:^1.4.4" + checksum: 10/0b94629511935adaf1f777df96e486fcf897e3a632fe4d3259b58405fd98ea61635694ae08eebd4efab81e2e2e68f4ee6fde095018c7b472b5063ce0967519d2 + languageName: node + linkType: hard + "qr.js@npm:0.0.0": version: 0.0.0 resolution: "qr.js@npm:0.0.0" @@ -8436,6 +8799,13 @@ __metadata: languageName: node linkType: hard +"qrcode-generator@npm:^1.4.4": + version: 1.5.2 + resolution: "qrcode-generator@npm:1.5.2" + checksum: 10/79a8d466227922cd066364a5d0e58b78f45051463594159f95987f7e8925d6e2c67ec776d38eaeda74d3e4d95ea79c74c4261b6bc19790f55b3d562888765d71 + languageName: node + linkType: hard + "qrcode.react@npm:^1.0.1": version: 1.0.1 resolution: "qrcode.react@npm:1.0.1" @@ -9956,7 +10326,16 @@ __metadata: languageName: node linkType: hard -"uuid@npm:^9.0.0": +"uuid@npm:^11.1.0": + version: 11.1.0 + resolution: "uuid@npm:11.1.0" + bin: + uuid: dist/esm/bin/uuid + checksum: 10/d2da43b49b154d154574891ced66d0c83fc70caaad87e043400cf644423b067542d6f3eb641b7c819224a7cd3b4c2f21906acbedd6ec9c6a05887aa9115a9cf5 + languageName: node + linkType: hard + +"uuid@npm:^9.0.0, uuid@npm:^9.0.1": version: 9.0.1 resolution: "uuid@npm:9.0.1" bin: @@ -10480,6 +10859,21 @@ __metadata: languageName: node linkType: hard +"ws@npm:^8.18.3": + version: 8.18.3 + resolution: "ws@npm:8.18.3" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10/725964438d752f0ab0de582cd48d6eeada58d1511c3f613485b5598a83680bedac6187c765b0fe082e2d8cc4341fc57707c813ae780feee82d0c5efe6a4c61b6 + languageName: node + linkType: hard + "ws@npm:~8.17.1": version: 8.17.1 resolution: "ws@npm:8.17.1"