diff --git a/.github/workflows/build-elm.yml b/.github/workflows/build-elm.yml index 280ca40..998b448 100644 --- a/.github/workflows/build-elm.yml +++ b/.github/workflows/build-elm.yml @@ -30,4 +30,4 @@ jobs: - name: Build Elm project run: | - cd tp-frontend && elm make src/ThirdPlaceApp.elm --output=/dev/null + cd tp-frontend && elm make src/UI/Main.elm --output=/dev/null diff --git a/.gitignore b/.gitignore index de853e6..67545a5 100644 --- a/.gitignore +++ b/.gitignore @@ -2,18 +2,20 @@ attached_assets/ elm-stuff/ -.gradle/ .idea/ launch.json settings.json build/ +.amazonq/ + node_modules/ +dist/ # Elm/frontend files bin/ deploy/ -tpapp.js +main.js # Relay files tp-ipfs/ diff --git a/.llmrc/INSTRUCTIONS.md b/.llmrc/INSTRUCTIONS.md deleted file mode 100644 index 4ce1adc..0000000 --- a/.llmrc/INSTRUCTIONS.md +++ /dev/null @@ -1,23 +0,0 @@ -# Instructions for LLMs - -## Introduction - -We are creating a website called ThirdPlace that acts as a third place. Users are able to interact -with others in rooms, which are geolocked. The main goal of the website/app is to get people to make -real life connections through interactions on the app. It is meant to be completely free and fair to all users. - -One of the main aspects of ThirdPlace is its decentralization. It is meant to be able to be reached from anywhere -and anyone can host a service. - -## Project stack - -- Elm for the webpage model -- JS to integrate with LibP2P for WebRTC P2P uses -- Node.js to host a LibP2P WebRTC "bootstrap" server. Hosted by an Akash node. See more in /tp-relay/README.md - -## Special Instructions - -- Save user and project preferences to MEMORIES.md -- Be conscious of response sizes; try to be efficient and concise -- Each sub-project (frontend, server) has their own .llmrc/ (large language model resource) directory to reference for - specific instructions for that project. diff --git a/.llmrc/MEMORIES.md b/.llmrc/MEMORIES.md deleted file mode 100644 index 3bd879d..0000000 --- a/.llmrc/MEMORIES.md +++ /dev/null @@ -1,20 +0,0 @@ -# Stored memories - -## User memories - -Schema: -` -@github_user: { - - Memory 1 - - Memory 2 - - ... -} -` - -@ldaias: { - - Nothing yet -} - -## Project memories - -- Nothing yet \ No newline at end of file diff --git a/README.md b/README.md index 141ba58..03c83b8 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,70 @@ # ThirdPlace -A free and open sourced social hangout, designed to get people talking with no pressure and no bullshit. -See the [wiki](https://github.com/ldaIas/ThirdPlace/wiki) +A decentralized social coordination app that helps people find others to join them for real-world activities, fostering authentic connections and combating social isolation. + +## The Problem + +Singles and small groups often want to engage in social activities (bars, coffee shops, hiking, events) but avoid going alone. Existing solutions like Meetup focus on large recurring groups, while dating apps create artificial high-pressure interactions. Many people end up staying home instead of enjoying activities they'd love to do. + +## The Solution + +ThirdPlace enables ad-hoc social coordination where users can: + +- Propose activities ("Who wants to grab coffee at [Cafe Name] at 2pm?") +- Join others' activity proposals in their local area +- Form small, intimate groups (1-on-1 to small groups of 3-4) +- Connect in low-pressure, activity-focused settings +- Meet people in their actual community/geographic area + +## Key Features + +- **Activity-focused**: Organize around specific venues and times, not abstract socializing +- **Geographic filtering**: Only see and connect with people in your local community +- **Ephemeral posts**: Activities expire after their event time to keep content fresh +- **Gender balancing**: Optional balanced group formation for more natural social dynamics +- **Direct messaging**: Coordinate details before meeting up + +## Technical Architecture + +ThirdPlace is built as a decentralized application using: + +- **Frontend**: Elm for reliable UI with JavaScript for effects +- **Data Storage**: IPFS for distributed content storage +- **Database**: OrbitDB for stateful data management (posts, RSVPs, messages) +- **Persistence**: Pinning services ensure content availability +- **Infrastructure**: Decentralized backend on Akash Network + +### Why Decentralized? + +- **User-first design**: No algorithms optimizing for engagement over user success +- **Community ownership**: No central authority controlling social interactions +- **Privacy-focused**: Data distributed across network, not centralized in corporate databases +- **Transparent operations**: Open source and auditable + +## Development Status + +🚧 **Currently in development** - Building MVP with core activity coordination features. + +### Current Phase: IPFS Foundation +Setting up basic distributed content storage and retrieval capabilities. + +## Getting Started + +*Development setup instructions will be added as the project progresses.* + +## Contributing + +This project is fully open source. Contributions welcome through: +- Code contributions (PRs) +- Community feedback and testing +- Donations for development and infrastructure + +## Vision + +ThirdPlace aims to recreate the social coordination that historically happened in physical "third places" (spaces outside work and home) by providing digital tools that facilitate real-world connections rather than replacing them. + +The goal is to get people off their phones and into shared activities with their neighbors and community members. # License GNU AFFERO GENERAL PUBLIC LICENSE Version 3 See LICENSE - -# Development - See contributing/ - diff --git a/tp-frontend/.llmrc/INSTRUCTIONS.md b/tp-frontend/.llmrc/INSTRUCTIONS.md deleted file mode 100644 index e1e4754..0000000 --- a/tp-frontend/.llmrc/INSTRUCTIONS.md +++ /dev/null @@ -1,29 +0,0 @@ -# ThirdPlace Frontend Overview - -## Introduction - -ThirdPlace is a decentralized social app designed to foster conversation and community. The frontend is a single-page application focused on simplicity, anonymity, and resilience, served entirely over IPFS. - -We are in the frontend project root directory. -The frontend page model is written in and controlled by the Elm files. -The Elm files have ports for integrating with the Libp2p and KILT javascript libraries. -The port definition and implementations are in the JSPorts/ directory. - -## Technologies - -- Elm – Main frontend language (pure functional, type-safe) - - Ports – Used to interop with JavaScript (e.g., LibP2P bindings) -- IPFS – Used to host and serve the static frontend (fully decentralized) -- LibP2P (via JS) – Enables real-time P2P chat via WebRTC -- IndexedDB / localStorage – For client-side state persistence -- Polkadot/KILT blockhains - web3 identities for authentication - -## Deployment - -With decentralization at the core of the whole project, the webpage will be served via IPFS (InterPlanetary File System) -rather than from some host machine. Thus there is also no domain name. End users will reach the app via the ipfs url or http gateway. - -The webpage is an SPA elm app, so we just need to serve a single index.html file that has the necessary javascript resources. -The elm compiles to a js file (currently tpapp.js). We take this, the stylesheets, other resources, and the javascript files from JSPorts, -and put them in a folder named "deploy." This directory is then served to IPFS. -Currently this is a manual process and the file is uploaded via the IPFS desktop client, but the idea is to have this automated eventually. diff --git a/tp-frontend/PACKAGES.md b/tp-frontend/PACKAGES.md deleted file mode 100644 index 2e63949..0000000 --- a/tp-frontend/PACKAGES.md +++ /dev/null @@ -1,13 +0,0 @@ -# Javascript Packages - -This file is just to document packages, where they are used, and if there is a particular reason for an outdated version - -- "@chainsafe/libp2p-noise" -- "@kiltprotocol/core": "^0.35.2" -- "@kiltprotocol/did": "^0.35.2" Must be same as @kiltprotocol/core -- "@libp2p/kad-dht" -- "@libp2p/peer-id" -- "@libp2p/webrtc" -- "@polkadot/extension-dapp" -- "eslint" -- "libp2p" diff --git a/tp-frontend/README.md b/tp-frontend/README.md index 55e025b..75453f4 100644 --- a/tp-frontend/README.md +++ b/tp-frontend/README.md @@ -1,129 +1,4 @@ +# tp-frontend README -# ThirdPlace Frontend +This is the directory for the frontend, user facing, side of ThirdPlace. -A decentralized social application frontend designed to foster conversation and community. The frontend is a single-page application focused on simplicity, anonymity, and resilience, served entirely over IPFS. - -## Overview - -ThirdPlace is a decentralized social app that enables real-time P2P chat through WebRTC, with web3 identity authentication via KILT blockchain. The application prioritizes user privacy and decentralized infrastructure. - -## Technologies - -- **Elm** – Main frontend language (pure functional, type-safe) - - Ports – Used for JavaScript interop (LibP2P, KILT integration) -- **IPFS** – Hosts and serves the static frontend (fully decentralized) -- **LibP2P (via JS)** – Enables real-time P2P chat via WebRTC -- **IndexedDB / localStorage** – Client-side state persistence -- **Polkadot/KILT blockchain** – Web3 identities for authentication -- **Vite** – Development server and build tooling - -## Project Structure - -``` -tp-frontend/ -├── src/ -│ ├── JSPorts/ # JavaScript interop ports -│ │ ├── Identity/ # KILT identity management -│ │ ├── Sporran/ # Sporran wallet integration -│ │ ├── Geohash/ # Location-based room discovery -│ │ ├── RoomPubsub/ # Room messaging system -│ │ └── WebRTC/ # P2P communication -│ ├── Views/ # UI components -│ │ ├── Login/ # Authentication interface -│ │ ├── Room/ # Chat room interface -│ │ └── ThirdPlaceAppView.elm -│ ├── Utils/ # Utility functions -│ ├── ThirdPlaceApp.elm # Main application entry point -│ └── ThirdPlaceModel.elm # Application state model -├── stylesheets/ # CSS styling -├── index.html # HTML entry point -├── build.sh # Elm compilation script -├── serve.sh # Development server script -└── package.json # Node.js dependencies -``` - -## Development Setup - -### Prerequisites - -- [Elm](https://guide.elm-lang.org/install/elm.html) -- Node.js and npm -- Modern web browser with WebRTC support - -### Installation - -1. Install dependencies: - ```bash - npm install - ``` - -2. Build the Elm application: - ```bash - sh build.sh - ``` - -3. Start the development server: - ```bash - sh serve.sh - ``` - -The application will be available at `http://localhost:5173/` - -## Architecture - -### Elm Application -The main application is written in Elm (`ThirdPlaceApp.elm`) using The Elm Architecture (TEA) pattern with: -- **Model** – Application state -- **Update** – State transitions -- **View** – UI rendering -- **Subscriptions** – External event handling - -### JavaScript Ports -JavaScript integration is handled through Elm ports in the `JSPorts/` directory: -- **Identity** – KILT DID generation and authentication -- **Sporran** – Wallet connectivity -- **WebRTC** – P2P communication setup -- **Geohash** – Location-based room discovery -- **RoomPubsub** – Real-time messaging - -### UI Components -- **Login View** – User authentication interface -- **Room View** – Main chat interface with conversation panel and chat panel -- **Chat Panel** – Message display and input -- **Conversations** – Room/conversation management - -## Deployment - -_This is a manual process right now, but we hope to make this automatic._ -The application is designed for decentralized deployment via IPFS: - -1. Build the application: - ```bash - sh build.sh - ``` - -2. Collect all assets (HTML, CSS, JS, compiled Elm) into a deployment folder - -3. Upload to IPFS for decentralized hosting - -Users access the application via IPFS URLs or HTTP gateways rather than traditional domain names. - -## Features - -- **Decentralized Identity** – KILT blockchain-based authentication -- **P2P Communication** – Direct WebRTC connections for chat -- **Location-based Rooms** – Geohash-based room discovery -- **Privacy-focused** – No central servers for messaging -- **Anonymous by Design** – Optional identity disclosure -- **IPFS Hosting** – Fully decentralized application delivery - -## Development Commands - -- `npm run dev` – Start development server -- `npm run build` – Build for production -- `sh build.sh` – Compile Elm to JavaScript -- `sh serve.sh` – Start development server (via npm) - -## License - -GNU AFFERO GENERAL PUBLIC LICENSE Version 3 - See [LICENSE](../LICENSE) diff --git a/tp-frontend/build.sh b/tp-frontend/build.sh deleted file mode 100644 index 78902c9..0000000 --- a/tp-frontend/build.sh +++ /dev/null @@ -1 +0,0 @@ -elm make src/ThirdPlaceApp.elm --output=tpapp.js diff --git a/tp-frontend/index.html b/tp-frontend/index.html index 1004403..4eb67df 100644 --- a/tp-frontend/index.html +++ b/tp-frontend/index.html @@ -1,33 +1,14 @@ - - - + + - - ThirdPlace Login - - - - - - - - - - + + + ThirdPlace + - - +
+ + - \ No newline at end of file diff --git a/tp-frontend/ipfs.ts b/tp-frontend/ipfs.ts new file mode 100644 index 0000000..10b2231 --- /dev/null +++ b/tp-frontend/ipfs.ts @@ -0,0 +1,132 @@ +import { createHelia, HeliaLibp2p as Helia } from 'helia'; +import { json, type JSON } from '@helia/json'; +import { CID } from 'multiformats/cid'; + +interface IPFSManager { + helia: Helia | null; + peerCount: number; + status: string; +} + +class IPFSService { + private manager: IPFSManager = { + helia: null, + peerCount: 0, + status: 'Connecting...' + }; + + private statusCallback: ((status: string, peerCount: number) => void) | null = null; + + async initialize(): Promise { + try { + this.manager.helia = await createHelia(); + this.manager.status = 'Connected to IPFS'; + + // Set up peer count monitoring + this.setupPeerMonitoring(); + + this.updateStatus(); + } catch (error) { + console.error('Failed to initialize Helia:', error); + this.manager.status = 'Connection failed'; + this.updateStatus(); + } + } + + private setupPeerMonitoring(): void { + if (!this.manager.helia) return; + + const updatePeerCount = () => { + if (this.manager.helia) { + const peers = this.manager.helia.libp2p.getPeers(); + this.manager.peerCount = peers.length; + this.updateStatus(); + } + }; + + // Update peer count immediately + updatePeerCount(); + + // Monitor peer connections + this.manager.helia.libp2p.addEventListener('peer:connect', updatePeerCount); + this.manager.helia.libp2p.addEventListener('peer:disconnect', updatePeerCount); + + // Periodic update + setInterval(updatePeerCount, 5000); + } + + private updateStatus(): void { + if (this.statusCallback) { + const statusText = this.manager.status === 'Connected to IPFS' + ? `Connected to IPFS (${this.manager.peerCount} peers)` + : this.manager.status; + + this.statusCallback(statusText, this.manager.peerCount); + } + } + + onStatusChange(callback: (status: string, peerCount: number) => void): void { + this.statusCallback = callback; + } + + getPeerCount(): number { + return this.manager.peerCount; + } + + getStatus(): string { + return this.manager.status; + } + + async publishTestContent(): Promise { + if (!this.manager.helia) { + console.error('Helia not initialized'); + return null; + } + + try { + const j = json(this.manager.helia); + const testData = { + message: 'Hello from ThirdPlace!', + timestamp: new Date().toISOString(), + type: 'test-content' + }; + + const cid = await j.add(testData); + console.log('Published test content with CID:', cid.toString()); + return cid.toString(); + } catch (error) { + console.error('Failed to publish test content:', error); + return null; + } + } + + async retrieveContent(cidString: string): Promise { + if (!this.manager.helia) { + console.error('Helia not initialized'); + return null; + } + + try { + const j = json(this.manager.helia); + const cid = CID.parse(cidString); + const content = await j.get(cid); + console.log('Retrieved content:', content); + return content; + } catch (error) { + console.error('Failed to retrieve content:', error); + return null; + } + } + + async stop(): Promise { + if (this.manager.helia) { + await this.manager.helia.stop(); + this.manager.helia = null; + this.manager.peerCount = 0; + this.manager.status = 'Disconnected'; + this.updateStatus(); + } + } +} + +export const ipfsService = new IPFSService(); \ No newline at end of file diff --git a/tp-frontend/package-lock.json b/tp-frontend/package-lock.json index 97360b1..737fcbe 100644 --- a/tp-frontend/package-lock.json +++ b/tp-frontend/package-lock.json @@ -5,28 +5,38 @@ "packages": { "": { "dependencies": { - "@chainsafe/libp2p-gossipsub": "^14.1.1", - "@chainsafe/libp2p-noise": "^16.1.0", - "@chainsafe/libp2p-yamux": "^7.0.1", - "@kiltprotocol/core": "^0.35.2", - "@kiltprotocol/did": "^0.35.2", - "@libp2p/bootstrap": "^11.0.35", - "@libp2p/circuit-relay-v2": "3.2.14", - "@libp2p/identify": "^3.0.29", - "@libp2p/kad-dht": "^14.2.15", - "@libp2p/mplex": "^11.0.35", - "@libp2p/peer-id": "^5.1.0", - "@libp2p/pubsub-peer-discovery": "^11.0.1", - "@libp2p/webrtc": "5.2.12", - "@libp2p/webrtc-star": "^7.0.0", - "@libp2p/websockets": "^9.2.10", - "@polkadot/extension-dapp": "0.58.9", - "eslint": "9.26.0", - "libp2p": "^2.8.5", - "ngeohash": "^0.6.3" + "@helia/json": "^3.0.5", + "helia": "^4.2.6" }, "devDependencies": { - "vite": "^6.2.5" + "typescript": "^5.0.0", + "vite": "7.0.6" + } + }, + "node_modules/@achingbrain/nat-port-mapper": { + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/@achingbrain/nat-port-mapper/-/nat-port-mapper-1.0.18.tgz", + "integrity": "sha512-B3sD+1KmD6qtmnCSdTtoMIwsw5Lj8XNDWnPakXnChm92eaFO7JRfS76oCts6iMFttJzOHq7FT0sNY7sDcbvosA==", + "dependencies": { + "@achingbrain/ssdp": "^4.0.1", + "@libp2p/logger": "^5.0.1", + "default-gateway": "^7.2.2", + "err-code": "^3.0.1", + "it-first": "^3.0.1", + "p-defer": "^4.0.0", + "p-timeout": "^6.1.1", + "xml2js": "^0.6.0" + } + }, + "node_modules/@achingbrain/ssdp": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@achingbrain/ssdp/-/ssdp-4.2.4.tgz", + "integrity": "sha512-1dZIV7dwYJRS1sTA0qIDzsMdwZAnPa7DGb2YuPqMq4PjEjvzBBuz2WIsXnrkRFCNY00JuqLiMby9GecnGsOgaQ==", + "dependencies": { + "abort-error": "^1.0.0", + "freeport-promise": "^2.0.0", + "merge-options": "^3.0.4", + "xml2js": "^0.6.2" } }, "node_modules/@ampproject/remapping": { @@ -1973,94 +1983,11 @@ "resolved": "https://registry.npmjs.org/@chainsafe/as-chacha20poly1305/-/as-chacha20poly1305-0.1.0.tgz", "integrity": "sha512-BpNcL8/lji/GM3+vZ/bgRWqJ1q5kwvTFmGPk7pxm/QQZDbaMI98waOHjEymTjq2JmdD/INdNBFOVSyJofXg7ew==" }, - "node_modules/@chainsafe/as-sha256": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@chainsafe/as-sha256/-/as-sha256-1.0.1.tgz", - "integrity": "sha512-4Y/kQm0LsJ6QRtGcMq6gOdQP+fZhWDfIV2eIqP6oFJZBWYGmdh3wm8YbrXDPLJO87X2Fu6koRLdUS00O3k14Hw==" - }, "node_modules/@chainsafe/is-ip": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/@chainsafe/is-ip/-/is-ip-2.1.0.tgz", "integrity": "sha512-KIjt+6IfysQ4GCv66xihEitBjvhU/bixbbbFxdJ1sqCp4uJ0wuZiYBPhksZoy4lfaF0k9cwNzY5upEW/VWdw3w==" }, - "node_modules/@chainsafe/libp2p-gossipsub": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/@chainsafe/libp2p-gossipsub/-/libp2p-gossipsub-14.1.1.tgz", - "integrity": "sha512-EUs2C+xHXXbw0pQQF2AN/ih4qB6BBWOGkDhvHz1VN52o2m/827IBEMT8RHdXMNZciQc90to1L57BKmhXkvztDw==", - "dependencies": { - "@libp2p/crypto": "^5.0.0", - "@libp2p/interface": "^2.0.0", - "@libp2p/interface-internal": "^2.0.0", - "@libp2p/peer-id": "^5.0.0", - "@libp2p/pubsub": "^10.0.0", - "@multiformats/multiaddr": "^12.1.14", - "denque": "^2.1.0", - "it-length-prefixed": "^9.0.4", - "it-pipe": "^3.0.1", - "it-pushable": "^3.2.3", - "multiformats": "^13.0.1", - "protons-runtime": "^5.5.0", - "uint8arraylist": "^2.4.8", - "uint8arrays": "^5.0.1" - }, - "engines": { - "npm": ">=8.7.0" - } - }, - "node_modules/@chainsafe/libp2p-gossipsub/node_modules/it-length-prefixed": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-9.1.1.tgz", - "integrity": "sha512-O88nBweT6M9ozsmok68/auKH7ik/slNM4pYbM9lrfy2z5QnpokW5SlrepHZDKtN71llhG2sZvd6uY4SAl+lAQg==", - "dependencies": { - "it-reader": "^6.0.1", - "it-stream-types": "^2.0.1", - "uint8-varint": "^2.0.1", - "uint8arraylist": "^2.0.0", - "uint8arrays": "^5.0.1" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@chainsafe/libp2p-noise": { - "version": "16.1.0", - "resolved": "https://registry.npmjs.org/@chainsafe/libp2p-noise/-/libp2p-noise-16.1.0.tgz", - "integrity": "sha512-GJA/i5pd6VmetxokvnPlEbVCeL7SfLHkSuUHwbJ4w0u7dZUbse4Hr8SA8RYGwNHbZr2TEKFC9WerhvMWbciIrQ==", - "dependencies": { - "@chainsafe/as-chacha20poly1305": "^0.1.0", - "@chainsafe/as-sha256": "^1.0.0", - "@libp2p/crypto": "^5.0.0", - "@libp2p/interface": "^2.0.0", - "@libp2p/peer-id": "^5.0.0", - "@noble/ciphers": "^1.1.3", - "@noble/curves": "^1.1.0", - "@noble/hashes": "^1.3.1", - "it-length-prefixed": "^10.0.1", - "it-length-prefixed-stream": "^1.0.0", - "it-pair": "^2.0.6", - "it-pipe": "^3.0.1", - "it-stream-types": "^2.0.1", - "protons-runtime": "^5.5.0", - "uint8arraylist": "^2.4.3", - "uint8arrays": "^5.0.0", - "wherearewe": "^2.0.1" - } - }, - "node_modules/@chainsafe/libp2p-yamux": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@chainsafe/libp2p-yamux/-/libp2p-yamux-7.0.1.tgz", - "integrity": "sha512-949MI0Ll0AsYq1gUETZmL/MijwX0jilOQ1i4s8wDEXGiMhuPWWiMsPgEnX6n+VzFmTrfNYyGaaJj5/MqxV9y/g==", - "dependencies": { - "@libp2p/interface": "^2.0.0", - "@libp2p/utils": "^6.0.0", - "get-iterator": "^2.0.1", - "it-foreach": "^2.0.6", - "it-pushable": "^3.2.3", - "it-stream-types": "^2.0.1", - "uint8arraylist": "^2.4.8" - } - }, "node_modules/@chainsafe/netmask": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@chainsafe/netmask/-/netmask-2.0.0.tgz", @@ -2469,260 +2396,540 @@ "node": ">=18" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.5.1.tgz", - "integrity": "sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w==", + "node_modules/@helia/bitswap": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@helia/bitswap/-/bitswap-1.1.4.tgz", + "integrity": "sha512-BcmIc2FZ0NEjSYrwJxzFO5OapcOCBfcHmaBKaDoPNVh1egLLUkws2a7C3hPH5ZR7PXGQPXonH1YFz1CKYypzgA==", + "dependencies": { + "@helia/interface": "^4.3.1", + "@helia/utils": "^0.3.3", + "@libp2p/interface": "^1.1.4", + "@libp2p/logger": "^4.0.5", + "@libp2p/peer-collections": "^5.1.6", + "@libp2p/utils": "^5.2.3", + "@multiformats/multiaddr": "^12.1.14", + "any-signal": "^4.1.1", + "interface-blockstore": "^5.2.9", + "interface-store": "^5.1.7", + "it-drain": "^3.0.5", + "it-length-prefixed": "^9.0.0", + "it-length-prefixed-stream": "^1.1.6", + "it-map": "^3.0.5", + "it-pipe": "^3.0.1", + "it-take": "^3.0.1", + "multiformats": "^13.0.1", + "p-defer": "^4.0.0", + "progress-events": "^1.0.0", + "protons-runtime": "^5.0.0", + "race-event": "^1.2.0", + "uint8-varint": "^2.0.3", + "uint8arraylist": "^2.4.3", + "uint8arrays": "^5.0.1" + } + }, + "node_modules/@helia/bitswap/node_modules/@libp2p/crypto": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-4.1.9.tgz", + "integrity": "sha512-8Cf2VKh0uC/rQLvTLSloIOMqUvf4jsSTHXgjWQRf47lDNJlNNI0wSv2S6gakT72GZsRV/jCjYwKPqRlsa5S0iA==", "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "@libp2p/interface": "^1.7.0", + "@noble/curves": "^1.4.0", + "@noble/hashes": "^1.4.0", + "asn1js": "^3.0.5", + "multiformats": "^13.1.0", + "protons-runtime": "^5.4.0", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.1.0" } }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node_modules/@helia/bitswap/node_modules/@libp2p/interface": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-1.7.0.tgz", + "integrity": "sha512-/zFyaIaIGW0aihhsH7/93vQdpWInUzFocxF11RO/029Y6h0SVjs24HHbils+DqaFDTqN+L7oNlBx2rM2MnmTjA==", + "dependencies": { + "@multiformats/multiaddr": "^12.2.3", + "it-pushable": "^3.2.3", + "it-stream-types": "^2.0.1", + "multiformats": "^13.1.0", + "progress-events": "^1.0.0", + "uint8arraylist": "^2.4.8" } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node_modules/@helia/bitswap/node_modules/@libp2p/logger": { + "version": "4.0.20", + "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-4.0.20.tgz", + "integrity": "sha512-TTh2dhHsOTAlMPxSa9ncFPHa/0jTt+0AQxwHdlxg/OGLAgc9VRhnrhHUbJZp07Crcw4T/MOfS4KhjlxgqYgJRw==", + "dependencies": { + "@libp2p/interface": "^1.7.0", + "@multiformats/multiaddr": "^12.2.3", + "interface-datastore": "^8.2.11", + "multiformats": "^13.1.0", + "weald": "^1.0.2" } }, - "node_modules/@eslint/config-array": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.0.tgz", - "integrity": "sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==", + "node_modules/@helia/bitswap/node_modules/@libp2p/peer-collections": { + "version": "5.2.9", + "resolved": "https://registry.npmjs.org/@libp2p/peer-collections/-/peer-collections-5.2.9.tgz", + "integrity": "sha512-8gBmzQlCWjjb+FSQBKK33T25Y5Df/8FWCXFtJDsprVxVUzDOQoibQJ5Tb4Y+mb96HUhNzoaRWVEamB78MMB3DA==", "dependencies": { - "@eslint/object-schema": "^2.1.6", - "debug": "^4.3.1", - "minimatch": "^3.1.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "@libp2p/interface": "^1.7.0", + "@libp2p/peer-id": "^4.2.4", + "@libp2p/utils": "^5.4.9" } }, - "node_modules/@eslint/config-helpers": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.1.tgz", - "integrity": "sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw==", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node_modules/@helia/bitswap/node_modules/@libp2p/peer-id": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-4.2.4.tgz", + "integrity": "sha512-mvvsVxt4HkF14BrTNKbqr14VObW+KBJBWu1Oe6BFCoDttGMQLaI+PdduE1r6Tquntv5IONBqoITgD7ow5dQ+vQ==", + "dependencies": { + "@libp2p/interface": "^1.7.0", + "multiformats": "^13.1.0", + "uint8arrays": "^5.1.0" } }, - "node_modules/@eslint/core": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.13.0.tgz", - "integrity": "sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==", + "node_modules/@helia/bitswap/node_modules/@libp2p/utils": { + "version": "5.4.9", + "resolved": "https://registry.npmjs.org/@libp2p/utils/-/utils-5.4.9.tgz", + "integrity": "sha512-0fRdX98WqhTmXU2WEVLegLFxs/kKTtUHanHk5Lzs4oGsIzlPHR7zE6lj/U1WfsFA+Xo1eYQpNLiXEL29hG+Nyw==", "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "@chainsafe/is-ip": "^2.0.2", + "@libp2p/crypto": "^4.1.9", + "@libp2p/interface": "^1.7.0", + "@libp2p/logger": "^4.0.20", + "@multiformats/multiaddr": "^12.2.3", + "@multiformats/multiaddr-matcher": "^1.2.1", + "@sindresorhus/fnv1a": "^3.1.0", + "@types/murmurhash3js-revisited": "^3.0.3", + "any-signal": "^4.1.1", + "delay": "^6.0.0", + "get-iterator": "^2.0.1", + "is-loopback-addr": "^2.0.2", + "it-pushable": "^3.2.3", + "it-stream-types": "^2.0.1", + "murmurhash3js-revisited": "^3.0.0", + "netmask": "^2.0.2", + "p-defer": "^4.0.1", + "race-event": "^1.3.0", + "race-signal": "^1.0.2", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.1.0" } }, - "node_modules/@eslint/eslintrc": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", - "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", + "node_modules/@helia/bitswap/node_modules/interface-store": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-5.1.8.tgz", + "integrity": "sha512-7na81Uxkl0vqk0CBPO5PvyTkdaJBaezwUJGsMOz7riPOq0rJt+7W31iaopaMICWea/iykUsvNlPx/Tc+MxC3/w==" + }, + "node_modules/@helia/bitswap/node_modules/it-length-prefixed": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-9.1.1.tgz", + "integrity": "sha512-O88nBweT6M9ozsmok68/auKH7ik/slNM4pYbM9lrfy2z5QnpokW5SlrepHZDKtN71llhG2sZvd6uY4SAl+lAQg==", "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" + "it-reader": "^6.0.1", + "it-stream-types": "^2.0.1", + "uint8-varint": "^2.0.1", + "uint8arraylist": "^2.0.0", + "uint8arrays": "^5.0.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=16.0.0", + "npm": ">=7.0.0" } }, - "node_modules/@eslint/eslintrc/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "node_modules/@helia/block-brokers": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@helia/block-brokers/-/block-brokers-3.0.4.tgz", + "integrity": "sha512-ymtV2cNrVeRoXsAOTpx558nDzfyOu87bLAewF98OVZ/NB28EUTy0c592GHLX3QcMaW/XfTzSGCi+te3fvVIuQg==", + "dependencies": { + "@helia/bitswap": "^1.1.4", + "@helia/interface": "^4.3.1", + "@helia/utils": "^0.3.3", + "@libp2p/interface": "^1.1.4", + "@libp2p/utils": "^5.2.6", + "@multiformats/multiaddr": "^12.2.1", + "@multiformats/multiaddr-matcher": "^1.2.0", + "@multiformats/multiaddr-to-uri": "^10.0.1", + "interface-blockstore": "^5.2.10", + "interface-store": "^5.1.8", + "multiformats": "^13.1.0", + "progress-events": "^1.0.0" + } + }, + "node_modules/@helia/block-brokers/node_modules/@libp2p/crypto": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-4.1.9.tgz", + "integrity": "sha512-8Cf2VKh0uC/rQLvTLSloIOMqUvf4jsSTHXgjWQRf47lDNJlNNI0wSv2S6gakT72GZsRV/jCjYwKPqRlsa5S0iA==", + "dependencies": { + "@libp2p/interface": "^1.7.0", + "@noble/curves": "^1.4.0", + "@noble/hashes": "^1.4.0", + "asn1js": "^3.0.5", + "multiformats": "^13.1.0", + "protons-runtime": "^5.4.0", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.1.0" + } }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node_modules/@helia/block-brokers/node_modules/@libp2p/interface": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-1.7.0.tgz", + "integrity": "sha512-/zFyaIaIGW0aihhsH7/93vQdpWInUzFocxF11RO/029Y6h0SVjs24HHbils+DqaFDTqN+L7oNlBx2rM2MnmTjA==", + "dependencies": { + "@multiformats/multiaddr": "^12.2.3", + "it-pushable": "^3.2.3", + "it-stream-types": "^2.0.1", + "multiformats": "^13.1.0", + "progress-events": "^1.0.0", + "uint8arraylist": "^2.4.8" } }, - "node_modules/@eslint/eslintrc/node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "node_modules/@helia/block-brokers/node_modules/@libp2p/logger": { + "version": "4.0.20", + "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-4.0.20.tgz", + "integrity": "sha512-TTh2dhHsOTAlMPxSa9ncFPHa/0jTt+0AQxwHdlxg/OGLAgc9VRhnrhHUbJZp07Crcw4T/MOfS4KhjlxgqYgJRw==", "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@libp2p/interface": "^1.7.0", + "@multiformats/multiaddr": "^12.2.3", + "interface-datastore": "^8.2.11", + "multiformats": "^13.1.0", + "weald": "^1.0.2" } }, - "node_modules/@eslint/eslintrc/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/@helia/block-brokers/node_modules/@libp2p/utils": { + "version": "5.4.9", + "resolved": "https://registry.npmjs.org/@libp2p/utils/-/utils-5.4.9.tgz", + "integrity": "sha512-0fRdX98WqhTmXU2WEVLegLFxs/kKTtUHanHk5Lzs4oGsIzlPHR7zE6lj/U1WfsFA+Xo1eYQpNLiXEL29hG+Nyw==", "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "@chainsafe/is-ip": "^2.0.2", + "@libp2p/crypto": "^4.1.9", + "@libp2p/interface": "^1.7.0", + "@libp2p/logger": "^4.0.20", + "@multiformats/multiaddr": "^12.2.3", + "@multiformats/multiaddr-matcher": "^1.2.1", + "@sindresorhus/fnv1a": "^3.1.0", + "@types/murmurhash3js-revisited": "^3.0.3", + "any-signal": "^4.1.1", + "delay": "^6.0.0", + "get-iterator": "^2.0.1", + "is-loopback-addr": "^2.0.2", + "it-pushable": "^3.2.3", + "it-stream-types": "^2.0.1", + "murmurhash3js-revisited": "^3.0.0", + "netmask": "^2.0.2", + "p-defer": "^4.0.1", + "race-event": "^1.3.0", + "race-signal": "^1.0.2", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.1.0" } }, - "node_modules/@eslint/eslintrc/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "engines": { - "node": ">=4" + "node_modules/@helia/block-brokers/node_modules/@multiformats/multiaddr-to-uri": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/@multiformats/multiaddr-to-uri/-/multiaddr-to-uri-10.1.2.tgz", + "integrity": "sha512-6sicfYRjJlHJn4bwsQancs8kXncWU4dDN/+V9sMVTYp9hi8ovWgVkK75AbAv4SfhztmmI+oufVUncQ1n+SukKQ==", + "dependencies": { + "@multiformats/multiaddr": "^12.3.0" } }, - "node_modules/@eslint/eslintrc/node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node_modules/@helia/block-brokers/node_modules/interface-store": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-5.1.8.tgz", + "integrity": "sha512-7na81Uxkl0vqk0CBPO5PvyTkdaJBaezwUJGsMOz7riPOq0rJt+7W31iaopaMICWea/iykUsvNlPx/Tc+MxC3/w==" + }, + "node_modules/@helia/delegated-routing-v1-http-api-client": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@helia/delegated-routing-v1-http-api-client/-/delegated-routing-v1-http-api-client-3.0.2.tgz", + "integrity": "sha512-BhyccWduikj+TOmGSBR++8hLmanvYZD4qoy1ZrXVXxVBFiGv9Lo+Tqa6cRZz0z8cQzs7CYT4yDpWo5odphrhkQ==", + "dependencies": { + "@libp2p/interface": "^1.1.1", + "@libp2p/logger": "^4.0.4", + "@libp2p/peer-id": "^4.0.4", + "@multiformats/multiaddr": "^12.1.3", + "any-signal": "^4.1.1", + "browser-readablestream-to-it": "^2.0.3", + "ipns": "^9.0.0", + "it-first": "^3.0.3", + "it-map": "^3.0.4", + "it-ndjson": "^1.0.4", + "multiformats": "^13.0.0", + "p-defer": "^4.0.0", + "p-queue": "^8.0.1", + "uint8arrays": "^5.0.1" } }, - "node_modules/@eslint/js": { - "version": "9.26.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.26.0.tgz", - "integrity": "sha512-I9XlJawFdSMvWjDt6wksMCrgns5ggLNfFwFvnShsleWruvXM514Qxk8V246efTw+eo9JABvVz+u3q2RiAowKxQ==", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node_modules/@helia/delegated-routing-v1-http-api-client/node_modules/@libp2p/interface": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-1.7.0.tgz", + "integrity": "sha512-/zFyaIaIGW0aihhsH7/93vQdpWInUzFocxF11RO/029Y6h0SVjs24HHbils+DqaFDTqN+L7oNlBx2rM2MnmTjA==", + "dependencies": { + "@multiformats/multiaddr": "^12.2.3", + "it-pushable": "^3.2.3", + "it-stream-types": "^2.0.1", + "multiformats": "^13.1.0", + "progress-events": "^1.0.0", + "uint8arraylist": "^2.4.8" } }, - "node_modules/@eslint/object-schema": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", - "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node_modules/@helia/delegated-routing-v1-http-api-client/node_modules/@libp2p/logger": { + "version": "4.0.20", + "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-4.0.20.tgz", + "integrity": "sha512-TTh2dhHsOTAlMPxSa9ncFPHa/0jTt+0AQxwHdlxg/OGLAgc9VRhnrhHUbJZp07Crcw4T/MOfS4KhjlxgqYgJRw==", + "dependencies": { + "@libp2p/interface": "^1.7.0", + "@multiformats/multiaddr": "^12.2.3", + "interface-datastore": "^8.2.11", + "multiformats": "^13.1.0", + "weald": "^1.0.2" } }, - "node_modules/@eslint/plugin-kit": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.8.tgz", - "integrity": "sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==", + "node_modules/@helia/delegated-routing-v1-http-api-client/node_modules/@libp2p/peer-id": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-4.2.4.tgz", + "integrity": "sha512-mvvsVxt4HkF14BrTNKbqr14VObW+KBJBWu1Oe6BFCoDttGMQLaI+PdduE1r6Tquntv5IONBqoITgD7ow5dQ+vQ==", "dependencies": { - "@eslint/core": "^0.13.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "@libp2p/interface": "^1.7.0", + "multiformats": "^13.1.0", + "uint8arrays": "^5.1.0" } }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "engines": { - "node": ">=18.18.0" + "node_modules/@helia/interface": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@helia/interface/-/interface-4.3.1.tgz", + "integrity": "sha512-jvuUUAQbLMhvMt+Lon7mJfJt5xJWiwn8aXtI9fHBpMNMsrKJOtefxAzwSr18xe+C9bMdOyRtocj2eFhs74bQ8w==", + "dependencies": { + "@libp2p/interface": "^1.1.4", + "@multiformats/dns": "^1.0.1", + "interface-blockstore": "^5.2.10", + "interface-datastore": "^8.2.11", + "interface-store": "^5.1.8", + "multiformats": "^13.1.0", + "progress-events": "^1.0.0" } }, - "node_modules/@humanfs/node": { - "version": "0.16.6", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", - "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", + "node_modules/@helia/interface/node_modules/@libp2p/interface": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-1.7.0.tgz", + "integrity": "sha512-/zFyaIaIGW0aihhsH7/93vQdpWInUzFocxF11RO/029Y6h0SVjs24HHbils+DqaFDTqN+L7oNlBx2rM2MnmTjA==", "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.3.0" - }, - "engines": { - "node": ">=18.18.0" + "@multiformats/multiaddr": "^12.2.3", + "it-pushable": "^3.2.3", + "it-stream-types": "^2.0.1", + "multiformats": "^13.1.0", + "progress-events": "^1.0.0", + "uint8arraylist": "^2.4.8" } }, - "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", - "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "node_modules/@helia/interface/node_modules/interface-store": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-5.1.8.tgz", + "integrity": "sha512-7na81Uxkl0vqk0CBPO5PvyTkdaJBaezwUJGsMOz7riPOq0rJt+7W31iaopaMICWea/iykUsvNlPx/Tc+MxC3/w==" + }, + "node_modules/@helia/json": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@helia/json/-/json-3.0.6.tgz", + "integrity": "sha512-t1833KV3HusqYaFXP60aanI1hbzRdLZ26YXa/z7tdllhU0YjHW5wyApYxv/LBhUGh0c/baNPdI8/aUvCZaA9Cg==", + "dependencies": { + "@helia/interface": "^4.3.1", + "@libp2p/interface": "^1.1.4", + "interface-blockstore": "^5.2.10", + "multiformats": "^13.1.0", + "progress-events": "^1.0.0" } }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "node_modules/@helia/json/node_modules/@libp2p/interface": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-1.7.0.tgz", + "integrity": "sha512-/zFyaIaIGW0aihhsH7/93vQdpWInUzFocxF11RO/029Y6h0SVjs24HHbils+DqaFDTqN+L7oNlBx2rM2MnmTjA==", + "dependencies": { + "@multiformats/multiaddr": "^12.2.3", + "it-pushable": "^3.2.3", + "it-stream-types": "^2.0.1", + "multiformats": "^13.1.0", + "progress-events": "^1.0.0", + "uint8arraylist": "^2.4.8" } }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz", - "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "node_modules/@helia/routers": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@helia/routers/-/routers-1.1.1.tgz", + "integrity": "sha512-LsEkUAno4PiQ1cmwxFnYWy5xQicpzjXyYeRJEGLjAnAXin8hq0JPkEouZx8vTlmSf1Rde4RSaTu3+3H1qj5ccw==", + "dependencies": { + "@helia/delegated-routing-v1-http-api-client": "^3.0.0", + "@helia/interface": "^4.3.1", + "@libp2p/interface": "^1.1.4", + "@multiformats/uri-to-multiaddr": "^8.0.0", + "ipns": "^9.0.0", + "it-first": "^3.0.4", + "it-map": "^3.0.5", + "multiformats": "^13.1.0", + "uint8arrays": "^5.0.2" } }, - "node_modules/@ipshipyard/node-datachannel": { - "version": "0.26.5", - "resolved": "https://registry.npmjs.org/@ipshipyard/node-datachannel/-/node-datachannel-0.26.5.tgz", - "integrity": "sha512-GOxqgCI4scLTSFwFO7ClK5eDgSCJQgf7mbmJu0qgPu9zNlRp0VJl6rNJScQBllHP7IhmBf3VXRWVvwWfOrplww==", - "hasInstallScript": true, + "node_modules/@helia/routers/node_modules/@libp2p/interface": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-1.7.0.tgz", + "integrity": "sha512-/zFyaIaIGW0aihhsH7/93vQdpWInUzFocxF11RO/029Y6h0SVjs24HHbils+DqaFDTqN+L7oNlBx2rM2MnmTjA==", "dependencies": { - "prebuild-install": "^7.1.2" - }, - "engines": { - "node": ">=18.20.0" + "@multiformats/multiaddr": "^12.2.3", + "it-pushable": "^3.2.3", + "it-stream-types": "^2.0.1", + "multiformats": "^13.1.0", + "progress-events": "^1.0.0", + "uint8arraylist": "^2.4.8" } }, - "node_modules/@isaacs/ttlcache": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz", - "integrity": "sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==", - "peer": true, - "engines": { - "node": ">=12" + "node_modules/@helia/utils": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@helia/utils/-/utils-0.3.3.tgz", + "integrity": "sha512-iCS8dJRULgltfx7aLLoqfjWUpqBWrTyouCToB9RgHpNs4lHcIsZn/VSbHyjC4NUF9nIWsxhH/3UAdvWl23HEgw==", + "dependencies": { + "@helia/interface": "^4.3.1", + "@ipld/dag-cbor": "^9.2.0", + "@ipld/dag-json": "^10.2.0", + "@ipld/dag-pb": "^4.1.0", + "@libp2p/crypto": "^4.0.6", + "@libp2p/interface": "^1.1.4", + "@libp2p/logger": "^4.0.7", + "@libp2p/utils": "^5.2.6", + "@multiformats/dns": "^1.0.1", + "@types/murmurhash3js-revisited": "^3.0.3", + "any-signal": "^4.1.1", + "blockstore-core": "^4.4.1", + "cborg": "^4.0.9", + "interface-blockstore": "^5.2.10", + "interface-datastore": "^8.2.11", + "interface-store": "^5.1.8", + "it-drain": "^3.0.5", + "it-filter": "^3.0.4", + "it-foreach": "^2.0.6", + "it-merge": "^3.0.3", + "mortice": "^3.0.4", + "multiformats": "^13.1.0", + "murmurhash3js-revisited": "^3.0.0", + "p-defer": "^4.0.1", + "progress-events": "^1.0.0", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.0.2" + } + }, + "node_modules/@helia/utils/node_modules/@libp2p/crypto": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-4.1.9.tgz", + "integrity": "sha512-8Cf2VKh0uC/rQLvTLSloIOMqUvf4jsSTHXgjWQRf47lDNJlNNI0wSv2S6gakT72GZsRV/jCjYwKPqRlsa5S0iA==", + "dependencies": { + "@libp2p/interface": "^1.7.0", + "@noble/curves": "^1.4.0", + "@noble/hashes": "^1.4.0", + "asn1js": "^3.0.5", + "multiformats": "^13.1.0", + "protons-runtime": "^5.4.0", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.1.0" + } + }, + "node_modules/@helia/utils/node_modules/@libp2p/interface": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-1.7.0.tgz", + "integrity": "sha512-/zFyaIaIGW0aihhsH7/93vQdpWInUzFocxF11RO/029Y6h0SVjs24HHbils+DqaFDTqN+L7oNlBx2rM2MnmTjA==", + "dependencies": { + "@multiformats/multiaddr": "^12.2.3", + "it-pushable": "^3.2.3", + "it-stream-types": "^2.0.1", + "multiformats": "^13.1.0", + "progress-events": "^1.0.0", + "uint8arraylist": "^2.4.8" + } + }, + "node_modules/@helia/utils/node_modules/@libp2p/logger": { + "version": "4.0.20", + "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-4.0.20.tgz", + "integrity": "sha512-TTh2dhHsOTAlMPxSa9ncFPHa/0jTt+0AQxwHdlxg/OGLAgc9VRhnrhHUbJZp07Crcw4T/MOfS4KhjlxgqYgJRw==", + "dependencies": { + "@libp2p/interface": "^1.7.0", + "@multiformats/multiaddr": "^12.2.3", + "interface-datastore": "^8.2.11", + "multiformats": "^13.1.0", + "weald": "^1.0.2" + } + }, + "node_modules/@helia/utils/node_modules/@libp2p/utils": { + "version": "5.4.9", + "resolved": "https://registry.npmjs.org/@libp2p/utils/-/utils-5.4.9.tgz", + "integrity": "sha512-0fRdX98WqhTmXU2WEVLegLFxs/kKTtUHanHk5Lzs4oGsIzlPHR7zE6lj/U1WfsFA+Xo1eYQpNLiXEL29hG+Nyw==", + "dependencies": { + "@chainsafe/is-ip": "^2.0.2", + "@libp2p/crypto": "^4.1.9", + "@libp2p/interface": "^1.7.0", + "@libp2p/logger": "^4.0.20", + "@multiformats/multiaddr": "^12.2.3", + "@multiformats/multiaddr-matcher": "^1.2.1", + "@sindresorhus/fnv1a": "^3.1.0", + "@types/murmurhash3js-revisited": "^3.0.3", + "any-signal": "^4.1.1", + "delay": "^6.0.0", + "get-iterator": "^2.0.1", + "is-loopback-addr": "^2.0.2", + "it-pushable": "^3.2.3", + "it-stream-types": "^2.0.1", + "murmurhash3js-revisited": "^3.0.0", + "netmask": "^2.0.2", + "p-defer": "^4.0.1", + "race-event": "^1.3.0", + "race-signal": "^1.0.2", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.1.0" + } + }, + "node_modules/@helia/utils/node_modules/interface-store": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-5.1.8.tgz", + "integrity": "sha512-7na81Uxkl0vqk0CBPO5PvyTkdaJBaezwUJGsMOz7riPOq0rJt+7W31iaopaMICWea/iykUsvNlPx/Tc+MxC3/w==" + }, + "node_modules/@ipld/dag-cbor": { + "version": "9.2.4", + "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-9.2.4.tgz", + "integrity": "sha512-GbDWYl2fdJgkYtIJN0HY9oO0o50d1nB4EQb7uYWKUd2ztxCjxiEW3PjwGG0nqUpN1G4Cug6LX8NzbA7fKT+zfA==", + "dependencies": { + "cborg": "^4.0.0", + "multiformats": "^13.1.0" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@ipld/dag-json": { + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/@ipld/dag-json/-/dag-json-10.2.5.tgz", + "integrity": "sha512-Q4Fr3IBDEN8gkpgNefynJ4U/ZO5Kwr7WSUMBDbZx0c37t0+IwQCTM9yJh8l5L4SRFjm31MuHwniZ/kM+P7GQ3Q==", + "dependencies": { + "cborg": "^4.0.0", + "multiformats": "^13.1.0" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@ipld/dag-pb": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@ipld/dag-pb/-/dag-pb-4.1.5.tgz", + "integrity": "sha512-w4PZ2yPqvNmlAir7/2hsCRMqny1EY5jj26iZcSgxREJexmbAc2FI21jp26MqiNdfgAxvkCnf2N/TJI18GaDNwA==", + "dependencies": { + "multiformats": "^13.1.0" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@isaacs/ttlcache": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz", + "integrity": "sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==", + "peer": true, + "engines": { + "node": ">=12" } }, "node_modules/@istanbuljs/load-nyc-config": { @@ -2907,4366 +3114,1007 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@kiltprotocol/asset-did": { - "version": "0.35.2", - "resolved": "https://registry.npmjs.org/@kiltprotocol/asset-did/-/asset-did-0.35.2.tgz", - "integrity": "sha512-HbMkmwQPH8nV4tYYeiS2oZDf60lFX3t0gf3ieiVyy0Grr/eXo7v3lJ5id4rJFPgrKjiraMbATVCYn3Bx420Lqg==", - "dependencies": { - "@kiltprotocol/types": "0.35.2", - "@kiltprotocol/utils": "0.35.2" - }, - "engines": { - "node": ">=16.0" + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==" + }, + "node_modules/@libp2p/autonat": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@libp2p/autonat/-/autonat-1.1.5.tgz", + "integrity": "sha512-0jad7/bX9m8mkO0ElGAnCLZ1hnYfnCoPQ3CARjx5x0D1niNyukctzuBIhk9c3q73/cSjBompnas8k6hPv2bjtg==", + "dependencies": { + "@libp2p/interface": "^1.7.0", + "@libp2p/interface-internal": "^1.3.4", + "@libp2p/peer-id": "^4.2.4", + "@libp2p/utils": "^5.4.9", + "@multiformats/multiaddr": "^12.2.3", + "it-first": "^3.0.6", + "it-length-prefixed": "^9.0.4", + "it-map": "^3.1.0", + "it-parallel": "^3.0.7", + "it-pipe": "^3.0.1", + "protons-runtime": "^5.4.0", + "uint8arraylist": "^2.4.8" } }, - "node_modules/@kiltprotocol/augment-api": { - "version": "0.35.2", - "resolved": "https://registry.npmjs.org/@kiltprotocol/augment-api/-/augment-api-0.35.2.tgz", - "integrity": "sha512-kmyKkj9MB/RWOtwAE9PXdaW+I19zwo7rpvH9kEGgUor874aWxUr8274vZlHKHdvnDNPgWfiDsStfHyPUlZRyEg==", + "node_modules/@libp2p/autonat/node_modules/@libp2p/crypto": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-4.1.9.tgz", + "integrity": "sha512-8Cf2VKh0uC/rQLvTLSloIOMqUvf4jsSTHXgjWQRf47lDNJlNNI0wSv2S6gakT72GZsRV/jCjYwKPqRlsa5S0iA==", "dependencies": { - "@kiltprotocol/type-definitions": "0.35.2" - }, - "engines": { - "node": ">=16.0" + "@libp2p/interface": "^1.7.0", + "@noble/curves": "^1.4.0", + "@noble/hashes": "^1.4.0", + "asn1js": "^3.0.5", + "multiformats": "^13.1.0", + "protons-runtime": "^5.4.0", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.1.0" } }, - "node_modules/@kiltprotocol/chain-helpers": { - "version": "0.35.2", - "resolved": "https://registry.npmjs.org/@kiltprotocol/chain-helpers/-/chain-helpers-0.35.2.tgz", - "integrity": "sha512-pn76h7+TotlvyiR6zRzDkgMDjXejsc9D3s/uZHDAtcG26SCymf1UM8fgnAvz0qx6/NgCHA4vYL/T7sVkaAYh4A==", + "node_modules/@libp2p/autonat/node_modules/@libp2p/interface": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-1.7.0.tgz", + "integrity": "sha512-/zFyaIaIGW0aihhsH7/93vQdpWInUzFocxF11RO/029Y6h0SVjs24HHbils+DqaFDTqN+L7oNlBx2rM2MnmTjA==", "dependencies": { - "@kiltprotocol/config": "0.35.2", - "@kiltprotocol/types": "0.35.2", - "@kiltprotocol/utils": "0.35.2", - "@polkadot/api": "^10.7.3", - "@polkadot/types": "^10.7.3" - }, - "engines": { - "node": ">=16.0" + "@multiformats/multiaddr": "^12.2.3", + "it-pushable": "^3.2.3", + "it-stream-types": "^2.0.1", + "multiformats": "^13.1.0", + "progress-events": "^1.0.0", + "uint8arraylist": "^2.4.8" } }, - "node_modules/@kiltprotocol/config": { - "version": "0.35.2", - "resolved": "https://registry.npmjs.org/@kiltprotocol/config/-/config-0.35.2.tgz", - "integrity": "sha512-8Vm3EhHqPE4pEgqqnznrhreAPx042RPI1tTd+PTBTcpZZIpQxv9V8vr/GqyijteXWbQ001bc77YcoFo1cRaDqw==", + "node_modules/@libp2p/autonat/node_modules/@libp2p/interface-internal": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@libp2p/interface-internal/-/interface-internal-1.3.4.tgz", + "integrity": "sha512-8x/0sdeH8T16yZ9t/Cfja0ms6Ho9fF3riX56WhQrNxMU6C1sIgAFmzUNzHLxxOR+rkKyL9cyXIyB+RcBf4gzjA==", "dependencies": { - "@kiltprotocol/types": "0.35.2", - "@polkadot/api": "^10.7.3", - "typescript-logging": "^1.0.0" - }, - "engines": { - "node": ">=16.0" + "@libp2p/interface": "^1.7.0", + "@libp2p/peer-collections": "^5.2.9", + "@multiformats/multiaddr": "^12.2.3", + "progress-events": "^1.0.0", + "uint8arraylist": "^2.4.8" } }, - "node_modules/@kiltprotocol/core": { - "version": "0.35.2", - "resolved": "https://registry.npmjs.org/@kiltprotocol/core/-/core-0.35.2.tgz", - "integrity": "sha512-U8jdHCAA5+J9gGU1Fa1YgO11WyxPgSGt2eceHgIzWcKD7geqfhZLFX8BN9qOrrThvZ4whM8uGX7D8rtlG9rK5w==", + "node_modules/@libp2p/autonat/node_modules/@libp2p/logger": { + "version": "4.0.20", + "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-4.0.20.tgz", + "integrity": "sha512-TTh2dhHsOTAlMPxSa9ncFPHa/0jTt+0AQxwHdlxg/OGLAgc9VRhnrhHUbJZp07Crcw4T/MOfS4KhjlxgqYgJRw==", "dependencies": { - "@kiltprotocol/asset-did": "0.35.2", - "@kiltprotocol/augment-api": "0.35.2", - "@kiltprotocol/chain-helpers": "0.35.2", - "@kiltprotocol/config": "0.35.2", - "@kiltprotocol/did": "0.35.2", - "@kiltprotocol/type-definitions": "0.35.2", - "@kiltprotocol/types": "0.35.2", - "@kiltprotocol/utils": "0.35.2", - "@polkadot/api": "^10.7.3", - "@polkadot/keyring": "^12.0.0", - "@polkadot/types": "^10.7.3", - "@polkadot/util": "^12.0.0", - "@polkadot/util-crypto": "^12.0.0" - }, - "engines": { - "node": ">=16.0" + "@libp2p/interface": "^1.7.0", + "@multiformats/multiaddr": "^12.2.3", + "interface-datastore": "^8.2.11", + "multiformats": "^13.1.0", + "weald": "^1.0.2" } }, - "node_modules/@kiltprotocol/core/node_modules/@polkadot/keyring": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/keyring/-/keyring-12.6.2.tgz", - "integrity": "sha512-O3Q7GVmRYm8q7HuB3S0+Yf/q/EB2egKRRU3fv9b3B7V+A52tKzA+vIwEmNVaD1g5FKW9oB97rmpggs0zaKFqHw==", + "node_modules/@libp2p/autonat/node_modules/@libp2p/peer-collections": { + "version": "5.2.9", + "resolved": "https://registry.npmjs.org/@libp2p/peer-collections/-/peer-collections-5.2.9.tgz", + "integrity": "sha512-8gBmzQlCWjjb+FSQBKK33T25Y5Df/8FWCXFtJDsprVxVUzDOQoibQJ5Tb4Y+mb96HUhNzoaRWVEamB78MMB3DA==", "dependencies": { - "@polkadot/util": "12.6.2", - "@polkadot/util-crypto": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "12.6.2", - "@polkadot/util-crypto": "12.6.2" + "@libp2p/interface": "^1.7.0", + "@libp2p/peer-id": "^4.2.4", + "@libp2p/utils": "^5.4.9" } }, - "node_modules/@kiltprotocol/core/node_modules/@polkadot/networks": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/networks/-/networks-12.6.2.tgz", - "integrity": "sha512-1oWtZm1IvPWqvMrldVH6NI2gBoCndl5GEwx7lAuQWGr7eNL+6Bdc5K3Z9T0MzFvDGoi2/CBqjX9dRKo39pDC/w==", + "node_modules/@libp2p/autonat/node_modules/@libp2p/peer-id": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-4.2.4.tgz", + "integrity": "sha512-mvvsVxt4HkF14BrTNKbqr14VObW+KBJBWu1Oe6BFCoDttGMQLaI+PdduE1r6Tquntv5IONBqoITgD7ow5dQ+vQ==", "dependencies": { - "@polkadot/util": "12.6.2", - "@substrate/ss58-registry": "^1.44.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" + "@libp2p/interface": "^1.7.0", + "multiformats": "^13.1.0", + "uint8arrays": "^5.1.0" } }, - "node_modules/@kiltprotocol/core/node_modules/@polkadot/util": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-12.6.2.tgz", - "integrity": "sha512-l8TubR7CLEY47240uki0TQzFvtnxFIO7uI/0GoWzpYD/O62EIAMRsuY01N4DuwgKq2ZWD59WhzsLYmA5K6ksdw==", + "node_modules/@libp2p/autonat/node_modules/@libp2p/utils": { + "version": "5.4.9", + "resolved": "https://registry.npmjs.org/@libp2p/utils/-/utils-5.4.9.tgz", + "integrity": "sha512-0fRdX98WqhTmXU2WEVLegLFxs/kKTtUHanHk5Lzs4oGsIzlPHR7zE6lj/U1WfsFA+Xo1eYQpNLiXEL29hG+Nyw==", "dependencies": { - "@polkadot/x-bigint": "12.6.2", - "@polkadot/x-global": "12.6.2", - "@polkadot/x-textdecoder": "12.6.2", - "@polkadot/x-textencoder": "12.6.2", - "@types/bn.js": "^5.1.5", - "bn.js": "^5.2.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" + "@chainsafe/is-ip": "^2.0.2", + "@libp2p/crypto": "^4.1.9", + "@libp2p/interface": "^1.7.0", + "@libp2p/logger": "^4.0.20", + "@multiformats/multiaddr": "^12.2.3", + "@multiformats/multiaddr-matcher": "^1.2.1", + "@sindresorhus/fnv1a": "^3.1.0", + "@types/murmurhash3js-revisited": "^3.0.3", + "any-signal": "^4.1.1", + "delay": "^6.0.0", + "get-iterator": "^2.0.1", + "is-loopback-addr": "^2.0.2", + "it-pushable": "^3.2.3", + "it-stream-types": "^2.0.1", + "murmurhash3js-revisited": "^3.0.0", + "netmask": "^2.0.2", + "p-defer": "^4.0.1", + "race-event": "^1.3.0", + "race-signal": "^1.0.2", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.1.0" } }, - "node_modules/@kiltprotocol/core/node_modules/@polkadot/util-crypto": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-12.6.2.tgz", - "integrity": "sha512-FEWI/dJ7wDMNN1WOzZAjQoIcCP/3vz3wvAp5QQm+lOrzOLj0iDmaIGIcBkz8HVm3ErfSe/uKP0KS4jgV/ib+Mg==", + "node_modules/@libp2p/autonat/node_modules/it-length-prefixed": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-9.1.1.tgz", + "integrity": "sha512-O88nBweT6M9ozsmok68/auKH7ik/slNM4pYbM9lrfy2z5QnpokW5SlrepHZDKtN71llhG2sZvd6uY4SAl+lAQg==", "dependencies": { - "@noble/curves": "^1.3.0", - "@noble/hashes": "^1.3.3", - "@polkadot/networks": "12.6.2", - "@polkadot/util": "12.6.2", - "@polkadot/wasm-crypto": "^7.3.2", - "@polkadot/wasm-util": "^7.3.2", - "@polkadot/x-bigint": "12.6.2", - "@polkadot/x-randomvalues": "12.6.2", - "@scure/base": "^1.1.5", - "tslib": "^2.6.2" + "it-reader": "^6.0.1", + "it-stream-types": "^2.0.1", + "uint8-varint": "^2.0.1", + "uint8arraylist": "^2.0.0", + "uint8arrays": "^5.0.1" }, "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "12.6.2" + "node": ">=16.0.0", + "npm": ">=7.0.0" } }, - "node_modules/@kiltprotocol/core/node_modules/@polkadot/x-bigint": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-12.6.2.tgz", - "integrity": "sha512-HSIk60uFPX4GOFZSnIF7VYJz7WZA7tpFJsne7SzxOooRwMTWEtw3fUpFy5cYYOeLh17/kHH1Y7SVcuxzVLc74Q==", + "node_modules/@libp2p/dcutr": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@libp2p/dcutr/-/dcutr-1.1.5.tgz", + "integrity": "sha512-1zDhZxLxrl+yqIAG9KzyLu3gzyvOT7UYTislw4EwhcMGMviot/pgR87SSVqbT+HDpAoj1sM/3F5VUT/sCDa9WA==", "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" + "@libp2p/interface": "^1.7.0", + "@libp2p/interface-internal": "^1.3.4", + "@libp2p/utils": "^5.4.9", + "@multiformats/multiaddr": "^12.2.3", + "@multiformats/multiaddr-matcher": "^1.2.1", + "delay": "^6.0.0", + "it-protobuf-stream": "^1.1.3", + "protons-runtime": "^5.4.0", + "uint8arraylist": "^2.4.8" } }, - "node_modules/@kiltprotocol/core/node_modules/@polkadot/x-global": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-12.6.2.tgz", - "integrity": "sha512-a8d6m+PW98jmsYDtAWp88qS4dl8DyqUBsd0S+WgyfSMtpEXu6v9nXDgPZgwF5xdDvXhm+P0ZfVkVTnIGrScb5g==", + "node_modules/@libp2p/dcutr/node_modules/@libp2p/crypto": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-4.1.9.tgz", + "integrity": "sha512-8Cf2VKh0uC/rQLvTLSloIOMqUvf4jsSTHXgjWQRf47lDNJlNNI0wSv2S6gakT72GZsRV/jCjYwKPqRlsa5S0iA==", "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" + "@libp2p/interface": "^1.7.0", + "@noble/curves": "^1.4.0", + "@noble/hashes": "^1.4.0", + "asn1js": "^3.0.5", + "multiformats": "^13.1.0", + "protons-runtime": "^5.4.0", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.1.0" } }, - "node_modules/@kiltprotocol/core/node_modules/@polkadot/x-randomvalues": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-randomvalues/-/x-randomvalues-12.6.2.tgz", - "integrity": "sha512-Vr8uG7rH2IcNJwtyf5ebdODMcr0XjoCpUbI91Zv6AlKVYOGKZlKLYJHIwpTaKKB+7KPWyQrk4Mlym/rS7v9feg==", + "node_modules/@libp2p/dcutr/node_modules/@libp2p/interface": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-1.7.0.tgz", + "integrity": "sha512-/zFyaIaIGW0aihhsH7/93vQdpWInUzFocxF11RO/029Y6h0SVjs24HHbils+DqaFDTqN+L7oNlBx2rM2MnmTjA==", "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "12.6.2", - "@polkadot/wasm-util": "*" + "@multiformats/multiaddr": "^12.2.3", + "it-pushable": "^3.2.3", + "it-stream-types": "^2.0.1", + "multiformats": "^13.1.0", + "progress-events": "^1.0.0", + "uint8arraylist": "^2.4.8" } }, - "node_modules/@kiltprotocol/core/node_modules/@polkadot/x-textdecoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-12.6.2.tgz", - "integrity": "sha512-M1Bir7tYvNappfpFWXOJcnxUhBUFWkUFIdJSyH0zs5LmFtFdbKAeiDXxSp2Swp5ddOZdZgPac294/o2TnQKN1w==", + "node_modules/@libp2p/dcutr/node_modules/@libp2p/interface-internal": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@libp2p/interface-internal/-/interface-internal-1.3.4.tgz", + "integrity": "sha512-8x/0sdeH8T16yZ9t/Cfja0ms6Ho9fF3riX56WhQrNxMU6C1sIgAFmzUNzHLxxOR+rkKyL9cyXIyB+RcBf4gzjA==", "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" + "@libp2p/interface": "^1.7.0", + "@libp2p/peer-collections": "^5.2.9", + "@multiformats/multiaddr": "^12.2.3", + "progress-events": "^1.0.0", + "uint8arraylist": "^2.4.8" } }, - "node_modules/@kiltprotocol/core/node_modules/@polkadot/x-textencoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-12.6.2.tgz", - "integrity": "sha512-4N+3UVCpI489tUJ6cv3uf0PjOHvgGp9Dl+SZRLgFGt9mvxnvpW/7+XBADRMtlG4xi5gaRK7bgl5bmY6OMDsNdw==", + "node_modules/@libp2p/dcutr/node_modules/@libp2p/logger": { + "version": "4.0.20", + "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-4.0.20.tgz", + "integrity": "sha512-TTh2dhHsOTAlMPxSa9ncFPHa/0jTt+0AQxwHdlxg/OGLAgc9VRhnrhHUbJZp07Crcw4T/MOfS4KhjlxgqYgJRw==", "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" + "@libp2p/interface": "^1.7.0", + "@multiformats/multiaddr": "^12.2.3", + "interface-datastore": "^8.2.11", + "multiformats": "^13.1.0", + "weald": "^1.0.2" } }, - "node_modules/@kiltprotocol/did": { - "version": "0.35.2", - "resolved": "https://registry.npmjs.org/@kiltprotocol/did/-/did-0.35.2.tgz", - "integrity": "sha512-N+kKw1DMe25QkWsrWEzQHHd+YRCmnBGKpop68o6NYS7s62qr2CtyVdJcd6QaV92bzc43pWfEV5qT/A1DTo9b4w==", + "node_modules/@libp2p/dcutr/node_modules/@libp2p/peer-collections": { + "version": "5.2.9", + "resolved": "https://registry.npmjs.org/@libp2p/peer-collections/-/peer-collections-5.2.9.tgz", + "integrity": "sha512-8gBmzQlCWjjb+FSQBKK33T25Y5Df/8FWCXFtJDsprVxVUzDOQoibQJ5Tb4Y+mb96HUhNzoaRWVEamB78MMB3DA==", "dependencies": { - "@kiltprotocol/augment-api": "0.35.2", - "@kiltprotocol/config": "0.35.2", - "@kiltprotocol/types": "0.35.2", - "@kiltprotocol/utils": "0.35.2", - "@polkadot/api": "^10.7.3", - "@polkadot/keyring": "^12.0.0", - "@polkadot/types": "^10.7.3", - "@polkadot/types-codec": "^10.7.3", - "@polkadot/util": "^12.0.0", - "@polkadot/util-crypto": "^12.0.0" - }, - "engines": { - "node": ">=16.0" + "@libp2p/interface": "^1.7.0", + "@libp2p/peer-id": "^4.2.4", + "@libp2p/utils": "^5.4.9" } }, - "node_modules/@kiltprotocol/did/node_modules/@polkadot/keyring": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/keyring/-/keyring-12.6.2.tgz", - "integrity": "sha512-O3Q7GVmRYm8q7HuB3S0+Yf/q/EB2egKRRU3fv9b3B7V+A52tKzA+vIwEmNVaD1g5FKW9oB97rmpggs0zaKFqHw==", + "node_modules/@libp2p/dcutr/node_modules/@libp2p/peer-id": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-4.2.4.tgz", + "integrity": "sha512-mvvsVxt4HkF14BrTNKbqr14VObW+KBJBWu1Oe6BFCoDttGMQLaI+PdduE1r6Tquntv5IONBqoITgD7ow5dQ+vQ==", "dependencies": { - "@polkadot/util": "12.6.2", - "@polkadot/util-crypto": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "12.6.2", - "@polkadot/util-crypto": "12.6.2" + "@libp2p/interface": "^1.7.0", + "multiformats": "^13.1.0", + "uint8arrays": "^5.1.0" } }, - "node_modules/@kiltprotocol/did/node_modules/@polkadot/networks": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/networks/-/networks-12.6.2.tgz", - "integrity": "sha512-1oWtZm1IvPWqvMrldVH6NI2gBoCndl5GEwx7lAuQWGr7eNL+6Bdc5K3Z9T0MzFvDGoi2/CBqjX9dRKo39pDC/w==", + "node_modules/@libp2p/dcutr/node_modules/@libp2p/utils": { + "version": "5.4.9", + "resolved": "https://registry.npmjs.org/@libp2p/utils/-/utils-5.4.9.tgz", + "integrity": "sha512-0fRdX98WqhTmXU2WEVLegLFxs/kKTtUHanHk5Lzs4oGsIzlPHR7zE6lj/U1WfsFA+Xo1eYQpNLiXEL29hG+Nyw==", "dependencies": { - "@polkadot/util": "12.6.2", - "@substrate/ss58-registry": "^1.44.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" + "@chainsafe/is-ip": "^2.0.2", + "@libp2p/crypto": "^4.1.9", + "@libp2p/interface": "^1.7.0", + "@libp2p/logger": "^4.0.20", + "@multiformats/multiaddr": "^12.2.3", + "@multiformats/multiaddr-matcher": "^1.2.1", + "@sindresorhus/fnv1a": "^3.1.0", + "@types/murmurhash3js-revisited": "^3.0.3", + "any-signal": "^4.1.1", + "delay": "^6.0.0", + "get-iterator": "^2.0.1", + "is-loopback-addr": "^2.0.2", + "it-pushable": "^3.2.3", + "it-stream-types": "^2.0.1", + "murmurhash3js-revisited": "^3.0.0", + "netmask": "^2.0.2", + "p-defer": "^4.0.1", + "race-event": "^1.3.0", + "race-signal": "^1.0.2", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.1.0" } }, - "node_modules/@kiltprotocol/did/node_modules/@polkadot/util": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-12.6.2.tgz", - "integrity": "sha512-l8TubR7CLEY47240uki0TQzFvtnxFIO7uI/0GoWzpYD/O62EIAMRsuY01N4DuwgKq2ZWD59WhzsLYmA5K6ksdw==", + "node_modules/@libp2p/interface": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-2.10.2.tgz", + "integrity": "sha512-aQ9jZaZZq9/y9NFax0K8Z6tTqLg3Qsyv1EY0O+eFrltmIkoUOCeCAybUTiOTwieknznHc9AMrHifaK3BYb+bqg==", + "license": "Apache-2.0 OR MIT", "dependencies": { - "@polkadot/x-bigint": "12.6.2", - "@polkadot/x-global": "12.6.2", - "@polkadot/x-textdecoder": "12.6.2", - "@polkadot/x-textencoder": "12.6.2", - "@types/bn.js": "^5.1.5", - "bn.js": "^5.2.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" + "@multiformats/multiaddr": "^12.4.0", + "it-pushable": "^3.2.3", + "it-stream-types": "^2.0.2", + "multiformats": "^13.3.4", + "progress-events": "^1.0.1", + "uint8arraylist": "^2.4.8" } }, - "node_modules/@kiltprotocol/did/node_modules/@polkadot/util-crypto": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-12.6.2.tgz", - "integrity": "sha512-FEWI/dJ7wDMNN1WOzZAjQoIcCP/3vz3wvAp5QQm+lOrzOLj0iDmaIGIcBkz8HVm3ErfSe/uKP0KS4jgV/ib+Mg==", + "node_modules/@libp2p/logger": { + "version": "5.1.18", + "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-5.1.18.tgz", + "integrity": "sha512-venbhUr6riuMTu8c8bnphZ27XcOuDDq6fdYaRVggokQpwSC6QRejlaFnY8w0K1ZuwFv9uc19UA2ELtOBQ26AJw==", + "license": "Apache-2.0 OR MIT", "dependencies": { - "@noble/curves": "^1.3.0", - "@noble/hashes": "^1.3.3", - "@polkadot/networks": "12.6.2", - "@polkadot/util": "12.6.2", - "@polkadot/wasm-crypto": "^7.3.2", - "@polkadot/wasm-util": "^7.3.2", - "@polkadot/x-bigint": "12.6.2", - "@polkadot/x-randomvalues": "12.6.2", - "@scure/base": "^1.1.5", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "12.6.2" + "@libp2p/interface": "^2.10.2", + "@multiformats/multiaddr": "^12.4.0", + "interface-datastore": "^8.3.1", + "multiformats": "^13.3.4", + "weald": "^1.0.4" } }, - "node_modules/@kiltprotocol/did/node_modules/@polkadot/x-bigint": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-12.6.2.tgz", - "integrity": "sha512-HSIk60uFPX4GOFZSnIF7VYJz7WZA7tpFJsne7SzxOooRwMTWEtw3fUpFy5cYYOeLh17/kHH1Y7SVcuxzVLc74Q==", + "node_modules/@libp2p/mdns": { + "version": "10.1.5", + "resolved": "https://registry.npmjs.org/@libp2p/mdns/-/mdns-10.1.5.tgz", + "integrity": "sha512-iSBnjaUgPdPudXP3ZPXJMWzJkT+I+TQHRCBTh6OMPa0V2C/MhL+FfCGn0SDMWKSDDwqK6I6UOeTflf4YUzy/8w==", "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" + "@libp2p/interface": "^1.7.0", + "@libp2p/interface-internal": "^1.3.4", + "@libp2p/peer-id": "^4.2.4", + "@libp2p/utils": "^5.4.9", + "@multiformats/multiaddr": "^12.2.3", + "@types/multicast-dns": "^7.2.4", + "dns-packet": "^5.6.1", + "multicast-dns": "^7.2.5" } }, - "node_modules/@kiltprotocol/did/node_modules/@polkadot/x-global": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-12.6.2.tgz", - "integrity": "sha512-a8d6m+PW98jmsYDtAWp88qS4dl8DyqUBsd0S+WgyfSMtpEXu6v9nXDgPZgwF5xdDvXhm+P0ZfVkVTnIGrScb5g==", + "node_modules/@libp2p/mdns/node_modules/@libp2p/crypto": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-4.1.9.tgz", + "integrity": "sha512-8Cf2VKh0uC/rQLvTLSloIOMqUvf4jsSTHXgjWQRf47lDNJlNNI0wSv2S6gakT72GZsRV/jCjYwKPqRlsa5S0iA==", "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" + "@libp2p/interface": "^1.7.0", + "@noble/curves": "^1.4.0", + "@noble/hashes": "^1.4.0", + "asn1js": "^3.0.5", + "multiformats": "^13.1.0", + "protons-runtime": "^5.4.0", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.1.0" } }, - "node_modules/@kiltprotocol/did/node_modules/@polkadot/x-randomvalues": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-randomvalues/-/x-randomvalues-12.6.2.tgz", - "integrity": "sha512-Vr8uG7rH2IcNJwtyf5ebdODMcr0XjoCpUbI91Zv6AlKVYOGKZlKLYJHIwpTaKKB+7KPWyQrk4Mlym/rS7v9feg==", + "node_modules/@libp2p/mdns/node_modules/@libp2p/interface": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-1.7.0.tgz", + "integrity": "sha512-/zFyaIaIGW0aihhsH7/93vQdpWInUzFocxF11RO/029Y6h0SVjs24HHbils+DqaFDTqN+L7oNlBx2rM2MnmTjA==", "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "12.6.2", - "@polkadot/wasm-util": "*" + "@multiformats/multiaddr": "^12.2.3", + "it-pushable": "^3.2.3", + "it-stream-types": "^2.0.1", + "multiformats": "^13.1.0", + "progress-events": "^1.0.0", + "uint8arraylist": "^2.4.8" } }, - "node_modules/@kiltprotocol/did/node_modules/@polkadot/x-textdecoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-12.6.2.tgz", - "integrity": "sha512-M1Bir7tYvNappfpFWXOJcnxUhBUFWkUFIdJSyH0zs5LmFtFdbKAeiDXxSp2Swp5ddOZdZgPac294/o2TnQKN1w==", + "node_modules/@libp2p/mdns/node_modules/@libp2p/interface-internal": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@libp2p/interface-internal/-/interface-internal-1.3.4.tgz", + "integrity": "sha512-8x/0sdeH8T16yZ9t/Cfja0ms6Ho9fF3riX56WhQrNxMU6C1sIgAFmzUNzHLxxOR+rkKyL9cyXIyB+RcBf4gzjA==", "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" + "@libp2p/interface": "^1.7.0", + "@libp2p/peer-collections": "^5.2.9", + "@multiformats/multiaddr": "^12.2.3", + "progress-events": "^1.0.0", + "uint8arraylist": "^2.4.8" } }, - "node_modules/@kiltprotocol/did/node_modules/@polkadot/x-textencoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-12.6.2.tgz", - "integrity": "sha512-4N+3UVCpI489tUJ6cv3uf0PjOHvgGp9Dl+SZRLgFGt9mvxnvpW/7+XBADRMtlG4xi5gaRK7bgl5bmY6OMDsNdw==", + "node_modules/@libp2p/mdns/node_modules/@libp2p/logger": { + "version": "4.0.20", + "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-4.0.20.tgz", + "integrity": "sha512-TTh2dhHsOTAlMPxSa9ncFPHa/0jTt+0AQxwHdlxg/OGLAgc9VRhnrhHUbJZp07Crcw4T/MOfS4KhjlxgqYgJRw==", "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" + "@libp2p/interface": "^1.7.0", + "@multiformats/multiaddr": "^12.2.3", + "interface-datastore": "^8.2.11", + "multiformats": "^13.1.0", + "weald": "^1.0.2" } }, - "node_modules/@kiltprotocol/type-definitions": { - "version": "0.35.2", - "resolved": "https://registry.npmjs.org/@kiltprotocol/type-definitions/-/type-definitions-0.35.2.tgz", - "integrity": "sha512-S/sxtF6O6gLQWwPc2nS4tObWxevrZi9cnNl64butSQFoS1yhNrqwiI88XnlI44TnE1yBfTuqUVjfTroq2xqURw==", - "engines": { - "node": ">=16.0" + "node_modules/@libp2p/mdns/node_modules/@libp2p/peer-collections": { + "version": "5.2.9", + "resolved": "https://registry.npmjs.org/@libp2p/peer-collections/-/peer-collections-5.2.9.tgz", + "integrity": "sha512-8gBmzQlCWjjb+FSQBKK33T25Y5Df/8FWCXFtJDsprVxVUzDOQoibQJ5Tb4Y+mb96HUhNzoaRWVEamB78MMB3DA==", + "dependencies": { + "@libp2p/interface": "^1.7.0", + "@libp2p/peer-id": "^4.2.4", + "@libp2p/utils": "^5.4.9" } }, - "node_modules/@kiltprotocol/types": { - "version": "0.35.2", - "resolved": "https://registry.npmjs.org/@kiltprotocol/types/-/types-0.35.2.tgz", - "integrity": "sha512-Q/xnzJvuuHKusz0uv45tfNr1HTGKDtXbCm3iMsH+HnFzfy4d/B2ZAmZVnmQQZqLPyo25wMCl9vaVMOzsmUFJ4g==", + "node_modules/@libp2p/mdns/node_modules/@libp2p/peer-id": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-4.2.4.tgz", + "integrity": "sha512-mvvsVxt4HkF14BrTNKbqr14VObW+KBJBWu1Oe6BFCoDttGMQLaI+PdduE1r6Tquntv5IONBqoITgD7ow5dQ+vQ==", "dependencies": { - "@polkadot/api": "^10.7.3", - "@polkadot/keyring": "^12.0.0", - "@polkadot/types": "^10.7.3", - "@polkadot/util": "^12.0.0", - "@polkadot/util-crypto": "^12.0.0" - }, - "engines": { - "node": ">=16.0" + "@libp2p/interface": "^1.7.0", + "multiformats": "^13.1.0", + "uint8arrays": "^5.1.0" } }, - "node_modules/@kiltprotocol/types/node_modules/@polkadot/keyring": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/keyring/-/keyring-12.6.2.tgz", - "integrity": "sha512-O3Q7GVmRYm8q7HuB3S0+Yf/q/EB2egKRRU3fv9b3B7V+A52tKzA+vIwEmNVaD1g5FKW9oB97rmpggs0zaKFqHw==", + "node_modules/@libp2p/mdns/node_modules/@libp2p/utils": { + "version": "5.4.9", + "resolved": "https://registry.npmjs.org/@libp2p/utils/-/utils-5.4.9.tgz", + "integrity": "sha512-0fRdX98WqhTmXU2WEVLegLFxs/kKTtUHanHk5Lzs4oGsIzlPHR7zE6lj/U1WfsFA+Xo1eYQpNLiXEL29hG+Nyw==", "dependencies": { - "@polkadot/util": "12.6.2", - "@polkadot/util-crypto": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "12.6.2", - "@polkadot/util-crypto": "12.6.2" + "@chainsafe/is-ip": "^2.0.2", + "@libp2p/crypto": "^4.1.9", + "@libp2p/interface": "^1.7.0", + "@libp2p/logger": "^4.0.20", + "@multiformats/multiaddr": "^12.2.3", + "@multiformats/multiaddr-matcher": "^1.2.1", + "@sindresorhus/fnv1a": "^3.1.0", + "@types/murmurhash3js-revisited": "^3.0.3", + "any-signal": "^4.1.1", + "delay": "^6.0.0", + "get-iterator": "^2.0.1", + "is-loopback-addr": "^2.0.2", + "it-pushable": "^3.2.3", + "it-stream-types": "^2.0.1", + "murmurhash3js-revisited": "^3.0.0", + "netmask": "^2.0.2", + "p-defer": "^4.0.1", + "race-event": "^1.3.0", + "race-signal": "^1.0.2", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.1.0" } }, - "node_modules/@kiltprotocol/types/node_modules/@polkadot/networks": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/networks/-/networks-12.6.2.tgz", - "integrity": "sha512-1oWtZm1IvPWqvMrldVH6NI2gBoCndl5GEwx7lAuQWGr7eNL+6Bdc5K3Z9T0MzFvDGoi2/CBqjX9dRKo39pDC/w==", + "node_modules/@libp2p/peer-id-factory": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@libp2p/peer-id-factory/-/peer-id-factory-4.2.4.tgz", + "integrity": "sha512-NDQ/qIWpcAG/6xQjyut6xCkrYYAoCaI/33Z+7yzo5qFODwLfNonLzSTasnA6jhuvHn33aHnD1qhdpFkmstxtNQ==", "dependencies": { - "@polkadot/util": "12.6.2", - "@substrate/ss58-registry": "^1.44.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" + "@libp2p/crypto": "^4.1.9", + "@libp2p/interface": "^1.7.0", + "@libp2p/peer-id": "^4.2.4", + "protons-runtime": "^5.4.0", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.1.0" } }, - "node_modules/@kiltprotocol/types/node_modules/@polkadot/util": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-12.6.2.tgz", - "integrity": "sha512-l8TubR7CLEY47240uki0TQzFvtnxFIO7uI/0GoWzpYD/O62EIAMRsuY01N4DuwgKq2ZWD59WhzsLYmA5K6ksdw==", + "node_modules/@libp2p/peer-id-factory/node_modules/@libp2p/crypto": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-4.1.9.tgz", + "integrity": "sha512-8Cf2VKh0uC/rQLvTLSloIOMqUvf4jsSTHXgjWQRf47lDNJlNNI0wSv2S6gakT72GZsRV/jCjYwKPqRlsa5S0iA==", "dependencies": { - "@polkadot/x-bigint": "12.6.2", - "@polkadot/x-global": "12.6.2", - "@polkadot/x-textdecoder": "12.6.2", - "@polkadot/x-textencoder": "12.6.2", - "@types/bn.js": "^5.1.5", - "bn.js": "^5.2.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" + "@libp2p/interface": "^1.7.0", + "@noble/curves": "^1.4.0", + "@noble/hashes": "^1.4.0", + "asn1js": "^3.0.5", + "multiformats": "^13.1.0", + "protons-runtime": "^5.4.0", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.1.0" } }, - "node_modules/@kiltprotocol/types/node_modules/@polkadot/util-crypto": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-12.6.2.tgz", - "integrity": "sha512-FEWI/dJ7wDMNN1WOzZAjQoIcCP/3vz3wvAp5QQm+lOrzOLj0iDmaIGIcBkz8HVm3ErfSe/uKP0KS4jgV/ib+Mg==", + "node_modules/@libp2p/peer-id-factory/node_modules/@libp2p/interface": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-1.7.0.tgz", + "integrity": "sha512-/zFyaIaIGW0aihhsH7/93vQdpWInUzFocxF11RO/029Y6h0SVjs24HHbils+DqaFDTqN+L7oNlBx2rM2MnmTjA==", "dependencies": { - "@noble/curves": "^1.3.0", - "@noble/hashes": "^1.3.3", - "@polkadot/networks": "12.6.2", - "@polkadot/util": "12.6.2", - "@polkadot/wasm-crypto": "^7.3.2", - "@polkadot/wasm-util": "^7.3.2", - "@polkadot/x-bigint": "12.6.2", - "@polkadot/x-randomvalues": "12.6.2", - "@scure/base": "^1.1.5", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "12.6.2" + "@multiformats/multiaddr": "^12.2.3", + "it-pushable": "^3.2.3", + "it-stream-types": "^2.0.1", + "multiformats": "^13.1.0", + "progress-events": "^1.0.0", + "uint8arraylist": "^2.4.8" } }, - "node_modules/@kiltprotocol/types/node_modules/@polkadot/x-bigint": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-12.6.2.tgz", - "integrity": "sha512-HSIk60uFPX4GOFZSnIF7VYJz7WZA7tpFJsne7SzxOooRwMTWEtw3fUpFy5cYYOeLh17/kHH1Y7SVcuxzVLc74Q==", + "node_modules/@libp2p/peer-id-factory/node_modules/@libp2p/peer-id": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-4.2.4.tgz", + "integrity": "sha512-mvvsVxt4HkF14BrTNKbqr14VObW+KBJBWu1Oe6BFCoDttGMQLaI+PdduE1r6Tquntv5IONBqoITgD7ow5dQ+vQ==", "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" + "@libp2p/interface": "^1.7.0", + "multiformats": "^13.1.0", + "uint8arrays": "^5.1.0" } }, - "node_modules/@kiltprotocol/types/node_modules/@polkadot/x-global": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-12.6.2.tgz", - "integrity": "sha512-a8d6m+PW98jmsYDtAWp88qS4dl8DyqUBsd0S+WgyfSMtpEXu6v9nXDgPZgwF5xdDvXhm+P0ZfVkVTnIGrScb5g==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" + "node_modules/@libp2p/ping": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@libp2p/ping/-/ping-1.1.6.tgz", + "integrity": "sha512-tzTL0BzS1JaHE8v4PhRZ5K8wQQQcTMXM/0baCkLTLIaSMe1fzhj+KHbFNoUrY3yni4yfsVY1uR0qchhc1/J9qg==", + "dependencies": { + "@libp2p/crypto": "^4.1.9", + "@libp2p/interface": "^1.7.0", + "@libp2p/interface-internal": "^1.3.4", + "@multiformats/multiaddr": "^12.2.3", + "it-first": "^3.0.6", + "it-pipe": "^3.0.1", + "uint8arrays": "^5.1.0" } }, - "node_modules/@kiltprotocol/types/node_modules/@polkadot/x-randomvalues": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-randomvalues/-/x-randomvalues-12.6.2.tgz", - "integrity": "sha512-Vr8uG7rH2IcNJwtyf5ebdODMcr0XjoCpUbI91Zv6AlKVYOGKZlKLYJHIwpTaKKB+7KPWyQrk4Mlym/rS7v9feg==", + "node_modules/@libp2p/ping/node_modules/@libp2p/crypto": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-4.1.9.tgz", + "integrity": "sha512-8Cf2VKh0uC/rQLvTLSloIOMqUvf4jsSTHXgjWQRf47lDNJlNNI0wSv2S6gakT72GZsRV/jCjYwKPqRlsa5S0iA==", "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "12.6.2", - "@polkadot/wasm-util": "*" + "@libp2p/interface": "^1.7.0", + "@noble/curves": "^1.4.0", + "@noble/hashes": "^1.4.0", + "asn1js": "^3.0.5", + "multiformats": "^13.1.0", + "protons-runtime": "^5.4.0", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.1.0" } }, - "node_modules/@kiltprotocol/types/node_modules/@polkadot/x-textdecoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-12.6.2.tgz", - "integrity": "sha512-M1Bir7tYvNappfpFWXOJcnxUhBUFWkUFIdJSyH0zs5LmFtFdbKAeiDXxSp2Swp5ddOZdZgPac294/o2TnQKN1w==", + "node_modules/@libp2p/ping/node_modules/@libp2p/interface": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-1.7.0.tgz", + "integrity": "sha512-/zFyaIaIGW0aihhsH7/93vQdpWInUzFocxF11RO/029Y6h0SVjs24HHbils+DqaFDTqN+L7oNlBx2rM2MnmTjA==", "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" + "@multiformats/multiaddr": "^12.2.3", + "it-pushable": "^3.2.3", + "it-stream-types": "^2.0.1", + "multiformats": "^13.1.0", + "progress-events": "^1.0.0", + "uint8arraylist": "^2.4.8" } }, - "node_modules/@kiltprotocol/types/node_modules/@polkadot/x-textencoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-12.6.2.tgz", - "integrity": "sha512-4N+3UVCpI489tUJ6cv3uf0PjOHvgGp9Dl+SZRLgFGt9mvxnvpW/7+XBADRMtlG4xi5gaRK7bgl5bmY6OMDsNdw==", + "node_modules/@libp2p/ping/node_modules/@libp2p/interface-internal": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@libp2p/interface-internal/-/interface-internal-1.3.4.tgz", + "integrity": "sha512-8x/0sdeH8T16yZ9t/Cfja0ms6Ho9fF3riX56WhQrNxMU6C1sIgAFmzUNzHLxxOR+rkKyL9cyXIyB+RcBf4gzjA==", "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" + "@libp2p/interface": "^1.7.0", + "@libp2p/peer-collections": "^5.2.9", + "@multiformats/multiaddr": "^12.2.3", + "progress-events": "^1.0.0", + "uint8arraylist": "^2.4.8" } }, - "node_modules/@kiltprotocol/utils": { - "version": "0.35.2", - "resolved": "https://registry.npmjs.org/@kiltprotocol/utils/-/utils-0.35.2.tgz", - "integrity": "sha512-Vm3Pv8qRrCI0f4PTb6LqXdveezdTOpOctxoZJLSWr6ljoP30qfsrKiicE8ZbG6OlFGSuOkgPEFcmn4MGBH9aOw==", + "node_modules/@libp2p/ping/node_modules/@libp2p/logger": { + "version": "4.0.20", + "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-4.0.20.tgz", + "integrity": "sha512-TTh2dhHsOTAlMPxSa9ncFPHa/0jTt+0AQxwHdlxg/OGLAgc9VRhnrhHUbJZp07Crcw4T/MOfS4KhjlxgqYgJRw==", "dependencies": { - "@kiltprotocol/types": "0.35.2", - "@polkadot/api": "^10.7.3", - "@polkadot/keyring": "^12.0.0", - "@polkadot/util": "^12.0.0", - "@polkadot/util-crypto": "^12.0.0", - "cbor-web": "^9.0.0", - "tweetnacl": "^1.0.3", - "uuid": "^9.0.0" - }, - "engines": { - "node": ">=16.0" + "@libp2p/interface": "^1.7.0", + "@multiformats/multiaddr": "^12.2.3", + "interface-datastore": "^8.2.11", + "multiformats": "^13.1.0", + "weald": "^1.0.2" } }, - "node_modules/@kiltprotocol/utils/node_modules/@polkadot/keyring": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/keyring/-/keyring-12.6.2.tgz", - "integrity": "sha512-O3Q7GVmRYm8q7HuB3S0+Yf/q/EB2egKRRU3fv9b3B7V+A52tKzA+vIwEmNVaD1g5FKW9oB97rmpggs0zaKFqHw==", + "node_modules/@libp2p/ping/node_modules/@libp2p/peer-collections": { + "version": "5.2.9", + "resolved": "https://registry.npmjs.org/@libp2p/peer-collections/-/peer-collections-5.2.9.tgz", + "integrity": "sha512-8gBmzQlCWjjb+FSQBKK33T25Y5Df/8FWCXFtJDsprVxVUzDOQoibQJ5Tb4Y+mb96HUhNzoaRWVEamB78MMB3DA==", "dependencies": { - "@polkadot/util": "12.6.2", - "@polkadot/util-crypto": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "12.6.2", - "@polkadot/util-crypto": "12.6.2" + "@libp2p/interface": "^1.7.0", + "@libp2p/peer-id": "^4.2.4", + "@libp2p/utils": "^5.4.9" } }, - "node_modules/@kiltprotocol/utils/node_modules/@polkadot/networks": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/networks/-/networks-12.6.2.tgz", - "integrity": "sha512-1oWtZm1IvPWqvMrldVH6NI2gBoCndl5GEwx7lAuQWGr7eNL+6Bdc5K3Z9T0MzFvDGoi2/CBqjX9dRKo39pDC/w==", + "node_modules/@libp2p/ping/node_modules/@libp2p/peer-id": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-4.2.4.tgz", + "integrity": "sha512-mvvsVxt4HkF14BrTNKbqr14VObW+KBJBWu1Oe6BFCoDttGMQLaI+PdduE1r6Tquntv5IONBqoITgD7ow5dQ+vQ==", "dependencies": { - "@polkadot/util": "12.6.2", - "@substrate/ss58-registry": "^1.44.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" + "@libp2p/interface": "^1.7.0", + "multiformats": "^13.1.0", + "uint8arrays": "^5.1.0" } }, - "node_modules/@kiltprotocol/utils/node_modules/@polkadot/util": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-12.6.2.tgz", - "integrity": "sha512-l8TubR7CLEY47240uki0TQzFvtnxFIO7uI/0GoWzpYD/O62EIAMRsuY01N4DuwgKq2ZWD59WhzsLYmA5K6ksdw==", + "node_modules/@libp2p/ping/node_modules/@libp2p/utils": { + "version": "5.4.9", + "resolved": "https://registry.npmjs.org/@libp2p/utils/-/utils-5.4.9.tgz", + "integrity": "sha512-0fRdX98WqhTmXU2WEVLegLFxs/kKTtUHanHk5Lzs4oGsIzlPHR7zE6lj/U1WfsFA+Xo1eYQpNLiXEL29hG+Nyw==", "dependencies": { - "@polkadot/x-bigint": "12.6.2", - "@polkadot/x-global": "12.6.2", - "@polkadot/x-textdecoder": "12.6.2", - "@polkadot/x-textencoder": "12.6.2", - "@types/bn.js": "^5.1.5", - "bn.js": "^5.2.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" + "@chainsafe/is-ip": "^2.0.2", + "@libp2p/crypto": "^4.1.9", + "@libp2p/interface": "^1.7.0", + "@libp2p/logger": "^4.0.20", + "@multiformats/multiaddr": "^12.2.3", + "@multiformats/multiaddr-matcher": "^1.2.1", + "@sindresorhus/fnv1a": "^3.1.0", + "@types/murmurhash3js-revisited": "^3.0.3", + "any-signal": "^4.1.1", + "delay": "^6.0.0", + "get-iterator": "^2.0.1", + "is-loopback-addr": "^2.0.2", + "it-pushable": "^3.2.3", + "it-stream-types": "^2.0.1", + "murmurhash3js-revisited": "^3.0.0", + "netmask": "^2.0.2", + "p-defer": "^4.0.1", + "race-event": "^1.3.0", + "race-signal": "^1.0.2", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.1.0" } }, - "node_modules/@kiltprotocol/utils/node_modules/@polkadot/util-crypto": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-12.6.2.tgz", - "integrity": "sha512-FEWI/dJ7wDMNN1WOzZAjQoIcCP/3vz3wvAp5QQm+lOrzOLj0iDmaIGIcBkz8HVm3ErfSe/uKP0KS4jgV/ib+Mg==", + "node_modules/@libp2p/record": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@libp2p/record/-/record-4.0.5.tgz", + "integrity": "sha512-HfKugY+ZKizhxE/hbLqI8zcFLfYly2gakaL0k8wBXCfmOTrAV7UajeJWkWqrKkIEMHASUyapm746KF+i9e7Xmw==", "dependencies": { - "@noble/curves": "^1.3.0", - "@noble/hashes": "^1.3.3", - "@polkadot/networks": "12.6.2", - "@polkadot/util": "12.6.2", - "@polkadot/wasm-crypto": "^7.3.2", - "@polkadot/wasm-util": "^7.3.2", - "@polkadot/x-bigint": "12.6.2", - "@polkadot/x-randomvalues": "12.6.2", - "@scure/base": "^1.1.5", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "12.6.2" + "protons-runtime": "^5.5.0", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.1.0" } }, - "node_modules/@kiltprotocol/utils/node_modules/@polkadot/x-bigint": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-12.6.2.tgz", - "integrity": "sha512-HSIk60uFPX4GOFZSnIF7VYJz7WZA7tpFJsne7SzxOooRwMTWEtw3fUpFy5cYYOeLh17/kHH1Y7SVcuxzVLc74Q==", + "node_modules/@libp2p/tcp": { + "version": "9.1.6", + "resolved": "https://registry.npmjs.org/@libp2p/tcp/-/tcp-9.1.6.tgz", + "integrity": "sha512-zbhHDY5txl8ypCL50JQWej/fZ8X7Lh+qfZw1HXDQEJZvgIrdYDPXrXfjIFflN0m/6hPoU/VAkKOr+RIuhIE8wQ==", "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" + "@libp2p/interface": "^1.7.0", + "@libp2p/utils": "^5.4.9", + "@multiformats/mafmt": "^12.1.6", + "@multiformats/multiaddr": "^12.2.3", + "@types/sinon": "^17.0.3", + "progress-events": "^1.0.0", + "stream-to-it": "^1.0.1" } }, - "node_modules/@kiltprotocol/utils/node_modules/@polkadot/x-global": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-12.6.2.tgz", - "integrity": "sha512-a8d6m+PW98jmsYDtAWp88qS4dl8DyqUBsd0S+WgyfSMtpEXu6v9nXDgPZgwF5xdDvXhm+P0ZfVkVTnIGrScb5g==", + "node_modules/@libp2p/tcp/node_modules/@libp2p/crypto": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-4.1.9.tgz", + "integrity": "sha512-8Cf2VKh0uC/rQLvTLSloIOMqUvf4jsSTHXgjWQRf47lDNJlNNI0wSv2S6gakT72GZsRV/jCjYwKPqRlsa5S0iA==", "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" + "@libp2p/interface": "^1.7.0", + "@noble/curves": "^1.4.0", + "@noble/hashes": "^1.4.0", + "asn1js": "^3.0.5", + "multiformats": "^13.1.0", + "protons-runtime": "^5.4.0", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.1.0" } }, - "node_modules/@kiltprotocol/utils/node_modules/@polkadot/x-randomvalues": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-randomvalues/-/x-randomvalues-12.6.2.tgz", - "integrity": "sha512-Vr8uG7rH2IcNJwtyf5ebdODMcr0XjoCpUbI91Zv6AlKVYOGKZlKLYJHIwpTaKKB+7KPWyQrk4Mlym/rS7v9feg==", + "node_modules/@libp2p/tcp/node_modules/@libp2p/interface": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-1.7.0.tgz", + "integrity": "sha512-/zFyaIaIGW0aihhsH7/93vQdpWInUzFocxF11RO/029Y6h0SVjs24HHbils+DqaFDTqN+L7oNlBx2rM2MnmTjA==", "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "12.6.2", - "@polkadot/wasm-util": "*" + "@multiformats/multiaddr": "^12.2.3", + "it-pushable": "^3.2.3", + "it-stream-types": "^2.0.1", + "multiformats": "^13.1.0", + "progress-events": "^1.0.0", + "uint8arraylist": "^2.4.8" } }, - "node_modules/@kiltprotocol/utils/node_modules/@polkadot/x-textdecoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-12.6.2.tgz", - "integrity": "sha512-M1Bir7tYvNappfpFWXOJcnxUhBUFWkUFIdJSyH0zs5LmFtFdbKAeiDXxSp2Swp5ddOZdZgPac294/o2TnQKN1w==", + "node_modules/@libp2p/tcp/node_modules/@libp2p/logger": { + "version": "4.0.20", + "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-4.0.20.tgz", + "integrity": "sha512-TTh2dhHsOTAlMPxSa9ncFPHa/0jTt+0AQxwHdlxg/OGLAgc9VRhnrhHUbJZp07Crcw4T/MOfS4KhjlxgqYgJRw==", "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" + "@libp2p/interface": "^1.7.0", + "@multiformats/multiaddr": "^12.2.3", + "interface-datastore": "^8.2.11", + "multiformats": "^13.1.0", + "weald": "^1.0.2" } }, - "node_modules/@kiltprotocol/utils/node_modules/@polkadot/x-textencoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-12.6.2.tgz", - "integrity": "sha512-4N+3UVCpI489tUJ6cv3uf0PjOHvgGp9Dl+SZRLgFGt9mvxnvpW/7+XBADRMtlG4xi5gaRK7bgl5bmY6OMDsNdw==", + "node_modules/@libp2p/tcp/node_modules/@libp2p/utils": { + "version": "5.4.9", + "resolved": "https://registry.npmjs.org/@libp2p/utils/-/utils-5.4.9.tgz", + "integrity": "sha512-0fRdX98WqhTmXU2WEVLegLFxs/kKTtUHanHk5Lzs4oGsIzlPHR7zE6lj/U1WfsFA+Xo1eYQpNLiXEL29hG+Nyw==", "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" + "@chainsafe/is-ip": "^2.0.2", + "@libp2p/crypto": "^4.1.9", + "@libp2p/interface": "^1.7.0", + "@libp2p/logger": "^4.0.20", + "@multiformats/multiaddr": "^12.2.3", + "@multiformats/multiaddr-matcher": "^1.2.1", + "@sindresorhus/fnv1a": "^3.1.0", + "@types/murmurhash3js-revisited": "^3.0.3", + "any-signal": "^4.1.1", + "delay": "^6.0.0", + "get-iterator": "^2.0.1", + "is-loopback-addr": "^2.0.2", + "it-pushable": "^3.2.3", + "it-stream-types": "^2.0.1", + "murmurhash3js-revisited": "^3.0.0", + "netmask": "^2.0.2", + "p-defer": "^4.0.1", + "race-event": "^1.3.0", + "race-signal": "^1.0.2", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.1.0" } }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", - "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==" - }, - "node_modules/@libp2p/bootstrap": { - "version": "11.0.35", - "resolved": "https://registry.npmjs.org/@libp2p/bootstrap/-/bootstrap-11.0.35.tgz", - "integrity": "sha512-fv9PNsWTrsGQmRqMv31scB2F/wr2NXgwrTUvtxaxZPJBLN2YVa3HksUP5vh/A8gRedrFsWcpXFGcwY4rO3W8FA==", - "dependencies": { - "@libp2p/interface": "^2.9.0", - "@libp2p/interface-internal": "^2.3.11", - "@libp2p/peer-id": "^5.1.2", - "@multiformats/mafmt": "^12.1.6", - "@multiformats/multiaddr": "^12.3.3" + "node_modules/@libp2p/upnp-nat": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@libp2p/upnp-nat/-/upnp-nat-1.2.5.tgz", + "integrity": "sha512-bxW4jB4p4T/i8V5BrwUzPLsQvFleC7EZIkqS0r8JbNiFy5iYIvU/WOMB6s7VJkiX3m1RxOxkKU6DcuAPuIJPzQ==", + "dependencies": { + "@achingbrain/nat-port-mapper": "^1.0.13", + "@libp2p/interface": "^1.7.0", + "@libp2p/interface-internal": "^1.3.4", + "@libp2p/utils": "^5.4.9", + "@multiformats/multiaddr": "^12.2.3", + "wherearewe": "^2.0.1" } }, - "node_modules/@libp2p/circuit-relay-v2": { - "version": "3.2.14", - "resolved": "https://registry.npmjs.org/@libp2p/circuit-relay-v2/-/circuit-relay-v2-3.2.14.tgz", - "integrity": "sha512-l83ypEQyDVCnhrtrM2k7CjSLiHE6s4UeqYS0z5gRjAkmWbmayjiPSvXhEXs/6t5AAuC7l764ZREd8Z1lrKjW4g==", - "license": "Apache-2.0 OR MIT", + "node_modules/@libp2p/upnp-nat/node_modules/@libp2p/crypto": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-4.1.9.tgz", + "integrity": "sha512-8Cf2VKh0uC/rQLvTLSloIOMqUvf4jsSTHXgjWQRf47lDNJlNNI0wSv2S6gakT72GZsRV/jCjYwKPqRlsa5S0iA==", "dependencies": { - "@libp2p/crypto": "^5.1.4", - "@libp2p/interface": "^2.10.2", - "@libp2p/interface-internal": "^2.3.14", - "@libp2p/peer-collections": "^6.0.30", - "@libp2p/peer-id": "^5.1.5", - "@libp2p/peer-record": "^8.0.30", - "@libp2p/utils": "^6.6.5", - "@multiformats/multiaddr": "^12.4.0", - "@multiformats/multiaddr-matcher": "^1.7.2", - "any-signal": "^4.1.1", - "it-protobuf-stream": "^2.0.2", - "it-stream-types": "^2.0.2", - "multiformats": "^13.3.4", - "nanoid": "^5.1.5", - "progress-events": "^1.0.1", - "protons-runtime": "^5.5.0", - "retimeable-signal": "^1.0.1", + "@libp2p/interface": "^1.7.0", + "@noble/curves": "^1.4.0", + "@noble/hashes": "^1.4.0", + "asn1js": "^3.0.5", + "multiformats": "^13.1.0", + "protons-runtime": "^5.4.0", "uint8arraylist": "^2.4.8", "uint8arrays": "^5.1.0" } }, - "node_modules/@libp2p/circuit-relay-v2/node_modules/it-byte-stream": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/it-byte-stream/-/it-byte-stream-2.0.2.tgz", - "integrity": "sha512-YfT+dfbAKXB5VHlmvm5YUZNVA5WGP/j0CeVx09O8pqTNa9sK5aOLh17B7asJk6KSx2LwQwZuJ/JA6YN/gCc6GA==", + "node_modules/@libp2p/upnp-nat/node_modules/@libp2p/interface": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-1.7.0.tgz", + "integrity": "sha512-/zFyaIaIGW0aihhsH7/93vQdpWInUzFocxF11RO/029Y6h0SVjs24HHbils+DqaFDTqN+L7oNlBx2rM2MnmTjA==", "dependencies": { - "abort-error": "^1.0.1", - "it-queueless-pushable": "^2.0.0", - "it-stream-types": "^2.0.2", - "race-signal": "^1.1.3", + "@multiformats/multiaddr": "^12.2.3", + "it-pushable": "^3.2.3", + "it-stream-types": "^2.0.1", + "multiformats": "^13.1.0", + "progress-events": "^1.0.0", "uint8arraylist": "^2.4.8" } }, - "node_modules/@libp2p/circuit-relay-v2/node_modules/it-length-prefixed-stream": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/it-length-prefixed-stream/-/it-length-prefixed-stream-2.0.2.tgz", - "integrity": "sha512-8zi1HjUWF5nxo+3ukwfNk2pm+0GiOP++l8iqGvar9sd/Ng1qfH/hFLiImCk3HVsLGfCgZus43U9IWb+48JiL2g==", + "node_modules/@libp2p/upnp-nat/node_modules/@libp2p/interface-internal": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@libp2p/interface-internal/-/interface-internal-1.3.4.tgz", + "integrity": "sha512-8x/0sdeH8T16yZ9t/Cfja0ms6Ho9fF3riX56WhQrNxMU6C1sIgAFmzUNzHLxxOR+rkKyL9cyXIyB+RcBf4gzjA==", "dependencies": { - "abort-error": "^1.0.1", - "it-byte-stream": "^2.0.0", - "it-stream-types": "^2.0.2", - "uint8-varint": "^2.0.4", + "@libp2p/interface": "^1.7.0", + "@libp2p/peer-collections": "^5.2.9", + "@multiformats/multiaddr": "^12.2.3", + "progress-events": "^1.0.0", "uint8arraylist": "^2.4.8" } }, - "node_modules/@libp2p/circuit-relay-v2/node_modules/it-protobuf-stream": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/it-protobuf-stream/-/it-protobuf-stream-2.0.2.tgz", - "integrity": "sha512-40abXOZL3jQYkD/+VhabchZadtvq4cSRKMEhaXVYa58HPdkBSzyL3bUzMcERVcLq2ithLwrPyjLAVqMXud/mBA==", + "node_modules/@libp2p/upnp-nat/node_modules/@libp2p/logger": { + "version": "4.0.20", + "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-4.0.20.tgz", + "integrity": "sha512-TTh2dhHsOTAlMPxSa9ncFPHa/0jTt+0AQxwHdlxg/OGLAgc9VRhnrhHUbJZp07Crcw4T/MOfS4KhjlxgqYgJRw==", "dependencies": { - "abort-error": "^1.0.1", - "it-length-prefixed-stream": "^2.0.0", - "it-stream-types": "^2.0.2", - "uint8arraylist": "^2.4.8" + "@libp2p/interface": "^1.7.0", + "@multiformats/multiaddr": "^12.2.3", + "interface-datastore": "^8.2.11", + "multiformats": "^13.1.0", + "weald": "^1.0.2" } }, - "node_modules/@libp2p/circuit-relay-v2/node_modules/it-queueless-pushable": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/it-queueless-pushable/-/it-queueless-pushable-2.0.1.tgz", - "integrity": "sha512-ZFX4ZHpzPwD0Ivpt3y98FtXk/KToO0ec5AjUDBQ4MOdkWVmnjEBfjq6ncvpuGtZ3776KSSK+i6uWkrSspdo/OQ==", + "node_modules/@libp2p/upnp-nat/node_modules/@libp2p/peer-collections": { + "version": "5.2.9", + "resolved": "https://registry.npmjs.org/@libp2p/peer-collections/-/peer-collections-5.2.9.tgz", + "integrity": "sha512-8gBmzQlCWjjb+FSQBKK33T25Y5Df/8FWCXFtJDsprVxVUzDOQoibQJ5Tb4Y+mb96HUhNzoaRWVEamB78MMB3DA==", "dependencies": { - "abort-error": "^1.0.1", - "p-defer": "^4.0.1", - "race-signal": "^1.1.3" + "@libp2p/interface": "^1.7.0", + "@libp2p/peer-id": "^4.2.4", + "@libp2p/utils": "^5.4.9" } }, - "node_modules/@libp2p/circuit-relay-v2/node_modules/nanoid": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.5.tgz", - "integrity": "sha512-Ir/+ZpE9fDsNH0hQ3C68uyThDXzYcim2EqcZ8zn8Chtt1iylPT9xXJB0kPCnqzgcEGikO9RxSrh63MsmVCU7Fw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.js" - }, - "engines": { - "node": "^18 || >=20" + "node_modules/@libp2p/upnp-nat/node_modules/@libp2p/peer-id": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-4.2.4.tgz", + "integrity": "sha512-mvvsVxt4HkF14BrTNKbqr14VObW+KBJBWu1Oe6BFCoDttGMQLaI+PdduE1r6Tquntv5IONBqoITgD7ow5dQ+vQ==", + "dependencies": { + "@libp2p/interface": "^1.7.0", + "multiformats": "^13.1.0", + "uint8arrays": "^5.1.0" } }, - "node_modules/@libp2p/crypto": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-5.1.4.tgz", - "integrity": "sha512-w9UNkjX7xhExr9PJeFeu6xy6q8ZR0FhoauI1qnN+dZsAlSQhRMzPvMdMJoSoGu/Ha9BbJ3Z2kpSS28GXHnL0rg==", - "license": "Apache-2.0 OR MIT", + "node_modules/@libp2p/upnp-nat/node_modules/@libp2p/utils": { + "version": "5.4.9", + "resolved": "https://registry.npmjs.org/@libp2p/utils/-/utils-5.4.9.tgz", + "integrity": "sha512-0fRdX98WqhTmXU2WEVLegLFxs/kKTtUHanHk5Lzs4oGsIzlPHR7zE6lj/U1WfsFA+Xo1eYQpNLiXEL29hG+Nyw==", "dependencies": { - "@libp2p/interface": "^2.10.2", - "@noble/curves": "^1.9.1", - "@noble/hashes": "^1.8.0", - "multiformats": "^13.3.4", - "protons-runtime": "^5.5.0", + "@chainsafe/is-ip": "^2.0.2", + "@libp2p/crypto": "^4.1.9", + "@libp2p/interface": "^1.7.0", + "@libp2p/logger": "^4.0.20", + "@multiformats/multiaddr": "^12.2.3", + "@multiformats/multiaddr-matcher": "^1.2.1", + "@sindresorhus/fnv1a": "^3.1.0", + "@types/murmurhash3js-revisited": "^3.0.3", + "any-signal": "^4.1.1", + "delay": "^6.0.0", + "get-iterator": "^2.0.1", + "is-loopback-addr": "^2.0.2", + "it-pushable": "^3.2.3", + "it-stream-types": "^2.0.1", + "murmurhash3js-revisited": "^3.0.0", + "netmask": "^2.0.2", + "p-defer": "^4.0.1", + "race-event": "^1.3.0", + "race-signal": "^1.0.2", "uint8arraylist": "^2.4.8", "uint8arrays": "^5.1.0" } }, - "node_modules/@libp2p/identify": { - "version": "3.0.29", - "resolved": "https://registry.npmjs.org/@libp2p/identify/-/identify-3.0.29.tgz", - "integrity": "sha512-yhprl9F0G28lTyDyZdy8/0B4cJOmeffgXLCJSivVzR2kQo9mWwjX0Aj4E/3XnEu1d9b38ipL6TfQySjpBOUy+w==", - "dependencies": { - "@libp2p/crypto": "^5.1.1", - "@libp2p/interface": "^2.9.0", - "@libp2p/interface-internal": "^2.3.11", - "@libp2p/peer-id": "^5.1.2", - "@libp2p/peer-record": "^8.0.27", - "@libp2p/utils": "^6.6.2", - "@multiformats/multiaddr": "^12.3.3", - "@multiformats/multiaddr-matcher": "^1.6.0", - "it-drain": "^3.0.7", - "it-parallel": "^3.0.8", - "it-protobuf-stream": "^2.0.1", - "protons-runtime": "^5.5.0", + "node_modules/@libp2p/webtransport": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@libp2p/webtransport/-/webtransport-4.1.9.tgz", + "integrity": "sha512-A48Fl8pm4Tstc5hiOvMbqVKS4/98D0pCn/Cb8iv/RS/EFyfMDBF8qSm4aYN9pXF0m0OepBKP4VG2GAGVqnqfrA==", + "dependencies": { + "@chainsafe/libp2p-noise": "^15.0.0", + "@libp2p/interface": "^1.7.0", + "@libp2p/peer-id": "^4.2.4", + "@libp2p/utils": "^5.4.9", + "@multiformats/multiaddr": "^12.2.3", + "@multiformats/multiaddr-matcher": "^1.2.1", + "it-stream-types": "^2.0.1", + "multiformats": "^13.1.0", + "progress-events": "^1.0.0", + "race-signal": "^1.0.2", "uint8arraylist": "^2.4.8", "uint8arrays": "^5.1.0" } }, - "node_modules/@libp2p/identify/node_modules/it-byte-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/it-byte-stream/-/it-byte-stream-2.0.1.tgz", - "integrity": "sha512-WccB179tWRNjTyXJ9wLshQdKSLdVIexmnNjLfCT7UnsiLisTVUY092YqFhkL+da1WFR0paGzB24L+pAzFhRI4Q==", + "node_modules/@libp2p/webtransport/node_modules/@chainsafe/as-sha256": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@chainsafe/as-sha256/-/as-sha256-0.4.2.tgz", + "integrity": "sha512-HJ8GZBRjLeWtRsAXf3EbNsNzmTGpzTFjfpSf4yHkLYC+E52DhT6hwz+7qpj6I/EmFzSUm5tYYvT9K8GZokLQCQ==" + }, + "node_modules/@libp2p/webtransport/node_modules/@chainsafe/libp2p-noise": { + "version": "15.1.2", + "resolved": "https://registry.npmjs.org/@chainsafe/libp2p-noise/-/libp2p-noise-15.1.2.tgz", + "integrity": "sha512-o6mqsAbaCBucgdLOOHtkwtGVL1c8RLKhlTnHQY+leazY+thiE1Sm6qPCwsTHKQnWii1q5hDVI2Q0l9QgYi5v4Q==", "dependencies": { - "abort-error": "^1.0.1", - "it-queueless-pushable": "^2.0.0", - "it-stream-types": "^2.0.2", - "race-signal": "^1.1.3", - "uint8arraylist": "^2.4.8" + "@chainsafe/as-chacha20poly1305": "^0.1.0", + "@chainsafe/as-sha256": "^0.4.1", + "@libp2p/crypto": "^4.0.0", + "@libp2p/interface": "^1.5.0", + "@libp2p/peer-id": "^4.0.0", + "@noble/ciphers": "^0.6.0", + "@noble/curves": "^1.1.0", + "@noble/hashes": "^1.3.1", + "it-length-prefixed": "^9.0.1", + "it-length-prefixed-stream": "^1.0.0", + "it-pair": "^2.0.6", + "it-pipe": "^3.0.1", + "it-stream-types": "^2.0.1", + "protons-runtime": "^5.0.0", + "uint8arraylist": "^2.4.3", + "uint8arrays": "^5.0.0", + "wherearewe": "^2.0.1" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" } }, - "node_modules/@libp2p/identify/node_modules/it-length-prefixed-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/it-length-prefixed-stream/-/it-length-prefixed-stream-2.0.1.tgz", - "integrity": "sha512-TFohjVrQKRLQgRrPdVL9ARqP4CHUHnsRkbkX4nEhSOBjOvZtVV/pHh5Z2C8EH50MnfNDjVSKvEbaIFVLS3/QMA==", + "node_modules/@libp2p/webtransport/node_modules/@libp2p/crypto": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-4.1.9.tgz", + "integrity": "sha512-8Cf2VKh0uC/rQLvTLSloIOMqUvf4jsSTHXgjWQRf47lDNJlNNI0wSv2S6gakT72GZsRV/jCjYwKPqRlsa5S0iA==", "dependencies": { - "abort-error": "^1.0.1", - "it-byte-stream": "^2.0.0", - "it-stream-types": "^2.0.2", - "uint8-varint": "^2.0.4", - "uint8arraylist": "^2.4.8" + "@libp2p/interface": "^1.7.0", + "@noble/curves": "^1.4.0", + "@noble/hashes": "^1.4.0", + "asn1js": "^3.0.5", + "multiformats": "^13.1.0", + "protons-runtime": "^5.4.0", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.1.0" } }, - "node_modules/@libp2p/identify/node_modules/it-protobuf-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/it-protobuf-stream/-/it-protobuf-stream-2.0.1.tgz", - "integrity": "sha512-szhw8w2aIENUa1yv0vFgGZDs7e81dQ/7dM10c4Rf6+rs5tqzWVCSLbpgxIYM0cA8KlcI66XGdzu6lyYp6jKdvw==", + "node_modules/@libp2p/webtransport/node_modules/@libp2p/interface": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-1.7.0.tgz", + "integrity": "sha512-/zFyaIaIGW0aihhsH7/93vQdpWInUzFocxF11RO/029Y6h0SVjs24HHbils+DqaFDTqN+L7oNlBx2rM2MnmTjA==", "dependencies": { - "abort-error": "^1.0.1", - "it-length-prefixed-stream": "^2.0.0", - "it-stream-types": "^2.0.2", - "uint8arraylist": "^2.4.8" - } - }, - "node_modules/@libp2p/identify/node_modules/it-queueless-pushable": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/it-queueless-pushable/-/it-queueless-pushable-2.0.0.tgz", - "integrity": "sha512-MlNnefWT/ntv5fesrHpxwVIu6ZdtlkN0A4aaJiE5wnmPMBv9ttiwX3UEMf78dFwIj5ZNaU9usYXg4swMEpUNJQ==", - "dependencies": { - "abort-error": "^1.0.1", - "p-defer": "^4.0.1", - "race-signal": "^1.1.3" - } - }, - "node_modules/@libp2p/interface": { - "version": "2.10.2", - "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-2.10.2.tgz", - "integrity": "sha512-aQ9jZaZZq9/y9NFax0K8Z6tTqLg3Qsyv1EY0O+eFrltmIkoUOCeCAybUTiOTwieknznHc9AMrHifaK3BYb+bqg==", - "license": "Apache-2.0 OR MIT", - "dependencies": { - "@multiformats/multiaddr": "^12.4.0", + "@multiformats/multiaddr": "^12.2.3", "it-pushable": "^3.2.3", - "it-stream-types": "^2.0.2", - "multiformats": "^13.3.4", - "progress-events": "^1.0.1", - "uint8arraylist": "^2.4.8" - } - }, - "node_modules/@libp2p/interface-connection": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@libp2p/interface-connection/-/interface-connection-5.1.1.tgz", - "integrity": "sha512-ytknMbuuNW72LYMmTP7wFGP5ZTaUSGBCmV9f+uQ55XPcFHtKXLtKWVU/HE8IqPmwtyU8AO7veGoJ/qStMHNRVA==", - "dependencies": { - "@libp2p/interface-peer-id": "^2.0.0", - "@libp2p/interfaces": "^3.0.0", - "@multiformats/multiaddr": "^12.0.0", "it-stream-types": "^2.0.1", - "uint8arraylist": "^2.4.3" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/interface-internal": { - "version": "2.3.14", - "resolved": "https://registry.npmjs.org/@libp2p/interface-internal/-/interface-internal-2.3.14.tgz", - "integrity": "sha512-HPd5gTXADnWD6VoklBRCUtN+iyEc0a0kZiWZ7Rg8cnNl2o61OVgCqO95KMaeAg8PKU98HoPRxkQnupVmZ7pyuA==", - "license": "Apache-2.0 OR MIT", - "dependencies": { - "@libp2p/interface": "^2.10.2", - "@libp2p/peer-collections": "^6.0.30", - "@multiformats/multiaddr": "^12.4.0", - "progress-events": "^1.0.1" - } - }, - "node_modules/@libp2p/interface-peer-discovery": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-discovery/-/interface-peer-discovery-1.1.1.tgz", - "integrity": "sha512-tjbt5DquTyP/JDskasPbIB3lk+zPVL8J9UPfrELZqlslJo9ufsMKyEXcTMMABclTvUsh6uSDgC0JUpUHTeCn8A==", - "dependencies": { - "@libp2p/interface-peer-info": "^1.0.0", - "@libp2p/interfaces": "^3.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" + "multiformats": "^13.1.0", + "progress-events": "^1.0.0", + "uint8arraylist": "^2.4.8" } }, - "node_modules/@libp2p/interface-peer-id": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-id/-/interface-peer-id-2.0.2.tgz", - "integrity": "sha512-9pZp9zhTDoVwzRmp0Wtxw0Yfa//Yc0GqBCJi3EznBDE6HGIAVvppR91wSh2knt/0eYg0AQj7Y35VSesUTzMCUg==", + "node_modules/@libp2p/webtransport/node_modules/@libp2p/logger": { + "version": "4.0.20", + "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-4.0.20.tgz", + "integrity": "sha512-TTh2dhHsOTAlMPxSa9ncFPHa/0jTt+0AQxwHdlxg/OGLAgc9VRhnrhHUbJZp07Crcw4T/MOfS4KhjlxgqYgJRw==", "dependencies": { - "multiformats": "^11.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/interface-peer-id/node_modules/multiformats": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.2.tgz", - "integrity": "sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg==", - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" + "@libp2p/interface": "^1.7.0", + "@multiformats/multiaddr": "^12.2.3", + "interface-datastore": "^8.2.11", + "multiformats": "^13.1.0", + "weald": "^1.0.2" } }, - "node_modules/@libp2p/interface-peer-info": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-info/-/interface-peer-info-1.0.10.tgz", - "integrity": "sha512-HQlo8NwQjMyamCHJrnILEZz+YwEOXCB2sIIw3slIrhVUYeYlTaia1R6d9umaAeLHa255Zmdm4qGH8rJLRqhCcg==", + "node_modules/@libp2p/webtransport/node_modules/@libp2p/peer-id": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-4.2.4.tgz", + "integrity": "sha512-mvvsVxt4HkF14BrTNKbqr14VObW+KBJBWu1Oe6BFCoDttGMQLaI+PdduE1r6Tquntv5IONBqoITgD7ow5dQ+vQ==", "dependencies": { - "@libp2p/interface-peer-id": "^2.0.0", - "@multiformats/multiaddr": "^12.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" + "@libp2p/interface": "^1.7.0", + "multiformats": "^13.1.0", + "uint8arrays": "^5.1.0" } }, - "node_modules/@libp2p/interface-stream-muxer": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@libp2p/interface-stream-muxer/-/interface-stream-muxer-4.1.2.tgz", - "integrity": "sha512-dQJcn67UaAa8YQFRJDhbo4uT453z/2lCzD/ZwTk1YOqJxATXbXgVcB8dXDQFEUiUX3ZjVQ1IBu+NlQd+IZ++zw==", + "node_modules/@libp2p/webtransport/node_modules/@libp2p/utils": { + "version": "5.4.9", + "resolved": "https://registry.npmjs.org/@libp2p/utils/-/utils-5.4.9.tgz", + "integrity": "sha512-0fRdX98WqhTmXU2WEVLegLFxs/kKTtUHanHk5Lzs4oGsIzlPHR7zE6lj/U1WfsFA+Xo1eYQpNLiXEL29hG+Nyw==", "dependencies": { - "@libp2p/interface-connection": "^5.0.0", - "@libp2p/interfaces": "^3.0.0", - "@libp2p/logger": "^2.0.7", - "abortable-iterator": "^5.0.1", + "@chainsafe/is-ip": "^2.0.2", + "@libp2p/crypto": "^4.1.9", + "@libp2p/interface": "^1.7.0", + "@libp2p/logger": "^4.0.20", + "@multiformats/multiaddr": "^12.2.3", + "@multiformats/multiaddr-matcher": "^1.2.1", + "@sindresorhus/fnv1a": "^3.1.0", + "@types/murmurhash3js-revisited": "^3.0.3", "any-signal": "^4.1.1", - "it-pushable": "^3.1.3", + "delay": "^6.0.0", + "get-iterator": "^2.0.1", + "is-loopback-addr": "^2.0.2", + "it-pushable": "^3.2.3", "it-stream-types": "^2.0.1", - "uint8arraylist": "^2.4.3" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/interface-stream-muxer/node_modules/@libp2p/logger": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-2.1.1.tgz", - "integrity": "sha512-2UbzDPctg3cPupF6jrv6abQnAUTrbLybNOj0rmmrdGm1cN2HJ1o/hBu0sXuq4KF9P1h/eVRn1HIRbVIEKnEJrA==", - "dependencies": { - "@libp2p/interface-peer-id": "^2.0.2", - "@multiformats/multiaddr": "^12.1.3", - "debug": "^4.3.4", - "interface-datastore": "^8.2.0", - "multiformats": "^11.0.2" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" + "murmurhash3js-revisited": "^3.0.0", + "netmask": "^2.0.2", + "p-defer": "^4.0.1", + "race-event": "^1.3.0", + "race-signal": "^1.0.2", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.1.0" } }, - "node_modules/@libp2p/interface-stream-muxer/node_modules/multiformats": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.2.tgz", - "integrity": "sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg==", - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" + "node_modules/@libp2p/webtransport/node_modules/@noble/ciphers": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-0.6.0.tgz", + "integrity": "sha512-mIbq/R9QXk5/cTfESb1OKtyFnk7oc1Om/8onA1158K9/OZUQFDEVy55jVTato+xmp3XX6F6Qh0zz0Nc1AxAlRQ==", + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@libp2p/interface-transport": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@libp2p/interface-transport/-/interface-transport-4.0.3.tgz", - "integrity": "sha512-jXFQ3blhFMEyQbFw/U8Glo3F/fUO5LEaX5HIdeqNpCliK+XnwTfpkcaG+WsJrcApWK4FFyUHc+GGqiWR0hAFFg==", + "node_modules/@libp2p/webtransport/node_modules/it-length-prefixed": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-9.1.1.tgz", + "integrity": "sha512-O88nBweT6M9ozsmok68/auKH7ik/slNM4pYbM9lrfy2z5QnpokW5SlrepHZDKtN71llhG2sZvd6uY4SAl+lAQg==", "dependencies": { - "@libp2p/interface-connection": "^5.0.0", - "@libp2p/interface-stream-muxer": "^4.0.0", - "@libp2p/interfaces": "^3.0.0", - "@multiformats/multiaddr": "^12.0.0", - "it-stream-types": "^2.0.1" + "it-reader": "^6.0.1", + "it-stream-types": "^2.0.1", + "uint8-varint": "^2.0.1", + "uint8arraylist": "^2.0.0", + "uint8arrays": "^5.0.1" }, "engines": { "node": ">=16.0.0", "npm": ">=7.0.0" } }, - "node_modules/@libp2p/interfaces": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@libp2p/interfaces/-/interfaces-3.3.2.tgz", - "integrity": "sha512-p/M7plbrxLzuQchvNwww1Was7ZeGE2NaOFulMaZBYIihU8z3fhaV+a033OqnC/0NTX/yhfdNOG7znhYq3XoR/g==", - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/kad-dht": { - "version": "14.2.15", - "resolved": "https://registry.npmjs.org/@libp2p/kad-dht/-/kad-dht-14.2.15.tgz", - "integrity": "sha512-iARZsaKrm9LlOE0nRTsqMasYGfWbh+zw1TAMWOY/QHTszFGb9ol7FZoI9WUzoif9ltKLu3BjJpy00b8CVofCBw==", - "dependencies": { - "@libp2p/crypto": "^5.0.15", - "@libp2p/interface": "^2.7.0", - "@libp2p/interface-internal": "^2.3.9", - "@libp2p/peer-collections": "^6.0.25", - "@libp2p/peer-id": "^5.1.0", - "@libp2p/record": "^4.0.5", - "@libp2p/utils": "^6.6.0", - "@multiformats/multiaddr": "^12.3.3", - "any-signal": "^4.1.1", - "interface-datastore": "^8.3.1", - "it-all": "^3.0.6", - "it-drain": "^3.0.7", - "it-length": "^3.0.6", - "it-length-prefixed": "^10.0.1", - "it-map": "^3.1.1", - "it-merge": "^3.0.5", - "it-parallel": "^3.0.8", - "it-pipe": "^3.0.1", - "it-protobuf-stream": "^1.1.5", - "it-take": "^3.0.6", - "mortice": "^3.0.6", - "multiformats": "^13.3.1", - "p-defer": "^4.0.1", - "p-event": "^6.0.1", - "progress-events": "^1.0.1", - "protons-runtime": "^5.5.0", - "race-signal": "^1.1.2", - "uint8-varint": "^2.0.4", - "uint8arraylist": "^2.4.8", - "uint8arrays": "^5.1.0" - } - }, - "node_modules/@libp2p/keychain": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/@libp2p/keychain/-/keychain-5.2.1.tgz", - "integrity": "sha512-yIYtGUaWUlZ6z+g5dIPa2+xkzFVfouTujIuTChTEUqahEty3a4sQmWs+Ewk/GTTDk29Gfi0/VHpx178ob5A5XA==", - "dependencies": { - "@libp2p/crypto": "^5.1.1", - "@libp2p/interface": "^2.9.0", - "@noble/hashes": "^1.6.1", - "asn1js": "^3.0.5", - "interface-datastore": "^8.3.1", - "merge-options": "^3.0.4", - "multiformats": "^13.3.1", - "sanitize-filename": "^1.6.3", - "uint8arrays": "^5.1.0" - } - }, - "node_modules/@libp2p/logger": { - "version": "5.1.18", - "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-5.1.18.tgz", - "integrity": "sha512-venbhUr6riuMTu8c8bnphZ27XcOuDDq6fdYaRVggokQpwSC6QRejlaFnY8w0K1ZuwFv9uc19UA2ELtOBQ26AJw==", - "license": "Apache-2.0 OR MIT", - "dependencies": { - "@libp2p/interface": "^2.10.2", - "@multiformats/multiaddr": "^12.4.0", - "interface-datastore": "^8.3.1", - "multiformats": "^13.3.4", - "weald": "^1.0.4" - } - }, - "node_modules/@libp2p/mplex": { - "version": "11.0.35", - "resolved": "https://registry.npmjs.org/@libp2p/mplex/-/mplex-11.0.35.tgz", - "integrity": "sha512-aOG/uBiAE1eRwhtZlow1LvxSREbQW9LBTGzUVtVYHBPVl+tNv/hzjAEssVEMnA8y2ckMDM3G+sCpoCAsaYzNow==", - "dependencies": { - "@libp2p/interface": "^2.9.0", - "@libp2p/utils": "^6.6.2", - "it-pipe": "^3.0.1", - "it-pushable": "^3.2.3", - "it-stream-types": "^2.0.2", - "uint8-varint": "^2.0.4", - "uint8arraylist": "^2.4.8", - "uint8arrays": "^5.1.0" - } - }, - "node_modules/@libp2p/multistream-select": { - "version": "6.0.22", - "resolved": "https://registry.npmjs.org/@libp2p/multistream-select/-/multistream-select-6.0.22.tgz", - "integrity": "sha512-SCSnLKNvqulYYN52mG/b5INGlmj3rMAxtH9zVb1e9rq5WflJu7CGaV8CJsxOjRoJ7YqPgx1meywkeG989OdwDA==", - "dependencies": { - "@libp2p/interface": "^2.9.0", - "it-length-prefixed": "^10.0.1", - "it-length-prefixed-stream": "^2.0.1", - "it-stream-types": "^2.0.2", - "p-defer": "^4.0.1", - "race-signal": "^1.1.2", - "uint8-varint": "^2.0.4", - "uint8arraylist": "^2.4.8", - "uint8arrays": "^5.1.0" - } - }, - "node_modules/@libp2p/multistream-select/node_modules/it-byte-stream": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/it-byte-stream/-/it-byte-stream-2.0.2.tgz", - "integrity": "sha512-YfT+dfbAKXB5VHlmvm5YUZNVA5WGP/j0CeVx09O8pqTNa9sK5aOLh17B7asJk6KSx2LwQwZuJ/JA6YN/gCc6GA==", - "dependencies": { - "abort-error": "^1.0.1", - "it-queueless-pushable": "^2.0.0", - "it-stream-types": "^2.0.2", - "race-signal": "^1.1.3", - "uint8arraylist": "^2.4.8" - } - }, - "node_modules/@libp2p/multistream-select/node_modules/it-length-prefixed-stream": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/it-length-prefixed-stream/-/it-length-prefixed-stream-2.0.2.tgz", - "integrity": "sha512-8zi1HjUWF5nxo+3ukwfNk2pm+0GiOP++l8iqGvar9sd/Ng1qfH/hFLiImCk3HVsLGfCgZus43U9IWb+48JiL2g==", - "dependencies": { - "abort-error": "^1.0.1", - "it-byte-stream": "^2.0.0", - "it-stream-types": "^2.0.2", - "uint8-varint": "^2.0.4", - "uint8arraylist": "^2.4.8" - } - }, - "node_modules/@libp2p/multistream-select/node_modules/it-queueless-pushable": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/it-queueless-pushable/-/it-queueless-pushable-2.0.1.tgz", - "integrity": "sha512-ZFX4ZHpzPwD0Ivpt3y98FtXk/KToO0ec5AjUDBQ4MOdkWVmnjEBfjq6ncvpuGtZ3776KSSK+i6uWkrSspdo/OQ==", - "dependencies": { - "abort-error": "^1.0.1", - "p-defer": "^4.0.1", - "race-signal": "^1.1.3" - } - }, - "node_modules/@libp2p/peer-collections": { - "version": "6.0.30", - "resolved": "https://registry.npmjs.org/@libp2p/peer-collections/-/peer-collections-6.0.30.tgz", - "integrity": "sha512-oN+ns04ka8X4gUdgXcxNwRsSuno2M9sWjrvOQ/L+TM96/H2dRK9wq/6Kva9rUQdszaP5rT8ooT2HjbyUt/omSw==", - "license": "Apache-2.0 OR MIT", + "node_modules/@multiformats/dns": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@multiformats/dns/-/dns-1.0.6.tgz", + "integrity": "sha512-nt/5UqjMPtyvkG9BQYdJ4GfLK3nMqGpFZOzf4hAmIa0sJh2LlS9YKXZ4FgwBDsaHvzZqR/rUFIywIc7pkHNNuw==", "dependencies": { - "@libp2p/interface": "^2.10.2", - "@libp2p/peer-id": "^5.1.5", - "@libp2p/utils": "^6.6.5", - "multiformats": "^13.3.4" + "@types/dns-packet": "^5.6.5", + "buffer": "^6.0.3", + "dns-packet": "^5.6.1", + "hashlru": "^2.3.0", + "p-queue": "^8.0.1", + "progress-events": "^1.0.0", + "uint8arrays": "^5.0.2" } }, - "node_modules/@libp2p/peer-id": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-5.1.5.tgz", - "integrity": "sha512-WKlZLKkmzfAANR8mytvYz8hY8YOukMG5t4svsXvLMaVkWPFg9Mm+USTwVCCWRXOXAGQSxLuwpvzwOBJAZMb5IA==", - "license": "Apache-2.0 OR MIT", + "node_modules/@multiformats/mafmt": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@multiformats/mafmt/-/mafmt-12.1.6.tgz", + "integrity": "sha512-tlJRfL21X+AKn9b5i5VnaTD6bNttpSpcqwKVmDmSHLwxoz97fAHaepqFOk/l1fIu94nImIXneNbhsJx/RQNIww==", "dependencies": { - "@libp2p/crypto": "^5.1.4", - "@libp2p/interface": "^2.10.2", - "multiformats": "^13.3.4", - "uint8arrays": "^5.1.0" + "@multiformats/multiaddr": "^12.0.0" } }, - "node_modules/@libp2p/peer-record": { - "version": "8.0.30", - "resolved": "https://registry.npmjs.org/@libp2p/peer-record/-/peer-record-8.0.30.tgz", - "integrity": "sha512-H7pJ5+qKzeMhIyO1JOPIrVsi3DTNfKUM4jYyUTi+o4X3a0ai9BlqQCmv+s/L6lOiziXwzU4URXjqiJvPjZKx6w==", - "license": "Apache-2.0 OR MIT", + "node_modules/@multiformats/multiaddr": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/@multiformats/multiaddr/-/multiaddr-12.4.0.tgz", + "integrity": "sha512-FL7yBTLijJ5JkO044BGb2msf+uJLrwpD6jD6TkXlbjA9N12+18HT40jvd4o5vL4LOJMc86dPX6tGtk/uI9kYKg==", "dependencies": { - "@libp2p/crypto": "^5.1.4", - "@libp2p/interface": "^2.10.2", - "@libp2p/peer-id": "^5.1.5", - "@libp2p/utils": "^6.6.5", - "@multiformats/multiaddr": "^12.4.0", - "multiformats": "^13.3.4", - "protons-runtime": "^5.5.0", - "uint8-varint": "^2.0.4", - "uint8arraylist": "^2.4.8", - "uint8arrays": "^5.1.0" + "@chainsafe/is-ip": "^2.0.1", + "@chainsafe/netmask": "^2.0.0", + "@multiformats/dns": "^1.0.3", + "multiformats": "^13.0.0", + "uint8-varint": "^2.0.1", + "uint8arrays": "^5.0.0" } }, - "node_modules/@libp2p/peer-store": { - "version": "11.1.4", - "resolved": "https://registry.npmjs.org/@libp2p/peer-store/-/peer-store-11.1.4.tgz", - "integrity": "sha512-KUfY0GJLUUYrPGLsiGRWliNNFPGlC0bY4BE25jhp1MEsjrimkTl6TcksqCQ8SzR0Cn4HMRRPJs4H2AzdaQexZA==", + "node_modules/@multiformats/multiaddr-matcher": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@multiformats/multiaddr-matcher/-/multiaddr-matcher-1.7.2.tgz", + "integrity": "sha512-BJzHOBAAxGZKw+FY/MzeIKGKERAW/1XOrpj61wgzZVvR/iksyGTQhliyTgmuakpBJPSsCxlrk3eLemVhZuJIFQ==", "dependencies": { - "@libp2p/crypto": "^5.1.1", - "@libp2p/interface": "^2.9.0", - "@libp2p/peer-id": "^5.1.2", - "@libp2p/peer-record": "^8.0.27", - "@multiformats/multiaddr": "^12.3.3", - "interface-datastore": "^8.3.1", - "it-all": "^3.0.6", - "mortice": "^3.0.6", - "multiformats": "^13.3.1", - "protons-runtime": "^5.5.0", - "uint8arraylist": "^2.4.8", - "uint8arrays": "^5.1.0" + "@chainsafe/is-ip": "^2.0.1", + "@multiformats/multiaddr": "^12.0.0", + "multiformats": "^13.0.0" } }, - "node_modules/@libp2p/pubsub": { - "version": "10.1.10", - "resolved": "https://registry.npmjs.org/@libp2p/pubsub/-/pubsub-10.1.10.tgz", - "integrity": "sha512-PJiHERHJ1NFJpTuQjYLhTsMO0tvaP7MXlWlkRpJ6eShYZ4x8CAZI5/5A7pICQdptyHXRU92mkAOTn38YrZ5c/w==", + "node_modules/@multiformats/uri-to-multiaddr": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@multiformats/uri-to-multiaddr/-/uri-to-multiaddr-8.1.0.tgz", + "integrity": "sha512-NHFqdKEwJ0A6JDXzC645Lgyw72zWhbM1QfaaD00ZYRrNvtx64p1bD9aIrWZIhLWZN87/lsV4QkJSNRF3Fd3ryw==", "dependencies": { - "@libp2p/crypto": "^5.1.1", - "@libp2p/interface": "^2.9.0", - "@libp2p/interface-internal": "^2.3.11", - "@libp2p/peer-collections": "^6.0.27", - "@libp2p/peer-id": "^5.1.2", - "@libp2p/utils": "^6.6.2", - "it-length-prefixed": "^10.0.1", - "it-pipe": "^3.0.1", - "it-pushable": "^3.2.3", - "multiformats": "^13.3.1", - "p-queue": "^8.0.1", - "uint8arraylist": "^2.4.8", - "uint8arrays": "^5.1.0" + "@multiformats/multiaddr": "^12.1.14", + "is-ip": "^5.0.0" } }, - "node_modules/@libp2p/pubsub-peer-discovery": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@libp2p/pubsub-peer-discovery/-/pubsub-peer-discovery-11.0.1.tgz", - "integrity": "sha512-bT7UO7tQ4mZCPFE0eS8Fx19B8MGzxjbTNR6SwcLGcOqOqUTvc2CLByMvcy3iMXuKjmds6G+VUf5ZMhvjGLTznA==", - "dependencies": { - "@libp2p/crypto": "^5.0.0", - "@libp2p/interface": "^2.0.0", - "@libp2p/interface-internal": "^2.0.0", - "@libp2p/peer-id": "^5.0.0", - "@multiformats/multiaddr": "^12.0.0", - "protons-runtime": "^5.0.0", - "uint8arraylist": "^2.4.3", - "uint8arrays": "^5.0.2" - } - }, - "node_modules/@libp2p/record": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@libp2p/record/-/record-4.0.5.tgz", - "integrity": "sha512-HfKugY+ZKizhxE/hbLqI8zcFLfYly2gakaL0k8wBXCfmOTrAV7UajeJWkWqrKkIEMHASUyapm746KF+i9e7Xmw==", - "dependencies": { - "protons-runtime": "^5.5.0", - "uint8arraylist": "^2.4.8", - "uint8arrays": "^5.1.0" - } - }, - "node_modules/@libp2p/utils": { - "version": "6.6.5", - "resolved": "https://registry.npmjs.org/@libp2p/utils/-/utils-6.6.5.tgz", - "integrity": "sha512-QU0dpwNv2bDqUsSXe/5kpKi7gl0CDZC9eSQoueQb9eH4ePVh7SvQjt8gCq6zF6aDHfJ+h/trAKSRk8BiPWKSRA==", - "license": "Apache-2.0 OR MIT", - "dependencies": { - "@chainsafe/is-ip": "^2.1.0", - "@chainsafe/netmask": "^2.0.0", - "@libp2p/crypto": "^5.1.4", - "@libp2p/interface": "^2.10.2", - "@libp2p/logger": "^5.1.18", - "@multiformats/multiaddr": "^12.4.0", - "@sindresorhus/fnv1a": "^3.1.0", - "any-signal": "^4.1.1", - "delay": "^6.0.0", - "get-iterator": "^2.0.1", - "is-loopback-addr": "^2.0.2", - "is-plain-obj": "^4.1.0", - "it-foreach": "^2.1.3", - "it-pipe": "^3.0.1", - "it-pushable": "^3.2.3", - "it-stream-types": "^2.0.2", - "netmask": "^2.0.2", - "p-defer": "^4.0.1", - "race-event": "^1.3.0", - "race-signal": "^1.1.3", - "uint8arraylist": "^2.4.8", - "uint8arrays": "^5.1.0" - } - }, - "node_modules/@libp2p/utils/node_modules/is-loopback-addr": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-loopback-addr/-/is-loopback-addr-2.0.2.tgz", - "integrity": "sha512-26POf2KRCno/KTNL5Q0b/9TYnL00xEsSaLfiFRmjM7m7Lw7ZMmFybzzuX4CcsLAluZGd+niLUiMRxEooVE3aqg==" - }, - "node_modules/@libp2p/utils/node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@libp2p/webrtc": { - "version": "5.2.12", - "resolved": "https://registry.npmjs.org/@libp2p/webrtc/-/webrtc-5.2.12.tgz", - "integrity": "sha512-ObmCeK28PmN1vqgJ52YPNHfMFrTWBlXEGAXzJlgMuuvJ4Y94of7Ej1kZWhsfGWyfrhELEcFtioPCzeaSdbeB7A==", - "dependencies": { - "@chainsafe/is-ip": "^2.0.2", - "@chainsafe/libp2p-noise": "^16.0.0", - "@ipshipyard/node-datachannel": "^0.26.4", - "@libp2p/crypto": "^5.1.1", - "@libp2p/interface": "^2.9.0", - "@libp2p/interface-internal": "^2.3.11", - "@libp2p/keychain": "^5.2.1", - "@libp2p/peer-id": "^5.1.2", - "@libp2p/utils": "^6.6.2", - "@multiformats/multiaddr": "^12.4.0", - "@multiformats/multiaddr-matcher": "^1.6.0", - "@peculiar/webcrypto": "^1.5.0", - "@peculiar/x509": "^1.11.0", - "any-signal": "^4.1.1", - "detect-browser": "^5.3.0", - "get-port": "^7.1.0", - "interface-datastore": "^8.3.1", - "it-length-prefixed": "^10.0.1", - "it-protobuf-stream": "^2.0.1", - "it-pushable": "^3.2.3", - "it-stream-types": "^2.0.2", - "multiformats": "^13.3.1", - "p-defer": "^4.0.1", - "p-timeout": "^6.1.3", - "p-wait-for": "^5.0.2", - "progress-events": "^1.0.1", - "protons-runtime": "^5.5.0", - "race-event": "^1.3.0", - "race-signal": "^1.1.2", - "react-native-webrtc": "^124.0.4", - "uint8-varint": "^2.0.4", - "uint8arraylist": "^2.4.8", - "uint8arrays": "^5.1.0" - } - }, - "node_modules/@libp2p/webrtc-peer": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@libp2p/webrtc-peer/-/webrtc-peer-2.0.2.tgz", - "integrity": "sha512-FozliUqHO1CIzrL8hPc5uT+5AGUWf5Dw3HncL9tte/CoDNVpj6O59ITIRWefssp3oIGEAIjpcebNu1d+mYfVug==", - "dependencies": { - "@libp2p/interfaces": "^3.0.2", - "@libp2p/logger": "^2.0.0", - "delay": "^5.0.0", - "err-code": "^3.0.1", - "iso-random-stream": "^2.0.2", - "it-pushable": "^3.0.0", - "it-stream-types": "^1.0.4", - "p-defer": "^4.0.0", - "p-event": "^5.0.1", - "uint8arrays": "^4.0.2" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/webrtc-peer/node_modules/@libp2p/logger": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-2.1.1.tgz", - "integrity": "sha512-2UbzDPctg3cPupF6jrv6abQnAUTrbLybNOj0rmmrdGm1cN2HJ1o/hBu0sXuq4KF9P1h/eVRn1HIRbVIEKnEJrA==", - "dependencies": { - "@libp2p/interface-peer-id": "^2.0.2", - "@multiformats/multiaddr": "^12.1.3", - "debug": "^4.3.4", - "interface-datastore": "^8.2.0", - "multiformats": "^11.0.2" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/webrtc-peer/node_modules/delay": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", - "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@libp2p/webrtc-peer/node_modules/it-stream-types": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/it-stream-types/-/it-stream-types-1.0.5.tgz", - "integrity": "sha512-I88Ka1nHgfX62e5mi5LLL+oueqz7Ltg0bUdtsUKDe9SoUqbQPf2Mp5kxDTe9pNhHQGs4pvYPAINwuZ1HAt42TA==", - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/webrtc-peer/node_modules/multiformats": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.2.tgz", - "integrity": "sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg==", - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/webrtc-peer/node_modules/p-event": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-5.0.1.tgz", - "integrity": "sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==", - "dependencies": { - "p-timeout": "^5.0.2" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@libp2p/webrtc-peer/node_modules/p-timeout": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-5.1.0.tgz", - "integrity": "sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@libp2p/webrtc-peer/node_modules/uint8arrays": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-4.0.10.tgz", - "integrity": "sha512-AnJNUGGDJAgFw/eWu/Xb9zrVKEGlwJJCaeInlf3BkecE/zcTobk5YXYIPNQJO1q5Hh1QZrQQHf0JvcHqz2hqoA==", - "dependencies": { - "multiformats": "^12.0.1" - } - }, - "node_modules/@libp2p/webrtc-peer/node_modules/uint8arrays/node_modules/multiformats": { - "version": "12.1.3", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-12.1.3.tgz", - "integrity": "sha512-eajQ/ZH7qXZQR2AgtfpmSMizQzmyYVmCql7pdhldPuYQi4atACekbJaQplk6dWyIi10jCaFnd6pqvcEFXjbaJw==", - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/webrtc-star": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@libp2p/webrtc-star/-/webrtc-star-7.0.0.tgz", - "integrity": "sha512-IHaMaKaOiPUfKxcH45x5qwcgLlVWFDQB7sjldKf+crAiyD5aO86UjbXzK+7pSSqudAB9FQFwesRe4m8fe64nqQ==", - "dependencies": { - "@libp2p/interface-connection": "^5.0.1", - "@libp2p/interface-peer-discovery": "^1.0.0", - "@libp2p/interface-peer-id": "^2.0.0", - "@libp2p/interface-transport": "^4.0.0", - "@libp2p/interfaces": "^3.0.2", - "@libp2p/logger": "^2.0.0", - "@libp2p/peer-id": "^2.0.0", - "@libp2p/webrtc-peer": "^2.0.0", - "@libp2p/webrtc-star-protocol": "^4.0.0", - "@multiformats/mafmt": "^12.1.0", - "@multiformats/multiaddr": "^12.1.2", - "abortable-iterator": "^5.0.1", - "delay": "^5.0.0", - "err-code": "^3.0.1", - "iso-random-stream": "^2.0.2", - "p-defer": "^4.0.0", - "socket.io-client": "^4.1.2", - "uint8arrays": "^4.0.2" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/webrtc-star-protocol": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@libp2p/webrtc-star-protocol/-/webrtc-star-protocol-4.0.0.tgz", - "integrity": "sha512-c+S1WoRqxq1ctXWnUZFfCohw7LmtToMAvvq5AMF1HKDV1rMW0y3FGDgJE7yKg6HegEG0hSJ/5YCgXxB33ezihA==", - "dependencies": { - "socket.io-client": "^4.1.2" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/webrtc-star/node_modules/@libp2p/logger": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-2.1.1.tgz", - "integrity": "sha512-2UbzDPctg3cPupF6jrv6abQnAUTrbLybNOj0rmmrdGm1cN2HJ1o/hBu0sXuq4KF9P1h/eVRn1HIRbVIEKnEJrA==", - "dependencies": { - "@libp2p/interface-peer-id": "^2.0.2", - "@multiformats/multiaddr": "^12.1.3", - "debug": "^4.3.4", - "interface-datastore": "^8.2.0", - "multiformats": "^11.0.2" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/webrtc-star/node_modules/@libp2p/peer-id": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-2.0.4.tgz", - "integrity": "sha512-gcOsN8Fbhj6izIK+ejiWsqiqKeJ2yWPapi/m55VjOvDa52/ptQzZszxQP8jUk93u36de92ATFXDfZR/Bi6eeUQ==", - "dependencies": { - "@libp2p/interface-peer-id": "^2.0.0", - "@libp2p/interfaces": "^3.2.0", - "multiformats": "^11.0.0", - "uint8arrays": "^4.0.2" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/webrtc-star/node_modules/delay": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", - "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@libp2p/webrtc-star/node_modules/multiformats": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.2.tgz", - "integrity": "sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg==", - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/webrtc-star/node_modules/uint8arrays": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-4.0.10.tgz", - "integrity": "sha512-AnJNUGGDJAgFw/eWu/Xb9zrVKEGlwJJCaeInlf3BkecE/zcTobk5YXYIPNQJO1q5Hh1QZrQQHf0JvcHqz2hqoA==", - "dependencies": { - "multiformats": "^12.0.1" - } - }, - "node_modules/@libp2p/webrtc-star/node_modules/uint8arrays/node_modules/multiformats": { - "version": "12.1.3", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-12.1.3.tgz", - "integrity": "sha512-eajQ/ZH7qXZQR2AgtfpmSMizQzmyYVmCql7pdhldPuYQi4atACekbJaQplk6dWyIi10jCaFnd6pqvcEFXjbaJw==", - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/webrtc/node_modules/it-byte-stream": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/it-byte-stream/-/it-byte-stream-2.0.2.tgz", - "integrity": "sha512-YfT+dfbAKXB5VHlmvm5YUZNVA5WGP/j0CeVx09O8pqTNa9sK5aOLh17B7asJk6KSx2LwQwZuJ/JA6YN/gCc6GA==", - "dependencies": { - "abort-error": "^1.0.1", - "it-queueless-pushable": "^2.0.0", - "it-stream-types": "^2.0.2", - "race-signal": "^1.1.3", - "uint8arraylist": "^2.4.8" - } - }, - "node_modules/@libp2p/webrtc/node_modules/it-length-prefixed-stream": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/it-length-prefixed-stream/-/it-length-prefixed-stream-2.0.2.tgz", - "integrity": "sha512-8zi1HjUWF5nxo+3ukwfNk2pm+0GiOP++l8iqGvar9sd/Ng1qfH/hFLiImCk3HVsLGfCgZus43U9IWb+48JiL2g==", - "dependencies": { - "abort-error": "^1.0.1", - "it-byte-stream": "^2.0.0", - "it-stream-types": "^2.0.2", - "uint8-varint": "^2.0.4", - "uint8arraylist": "^2.4.8" - } - }, - "node_modules/@libp2p/webrtc/node_modules/it-protobuf-stream": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/it-protobuf-stream/-/it-protobuf-stream-2.0.2.tgz", - "integrity": "sha512-40abXOZL3jQYkD/+VhabchZadtvq4cSRKMEhaXVYa58HPdkBSzyL3bUzMcERVcLq2ithLwrPyjLAVqMXud/mBA==", - "dependencies": { - "abort-error": "^1.0.1", - "it-length-prefixed-stream": "^2.0.0", - "it-stream-types": "^2.0.2", - "uint8arraylist": "^2.4.8" - } - }, - "node_modules/@libp2p/webrtc/node_modules/it-queueless-pushable": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/it-queueless-pushable/-/it-queueless-pushable-2.0.1.tgz", - "integrity": "sha512-ZFX4ZHpzPwD0Ivpt3y98FtXk/KToO0ec5AjUDBQ4MOdkWVmnjEBfjq6ncvpuGtZ3776KSSK+i6uWkrSspdo/OQ==", - "dependencies": { - "abort-error": "^1.0.1", - "p-defer": "^4.0.1", - "race-signal": "^1.1.3" - } - }, - "node_modules/@libp2p/websockets": { - "version": "9.2.10", - "resolved": "https://registry.npmjs.org/@libp2p/websockets/-/websockets-9.2.10.tgz", - "integrity": "sha512-3UUG8SdTr2pe5Jpv86zu0R8AKXVTtIgBWjIISghjeMDhEEz8lakYGtlUYndWiGe7sICG2EaAQcr/SFwMmzItIg==", - "dependencies": { - "@libp2p/interface": "^2.9.0", - "@libp2p/utils": "^6.6.2", - "@multiformats/multiaddr": "^12.3.3", - "@multiformats/multiaddr-matcher": "^1.6.0", - "@multiformats/multiaddr-to-uri": "^11.0.0", - "@types/ws": "^8.5.13", - "it-ws": "^6.1.5", - "p-defer": "^4.0.1", - "p-event": "^6.0.1", - "progress-events": "^1.0.1", - "race-signal": "^1.1.2", - "ws": "^8.18.0" - } - }, - "node_modules/@libp2p/websockets/node_modules/ws": { - "version": "8.18.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz", - "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==", - "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 - } - } - }, - "node_modules/@modelcontextprotocol/sdk": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.11.2.tgz", - "integrity": "sha512-H9vwztj5OAqHg9GockCQC06k1natgcxWQSRpQcPJf6i5+MWBzfKkRtxGbjQf0X2ihii0ffLZCRGbYV2f2bjNCQ==", - "dependencies": { - "content-type": "^1.0.5", - "cors": "^2.8.5", - "cross-spawn": "^7.0.3", - "eventsource": "^3.0.2", - "express": "^5.0.1", - "express-rate-limit": "^7.5.0", - "pkce-challenge": "^5.0.0", - "raw-body": "^3.0.0", - "zod": "^3.23.8", - "zod-to-json-schema": "^3.24.1" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@multiformats/dns": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@multiformats/dns/-/dns-1.0.6.tgz", - "integrity": "sha512-nt/5UqjMPtyvkG9BQYdJ4GfLK3nMqGpFZOzf4hAmIa0sJh2LlS9YKXZ4FgwBDsaHvzZqR/rUFIywIc7pkHNNuw==", - "dependencies": { - "@types/dns-packet": "^5.6.5", - "buffer": "^6.0.3", - "dns-packet": "^5.6.1", - "hashlru": "^2.3.0", - "p-queue": "^8.0.1", - "progress-events": "^1.0.0", - "uint8arrays": "^5.0.2" - } - }, - "node_modules/@multiformats/mafmt": { - "version": "12.1.6", - "resolved": "https://registry.npmjs.org/@multiformats/mafmt/-/mafmt-12.1.6.tgz", - "integrity": "sha512-tlJRfL21X+AKn9b5i5VnaTD6bNttpSpcqwKVmDmSHLwxoz97fAHaepqFOk/l1fIu94nImIXneNbhsJx/RQNIww==", - "dependencies": { - "@multiformats/multiaddr": "^12.0.0" - } - }, - "node_modules/@multiformats/multiaddr": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/@multiformats/multiaddr/-/multiaddr-12.4.0.tgz", - "integrity": "sha512-FL7yBTLijJ5JkO044BGb2msf+uJLrwpD6jD6TkXlbjA9N12+18HT40jvd4o5vL4LOJMc86dPX6tGtk/uI9kYKg==", - "dependencies": { - "@chainsafe/is-ip": "^2.0.1", - "@chainsafe/netmask": "^2.0.0", - "@multiformats/dns": "^1.0.3", - "multiformats": "^13.0.0", - "uint8-varint": "^2.0.1", - "uint8arrays": "^5.0.0" - } - }, - "node_modules/@multiformats/multiaddr-matcher": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@multiformats/multiaddr-matcher/-/multiaddr-matcher-1.7.2.tgz", - "integrity": "sha512-BJzHOBAAxGZKw+FY/MzeIKGKERAW/1XOrpj61wgzZVvR/iksyGTQhliyTgmuakpBJPSsCxlrk3eLemVhZuJIFQ==", - "dependencies": { - "@chainsafe/is-ip": "^2.0.1", - "@multiformats/multiaddr": "^12.0.0", - "multiformats": "^13.0.0" - } - }, - "node_modules/@multiformats/multiaddr-to-uri": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@multiformats/multiaddr-to-uri/-/multiaddr-to-uri-11.0.0.tgz", - "integrity": "sha512-9RNmlIGwZbBLsHekT50dbt4o4u8Iciw9kGjv+WHiGxQdsJ6xKKjU1+C0Vbas6RilMbaVOAOnEyfNcXbUmTkLxQ==", - "dependencies": { - "@multiformats/multiaddr": "^12.3.0" - } - }, - "node_modules/@noble/ciphers": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-1.2.1.tgz", - "integrity": "sha512-rONPWMC7PeExE077uLE4oqWrZ1IvAfz3oH9LibVAcVCopJiA9R62uavnbEzdkVmJYI6M6Zgkbeb07+tWjlq2XA==", - "engines": { - "node": "^14.21.3 || >=16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@noble/curves": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.1.tgz", - "integrity": "sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA==", - "license": "MIT", - "dependencies": { - "@noble/hashes": "1.8.0" - }, - "engines": { - "node": "^14.21.3 || >=16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@noble/hashes": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", - "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", - "license": "MIT", - "engines": { - "node": "^14.21.3 || >=16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@peculiar/asn1-cms": { - "version": "2.3.15", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-cms/-/asn1-cms-2.3.15.tgz", - "integrity": "sha512-B+DoudF+TCrxoJSTjjcY8Mmu+lbv8e7pXGWrhNp2/EGJp9EEcpzjBCar7puU57sGifyzaRVM03oD5L7t7PghQg==", - "dependencies": { - "@peculiar/asn1-schema": "^2.3.15", - "@peculiar/asn1-x509": "^2.3.15", - "@peculiar/asn1-x509-attr": "^2.3.15", - "asn1js": "^3.0.5", - "tslib": "^2.8.1" - } - }, - "node_modules/@peculiar/asn1-csr": { - "version": "2.3.15", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-csr/-/asn1-csr-2.3.15.tgz", - "integrity": "sha512-caxAOrvw2hUZpxzhz8Kp8iBYKsHbGXZPl2KYRMIPvAfFateRebS3136+orUpcVwHRmpXWX2kzpb6COlIrqCumA==", - "dependencies": { - "@peculiar/asn1-schema": "^2.3.15", - "@peculiar/asn1-x509": "^2.3.15", - "asn1js": "^3.0.5", - "tslib": "^2.8.1" - } - }, - "node_modules/@peculiar/asn1-ecc": { - "version": "2.3.15", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-ecc/-/asn1-ecc-2.3.15.tgz", - "integrity": "sha512-/HtR91dvgog7z/WhCVdxZJ/jitJuIu8iTqiyWVgRE9Ac5imt2sT/E4obqIVGKQw7PIy+X6i8lVBoT6wC73XUgA==", - "dependencies": { - "@peculiar/asn1-schema": "^2.3.15", - "@peculiar/asn1-x509": "^2.3.15", - "asn1js": "^3.0.5", - "tslib": "^2.8.1" - } - }, - "node_modules/@peculiar/asn1-pfx": { - "version": "2.3.15", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-pfx/-/asn1-pfx-2.3.15.tgz", - "integrity": "sha512-E3kzQe3J2xV9DP6SJS4X6/N1e4cYa2xOAK46VtvpaRk8jlheNri8v0rBezKFVPB1rz/jW8npO+u1xOvpATFMWg==", - "dependencies": { - "@peculiar/asn1-cms": "^2.3.15", - "@peculiar/asn1-pkcs8": "^2.3.15", - "@peculiar/asn1-rsa": "^2.3.15", - "@peculiar/asn1-schema": "^2.3.15", - "asn1js": "^3.0.5", - "tslib": "^2.8.1" - } - }, - "node_modules/@peculiar/asn1-pkcs8": { - "version": "2.3.15", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs8/-/asn1-pkcs8-2.3.15.tgz", - "integrity": "sha512-/PuQj2BIAw1/v76DV1LUOA6YOqh/UvptKLJHtec/DQwruXOCFlUo7k6llegn8N5BTeZTWMwz5EXruBw0Q10TMg==", - "dependencies": { - "@peculiar/asn1-schema": "^2.3.15", - "@peculiar/asn1-x509": "^2.3.15", - "asn1js": "^3.0.5", - "tslib": "^2.8.1" - } - }, - "node_modules/@peculiar/asn1-pkcs9": { - "version": "2.3.15", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs9/-/asn1-pkcs9-2.3.15.tgz", - "integrity": "sha512-yiZo/1EGvU1KiQUrbcnaPGWc0C7ElMMskWn7+kHsCFm+/9fU0+V1D/3a5oG0Jpy96iaXggQpA9tzdhnYDgjyFg==", - "dependencies": { - "@peculiar/asn1-cms": "^2.3.15", - "@peculiar/asn1-pfx": "^2.3.15", - "@peculiar/asn1-pkcs8": "^2.3.15", - "@peculiar/asn1-schema": "^2.3.15", - "@peculiar/asn1-x509": "^2.3.15", - "@peculiar/asn1-x509-attr": "^2.3.15", - "asn1js": "^3.0.5", - "tslib": "^2.8.1" - } - }, - "node_modules/@peculiar/asn1-rsa": { - "version": "2.3.15", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-rsa/-/asn1-rsa-2.3.15.tgz", - "integrity": "sha512-p6hsanvPhexRtYSOHihLvUUgrJ8y0FtOM97N5UEpC+VifFYyZa0iZ5cXjTkZoDwxJ/TTJ1IJo3HVTB2JJTpXvg==", - "dependencies": { - "@peculiar/asn1-schema": "^2.3.15", - "@peculiar/asn1-x509": "^2.3.15", - "asn1js": "^3.0.5", - "tslib": "^2.8.1" - } - }, - "node_modules/@peculiar/asn1-schema": { - "version": "2.3.15", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.3.15.tgz", - "integrity": "sha512-QPeD8UA8axQREpgR5UTAfu2mqQmm97oUqahDtNdBcfj3qAnoXzFdQW+aNf/tD2WVXF8Fhmftxoj0eMIT++gX2w==", - "dependencies": { - "asn1js": "^3.0.5", - "pvtsutils": "^1.3.6", - "tslib": "^2.8.1" - } - }, - "node_modules/@peculiar/asn1-x509": { - "version": "2.3.15", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.3.15.tgz", - "integrity": "sha512-0dK5xqTqSLaxv1FHXIcd4Q/BZNuopg+u1l23hT9rOmQ1g4dNtw0g/RnEi+TboB0gOwGtrWn269v27cMgchFIIg==", - "dependencies": { - "@peculiar/asn1-schema": "^2.3.15", - "asn1js": "^3.0.5", - "pvtsutils": "^1.3.6", - "tslib": "^2.8.1" - } - }, - "node_modules/@peculiar/asn1-x509-attr": { - "version": "2.3.15", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509-attr/-/asn1-x509-attr-2.3.15.tgz", - "integrity": "sha512-TWJVJhqc+IS4MTEML3l6W1b0sMowVqdsnI4dnojg96LvTuP8dga9f76fjP07MUuss60uSyT2ckoti/2qHXA10A==", - "dependencies": { - "@peculiar/asn1-schema": "^2.3.15", - "@peculiar/asn1-x509": "^2.3.15", - "asn1js": "^3.0.5", - "tslib": "^2.8.1" - } - }, - "node_modules/@peculiar/json-schema": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/@peculiar/json-schema/-/json-schema-1.1.12.tgz", - "integrity": "sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==", - "dependencies": { - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@peculiar/webcrypto": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@peculiar/webcrypto/-/webcrypto-1.5.0.tgz", - "integrity": "sha512-BRs5XUAwiyCDQMsVA9IDvDa7UBR9gAvPHgugOeGng3YN6vJ9JYonyDc0lNczErgtCWtucjR5N7VtaonboD/ezg==", - "dependencies": { - "@peculiar/asn1-schema": "^2.3.8", - "@peculiar/json-schema": "^1.1.12", - "pvtsutils": "^1.3.5", - "tslib": "^2.6.2", - "webcrypto-core": "^1.8.0" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/@peculiar/x509": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/@peculiar/x509/-/x509-1.12.3.tgz", - "integrity": "sha512-+Mzq+W7cNEKfkNZzyLl6A6ffqc3r21HGZUezgfKxpZrkORfOqgRXnS80Zu0IV6a9Ue9QBJeKD7kN0iWfc3bhRQ==", - "dependencies": { - "@peculiar/asn1-cms": "^2.3.13", - "@peculiar/asn1-csr": "^2.3.13", - "@peculiar/asn1-ecc": "^2.3.14", - "@peculiar/asn1-pkcs9": "^2.3.13", - "@peculiar/asn1-rsa": "^2.3.13", - "@peculiar/asn1-schema": "^2.3.13", - "@peculiar/asn1-x509": "^2.3.13", - "pvtsutils": "^1.3.5", - "reflect-metadata": "^0.2.2", - "tslib": "^2.7.0", - "tsyringe": "^4.8.0" - } - }, - "node_modules/@polkadot-api/client": { - "version": "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0", - "resolved": "https://registry.npmjs.org/@polkadot-api/client/-/client-0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0.tgz", - "integrity": "sha512-0fqK6pUKcGHSG2pBvY+gfSS+1mMdjd/qRygAcKI5d05tKsnZLRnmhb9laDguKmGEIB0Bz9vQqNK3gIN/cfvVwg==", - "optional": true, - "dependencies": { - "@polkadot-api/metadata-builders": "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0", - "@polkadot-api/substrate-bindings": "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0", - "@polkadot-api/substrate-client": "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0", - "@polkadot-api/utils": "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0" - }, - "peerDependencies": { - "rxjs": ">=7.8.0" - } - }, - "node_modules/@polkadot-api/json-rpc-provider": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@polkadot-api/json-rpc-provider/-/json-rpc-provider-0.0.1.tgz", - "integrity": "sha512-/SMC/l7foRjpykLTUTacIH05H3mr9ip8b5xxfwXlVezXrNVLp3Cv0GX6uItkKd+ZjzVPf3PFrDF2B2/HLSNESA==", - "optional": true - }, - "node_modules/@polkadot-api/json-rpc-provider-proxy": { - "version": "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0", - "resolved": "https://registry.npmjs.org/@polkadot-api/json-rpc-provider-proxy/-/json-rpc-provider-proxy-0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0.tgz", - "integrity": "sha512-0hZ8vtjcsyCX8AyqP2sqUHa1TFFfxGWmlXJkit0Nqp9b32MwZqn5eaUAiV2rNuEpoglKOdKnkGtUF8t5MoodKw==", - "optional": true - }, - "node_modules/@polkadot-api/metadata-builders": { - "version": "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0", - "resolved": "https://registry.npmjs.org/@polkadot-api/metadata-builders/-/metadata-builders-0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0.tgz", - "integrity": "sha512-BD7rruxChL1VXt0icC2gD45OtT9ofJlql0qIllHSRYgama1CR2Owt+ApInQxB+lWqM+xNOznZRpj8CXNDvKIMg==", - "optional": true, - "dependencies": { - "@polkadot-api/substrate-bindings": "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0", - "@polkadot-api/utils": "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0" - } - }, - "node_modules/@polkadot-api/substrate-bindings": { - "version": "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0", - "resolved": "https://registry.npmjs.org/@polkadot-api/substrate-bindings/-/substrate-bindings-0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0.tgz", - "integrity": "sha512-N4vdrZopbsw8k57uG58ofO7nLXM4Ai7835XqakN27MkjXMp5H830A1KJE0L9sGQR7ukOCDEIHHcwXVrzmJ/PBg==", - "optional": true, - "dependencies": { - "@noble/hashes": "^1.3.1", - "@polkadot-api/utils": "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0", - "@scure/base": "^1.1.1", - "scale-ts": "^1.6.0" - } - }, - "node_modules/@polkadot-api/substrate-client": { - "version": "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0", - "resolved": "https://registry.npmjs.org/@polkadot-api/substrate-client/-/substrate-client-0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0.tgz", - "integrity": "sha512-lcdvd2ssUmB1CPzF8s2dnNOqbrDa+nxaaGbuts+Vo8yjgSKwds2Lo7Oq+imZN4VKW7t9+uaVcKFLMF7PdH0RWw==", - "optional": true - }, - "node_modules/@polkadot-api/utils": { - "version": "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0", - "resolved": "https://registry.npmjs.org/@polkadot-api/utils/-/utils-0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0.tgz", - "integrity": "sha512-0CYaCjfLQJTCRCiYvZ81OncHXEKPzAexCMoVloR+v2nl/O2JRya/361MtPkeNLC6XBoaEgLAG9pWQpH3WePzsw==", - "optional": true - }, - "node_modules/@polkadot/api": { - "version": "10.13.1", - "resolved": "https://registry.npmjs.org/@polkadot/api/-/api-10.13.1.tgz", - "integrity": "sha512-YrKWR4TQR5CDyGkF0mloEUo7OsUA+bdtENpJGOtNavzOQUDEbxFE0PVzokzZfVfHhHX2CojPVmtzmmLxztyJkg==", - "dependencies": { - "@polkadot/api-augment": "10.13.1", - "@polkadot/api-base": "10.13.1", - "@polkadot/api-derive": "10.13.1", - "@polkadot/keyring": "^12.6.2", - "@polkadot/rpc-augment": "10.13.1", - "@polkadot/rpc-core": "10.13.1", - "@polkadot/rpc-provider": "10.13.1", - "@polkadot/types": "10.13.1", - "@polkadot/types-augment": "10.13.1", - "@polkadot/types-codec": "10.13.1", - "@polkadot/types-create": "10.13.1", - "@polkadot/types-known": "10.13.1", - "@polkadot/util": "^12.6.2", - "@polkadot/util-crypto": "^12.6.2", - "eventemitter3": "^5.0.1", - "rxjs": "^7.8.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/api-augment": { - "version": "10.13.1", - "resolved": "https://registry.npmjs.org/@polkadot/api-augment/-/api-augment-10.13.1.tgz", - "integrity": "sha512-IAKaCp19QxgOG4HKk9RAgUgC/VNVqymZ2GXfMNOZWImZhxRIbrK+raH5vN2MbWwtVHpjxyXvGsd1RRhnohI33A==", - "dependencies": { - "@polkadot/api-base": "10.13.1", - "@polkadot/rpc-augment": "10.13.1", - "@polkadot/types": "10.13.1", - "@polkadot/types-augment": "10.13.1", - "@polkadot/types-codec": "10.13.1", - "@polkadot/util": "^12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/api-augment/node_modules/@polkadot/util": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-12.6.2.tgz", - "integrity": "sha512-l8TubR7CLEY47240uki0TQzFvtnxFIO7uI/0GoWzpYD/O62EIAMRsuY01N4DuwgKq2ZWD59WhzsLYmA5K6ksdw==", - "dependencies": { - "@polkadot/x-bigint": "12.6.2", - "@polkadot/x-global": "12.6.2", - "@polkadot/x-textdecoder": "12.6.2", - "@polkadot/x-textencoder": "12.6.2", - "@types/bn.js": "^5.1.5", - "bn.js": "^5.2.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/api-augment/node_modules/@polkadot/x-bigint": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-12.6.2.tgz", - "integrity": "sha512-HSIk60uFPX4GOFZSnIF7VYJz7WZA7tpFJsne7SzxOooRwMTWEtw3fUpFy5cYYOeLh17/kHH1Y7SVcuxzVLc74Q==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/api-augment/node_modules/@polkadot/x-global": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-12.6.2.tgz", - "integrity": "sha512-a8d6m+PW98jmsYDtAWp88qS4dl8DyqUBsd0S+WgyfSMtpEXu6v9nXDgPZgwF5xdDvXhm+P0ZfVkVTnIGrScb5g==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/api-augment/node_modules/@polkadot/x-textdecoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-12.6.2.tgz", - "integrity": "sha512-M1Bir7tYvNappfpFWXOJcnxUhBUFWkUFIdJSyH0zs5LmFtFdbKAeiDXxSp2Swp5ddOZdZgPac294/o2TnQKN1w==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/api-augment/node_modules/@polkadot/x-textencoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-12.6.2.tgz", - "integrity": "sha512-4N+3UVCpI489tUJ6cv3uf0PjOHvgGp9Dl+SZRLgFGt9mvxnvpW/7+XBADRMtlG4xi5gaRK7bgl5bmY6OMDsNdw==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/api-base": { - "version": "10.13.1", - "resolved": "https://registry.npmjs.org/@polkadot/api-base/-/api-base-10.13.1.tgz", - "integrity": "sha512-Okrw5hjtEjqSMOG08J6qqEwlUQujTVClvY1/eZkzKwNzPelWrtV6vqfyJklB7zVhenlxfxqhZKKcY7zWSW/q5Q==", - "dependencies": { - "@polkadot/rpc-core": "10.13.1", - "@polkadot/types": "10.13.1", - "@polkadot/util": "^12.6.2", - "rxjs": "^7.8.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/api-base/node_modules/@polkadot/util": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-12.6.2.tgz", - "integrity": "sha512-l8TubR7CLEY47240uki0TQzFvtnxFIO7uI/0GoWzpYD/O62EIAMRsuY01N4DuwgKq2ZWD59WhzsLYmA5K6ksdw==", - "dependencies": { - "@polkadot/x-bigint": "12.6.2", - "@polkadot/x-global": "12.6.2", - "@polkadot/x-textdecoder": "12.6.2", - "@polkadot/x-textencoder": "12.6.2", - "@types/bn.js": "^5.1.5", - "bn.js": "^5.2.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/api-base/node_modules/@polkadot/x-bigint": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-12.6.2.tgz", - "integrity": "sha512-HSIk60uFPX4GOFZSnIF7VYJz7WZA7tpFJsne7SzxOooRwMTWEtw3fUpFy5cYYOeLh17/kHH1Y7SVcuxzVLc74Q==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/api-base/node_modules/@polkadot/x-global": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-12.6.2.tgz", - "integrity": "sha512-a8d6m+PW98jmsYDtAWp88qS4dl8DyqUBsd0S+WgyfSMtpEXu6v9nXDgPZgwF5xdDvXhm+P0ZfVkVTnIGrScb5g==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/api-base/node_modules/@polkadot/x-textdecoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-12.6.2.tgz", - "integrity": "sha512-M1Bir7tYvNappfpFWXOJcnxUhBUFWkUFIdJSyH0zs5LmFtFdbKAeiDXxSp2Swp5ddOZdZgPac294/o2TnQKN1w==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/api-base/node_modules/@polkadot/x-textencoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-12.6.2.tgz", - "integrity": "sha512-4N+3UVCpI489tUJ6cv3uf0PjOHvgGp9Dl+SZRLgFGt9mvxnvpW/7+XBADRMtlG4xi5gaRK7bgl5bmY6OMDsNdw==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/api-derive": { - "version": "10.13.1", - "resolved": "https://registry.npmjs.org/@polkadot/api-derive/-/api-derive-10.13.1.tgz", - "integrity": "sha512-ef0H0GeCZ4q5Om+c61eLLLL29UxFC2/u/k8V1K2JOIU+2wD5LF7sjAoV09CBMKKHfkLenRckVk2ukm4rBqFRpg==", - "dependencies": { - "@polkadot/api": "10.13.1", - "@polkadot/api-augment": "10.13.1", - "@polkadot/api-base": "10.13.1", - "@polkadot/rpc-core": "10.13.1", - "@polkadot/types": "10.13.1", - "@polkadot/types-codec": "10.13.1", - "@polkadot/util": "^12.6.2", - "@polkadot/util-crypto": "^12.6.2", - "rxjs": "^7.8.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/api-derive/node_modules/@polkadot/networks": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/networks/-/networks-12.6.2.tgz", - "integrity": "sha512-1oWtZm1IvPWqvMrldVH6NI2gBoCndl5GEwx7lAuQWGr7eNL+6Bdc5K3Z9T0MzFvDGoi2/CBqjX9dRKo39pDC/w==", - "dependencies": { - "@polkadot/util": "12.6.2", - "@substrate/ss58-registry": "^1.44.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/api-derive/node_modules/@polkadot/util": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-12.6.2.tgz", - "integrity": "sha512-l8TubR7CLEY47240uki0TQzFvtnxFIO7uI/0GoWzpYD/O62EIAMRsuY01N4DuwgKq2ZWD59WhzsLYmA5K6ksdw==", - "dependencies": { - "@polkadot/x-bigint": "12.6.2", - "@polkadot/x-global": "12.6.2", - "@polkadot/x-textdecoder": "12.6.2", - "@polkadot/x-textencoder": "12.6.2", - "@types/bn.js": "^5.1.5", - "bn.js": "^5.2.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/api-derive/node_modules/@polkadot/util-crypto": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-12.6.2.tgz", - "integrity": "sha512-FEWI/dJ7wDMNN1WOzZAjQoIcCP/3vz3wvAp5QQm+lOrzOLj0iDmaIGIcBkz8HVm3ErfSe/uKP0KS4jgV/ib+Mg==", - "dependencies": { - "@noble/curves": "^1.3.0", - "@noble/hashes": "^1.3.3", - "@polkadot/networks": "12.6.2", - "@polkadot/util": "12.6.2", - "@polkadot/wasm-crypto": "^7.3.2", - "@polkadot/wasm-util": "^7.3.2", - "@polkadot/x-bigint": "12.6.2", - "@polkadot/x-randomvalues": "12.6.2", - "@scure/base": "^1.1.5", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "12.6.2" - } - }, - "node_modules/@polkadot/api-derive/node_modules/@polkadot/x-bigint": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-12.6.2.tgz", - "integrity": "sha512-HSIk60uFPX4GOFZSnIF7VYJz7WZA7tpFJsne7SzxOooRwMTWEtw3fUpFy5cYYOeLh17/kHH1Y7SVcuxzVLc74Q==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/api-derive/node_modules/@polkadot/x-global": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-12.6.2.tgz", - "integrity": "sha512-a8d6m+PW98jmsYDtAWp88qS4dl8DyqUBsd0S+WgyfSMtpEXu6v9nXDgPZgwF5xdDvXhm+P0ZfVkVTnIGrScb5g==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/api-derive/node_modules/@polkadot/x-randomvalues": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-randomvalues/-/x-randomvalues-12.6.2.tgz", - "integrity": "sha512-Vr8uG7rH2IcNJwtyf5ebdODMcr0XjoCpUbI91Zv6AlKVYOGKZlKLYJHIwpTaKKB+7KPWyQrk4Mlym/rS7v9feg==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "12.6.2", - "@polkadot/wasm-util": "*" - } - }, - "node_modules/@polkadot/api-derive/node_modules/@polkadot/x-textdecoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-12.6.2.tgz", - "integrity": "sha512-M1Bir7tYvNappfpFWXOJcnxUhBUFWkUFIdJSyH0zs5LmFtFdbKAeiDXxSp2Swp5ddOZdZgPac294/o2TnQKN1w==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/api-derive/node_modules/@polkadot/x-textencoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-12.6.2.tgz", - "integrity": "sha512-4N+3UVCpI489tUJ6cv3uf0PjOHvgGp9Dl+SZRLgFGt9mvxnvpW/7+XBADRMtlG4xi5gaRK7bgl5bmY6OMDsNdw==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/api/node_modules/@polkadot/keyring": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/keyring/-/keyring-12.6.2.tgz", - "integrity": "sha512-O3Q7GVmRYm8q7HuB3S0+Yf/q/EB2egKRRU3fv9b3B7V+A52tKzA+vIwEmNVaD1g5FKW9oB97rmpggs0zaKFqHw==", - "dependencies": { - "@polkadot/util": "12.6.2", - "@polkadot/util-crypto": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "12.6.2", - "@polkadot/util-crypto": "12.6.2" - } - }, - "node_modules/@polkadot/api/node_modules/@polkadot/networks": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/networks/-/networks-12.6.2.tgz", - "integrity": "sha512-1oWtZm1IvPWqvMrldVH6NI2gBoCndl5GEwx7lAuQWGr7eNL+6Bdc5K3Z9T0MzFvDGoi2/CBqjX9dRKo39pDC/w==", - "dependencies": { - "@polkadot/util": "12.6.2", - "@substrate/ss58-registry": "^1.44.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/api/node_modules/@polkadot/util": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-12.6.2.tgz", - "integrity": "sha512-l8TubR7CLEY47240uki0TQzFvtnxFIO7uI/0GoWzpYD/O62EIAMRsuY01N4DuwgKq2ZWD59WhzsLYmA5K6ksdw==", - "dependencies": { - "@polkadot/x-bigint": "12.6.2", - "@polkadot/x-global": "12.6.2", - "@polkadot/x-textdecoder": "12.6.2", - "@polkadot/x-textencoder": "12.6.2", - "@types/bn.js": "^5.1.5", - "bn.js": "^5.2.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/api/node_modules/@polkadot/util-crypto": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-12.6.2.tgz", - "integrity": "sha512-FEWI/dJ7wDMNN1WOzZAjQoIcCP/3vz3wvAp5QQm+lOrzOLj0iDmaIGIcBkz8HVm3ErfSe/uKP0KS4jgV/ib+Mg==", - "dependencies": { - "@noble/curves": "^1.3.0", - "@noble/hashes": "^1.3.3", - "@polkadot/networks": "12.6.2", - "@polkadot/util": "12.6.2", - "@polkadot/wasm-crypto": "^7.3.2", - "@polkadot/wasm-util": "^7.3.2", - "@polkadot/x-bigint": "12.6.2", - "@polkadot/x-randomvalues": "12.6.2", - "@scure/base": "^1.1.5", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "12.6.2" - } - }, - "node_modules/@polkadot/api/node_modules/@polkadot/x-bigint": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-12.6.2.tgz", - "integrity": "sha512-HSIk60uFPX4GOFZSnIF7VYJz7WZA7tpFJsne7SzxOooRwMTWEtw3fUpFy5cYYOeLh17/kHH1Y7SVcuxzVLc74Q==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/api/node_modules/@polkadot/x-global": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-12.6.2.tgz", - "integrity": "sha512-a8d6m+PW98jmsYDtAWp88qS4dl8DyqUBsd0S+WgyfSMtpEXu6v9nXDgPZgwF5xdDvXhm+P0ZfVkVTnIGrScb5g==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/api/node_modules/@polkadot/x-randomvalues": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-randomvalues/-/x-randomvalues-12.6.2.tgz", - "integrity": "sha512-Vr8uG7rH2IcNJwtyf5ebdODMcr0XjoCpUbI91Zv6AlKVYOGKZlKLYJHIwpTaKKB+7KPWyQrk4Mlym/rS7v9feg==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "12.6.2", - "@polkadot/wasm-util": "*" - } - }, - "node_modules/@polkadot/api/node_modules/@polkadot/x-textdecoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-12.6.2.tgz", - "integrity": "sha512-M1Bir7tYvNappfpFWXOJcnxUhBUFWkUFIdJSyH0zs5LmFtFdbKAeiDXxSp2Swp5ddOZdZgPac294/o2TnQKN1w==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/api/node_modules/@polkadot/x-textencoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-12.6.2.tgz", - "integrity": "sha512-4N+3UVCpI489tUJ6cv3uf0PjOHvgGp9Dl+SZRLgFGt9mvxnvpW/7+XBADRMtlG4xi5gaRK7bgl5bmY6OMDsNdw==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/extension-dapp": { - "version": "0.58.9", - "resolved": "https://registry.npmjs.org/@polkadot/extension-dapp/-/extension-dapp-0.58.9.tgz", - "integrity": "sha512-TKmCsKfl/u7WAZ79aJqZSh9OQVO/v5049tMBxjt4IqE0xnGccPPNlOYSH+nCmJiYEpzBsZcygJE3KdI21EjWFg==", - "dependencies": { - "@polkadot/extension-inject": "0.58.9", - "@polkadot/util": "^13.4.4", - "@polkadot/util-crypto": "^13.4.4", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/api": "*", - "@polkadot/util": "*", - "@polkadot/util-crypto": "*" - } - }, - "node_modules/@polkadot/extension-dapp/node_modules/@polkadot/util": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-13.4.4.tgz", - "integrity": "sha512-Lveu+8pZLBoAyyv+8X7FI4aTOwLaNXRc9gz1wVaUoGzk5VgmKp/qbPg0a+mfJD8usjf748OVbShhjXvhV3MLiA==", - "dependencies": { - "@polkadot/x-bigint": "13.4.4", - "@polkadot/x-global": "13.4.4", - "@polkadot/x-textdecoder": "13.4.4", - "@polkadot/x-textencoder": "13.4.4", - "@types/bn.js": "^5.1.6", - "bn.js": "^5.2.1", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/extension-dapp/node_modules/@polkadot/x-bigint": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-13.4.4.tgz", - "integrity": "sha512-XjChwagc8TbIoWx9N1JwCMOyte417ngobin6vTmLQsgaOlK84LU0/3uc0ea9qUurPopc/Spf1mSMOFp7lRBrIA==", - "dependencies": { - "@polkadot/x-global": "13.4.4", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/extension-dapp/node_modules/@polkadot/x-global": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-13.4.4.tgz", - "integrity": "sha512-kwXpzTXOgL2GdMWMzynj9ZpZdjfNvDlpQdlWzDNqTBeIeuklhmhDCA7ZFj3p5OkNUnZoTxNj4zgArYO3VKmQ1g==", - "dependencies": { - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/extension-dapp/node_modules/@polkadot/x-textdecoder": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-13.4.4.tgz", - "integrity": "sha512-fXvM2ts0IUx6F/Fd1Yg4ypHCffmUtTSwOtFpqBPvWghKYnmvTbGVrSidGizu6as7KAp4dsum9mYKdRmScBHHzg==", - "dependencies": { - "@polkadot/x-global": "13.4.4", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/extension-dapp/node_modules/@polkadot/x-textencoder": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-13.4.4.tgz", - "integrity": "sha512-WpPR2vMAiXS2AN8MfolzWbo5WPEmy5FVZFgwZraJZP8RKfzEuntbY5Nb25p/PIjsPJ1zKU0DE8uVvDcGjxIo7A==", - "dependencies": { - "@polkadot/x-global": "13.4.4", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/extension-inject": { - "version": "0.58.9", - "resolved": "https://registry.npmjs.org/@polkadot/extension-inject/-/extension-inject-0.58.9.tgz", - "integrity": "sha512-fzKlHyzirDV/oenSrd174QZ7ZqvN4bKEC+mP0HnGR3XeHvpvoj67ZzcPYILX8oy7ujG3bhEbzFjJIKpdWl73hA==", - "dependencies": { - "@polkadot/api": "^15.9.2", - "@polkadot/rpc-provider": "^15.9.2", - "@polkadot/types": "^15.9.2", - "@polkadot/util": "^13.4.4", - "@polkadot/util-crypto": "^13.4.4", - "@polkadot/x-global": "^13.4.4", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/api": "*", - "@polkadot/util": "*" - } - }, - "node_modules/@polkadot/extension-inject/node_modules/@polkadot-api/json-rpc-provider-proxy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@polkadot-api/json-rpc-provider-proxy/-/json-rpc-provider-proxy-0.1.0.tgz", - "integrity": "sha512-8GSFE5+EF73MCuLQm8tjrbCqlgclcHBSRaswvXziJ0ZW7iw3UEMsKkkKvELayWyBuOPa2T5i1nj6gFOeIsqvrg==", - "optional": true - }, - "node_modules/@polkadot/extension-inject/node_modules/@polkadot-api/metadata-builders": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@polkadot-api/metadata-builders/-/metadata-builders-0.3.2.tgz", - "integrity": "sha512-TKpfoT6vTb+513KDzMBTfCb/ORdgRnsS3TDFpOhAhZ08ikvK+hjHMt5plPiAX/OWkm1Wc9I3+K6W0hX5Ab7MVg==", - "optional": true, - "dependencies": { - "@polkadot-api/substrate-bindings": "0.6.0", - "@polkadot-api/utils": "0.1.0" - } - }, - "node_modules/@polkadot/extension-inject/node_modules/@polkadot-api/observable-client": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@polkadot-api/observable-client/-/observable-client-0.3.2.tgz", - "integrity": "sha512-HGgqWgEutVyOBXoGOPp4+IAq6CNdK/3MfQJmhCJb8YaJiaK4W6aRGrdQuQSTPHfERHCARt9BrOmEvTXAT257Ug==", - "optional": true, - "dependencies": { - "@polkadot-api/metadata-builders": "0.3.2", - "@polkadot-api/substrate-bindings": "0.6.0", - "@polkadot-api/utils": "0.1.0" - }, - "peerDependencies": { - "@polkadot-api/substrate-client": "0.1.4", - "rxjs": ">=7.8.0" - } - }, - "node_modules/@polkadot/extension-inject/node_modules/@polkadot-api/substrate-bindings": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@polkadot-api/substrate-bindings/-/substrate-bindings-0.6.0.tgz", - "integrity": "sha512-lGuhE74NA1/PqdN7fKFdE5C1gNYX357j1tWzdlPXI0kQ7h3kN0zfxNOpPUN7dIrPcOFZ6C0tRRVrBylXkI6xPw==", - "optional": true, - "dependencies": { - "@noble/hashes": "^1.3.1", - "@polkadot-api/utils": "0.1.0", - "@scure/base": "^1.1.1", - "scale-ts": "^1.6.0" - } - }, - "node_modules/@polkadot/extension-inject/node_modules/@polkadot-api/substrate-client": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@polkadot-api/substrate-client/-/substrate-client-0.1.4.tgz", - "integrity": "sha512-MljrPobN0ZWTpn++da9vOvt+Ex+NlqTlr/XT7zi9sqPtDJiQcYl+d29hFAgpaeTqbeQKZwz3WDE9xcEfLE8c5A==", - "optional": true, - "dependencies": { - "@polkadot-api/json-rpc-provider": "0.0.1", - "@polkadot-api/utils": "0.1.0" - } - }, - "node_modules/@polkadot/extension-inject/node_modules/@polkadot-api/utils": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@polkadot-api/utils/-/utils-0.1.0.tgz", - "integrity": "sha512-MXzWZeuGxKizPx2Xf/47wx9sr/uxKw39bVJUptTJdsaQn/TGq+z310mHzf1RCGvC1diHM8f593KrnDgc9oNbJA==", - "optional": true - }, - "node_modules/@polkadot/extension-inject/node_modules/@polkadot/api": { - "version": "15.10.2", - "resolved": "https://registry.npmjs.org/@polkadot/api/-/api-15.10.2.tgz", - "integrity": "sha512-UM/510TwdugPjMpfyhhMNOZJ3M2ftRk0Ftxe+WSWev3o1u0dxqGuIN6fN0c224CHXIr58uWXUoMRHi6Cnfaxhw==", - "dependencies": { - "@polkadot/api-augment": "15.10.2", - "@polkadot/api-base": "15.10.2", - "@polkadot/api-derive": "15.10.2", - "@polkadot/keyring": "^13.4.4", - "@polkadot/rpc-augment": "15.10.2", - "@polkadot/rpc-core": "15.10.2", - "@polkadot/rpc-provider": "15.10.2", - "@polkadot/types": "15.10.2", - "@polkadot/types-augment": "15.10.2", - "@polkadot/types-codec": "15.10.2", - "@polkadot/types-create": "15.10.2", - "@polkadot/types-known": "15.10.2", - "@polkadot/util": "^13.4.4", - "@polkadot/util-crypto": "^13.4.4", - "eventemitter3": "^5.0.1", - "rxjs": "^7.8.1", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/extension-inject/node_modules/@polkadot/api-augment": { - "version": "15.10.2", - "resolved": "https://registry.npmjs.org/@polkadot/api-augment/-/api-augment-15.10.2.tgz", - "integrity": "sha512-CCli5ltPiJEyQF/8DmTRpTfYKHY4W0B+xQDmzKgFmd+Q64Qot0fGpsaZXZftef1Tuoh0Uqak9qM+6B4APXIPkQ==", - "dependencies": { - "@polkadot/api-base": "15.10.2", - "@polkadot/rpc-augment": "15.10.2", - "@polkadot/types": "15.10.2", - "@polkadot/types-augment": "15.10.2", - "@polkadot/types-codec": "15.10.2", - "@polkadot/util": "^13.4.4", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/extension-inject/node_modules/@polkadot/api-base": { - "version": "15.10.2", - "resolved": "https://registry.npmjs.org/@polkadot/api-base/-/api-base-15.10.2.tgz", - "integrity": "sha512-7DJw++5IbPrsLPGcTlIZbMOretfvQJG80CW8+A+t2BLxbbv+I2neWNQ9QV9O28XsbOHzNgKHXuRyirdaG/dvrg==", - "dependencies": { - "@polkadot/rpc-core": "15.10.2", - "@polkadot/types": "15.10.2", - "@polkadot/util": "^13.4.4", - "rxjs": "^7.8.1", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/extension-inject/node_modules/@polkadot/api-derive": { - "version": "15.10.2", - "resolved": "https://registry.npmjs.org/@polkadot/api-derive/-/api-derive-15.10.2.tgz", - "integrity": "sha512-tF9DZvdm7hkRIJ1HtJzu73vdqQWBr8935YSN/RNsRb4FhJK5cHaC2uB4NLdRMnyUjmH0JRSnvWFq+HHcVxFJZw==", - "dependencies": { - "@polkadot/api": "15.10.2", - "@polkadot/api-augment": "15.10.2", - "@polkadot/api-base": "15.10.2", - "@polkadot/rpc-core": "15.10.2", - "@polkadot/types": "15.10.2", - "@polkadot/types-codec": "15.10.2", - "@polkadot/util": "^13.4.4", - "@polkadot/util-crypto": "^13.4.4", - "rxjs": "^7.8.1", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/extension-inject/node_modules/@polkadot/rpc-augment": { - "version": "15.10.2", - "resolved": "https://registry.npmjs.org/@polkadot/rpc-augment/-/rpc-augment-15.10.2.tgz", - "integrity": "sha512-9QQ8utyAEdEl7iScteIN59EBu8eNZjZa8AfKBitbdq1Hezd+WPil5LdoYi+wmJOMhZHeDT1s7/j2+kY1Z2Vymg==", - "dependencies": { - "@polkadot/rpc-core": "15.10.2", - "@polkadot/types": "15.10.2", - "@polkadot/types-codec": "15.10.2", - "@polkadot/util": "^13.4.4", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/extension-inject/node_modules/@polkadot/rpc-core": { - "version": "15.10.2", - "resolved": "https://registry.npmjs.org/@polkadot/rpc-core/-/rpc-core-15.10.2.tgz", - "integrity": "sha512-vqDvr1WcHH3WPzDV4WTlf2S5cDmIoFPciynJ8eNcKqR3mG7Cqd0iL+MG6s0KFXdSY2Qvtl+0C6yZN0xr4Ha6BQ==", - "dependencies": { - "@polkadot/rpc-augment": "15.10.2", - "@polkadot/rpc-provider": "15.10.2", - "@polkadot/types": "15.10.2", - "@polkadot/util": "^13.4.4", - "rxjs": "^7.8.1", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/extension-inject/node_modules/@polkadot/rpc-provider": { - "version": "15.10.2", - "resolved": "https://registry.npmjs.org/@polkadot/rpc-provider/-/rpc-provider-15.10.2.tgz", - "integrity": "sha512-kqpPW8U0stVW+uOZP8g5d87Xb8rbXJR5PUub6xgGG6AOMbbvvuCU3GSohu/iozo4p9uD7TGH90jvbxj1rjJVMA==", - "dependencies": { - "@polkadot/keyring": "^13.4.4", - "@polkadot/types": "15.10.2", - "@polkadot/types-support": "15.10.2", - "@polkadot/util": "^13.4.4", - "@polkadot/util-crypto": "^13.4.4", - "@polkadot/x-fetch": "^13.4.4", - "@polkadot/x-global": "^13.4.4", - "@polkadot/x-ws": "^13.4.4", - "eventemitter3": "^5.0.1", - "mock-socket": "^9.3.1", - "nock": "^13.5.5", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@substrate/connect": "0.8.11" - } - }, - "node_modules/@polkadot/extension-inject/node_modules/@polkadot/types": { - "version": "15.10.2", - "resolved": "https://registry.npmjs.org/@polkadot/types/-/types-15.10.2.tgz", - "integrity": "sha512-/wDwKdDijxSXyNk5YezhVitdFxoQaTSSG9KXa7dEWujtmS/51UHmt9+P3W8b8D8kKaCvumahf/ww3GJI6s0Eqw==", - "dependencies": { - "@polkadot/keyring": "^13.4.4", - "@polkadot/types-augment": "15.10.2", - "@polkadot/types-codec": "15.10.2", - "@polkadot/types-create": "15.10.2", - "@polkadot/util": "^13.4.4", - "@polkadot/util-crypto": "^13.4.4", - "rxjs": "^7.8.1", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/extension-inject/node_modules/@polkadot/types-augment": { - "version": "15.10.2", - "resolved": "https://registry.npmjs.org/@polkadot/types-augment/-/types-augment-15.10.2.tgz", - "integrity": "sha512-X/xh+Dzud6OIyr7q8xttAwn+Fb5hKImIWEO1oG8WcInqv+P0vRyu7Tds+2ut9t64sJi3ydJ7I+T+WxZYheCU7g==", - "dependencies": { - "@polkadot/types": "15.10.2", - "@polkadot/types-codec": "15.10.2", - "@polkadot/util": "^13.4.4", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/extension-inject/node_modules/@polkadot/types-codec": { - "version": "15.10.2", - "resolved": "https://registry.npmjs.org/@polkadot/types-codec/-/types-codec-15.10.2.tgz", - "integrity": "sha512-dhwbaukUZiYDW3QAAnLAFThYE5hQGdwBMWOVTt9+aBWxEKovLK93j0V30tEzMUtrZy8xaRWdhdDeQ3DSmxEP6w==", - "dependencies": { - "@polkadot/util": "^13.4.4", - "@polkadot/x-bigint": "^13.4.4", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/extension-inject/node_modules/@polkadot/types-create": { - "version": "15.10.2", - "resolved": "https://registry.npmjs.org/@polkadot/types-create/-/types-create-15.10.2.tgz", - "integrity": "sha512-vqXwPUSgx/By31qSkhOR5GN6zMbF1MkiX3F1g5KKHaRE8p/DdTry4LhufxhtK1mr9eBWvVGXxCOZdwjQco2M1A==", - "dependencies": { - "@polkadot/types-codec": "15.10.2", - "@polkadot/util": "^13.4.4", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/extension-inject/node_modules/@polkadot/types-known": { - "version": "15.10.2", - "resolved": "https://registry.npmjs.org/@polkadot/types-known/-/types-known-15.10.2.tgz", - "integrity": "sha512-vs02WiIlLualrrh/EuA5qzK6QzatVPqBBNqa66dUtmyhJy48OEelBK+QLfOIQvZKU0ModEunoVrnxuY+O1DCmA==", - "dependencies": { - "@polkadot/networks": "^13.4.4", - "@polkadot/types": "15.10.2", - "@polkadot/types-codec": "15.10.2", - "@polkadot/types-create": "15.10.2", - "@polkadot/util": "^13.4.4", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/extension-inject/node_modules/@polkadot/types-support": { - "version": "15.10.2", - "resolved": "https://registry.npmjs.org/@polkadot/types-support/-/types-support-15.10.2.tgz", - "integrity": "sha512-sHamH6MehJa7aGZ/DHTB6vJAhSN5VrJx5lpDpb3xgBFTr0cVc5IsociqgJ/mgvyEIdLF3laraPxREqxCmuxTaQ==", - "dependencies": { - "@polkadot/util": "^13.4.4", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/extension-inject/node_modules/@polkadot/util": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-13.4.4.tgz", - "integrity": "sha512-Lveu+8pZLBoAyyv+8X7FI4aTOwLaNXRc9gz1wVaUoGzk5VgmKp/qbPg0a+mfJD8usjf748OVbShhjXvhV3MLiA==", - "dependencies": { - "@polkadot/x-bigint": "13.4.4", - "@polkadot/x-global": "13.4.4", - "@polkadot/x-textdecoder": "13.4.4", - "@polkadot/x-textencoder": "13.4.4", - "@types/bn.js": "^5.1.6", - "bn.js": "^5.2.1", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/extension-inject/node_modules/@polkadot/x-bigint": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-13.4.4.tgz", - "integrity": "sha512-XjChwagc8TbIoWx9N1JwCMOyte417ngobin6vTmLQsgaOlK84LU0/3uc0ea9qUurPopc/Spf1mSMOFp7lRBrIA==", - "dependencies": { - "@polkadot/x-global": "13.4.4", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/extension-inject/node_modules/@polkadot/x-global": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-13.4.4.tgz", - "integrity": "sha512-kwXpzTXOgL2GdMWMzynj9ZpZdjfNvDlpQdlWzDNqTBeIeuklhmhDCA7ZFj3p5OkNUnZoTxNj4zgArYO3VKmQ1g==", - "dependencies": { - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/extension-inject/node_modules/@polkadot/x-textdecoder": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-13.4.4.tgz", - "integrity": "sha512-fXvM2ts0IUx6F/Fd1Yg4ypHCffmUtTSwOtFpqBPvWghKYnmvTbGVrSidGizu6as7KAp4dsum9mYKdRmScBHHzg==", - "dependencies": { - "@polkadot/x-global": "13.4.4", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/extension-inject/node_modules/@polkadot/x-textencoder": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-13.4.4.tgz", - "integrity": "sha512-WpPR2vMAiXS2AN8MfolzWbo5WPEmy5FVZFgwZraJZP8RKfzEuntbY5Nb25p/PIjsPJ1zKU0DE8uVvDcGjxIo7A==", - "dependencies": { - "@polkadot/x-global": "13.4.4", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/extension-inject/node_modules/@substrate/connect": { - "version": "0.8.11", - "resolved": "https://registry.npmjs.org/@substrate/connect/-/connect-0.8.11.tgz", - "integrity": "sha512-ofLs1PAO9AtDdPbdyTYj217Pe+lBfTLltdHDs3ds8no0BseoLeAGxpz1mHfi7zB4IxI3YyAiLjH6U8cw4pj4Nw==", - "deprecated": "versions below 1.x are no longer maintained", - "optional": true, - "dependencies": { - "@substrate/connect-extension-protocol": "^2.0.0", - "@substrate/connect-known-chains": "^1.1.5", - "@substrate/light-client-extension-helpers": "^1.0.0", - "smoldot": "2.0.26" - } - }, - "node_modules/@polkadot/extension-inject/node_modules/@substrate/light-client-extension-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@substrate/light-client-extension-helpers/-/light-client-extension-helpers-1.0.0.tgz", - "integrity": "sha512-TdKlni1mBBZptOaeVrKnusMg/UBpWUORNDv5fdCaJklP4RJiFOzBCrzC+CyVI5kQzsXBisZ+2pXm+rIjS38kHg==", - "optional": true, - "dependencies": { - "@polkadot-api/json-rpc-provider": "^0.0.1", - "@polkadot-api/json-rpc-provider-proxy": "^0.1.0", - "@polkadot-api/observable-client": "^0.3.0", - "@polkadot-api/substrate-client": "^0.1.2", - "@substrate/connect-extension-protocol": "^2.0.0", - "@substrate/connect-known-chains": "^1.1.5", - "rxjs": "^7.8.1" - }, - "peerDependencies": { - "smoldot": "2.x" - } - }, - "node_modules/@polkadot/extension-inject/node_modules/smoldot": { - "version": "2.0.26", - "resolved": "https://registry.npmjs.org/smoldot/-/smoldot-2.0.26.tgz", - "integrity": "sha512-F+qYmH4z2s2FK+CxGj8moYcd1ekSIKH8ywkdqlOz88Dat35iB1DIYL11aILN46YSGMzQW/lbJNS307zBSDN5Ig==", - "optional": true, - "dependencies": { - "ws": "^8.8.1" - } - }, - "node_modules/@polkadot/extension-inject/node_modules/ws": { - "version": "8.18.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz", - "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==", - "optional": true, - "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 - } - } - }, - "node_modules/@polkadot/keyring": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/keyring/-/keyring-13.4.4.tgz", - "integrity": "sha512-pIm+u1lat+mGUABsCZyTm1/qgwL3NS94SC7TPtSzhzFZq6faUFNMyq1gBfTicrb7MjGFc8FlrKlGxFtudnQC9Q==", - "dependencies": { - "@polkadot/util": "13.4.4", - "@polkadot/util-crypto": "13.4.4", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "13.4.4", - "@polkadot/util-crypto": "13.4.4" - } - }, - "node_modules/@polkadot/keyring/node_modules/@polkadot/util": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-13.4.4.tgz", - "integrity": "sha512-Lveu+8pZLBoAyyv+8X7FI4aTOwLaNXRc9gz1wVaUoGzk5VgmKp/qbPg0a+mfJD8usjf748OVbShhjXvhV3MLiA==", - "dependencies": { - "@polkadot/x-bigint": "13.4.4", - "@polkadot/x-global": "13.4.4", - "@polkadot/x-textdecoder": "13.4.4", - "@polkadot/x-textencoder": "13.4.4", - "@types/bn.js": "^5.1.6", - "bn.js": "^5.2.1", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/keyring/node_modules/@polkadot/x-bigint": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-13.4.4.tgz", - "integrity": "sha512-XjChwagc8TbIoWx9N1JwCMOyte417ngobin6vTmLQsgaOlK84LU0/3uc0ea9qUurPopc/Spf1mSMOFp7lRBrIA==", - "dependencies": { - "@polkadot/x-global": "13.4.4", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/keyring/node_modules/@polkadot/x-global": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-13.4.4.tgz", - "integrity": "sha512-kwXpzTXOgL2GdMWMzynj9ZpZdjfNvDlpQdlWzDNqTBeIeuklhmhDCA7ZFj3p5OkNUnZoTxNj4zgArYO3VKmQ1g==", - "dependencies": { - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/keyring/node_modules/@polkadot/x-textdecoder": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-13.4.4.tgz", - "integrity": "sha512-fXvM2ts0IUx6F/Fd1Yg4ypHCffmUtTSwOtFpqBPvWghKYnmvTbGVrSidGizu6as7KAp4dsum9mYKdRmScBHHzg==", - "dependencies": { - "@polkadot/x-global": "13.4.4", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/keyring/node_modules/@polkadot/x-textencoder": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-13.4.4.tgz", - "integrity": "sha512-WpPR2vMAiXS2AN8MfolzWbo5WPEmy5FVZFgwZraJZP8RKfzEuntbY5Nb25p/PIjsPJ1zKU0DE8uVvDcGjxIo7A==", - "dependencies": { - "@polkadot/x-global": "13.4.4", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/networks": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/networks/-/networks-13.4.4.tgz", - "integrity": "sha512-I3g9OX3CpZbFKa1C4xQPYOJ2Y209oEb5x9lzgHuAzg64m5vr2y4azWDSQnoOrlFK5ztSrijkWe1gSME1lzy8iA==", - "dependencies": { - "@polkadot/util": "13.4.4", - "@substrate/ss58-registry": "^1.51.0", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/networks/node_modules/@polkadot/util": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-13.4.4.tgz", - "integrity": "sha512-Lveu+8pZLBoAyyv+8X7FI4aTOwLaNXRc9gz1wVaUoGzk5VgmKp/qbPg0a+mfJD8usjf748OVbShhjXvhV3MLiA==", - "dependencies": { - "@polkadot/x-bigint": "13.4.4", - "@polkadot/x-global": "13.4.4", - "@polkadot/x-textdecoder": "13.4.4", - "@polkadot/x-textencoder": "13.4.4", - "@types/bn.js": "^5.1.6", - "bn.js": "^5.2.1", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/networks/node_modules/@polkadot/x-bigint": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-13.4.4.tgz", - "integrity": "sha512-XjChwagc8TbIoWx9N1JwCMOyte417ngobin6vTmLQsgaOlK84LU0/3uc0ea9qUurPopc/Spf1mSMOFp7lRBrIA==", - "dependencies": { - "@polkadot/x-global": "13.4.4", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/networks/node_modules/@polkadot/x-global": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-13.4.4.tgz", - "integrity": "sha512-kwXpzTXOgL2GdMWMzynj9ZpZdjfNvDlpQdlWzDNqTBeIeuklhmhDCA7ZFj3p5OkNUnZoTxNj4zgArYO3VKmQ1g==", - "dependencies": { - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/networks/node_modules/@polkadot/x-textdecoder": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-13.4.4.tgz", - "integrity": "sha512-fXvM2ts0IUx6F/Fd1Yg4ypHCffmUtTSwOtFpqBPvWghKYnmvTbGVrSidGizu6as7KAp4dsum9mYKdRmScBHHzg==", - "dependencies": { - "@polkadot/x-global": "13.4.4", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/networks/node_modules/@polkadot/x-textencoder": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-13.4.4.tgz", - "integrity": "sha512-WpPR2vMAiXS2AN8MfolzWbo5WPEmy5FVZFgwZraJZP8RKfzEuntbY5Nb25p/PIjsPJ1zKU0DE8uVvDcGjxIo7A==", - "dependencies": { - "@polkadot/x-global": "13.4.4", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/rpc-augment": { - "version": "10.13.1", - "resolved": "https://registry.npmjs.org/@polkadot/rpc-augment/-/rpc-augment-10.13.1.tgz", - "integrity": "sha512-iLsWUW4Jcx3DOdVrSHtN0biwxlHuTs4QN2hjJV0gd0jo7W08SXhWabZIf9mDmvUJIbR7Vk+9amzvegjRyIf5+A==", - "dependencies": { - "@polkadot/rpc-core": "10.13.1", - "@polkadot/types": "10.13.1", - "@polkadot/types-codec": "10.13.1", - "@polkadot/util": "^12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/rpc-augment/node_modules/@polkadot/util": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-12.6.2.tgz", - "integrity": "sha512-l8TubR7CLEY47240uki0TQzFvtnxFIO7uI/0GoWzpYD/O62EIAMRsuY01N4DuwgKq2ZWD59WhzsLYmA5K6ksdw==", - "dependencies": { - "@polkadot/x-bigint": "12.6.2", - "@polkadot/x-global": "12.6.2", - "@polkadot/x-textdecoder": "12.6.2", - "@polkadot/x-textencoder": "12.6.2", - "@types/bn.js": "^5.1.5", - "bn.js": "^5.2.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/rpc-augment/node_modules/@polkadot/x-bigint": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-12.6.2.tgz", - "integrity": "sha512-HSIk60uFPX4GOFZSnIF7VYJz7WZA7tpFJsne7SzxOooRwMTWEtw3fUpFy5cYYOeLh17/kHH1Y7SVcuxzVLc74Q==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/rpc-augment/node_modules/@polkadot/x-global": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-12.6.2.tgz", - "integrity": "sha512-a8d6m+PW98jmsYDtAWp88qS4dl8DyqUBsd0S+WgyfSMtpEXu6v9nXDgPZgwF5xdDvXhm+P0ZfVkVTnIGrScb5g==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/rpc-augment/node_modules/@polkadot/x-textdecoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-12.6.2.tgz", - "integrity": "sha512-M1Bir7tYvNappfpFWXOJcnxUhBUFWkUFIdJSyH0zs5LmFtFdbKAeiDXxSp2Swp5ddOZdZgPac294/o2TnQKN1w==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/rpc-augment/node_modules/@polkadot/x-textencoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-12.6.2.tgz", - "integrity": "sha512-4N+3UVCpI489tUJ6cv3uf0PjOHvgGp9Dl+SZRLgFGt9mvxnvpW/7+XBADRMtlG4xi5gaRK7bgl5bmY6OMDsNdw==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/rpc-core": { - "version": "10.13.1", - "resolved": "https://registry.npmjs.org/@polkadot/rpc-core/-/rpc-core-10.13.1.tgz", - "integrity": "sha512-eoejSHa+/tzHm0vwic62/aptTGbph8vaBpbvLIK7gd00+rT813ROz5ckB1CqQBFB23nHRLuzzX/toY8ID3xrKw==", - "dependencies": { - "@polkadot/rpc-augment": "10.13.1", - "@polkadot/rpc-provider": "10.13.1", - "@polkadot/types": "10.13.1", - "@polkadot/util": "^12.6.2", - "rxjs": "^7.8.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/rpc-core/node_modules/@polkadot/util": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-12.6.2.tgz", - "integrity": "sha512-l8TubR7CLEY47240uki0TQzFvtnxFIO7uI/0GoWzpYD/O62EIAMRsuY01N4DuwgKq2ZWD59WhzsLYmA5K6ksdw==", - "dependencies": { - "@polkadot/x-bigint": "12.6.2", - "@polkadot/x-global": "12.6.2", - "@polkadot/x-textdecoder": "12.6.2", - "@polkadot/x-textencoder": "12.6.2", - "@types/bn.js": "^5.1.5", - "bn.js": "^5.2.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/rpc-core/node_modules/@polkadot/x-bigint": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-12.6.2.tgz", - "integrity": "sha512-HSIk60uFPX4GOFZSnIF7VYJz7WZA7tpFJsne7SzxOooRwMTWEtw3fUpFy5cYYOeLh17/kHH1Y7SVcuxzVLc74Q==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/rpc-core/node_modules/@polkadot/x-global": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-12.6.2.tgz", - "integrity": "sha512-a8d6m+PW98jmsYDtAWp88qS4dl8DyqUBsd0S+WgyfSMtpEXu6v9nXDgPZgwF5xdDvXhm+P0ZfVkVTnIGrScb5g==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/rpc-core/node_modules/@polkadot/x-textdecoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-12.6.2.tgz", - "integrity": "sha512-M1Bir7tYvNappfpFWXOJcnxUhBUFWkUFIdJSyH0zs5LmFtFdbKAeiDXxSp2Swp5ddOZdZgPac294/o2TnQKN1w==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/rpc-core/node_modules/@polkadot/x-textencoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-12.6.2.tgz", - "integrity": "sha512-4N+3UVCpI489tUJ6cv3uf0PjOHvgGp9Dl+SZRLgFGt9mvxnvpW/7+XBADRMtlG4xi5gaRK7bgl5bmY6OMDsNdw==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/rpc-provider": { - "version": "10.13.1", - "resolved": "https://registry.npmjs.org/@polkadot/rpc-provider/-/rpc-provider-10.13.1.tgz", - "integrity": "sha512-oJ7tatVXYJ0L7NpNiGd69D558HG5y5ZDmH2Bp9Dd4kFTQIiV8A39SlWwWUPCjSsen9lqSvvprNLnG/VHTpenbw==", - "dependencies": { - "@polkadot/keyring": "^12.6.2", - "@polkadot/types": "10.13.1", - "@polkadot/types-support": "10.13.1", - "@polkadot/util": "^12.6.2", - "@polkadot/util-crypto": "^12.6.2", - "@polkadot/x-fetch": "^12.6.2", - "@polkadot/x-global": "^12.6.2", - "@polkadot/x-ws": "^12.6.2", - "eventemitter3": "^5.0.1", - "mock-socket": "^9.3.1", - "nock": "^13.5.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@substrate/connect": "0.8.8" - } - }, - "node_modules/@polkadot/rpc-provider/node_modules/@polkadot/keyring": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/keyring/-/keyring-12.6.2.tgz", - "integrity": "sha512-O3Q7GVmRYm8q7HuB3S0+Yf/q/EB2egKRRU3fv9b3B7V+A52tKzA+vIwEmNVaD1g5FKW9oB97rmpggs0zaKFqHw==", - "dependencies": { - "@polkadot/util": "12.6.2", - "@polkadot/util-crypto": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "12.6.2", - "@polkadot/util-crypto": "12.6.2" - } - }, - "node_modules/@polkadot/rpc-provider/node_modules/@polkadot/networks": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/networks/-/networks-12.6.2.tgz", - "integrity": "sha512-1oWtZm1IvPWqvMrldVH6NI2gBoCndl5GEwx7lAuQWGr7eNL+6Bdc5K3Z9T0MzFvDGoi2/CBqjX9dRKo39pDC/w==", - "dependencies": { - "@polkadot/util": "12.6.2", - "@substrate/ss58-registry": "^1.44.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/rpc-provider/node_modules/@polkadot/util": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-12.6.2.tgz", - "integrity": "sha512-l8TubR7CLEY47240uki0TQzFvtnxFIO7uI/0GoWzpYD/O62EIAMRsuY01N4DuwgKq2ZWD59WhzsLYmA5K6ksdw==", - "dependencies": { - "@polkadot/x-bigint": "12.6.2", - "@polkadot/x-global": "12.6.2", - "@polkadot/x-textdecoder": "12.6.2", - "@polkadot/x-textencoder": "12.6.2", - "@types/bn.js": "^5.1.5", - "bn.js": "^5.2.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/rpc-provider/node_modules/@polkadot/util-crypto": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-12.6.2.tgz", - "integrity": "sha512-FEWI/dJ7wDMNN1WOzZAjQoIcCP/3vz3wvAp5QQm+lOrzOLj0iDmaIGIcBkz8HVm3ErfSe/uKP0KS4jgV/ib+Mg==", - "dependencies": { - "@noble/curves": "^1.3.0", - "@noble/hashes": "^1.3.3", - "@polkadot/networks": "12.6.2", - "@polkadot/util": "12.6.2", - "@polkadot/wasm-crypto": "^7.3.2", - "@polkadot/wasm-util": "^7.3.2", - "@polkadot/x-bigint": "12.6.2", - "@polkadot/x-randomvalues": "12.6.2", - "@scure/base": "^1.1.5", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "12.6.2" - } - }, - "node_modules/@polkadot/rpc-provider/node_modules/@polkadot/x-bigint": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-12.6.2.tgz", - "integrity": "sha512-HSIk60uFPX4GOFZSnIF7VYJz7WZA7tpFJsne7SzxOooRwMTWEtw3fUpFy5cYYOeLh17/kHH1Y7SVcuxzVLc74Q==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/rpc-provider/node_modules/@polkadot/x-fetch": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-fetch/-/x-fetch-12.6.2.tgz", - "integrity": "sha512-8wM/Z9JJPWN1pzSpU7XxTI1ldj/AfC8hKioBlUahZ8gUiJaOF7K9XEFCrCDLis/A1BoOu7Ne6WMx/vsJJIbDWw==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "node-fetch": "^3.3.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/rpc-provider/node_modules/@polkadot/x-global": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-12.6.2.tgz", - "integrity": "sha512-a8d6m+PW98jmsYDtAWp88qS4dl8DyqUBsd0S+WgyfSMtpEXu6v9nXDgPZgwF5xdDvXhm+P0ZfVkVTnIGrScb5g==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/rpc-provider/node_modules/@polkadot/x-randomvalues": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-randomvalues/-/x-randomvalues-12.6.2.tgz", - "integrity": "sha512-Vr8uG7rH2IcNJwtyf5ebdODMcr0XjoCpUbI91Zv6AlKVYOGKZlKLYJHIwpTaKKB+7KPWyQrk4Mlym/rS7v9feg==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "12.6.2", - "@polkadot/wasm-util": "*" - } - }, - "node_modules/@polkadot/rpc-provider/node_modules/@polkadot/x-textdecoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-12.6.2.tgz", - "integrity": "sha512-M1Bir7tYvNappfpFWXOJcnxUhBUFWkUFIdJSyH0zs5LmFtFdbKAeiDXxSp2Swp5ddOZdZgPac294/o2TnQKN1w==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/rpc-provider/node_modules/@polkadot/x-textencoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-12.6.2.tgz", - "integrity": "sha512-4N+3UVCpI489tUJ6cv3uf0PjOHvgGp9Dl+SZRLgFGt9mvxnvpW/7+XBADRMtlG4xi5gaRK7bgl5bmY6OMDsNdw==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/rpc-provider/node_modules/@polkadot/x-ws": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-ws/-/x-ws-12.6.2.tgz", - "integrity": "sha512-cGZWo7K5eRRQCRl2LrcyCYsrc3lRbTlixZh3AzgU8uX4wASVGRlNWi/Hf4TtHNe1ExCDmxabJzdIsABIfrr7xw==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2", - "ws": "^8.15.1" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/rpc-provider/node_modules/ws": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz", - "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 - } - } - }, - "node_modules/@polkadot/types": { - "version": "10.13.1", - "resolved": "https://registry.npmjs.org/@polkadot/types/-/types-10.13.1.tgz", - "integrity": "sha512-Hfvg1ZgJlYyzGSAVrDIpp3vullgxrjOlh/CSThd/PI4TTN1qHoPSFm2hs77k3mKkOzg+LrWsLE0P/LP2XddYcw==", - "dependencies": { - "@polkadot/keyring": "^12.6.2", - "@polkadot/types-augment": "10.13.1", - "@polkadot/types-codec": "10.13.1", - "@polkadot/types-create": "10.13.1", - "@polkadot/util": "^12.6.2", - "@polkadot/util-crypto": "^12.6.2", - "rxjs": "^7.8.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types-augment": { - "version": "10.13.1", - "resolved": "https://registry.npmjs.org/@polkadot/types-augment/-/types-augment-10.13.1.tgz", - "integrity": "sha512-TcrLhf95FNFin61qmVgOgayzQB/RqVsSg9thAso1Fh6pX4HSbvI35aGPBAn3SkA6R+9/TmtECirpSNLtIGFn0g==", - "dependencies": { - "@polkadot/types": "10.13.1", - "@polkadot/types-codec": "10.13.1", - "@polkadot/util": "^12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types-augment/node_modules/@polkadot/util": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-12.6.2.tgz", - "integrity": "sha512-l8TubR7CLEY47240uki0TQzFvtnxFIO7uI/0GoWzpYD/O62EIAMRsuY01N4DuwgKq2ZWD59WhzsLYmA5K6ksdw==", - "dependencies": { - "@polkadot/x-bigint": "12.6.2", - "@polkadot/x-global": "12.6.2", - "@polkadot/x-textdecoder": "12.6.2", - "@polkadot/x-textencoder": "12.6.2", - "@types/bn.js": "^5.1.5", - "bn.js": "^5.2.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types-augment/node_modules/@polkadot/x-bigint": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-12.6.2.tgz", - "integrity": "sha512-HSIk60uFPX4GOFZSnIF7VYJz7WZA7tpFJsne7SzxOooRwMTWEtw3fUpFy5cYYOeLh17/kHH1Y7SVcuxzVLc74Q==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types-augment/node_modules/@polkadot/x-global": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-12.6.2.tgz", - "integrity": "sha512-a8d6m+PW98jmsYDtAWp88qS4dl8DyqUBsd0S+WgyfSMtpEXu6v9nXDgPZgwF5xdDvXhm+P0ZfVkVTnIGrScb5g==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types-augment/node_modules/@polkadot/x-textdecoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-12.6.2.tgz", - "integrity": "sha512-M1Bir7tYvNappfpFWXOJcnxUhBUFWkUFIdJSyH0zs5LmFtFdbKAeiDXxSp2Swp5ddOZdZgPac294/o2TnQKN1w==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types-augment/node_modules/@polkadot/x-textencoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-12.6.2.tgz", - "integrity": "sha512-4N+3UVCpI489tUJ6cv3uf0PjOHvgGp9Dl+SZRLgFGt9mvxnvpW/7+XBADRMtlG4xi5gaRK7bgl5bmY6OMDsNdw==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types-codec": { - "version": "10.13.1", - "resolved": "https://registry.npmjs.org/@polkadot/types-codec/-/types-codec-10.13.1.tgz", - "integrity": "sha512-AiQ2Vv2lbZVxEdRCN8XSERiWlOWa2cTDLnpAId78EnCtx4HLKYQSd+Jk9Y4BgO35R79mchK4iG+w6gZ+ukG2bg==", - "dependencies": { - "@polkadot/util": "^12.6.2", - "@polkadot/x-bigint": "^12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types-codec/node_modules/@polkadot/util": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-12.6.2.tgz", - "integrity": "sha512-l8TubR7CLEY47240uki0TQzFvtnxFIO7uI/0GoWzpYD/O62EIAMRsuY01N4DuwgKq2ZWD59WhzsLYmA5K6ksdw==", - "dependencies": { - "@polkadot/x-bigint": "12.6.2", - "@polkadot/x-global": "12.6.2", - "@polkadot/x-textdecoder": "12.6.2", - "@polkadot/x-textencoder": "12.6.2", - "@types/bn.js": "^5.1.5", - "bn.js": "^5.2.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types-codec/node_modules/@polkadot/x-bigint": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-12.6.2.tgz", - "integrity": "sha512-HSIk60uFPX4GOFZSnIF7VYJz7WZA7tpFJsne7SzxOooRwMTWEtw3fUpFy5cYYOeLh17/kHH1Y7SVcuxzVLc74Q==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types-codec/node_modules/@polkadot/x-global": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-12.6.2.tgz", - "integrity": "sha512-a8d6m+PW98jmsYDtAWp88qS4dl8DyqUBsd0S+WgyfSMtpEXu6v9nXDgPZgwF5xdDvXhm+P0ZfVkVTnIGrScb5g==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types-codec/node_modules/@polkadot/x-textdecoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-12.6.2.tgz", - "integrity": "sha512-M1Bir7tYvNappfpFWXOJcnxUhBUFWkUFIdJSyH0zs5LmFtFdbKAeiDXxSp2Swp5ddOZdZgPac294/o2TnQKN1w==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types-codec/node_modules/@polkadot/x-textencoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-12.6.2.tgz", - "integrity": "sha512-4N+3UVCpI489tUJ6cv3uf0PjOHvgGp9Dl+SZRLgFGt9mvxnvpW/7+XBADRMtlG4xi5gaRK7bgl5bmY6OMDsNdw==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types-create": { - "version": "10.13.1", - "resolved": "https://registry.npmjs.org/@polkadot/types-create/-/types-create-10.13.1.tgz", - "integrity": "sha512-Usn1jqrz35SXgCDAqSXy7mnD6j4RvB4wyzTAZipFA6DGmhwyxxIgOzlWQWDb+1PtPKo9vtMzen5IJ+7w5chIeA==", - "dependencies": { - "@polkadot/types-codec": "10.13.1", - "@polkadot/util": "^12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types-create/node_modules/@polkadot/util": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-12.6.2.tgz", - "integrity": "sha512-l8TubR7CLEY47240uki0TQzFvtnxFIO7uI/0GoWzpYD/O62EIAMRsuY01N4DuwgKq2ZWD59WhzsLYmA5K6ksdw==", - "dependencies": { - "@polkadot/x-bigint": "12.6.2", - "@polkadot/x-global": "12.6.2", - "@polkadot/x-textdecoder": "12.6.2", - "@polkadot/x-textencoder": "12.6.2", - "@types/bn.js": "^5.1.5", - "bn.js": "^5.2.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types-create/node_modules/@polkadot/x-bigint": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-12.6.2.tgz", - "integrity": "sha512-HSIk60uFPX4GOFZSnIF7VYJz7WZA7tpFJsne7SzxOooRwMTWEtw3fUpFy5cYYOeLh17/kHH1Y7SVcuxzVLc74Q==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types-create/node_modules/@polkadot/x-global": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-12.6.2.tgz", - "integrity": "sha512-a8d6m+PW98jmsYDtAWp88qS4dl8DyqUBsd0S+WgyfSMtpEXu6v9nXDgPZgwF5xdDvXhm+P0ZfVkVTnIGrScb5g==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types-create/node_modules/@polkadot/x-textdecoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-12.6.2.tgz", - "integrity": "sha512-M1Bir7tYvNappfpFWXOJcnxUhBUFWkUFIdJSyH0zs5LmFtFdbKAeiDXxSp2Swp5ddOZdZgPac294/o2TnQKN1w==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types-create/node_modules/@polkadot/x-textencoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-12.6.2.tgz", - "integrity": "sha512-4N+3UVCpI489tUJ6cv3uf0PjOHvgGp9Dl+SZRLgFGt9mvxnvpW/7+XBADRMtlG4xi5gaRK7bgl5bmY6OMDsNdw==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types-known": { - "version": "10.13.1", - "resolved": "https://registry.npmjs.org/@polkadot/types-known/-/types-known-10.13.1.tgz", - "integrity": "sha512-uHjDW05EavOT5JeU8RbiFWTgPilZ+odsCcuEYIJGmK+es3lk/Qsdns9Zb7U7NJl7eJ6OWmRtyrWsLs+bU+jjIQ==", - "dependencies": { - "@polkadot/networks": "^12.6.2", - "@polkadot/types": "10.13.1", - "@polkadot/types-codec": "10.13.1", - "@polkadot/types-create": "10.13.1", - "@polkadot/util": "^12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types-known/node_modules/@polkadot/networks": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/networks/-/networks-12.6.2.tgz", - "integrity": "sha512-1oWtZm1IvPWqvMrldVH6NI2gBoCndl5GEwx7lAuQWGr7eNL+6Bdc5K3Z9T0MzFvDGoi2/CBqjX9dRKo39pDC/w==", - "dependencies": { - "@polkadot/util": "12.6.2", - "@substrate/ss58-registry": "^1.44.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types-known/node_modules/@polkadot/util": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-12.6.2.tgz", - "integrity": "sha512-l8TubR7CLEY47240uki0TQzFvtnxFIO7uI/0GoWzpYD/O62EIAMRsuY01N4DuwgKq2ZWD59WhzsLYmA5K6ksdw==", - "dependencies": { - "@polkadot/x-bigint": "12.6.2", - "@polkadot/x-global": "12.6.2", - "@polkadot/x-textdecoder": "12.6.2", - "@polkadot/x-textencoder": "12.6.2", - "@types/bn.js": "^5.1.5", - "bn.js": "^5.2.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types-known/node_modules/@polkadot/x-bigint": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-12.6.2.tgz", - "integrity": "sha512-HSIk60uFPX4GOFZSnIF7VYJz7WZA7tpFJsne7SzxOooRwMTWEtw3fUpFy5cYYOeLh17/kHH1Y7SVcuxzVLc74Q==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types-known/node_modules/@polkadot/x-global": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-12.6.2.tgz", - "integrity": "sha512-a8d6m+PW98jmsYDtAWp88qS4dl8DyqUBsd0S+WgyfSMtpEXu6v9nXDgPZgwF5xdDvXhm+P0ZfVkVTnIGrScb5g==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types-known/node_modules/@polkadot/x-textdecoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-12.6.2.tgz", - "integrity": "sha512-M1Bir7tYvNappfpFWXOJcnxUhBUFWkUFIdJSyH0zs5LmFtFdbKAeiDXxSp2Swp5ddOZdZgPac294/o2TnQKN1w==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types-known/node_modules/@polkadot/x-textencoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-12.6.2.tgz", - "integrity": "sha512-4N+3UVCpI489tUJ6cv3uf0PjOHvgGp9Dl+SZRLgFGt9mvxnvpW/7+XBADRMtlG4xi5gaRK7bgl5bmY6OMDsNdw==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types-support": { - "version": "10.13.1", - "resolved": "https://registry.npmjs.org/@polkadot/types-support/-/types-support-10.13.1.tgz", - "integrity": "sha512-4gEPfz36XRQIY7inKq0HXNVVhR6HvXtm7yrEmuBuhM86LE0lQQBkISUSgR358bdn2OFSLMxMoRNoh3kcDvdGDQ==", - "dependencies": { - "@polkadot/util": "^12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types-support/node_modules/@polkadot/util": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-12.6.2.tgz", - "integrity": "sha512-l8TubR7CLEY47240uki0TQzFvtnxFIO7uI/0GoWzpYD/O62EIAMRsuY01N4DuwgKq2ZWD59WhzsLYmA5K6ksdw==", - "dependencies": { - "@polkadot/x-bigint": "12.6.2", - "@polkadot/x-global": "12.6.2", - "@polkadot/x-textdecoder": "12.6.2", - "@polkadot/x-textencoder": "12.6.2", - "@types/bn.js": "^5.1.5", - "bn.js": "^5.2.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types-support/node_modules/@polkadot/x-bigint": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-12.6.2.tgz", - "integrity": "sha512-HSIk60uFPX4GOFZSnIF7VYJz7WZA7tpFJsne7SzxOooRwMTWEtw3fUpFy5cYYOeLh17/kHH1Y7SVcuxzVLc74Q==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types-support/node_modules/@polkadot/x-global": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-12.6.2.tgz", - "integrity": "sha512-a8d6m+PW98jmsYDtAWp88qS4dl8DyqUBsd0S+WgyfSMtpEXu6v9nXDgPZgwF5xdDvXhm+P0ZfVkVTnIGrScb5g==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types-support/node_modules/@polkadot/x-textdecoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-12.6.2.tgz", - "integrity": "sha512-M1Bir7tYvNappfpFWXOJcnxUhBUFWkUFIdJSyH0zs5LmFtFdbKAeiDXxSp2Swp5ddOZdZgPac294/o2TnQKN1w==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types-support/node_modules/@polkadot/x-textencoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-12.6.2.tgz", - "integrity": "sha512-4N+3UVCpI489tUJ6cv3uf0PjOHvgGp9Dl+SZRLgFGt9mvxnvpW/7+XBADRMtlG4xi5gaRK7bgl5bmY6OMDsNdw==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types/node_modules/@polkadot/keyring": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/keyring/-/keyring-12.6.2.tgz", - "integrity": "sha512-O3Q7GVmRYm8q7HuB3S0+Yf/q/EB2egKRRU3fv9b3B7V+A52tKzA+vIwEmNVaD1g5FKW9oB97rmpggs0zaKFqHw==", - "dependencies": { - "@polkadot/util": "12.6.2", - "@polkadot/util-crypto": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "12.6.2", - "@polkadot/util-crypto": "12.6.2" - } - }, - "node_modules/@polkadot/types/node_modules/@polkadot/networks": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/networks/-/networks-12.6.2.tgz", - "integrity": "sha512-1oWtZm1IvPWqvMrldVH6NI2gBoCndl5GEwx7lAuQWGr7eNL+6Bdc5K3Z9T0MzFvDGoi2/CBqjX9dRKo39pDC/w==", - "dependencies": { - "@polkadot/util": "12.6.2", - "@substrate/ss58-registry": "^1.44.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types/node_modules/@polkadot/util": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-12.6.2.tgz", - "integrity": "sha512-l8TubR7CLEY47240uki0TQzFvtnxFIO7uI/0GoWzpYD/O62EIAMRsuY01N4DuwgKq2ZWD59WhzsLYmA5K6ksdw==", - "dependencies": { - "@polkadot/x-bigint": "12.6.2", - "@polkadot/x-global": "12.6.2", - "@polkadot/x-textdecoder": "12.6.2", - "@polkadot/x-textencoder": "12.6.2", - "@types/bn.js": "^5.1.5", - "bn.js": "^5.2.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types/node_modules/@polkadot/util-crypto": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-12.6.2.tgz", - "integrity": "sha512-FEWI/dJ7wDMNN1WOzZAjQoIcCP/3vz3wvAp5QQm+lOrzOLj0iDmaIGIcBkz8HVm3ErfSe/uKP0KS4jgV/ib+Mg==", - "dependencies": { - "@noble/curves": "^1.3.0", - "@noble/hashes": "^1.3.3", - "@polkadot/networks": "12.6.2", - "@polkadot/util": "12.6.2", - "@polkadot/wasm-crypto": "^7.3.2", - "@polkadot/wasm-util": "^7.3.2", - "@polkadot/x-bigint": "12.6.2", - "@polkadot/x-randomvalues": "12.6.2", - "@scure/base": "^1.1.5", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "12.6.2" - } - }, - "node_modules/@polkadot/types/node_modules/@polkadot/x-bigint": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-12.6.2.tgz", - "integrity": "sha512-HSIk60uFPX4GOFZSnIF7VYJz7WZA7tpFJsne7SzxOooRwMTWEtw3fUpFy5cYYOeLh17/kHH1Y7SVcuxzVLc74Q==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types/node_modules/@polkadot/x-global": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-12.6.2.tgz", - "integrity": "sha512-a8d6m+PW98jmsYDtAWp88qS4dl8DyqUBsd0S+WgyfSMtpEXu6v9nXDgPZgwF5xdDvXhm+P0ZfVkVTnIGrScb5g==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types/node_modules/@polkadot/x-randomvalues": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-randomvalues/-/x-randomvalues-12.6.2.tgz", - "integrity": "sha512-Vr8uG7rH2IcNJwtyf5ebdODMcr0XjoCpUbI91Zv6AlKVYOGKZlKLYJHIwpTaKKB+7KPWyQrk4Mlym/rS7v9feg==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "12.6.2", - "@polkadot/wasm-util": "*" - } - }, - "node_modules/@polkadot/types/node_modules/@polkadot/x-textdecoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-12.6.2.tgz", - "integrity": "sha512-M1Bir7tYvNappfpFWXOJcnxUhBUFWkUFIdJSyH0zs5LmFtFdbKAeiDXxSp2Swp5ddOZdZgPac294/o2TnQKN1w==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/types/node_modules/@polkadot/x-textencoder": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-12.6.2.tgz", - "integrity": "sha512-4N+3UVCpI489tUJ6cv3uf0PjOHvgGp9Dl+SZRLgFGt9mvxnvpW/7+XBADRMtlG4xi5gaRK7bgl5bmY6OMDsNdw==", - "dependencies": { - "@polkadot/x-global": "12.6.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/util": { - "version": "13.4.3", - "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-13.4.3.tgz", - "integrity": "sha512-6v2zvg8l7W22XvjYf7qv9tPQdYl2E6aXY94M4TZKsXZxmlS5BoG+A9Aq0+Gw8zBUjupjEmUkA6Y//msO8Zisug==", - "peer": true, - "dependencies": { - "@polkadot/x-bigint": "13.4.3", - "@polkadot/x-global": "13.4.3", - "@polkadot/x-textdecoder": "13.4.3", - "@polkadot/x-textencoder": "13.4.3", - "@types/bn.js": "^5.1.6", - "bn.js": "^5.2.1", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/util-crypto": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-13.4.4.tgz", - "integrity": "sha512-xuXBNdK3Axlj1ItR6n1kH9zgaDNWri9pb/w1HDFx89bHvw6Bl79wA/oHtVGLbHZ1y/bunpsuapznyswhnsaVog==", - "dependencies": { - "@noble/curves": "^1.3.0", - "@noble/hashes": "^1.3.3", - "@polkadot/networks": "13.4.4", - "@polkadot/util": "13.4.4", - "@polkadot/wasm-crypto": "^7.4.1", - "@polkadot/wasm-util": "^7.4.1", - "@polkadot/x-bigint": "13.4.4", - "@polkadot/x-randomvalues": "13.4.4", - "@scure/base": "^1.1.7", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "13.4.4" - } - }, - "node_modules/@polkadot/util-crypto/node_modules/@polkadot/util": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-13.4.4.tgz", - "integrity": "sha512-Lveu+8pZLBoAyyv+8X7FI4aTOwLaNXRc9gz1wVaUoGzk5VgmKp/qbPg0a+mfJD8usjf748OVbShhjXvhV3MLiA==", - "dependencies": { - "@polkadot/x-bigint": "13.4.4", - "@polkadot/x-global": "13.4.4", - "@polkadot/x-textdecoder": "13.4.4", - "@polkadot/x-textencoder": "13.4.4", - "@types/bn.js": "^5.1.6", - "bn.js": "^5.2.1", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/util-crypto/node_modules/@polkadot/x-bigint": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-13.4.4.tgz", - "integrity": "sha512-XjChwagc8TbIoWx9N1JwCMOyte417ngobin6vTmLQsgaOlK84LU0/3uc0ea9qUurPopc/Spf1mSMOFp7lRBrIA==", - "dependencies": { - "@polkadot/x-global": "13.4.4", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/util-crypto/node_modules/@polkadot/x-global": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-13.4.4.tgz", - "integrity": "sha512-kwXpzTXOgL2GdMWMzynj9ZpZdjfNvDlpQdlWzDNqTBeIeuklhmhDCA7ZFj3p5OkNUnZoTxNj4zgArYO3VKmQ1g==", - "dependencies": { - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/util-crypto/node_modules/@polkadot/x-randomvalues": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/x-randomvalues/-/x-randomvalues-13.4.4.tgz", - "integrity": "sha512-y6sMx2VrXi+V6SLTsd21DJ2Un9s2S7/G1MLDu6IiDBSKcnmOHPV6X43+Y8g+r8B7d9+1+ee/hn1JV+VY+SKSdg==", - "dependencies": { - "@polkadot/x-global": "13.4.4", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "13.4.4", - "@polkadot/wasm-util": "*" - } - }, - "node_modules/@polkadot/util-crypto/node_modules/@polkadot/x-textdecoder": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-13.4.4.tgz", - "integrity": "sha512-fXvM2ts0IUx6F/Fd1Yg4ypHCffmUtTSwOtFpqBPvWghKYnmvTbGVrSidGizu6as7KAp4dsum9mYKdRmScBHHzg==", - "dependencies": { - "@polkadot/x-global": "13.4.4", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/util-crypto/node_modules/@polkadot/x-textencoder": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-13.4.4.tgz", - "integrity": "sha512-WpPR2vMAiXS2AN8MfolzWbo5WPEmy5FVZFgwZraJZP8RKfzEuntbY5Nb25p/PIjsPJ1zKU0DE8uVvDcGjxIo7A==", - "dependencies": { - "@polkadot/x-global": "13.4.4", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/wasm-bridge": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@polkadot/wasm-bridge/-/wasm-bridge-7.4.1.tgz", - "integrity": "sha512-tdkJaV453tezBxhF39r4oeG0A39sPKGDJmN81LYLf+Fihb7astzwju+u75BRmDrHZjZIv00un3razJEWCxze6g==", - "dependencies": { - "@polkadot/wasm-util": "7.4.1", - "tslib": "^2.7.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "*", - "@polkadot/x-randomvalues": "*" - } - }, - "node_modules/@polkadot/wasm-crypto": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto/-/wasm-crypto-7.4.1.tgz", - "integrity": "sha512-kHN/kF7hYxm1y0WeFLWeWir6oTzvcFmR4N8fJJokR+ajYbdmrafPN+6iLgQVbhZnDdxyv9jWDuRRsDnBx8tPMQ==", - "dependencies": { - "@polkadot/wasm-bridge": "7.4.1", - "@polkadot/wasm-crypto-asmjs": "7.4.1", - "@polkadot/wasm-crypto-init": "7.4.1", - "@polkadot/wasm-crypto-wasm": "7.4.1", - "@polkadot/wasm-util": "7.4.1", - "tslib": "^2.7.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "*", - "@polkadot/x-randomvalues": "*" - } - }, - "node_modules/@polkadot/wasm-crypto-asmjs": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-asmjs/-/wasm-crypto-asmjs-7.4.1.tgz", - "integrity": "sha512-pwU8QXhUW7IberyHJIQr37IhbB6DPkCG5FhozCiNTq4vFBsFPjm9q8aZh7oX1QHQaiAZa2m2/VjIVE+FHGbvHQ==", - "dependencies": { - "tslib": "^2.7.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "*" - } - }, - "node_modules/@polkadot/wasm-crypto-init": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-init/-/wasm-crypto-init-7.4.1.tgz", - "integrity": "sha512-AVka33+f7MvXEEIGq5U0dhaA2SaXMXnxVCQyhJTaCnJ5bRDj0Xlm3ijwDEQUiaDql7EikbkkRtmlvs95eSUWYQ==", - "dependencies": { - "@polkadot/wasm-bridge": "7.4.1", - "@polkadot/wasm-crypto-asmjs": "7.4.1", - "@polkadot/wasm-crypto-wasm": "7.4.1", - "@polkadot/wasm-util": "7.4.1", - "tslib": "^2.7.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "*", - "@polkadot/x-randomvalues": "*" - } - }, - "node_modules/@polkadot/wasm-crypto-wasm": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-wasm/-/wasm-crypto-wasm-7.4.1.tgz", - "integrity": "sha512-PE1OAoupFR0ZOV2O8tr7D1FEUAwaggzxtfs3Aa5gr+yxlSOaWUKeqsOYe1KdrcjmZVV3iINEAXxgrbzCmiuONg==", - "dependencies": { - "@polkadot/wasm-util": "7.4.1", - "tslib": "^2.7.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "*" - } - }, - "node_modules/@polkadot/wasm-util": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@polkadot/wasm-util/-/wasm-util-7.4.1.tgz", - "integrity": "sha512-RAcxNFf3zzpkr+LX/ItAsvj+QyM56TomJ0xjUMo4wKkHjwsxkz4dWJtx5knIgQz/OthqSDMR59VNEycQeNuXzA==", - "dependencies": { - "tslib": "^2.7.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "*" - } - }, - "node_modules/@polkadot/x-bigint": { - "version": "13.4.3", - "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-13.4.3.tgz", - "integrity": "sha512-8NbjF5Q+5lflhvDFve58wULjCVcvXa932LKFtI5zL2gx5VDhMgyfkNcYRjHB18Ecl21963JuGzvGVTZNkh/i6g==", - "peer": true, - "dependencies": { - "@polkadot/x-global": "13.4.3", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/x-fetch": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/x-fetch/-/x-fetch-13.4.4.tgz", - "integrity": "sha512-F7awPlvMgu7kW7p4/TWTH18l14zS/8Og71lVO2WZ7HD1ofGG9SQiiNDmNbXl28L1ECOBGcOD1qjVAGEEXPva0Q==", - "dependencies": { - "@polkadot/x-global": "13.4.4", - "node-fetch": "^3.3.2", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/x-fetch/node_modules/@polkadot/x-global": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-13.4.4.tgz", - "integrity": "sha512-kwXpzTXOgL2GdMWMzynj9ZpZdjfNvDlpQdlWzDNqTBeIeuklhmhDCA7ZFj3p5OkNUnZoTxNj4zgArYO3VKmQ1g==", - "dependencies": { - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/x-global": { - "version": "13.4.3", - "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-13.4.3.tgz", - "integrity": "sha512-6c98kxZdoGRct3ua9Dz6/qz8wb3XFRUkaY+4+RzIgehKMPhu19pGWTrzmbJSyY9FtIpThuWKuDaBEvd5KgSxjA==", - "peer": true, - "dependencies": { - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/x-randomvalues": { - "version": "13.4.3", - "resolved": "https://registry.npmjs.org/@polkadot/x-randomvalues/-/x-randomvalues-13.4.3.tgz", - "integrity": "sha512-pskXP/S2jROZ6aASExsUFlNp7GbJvQikKogvyvMMCzNIbUYLxpLuquLRa3MOORx2c0SNsENg90cx/zHT+IjPRQ==", - "peer": true, - "dependencies": { - "@polkadot/x-global": "13.4.3", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@polkadot/util": "13.4.3", - "@polkadot/wasm-util": "*" - } - }, - "node_modules/@polkadot/x-textdecoder": { - "version": "13.4.3", - "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-13.4.3.tgz", - "integrity": "sha512-k7Wg6csAPxfNtpBt3k5yUuPHYmRl/nl7H2OMr40upMjbZXbQ1RJW9Z3GBkLmQczG7NwwfAXHwQE9FYOMUtbuRQ==", - "peer": true, - "dependencies": { - "@polkadot/x-global": "13.4.3", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/x-textencoder": { - "version": "13.4.3", - "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-13.4.3.tgz", - "integrity": "sha512-byl2LbN1rnEXKmnsCzEDaIjSIHAr+1ciSe2yj3M0K+oWEEcaFZEovJaf/uoyzkcjn+/l8rDv3nget6mPuQ/DSw==", - "peer": true, - "dependencies": { - "@polkadot/x-global": "13.4.3", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/x-ws": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/x-ws/-/x-ws-13.4.4.tgz", - "integrity": "sha512-qfbFb0Tdjsx5QawICduPTc3326SP+lEdggfyT4HmfrM50nvmCR/82TRAtEWKK7EPhXjoE/cBL/i5VO4d68DBQQ==", - "dependencies": { - "@polkadot/x-global": "13.4.4", - "tslib": "^2.8.0", - "ws": "^8.18.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polkadot/x-ws/node_modules/@polkadot/x-global": { - "version": "13.4.4", - "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-13.4.4.tgz", - "integrity": "sha512-kwXpzTXOgL2GdMWMzynj9ZpZdjfNvDlpQdlWzDNqTBeIeuklhmhDCA7ZFj3p5OkNUnZoTxNj4zgArYO3VKmQ1g==", + "node_modules/@noble/curves": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.1.tgz", + "integrity": "sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA==", + "license": "MIT", "dependencies": { - "tslib": "^2.8.0" + "@noble/hashes": "1.8.0" }, "engines": { - "node": ">=18" + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@polkadot/x-ws/node_modules/ws": { - "version": "8.18.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz", - "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==", + "node_modules/@noble/hashes": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", + "license": "MIT", "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" + "node": "^14.21.3 || >=16" }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "funding": { + "url": "https://paulmillr.com/funding/" } }, "node_modules/@react-native/assets-registry": { @@ -7528,9 +4376,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.39.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.39.0.tgz", - "integrity": "sha512-lGVys55Qb00Wvh8DMAocp5kIcaNzEFTmGhfFd88LfaogYTRKrdxgtlO5H6S49v2Nd8R2C6wLOal0qv6/kCkOwA==", + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.46.0.tgz", + "integrity": "sha512-9f3nSTFI2ivfxc7/tHBHcJ8pRnp8ROrELvsVprlQPVvcZ+j5zztYd+PTJGpyIOAdTvNwNrpCXswKSeoQcyGjMQ==", "cpu": [ "arm" ], @@ -7541,9 +4389,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.39.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.39.0.tgz", - "integrity": "sha512-It9+M1zE31KWfqh/0cJLrrsCPiF72PoJjIChLX+rEcujVRCb4NLQ5QzFkzIZW8Kn8FTbvGQBY5TkKBau3S8cCQ==", + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.46.0.tgz", + "integrity": "sha512-tFZSEhqJ8Yrpe50TzOdeoYi72gi/jsnT7y8Qrozf3cNu28WX+s6I3XzEPUAqoaT9SAS8Xz9AzGTFlxxCH/w20w==", "cpu": [ "arm64" ], @@ -7554,9 +4402,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.39.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.39.0.tgz", - "integrity": "sha512-lXQnhpFDOKDXiGxsU9/l8UEGGM65comrQuZ+lDcGUx+9YQ9dKpF3rSEGepyeR5AHZ0b5RgiligsBhWZfSSQh8Q==", + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.46.0.tgz", + "integrity": "sha512-+DikIIs+p6yU2hF51UaWG8BnHbq90X0QIOt5zqSKSZxY+G3qqdLih214e9InJal21af2PuuxkDectetGfbVPJw==", "cpu": [ "arm64" ], @@ -7567,9 +4415,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.39.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.39.0.tgz", - "integrity": "sha512-mKXpNZLvtEbgu6WCkNij7CGycdw9cJi2k9v0noMb++Vab12GZjFgUXD69ilAbBh034Zwn95c2PNSz9xM7KYEAQ==", + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.46.0.tgz", + "integrity": "sha512-5a+NofhdEB/WimSlFMskbFQn1vqz1FWryYpA99trmZGO6qEmiS0IsX6w4B3d91U878Q2ZQdiaFF1gxX4P147og==", "cpu": [ "x64" ], @@ -7580,9 +4428,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.39.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.39.0.tgz", - "integrity": "sha512-jivRRlh2Lod/KvDZx2zUR+I4iBfHcu2V/BA2vasUtdtTN2Uk3jfcZczLa81ESHZHPHy4ih3T/W5rPFZ/hX7RtQ==", + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.46.0.tgz", + "integrity": "sha512-igr/RlKPS3OCy4jD3XBmAmo3UAcNZkJSubRsw1JeM8bAbwf15k/3eMZXD91bnjheijJiOJcga3kfCLKjV8IXNg==", "cpu": [ "arm64" ], @@ -7593,9 +4441,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.39.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.39.0.tgz", - "integrity": "sha512-8RXIWvYIRK9nO+bhVz8DwLBepcptw633gv/QT4015CpJ0Ht8punmoHU/DuEd3iw9Hr8UwUV+t+VNNuZIWYeY7Q==", + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.46.0.tgz", + "integrity": "sha512-MdigWzPSHlQzB1xZ+MdFDWTAH+kcn7UxjEBoOKuaso7z1DRlnAnrknB1mTtNOQ+GdPI8xgExAGwHeqQjntR0Cg==", "cpu": [ "x64" ], @@ -7606,9 +4454,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.39.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.39.0.tgz", - "integrity": "sha512-mz5POx5Zu58f2xAG5RaRRhp3IZDK7zXGk5sdEDj4o96HeaXhlUwmLFzNlc4hCQi5sGdR12VDgEUqVSHer0lI9g==", + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.46.0.tgz", + "integrity": "sha512-dmZseE0ZwA/4yy1+BwFrDqFTjjNg24GO9xSrb1weVbt6AFkhp5pz1gVS7IMtfIvoWy8yp6q/zN0bKnefRUImvQ==", "cpu": [ "arm" ], @@ -7619,9 +4467,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.39.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.39.0.tgz", - "integrity": "sha512-+YDwhM6gUAyakl0CD+bMFpdmwIoRDzZYaTWV3SDRBGkMU/VpIBYXXEvkEcTagw/7VVkL2vA29zU4UVy1mP0/Yw==", + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.46.0.tgz", + "integrity": "sha512-fzhfn6p9Cfm3W8UrWKIa4l7Wfjs/KGdgaswMBBE3KY3Ta43jg2XsPrAtfezHpsRk0Nx+TFuS3hZk/To2N5kFPQ==", "cpu": [ "arm" ], @@ -7632,9 +4480,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.39.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.39.0.tgz", - "integrity": "sha512-EKf7iF7aK36eEChvlgxGnk7pdJfzfQbNvGV/+l98iiMwU23MwvmV0Ty3pJ0p5WQfm3JRHOytSIqD9LB7Bq7xdQ==", + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.46.0.tgz", + "integrity": "sha512-vVDD+iPDPmJQ5nAQ5Tifq3ywdv60FartglFI8VOCK+hcU9aoG0qlQTsDJP97O5yiTaTqlneZWoARMcVC5nyUoQ==", "cpu": [ "arm64" ], @@ -7645,9 +4493,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.39.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.39.0.tgz", - "integrity": "sha512-vYanR6MtqC7Z2SNr8gzVnzUul09Wi1kZqJaek3KcIlI/wq5Xtq4ZPIZ0Mr/st/sv/NnaPwy/D4yXg5x0B3aUUA==", + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.46.0.tgz", + "integrity": "sha512-0d0jx08fzDHCzXqrtCMEEyxKU0SvJrWmUjUDE2/KDQ2UDJql0tfiwYvEx1oHELClKO8CNdE+AGJj+RqXscZpdQ==", "cpu": [ "arm64" ], @@ -7658,9 +4506,9 @@ ] }, "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.39.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.39.0.tgz", - "integrity": "sha512-NMRUT40+h0FBa5fb+cpxtZoGAggRem16ocVKIv5gDB5uLDgBIwrIsXlGqYbLwW8YyO3WVTk1FkFDjMETYlDqiw==", + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.46.0.tgz", + "integrity": "sha512-XBYu9oW9eKJadWn8M7hkTZsD4yG+RrsTrVEgyKwb4L72cpJjRbRboTG9Lg9fec8MxJp/cfTHAocg4mnismQR8A==", "cpu": [ "loong64" ], @@ -7670,10 +4518,10 @@ "linux" ] }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.39.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.39.0.tgz", - "integrity": "sha512-0pCNnmxgduJ3YRt+D+kJ6Ai/r+TaePu9ZLENl+ZDV/CdVczXl95CbIiwwswu4L+K7uOIGf6tMo2vm8uadRaICQ==", + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.46.0.tgz", + "integrity": "sha512-wJaRvcT17PoOK6Ggcfo3nouFlybHvARBS4jzT0PC/lg17fIJHcDS2fZz3sD+iA4nRlho2zE6OGbU0HvwATdokQ==", "cpu": [ "ppc64" ], @@ -7684,9 +4532,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.39.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.39.0.tgz", - "integrity": "sha512-t7j5Zhr7S4bBtksT73bO6c3Qa2AV/HqiGlj9+KB3gNF5upcVkx+HLgxTm8DK4OkzsOYqbdqbLKwvGMhylJCPhQ==", + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.46.0.tgz", + "integrity": "sha512-GZ5bkMFteAGkcmh8x0Ok4LSa+L62Ez0tMsHPX6JtR0wl4Xc3bQcrFHDiR5DGLEDFtGrXih4Nd/UDaFqs968/wA==", "cpu": [ "riscv64" ], @@ -7697,9 +4545,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.39.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.39.0.tgz", - "integrity": "sha512-m6cwI86IvQ7M93MQ2RF5SP8tUjD39Y7rjb1qjHgYh28uAPVU8+k/xYWvxRO3/tBN2pZkSMa5RjnPuUIbrwVxeA==", + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.46.0.tgz", + "integrity": "sha512-7CjPw6FflFsVOUfWOrVrREiV3IYXG4RzZ1ZQUaT3BtSK8YXN6x286o+sruPZJESIaPebYuFowmg54ZdrkVBYog==", "cpu": [ "riscv64" ], @@ -7710,9 +4558,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.39.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.39.0.tgz", - "integrity": "sha512-iRDJd2ebMunnk2rsSBYlsptCyuINvxUfGwOUldjv5M4tpa93K8tFMeYGpNk2+Nxl+OBJnBzy2/JCscGeO507kA==", + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.46.0.tgz", + "integrity": "sha512-nmvnl0ZiuysltcB/cKjUh40Rx4FbSyueERDsl2FLvLYr6pCgSsvGr3SocUT84svSpmloS7f1DRWqtRha74Gi1w==", "cpu": [ "s390x" ], @@ -7723,9 +4571,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.39.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.39.0.tgz", - "integrity": "sha512-t9jqYw27R6Lx0XKfEFe5vUeEJ5pF3SGIM6gTfONSMb7DuG6z6wfj2yjcoZxHg129veTqU7+wOhY6GX8wmf90dA==", + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.46.0.tgz", + "integrity": "sha512-Cv+moII5C8RM6gZbR3cb21o6rquVDZrN2o81maROg1LFzBz2dZUwIQSxFA8GtGZ/F2KtsqQ2z3eFPBb6akvQNg==", "cpu": [ "x64" ], @@ -7736,9 +4584,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.39.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.39.0.tgz", - "integrity": "sha512-ThFdkrFDP55AIsIZDKSBWEt/JcWlCzydbZHinZ0F/r1h83qbGeenCt/G/wG2O0reuENDD2tawfAj2s8VK7Bugg==", + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.46.0.tgz", + "integrity": "sha512-PHcMG8DZTM9RCIjp8QIfN0VYtX0TtBPnWOTRurFhoCDoi9zptUZL2k7pCs+5rgut7JAiUsYy+huyhVKPcmxoog==", "cpu": [ "x64" ], @@ -7749,9 +4597,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.39.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.39.0.tgz", - "integrity": "sha512-jDrLm6yUtbOg2TYB3sBF3acUnAwsIksEYjLeHL+TJv9jg+TmTwdyjnDex27jqEMakNKf3RwwPahDIt7QXCSqRQ==", + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.46.0.tgz", + "integrity": "sha512-1SI/Rd47e8aQJeFWMDg16ET+fjvCcD/CzeaRmIEPmb05hx+3cCcwIF4ebUag4yTt/D1peE+Mgp0+Po3M358cAA==", "cpu": [ "arm64" ], @@ -7762,9 +4610,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.39.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.39.0.tgz", - "integrity": "sha512-6w9uMuza+LbLCVoNKL5FSLE7yvYkq9laSd09bwS0tMjkwXrmib/4KmoJcrKhLWHvw19mwU+33ndC69T7weNNjQ==", + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.46.0.tgz", + "integrity": "sha512-JwOCYxmumFDfDhx4kNyz6kTVK3gWzBIvVdMNzQMRDubcoGRDniOOmo6DDNP42qwZx3Bp9/6vWJ+kNzNqXoHmeA==", "cpu": [ "ia32" ], @@ -7775,9 +4623,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.39.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.39.0.tgz", - "integrity": "sha512-yAkUOkIKZlK5dl7u6dg897doBgLXmUHhIINM2c+sND3DZwnrdQkkSiDh7N75Ll4mM4dxSkYfXqU9fW3lLkMFug==", + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.46.0.tgz", + "integrity": "sha512-IPMIfrfkG1GaEXi+JSsQEx8x9b4b+hRZXO7KYc2pKio3zO2/VDXDs6B9Ts/nnO+25Fk1tdAVtUn60HKKPPzDig==", "cpu": [ "x64" ], @@ -7787,14 +4635,6 @@ "win32" ] }, - "node_modules/@scure/base": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.2.4.tgz", - "integrity": "sha512-5Yy9czTO47mqz+/J8GM6GIId4umdCk1wc1q8rKERQulIoc8VP9pzDcghv10Tl2E7R96ZUx/PhND3ESYUQX8NuQ==", - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, "node_modules/@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", @@ -7830,65 +4670,6 @@ "@sinonjs/commons": "^3.0.0" } }, - "node_modules/@socket.io/component-emitter": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", - "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==" - }, - "node_modules/@substrate/connect": { - "version": "0.8.8", - "resolved": "https://registry.npmjs.org/@substrate/connect/-/connect-0.8.8.tgz", - "integrity": "sha512-zwaxuNEVI9bGt0rT8PEJiXOyebLIo6QN1SyiAHRPBOl6g3Sy0KKdSN8Jmyn++oXhVRD8aIe75/V8ZkS81T+BPQ==", - "deprecated": "versions below 1.x are no longer maintained", - "optional": true, - "dependencies": { - "@substrate/connect-extension-protocol": "^2.0.0", - "@substrate/connect-known-chains": "^1.1.1", - "@substrate/light-client-extension-helpers": "^0.0.4", - "smoldot": "2.0.22" - } - }, - "node_modules/@substrate/connect-extension-protocol": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@substrate/connect-extension-protocol/-/connect-extension-protocol-2.2.2.tgz", - "integrity": "sha512-t66jwrXA0s5Goq82ZtjagLNd7DPGCNjHeehRlE/gcJmJ+G56C0W+2plqOMRicJ8XGR1/YFnUSEqUFiSNbjGrAA==", - "optional": true - }, - "node_modules/@substrate/connect-known-chains": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/@substrate/connect-known-chains/-/connect-known-chains-1.9.3.tgz", - "integrity": "sha512-CPcykiKcVuG4J424gNUFak4AdIJ1sXbu/Bk1IGVPOz74NlBO8EvUyRlpPA7IY0vEf7/n4HQ1gEN5lfgERo4q3w==", - "optional": true - }, - "node_modules/@substrate/light-client-extension-helpers": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/@substrate/light-client-extension-helpers/-/light-client-extension-helpers-0.0.4.tgz", - "integrity": "sha512-vfKcigzL0SpiK+u9sX6dq2lQSDtuFLOxIJx2CKPouPEHIs8C+fpsufn52r19GQn+qDhU8POMPHOVoqLktj8UEA==", - "optional": true, - "dependencies": { - "@polkadot-api/client": "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0", - "@polkadot-api/json-rpc-provider": "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0", - "@polkadot-api/json-rpc-provider-proxy": "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0", - "@polkadot-api/substrate-client": "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0", - "@substrate/connect-extension-protocol": "^2.0.0", - "@substrate/connect-known-chains": "^1.1.1", - "rxjs": "^7.8.1" - }, - "peerDependencies": { - "smoldot": "2.x" - } - }, - "node_modules/@substrate/light-client-extension-helpers/node_modules/@polkadot-api/json-rpc-provider": { - "version": "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0", - "resolved": "https://registry.npmjs.org/@polkadot-api/json-rpc-provider/-/json-rpc-provider-0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0.tgz", - "integrity": "sha512-EaUS9Fc3wsiUr6ZS43PQqaRScW7kM6DYbuM/ou0aYjm8N9MBqgDbGm2oL6RE1vAVmOfEuHcXZuZkhzWtyvQUtA==", - "optional": true - }, - "node_modules/@substrate/ss58-registry": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/@substrate/ss58-registry/-/ss58-registry-1.51.0.tgz", - "integrity": "sha512-TWDurLiPxndFgKjVavCniytBIw+t4ViOi7TYp9h/D0NMmkEc9klFTo+827eyEJ0lELpqO207Ey7uGxUa+BS1jQ==" - }, "node_modules/@types/babel__core": { "version": "7.20.5", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", @@ -7930,14 +4711,6 @@ "@babel/types": "^7.20.7" } }, - "node_modules/@types/bn.js": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.6.tgz", - "integrity": "sha512-Xh8vSwUeMKeYYrj3cX4lGQgFSF/N03r+tv4AiLl1SucqV+uTQpxRcnM8AkXKHwYP9ZPXOYXRr2KPXpVlIvqh9w==", - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/dns-packet": { "version": "5.6.5", "resolved": "https://registry.npmjs.org/@types/dns-packet/-/dns-packet-5.6.5.tgz", @@ -7947,9 +4720,10 @@ } }, "node_modules/@types/estree": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", - "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==" + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true }, "node_modules/@types/graceful-fs": { "version": "4.1.9", @@ -7984,10 +4758,19 @@ "@types/istanbul-lib-report": "*" } }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + "node_modules/@types/multicast-dns": { + "version": "7.2.4", + "resolved": "https://registry.npmjs.org/@types/multicast-dns/-/multicast-dns-7.2.4.tgz", + "integrity": "sha512-ib5K4cIDR4Ro5SR3Sx/LROkMDa0BHz0OPaCBL/OSPDsAXEGZ3/KQeS6poBKYVN7BfjXDL9lWNwzyHVgt/wkyCw==", + "dependencies": { + "@types/dns-packet": "*", + "@types/node": "*" + } + }, + "node_modules/@types/murmurhash3js-revisited": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.3.tgz", + "integrity": "sha512-QvlqvYtGBYIDeO8dFdY4djkRubcrc+yTJtBc7n8VZPlJDUS/00A+PssbvERM8f9bYRmcaSEHPZgZojeQj7kzAA==" }, "node_modules/@types/node": { "version": "22.13.13", @@ -8006,10 +4789,18 @@ "@types/node": "*" } }, - "node_modules/@types/retry": { - "version": "0.12.2", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", - "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==" + "node_modules/@types/sinon": { + "version": "17.0.4", + "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.4.tgz", + "integrity": "sha512-RHnIrhfPO3+tJT0s7cFaXGZvsL4bbR3/k7z3P312qMS4JaS2Tk+KiwiLx1S0rQ56ERj00u1/BtdyVd0FY+Pdew==", + "dependencies": { + "@types/sinonjs__fake-timers": "*" + } + }, + "node_modules/@types/sinonjs__fake-timers": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.5.tgz", + "integrity": "sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==" }, "node_modules/@types/stack-utils": { "version": "2.0.3", @@ -8057,15 +4848,6 @@ "resolved": "https://registry.npmjs.org/abort-error/-/abort-error-1.0.1.tgz", "integrity": "sha512-fxqCblJiIPdSXIUrxI0PL+eJG49QdP9SQ70qtB65MVAoMr2rASlOyAbJFOylfB467F/f+5BCLJJq58RYi7mGfg==" }, - "node_modules/abortable-iterator": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/abortable-iterator/-/abortable-iterator-5.1.0.tgz", - "integrity": "sha512-a3nRG0GOGw3IPFA2hdhrZU+QuD3mA6i+5f4YM/Obe+D5lYccxScI32rAIHAW5ttFV7+beiof09gHav4qUEZDwg==", - "dependencies": { - "get-iterator": "^2.0.0", - "it-stream-types": "^2.0.1" - } - }, "node_modules/accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -8083,6 +4865,7 @@ "version": "8.14.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -8090,29 +4873,6 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, "node_modules/anser": { "version": "1.4.10", "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", @@ -8132,6 +4892,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -8373,7 +5134,8 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "peer": true }, "node_modules/base64-js": { "version": "1.5.1", @@ -8427,61 +5189,57 @@ "ieee754": "^1.1.13" } }, - "node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "node_modules/body-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", - "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", + "node_modules/blockstore-core": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/blockstore-core/-/blockstore-core-4.4.1.tgz", + "integrity": "sha512-peXfL9ZLx1cb84QALocMjhT8CsQ4JsreI/AitlN1inipSdC/G+jcYVJCqeCD5ecSTv/0LMpg8NlAPH/eBYZLjA==", "dependencies": { - "bytes": "^3.1.2", - "content-type": "^1.0.5", - "debug": "^4.4.0", - "http-errors": "^2.0.0", - "iconv-lite": "^0.6.3", - "on-finished": "^2.4.1", - "qs": "^6.14.0", - "raw-body": "^3.0.0", - "type-is": "^2.0.0" - }, - "engines": { - "node": ">=18" + "@libp2p/logger": "^4.0.6", + "err-code": "^3.0.1", + "interface-blockstore": "^5.0.0", + "interface-store": "^5.0.0", + "it-drain": "^3.0.5", + "it-filter": "^3.0.4", + "it-merge": "^3.0.3", + "it-pushable": "^3.2.3", + "multiformats": "^13.0.1" } }, - "node_modules/body-parser/node_modules/debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "node_modules/blockstore-core/node_modules/@libp2p/interface": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-1.7.0.tgz", + "integrity": "sha512-/zFyaIaIGW0aihhsH7/93vQdpWInUzFocxF11RO/029Y6h0SVjs24HHbils+DqaFDTqN+L7oNlBx2rM2MnmTjA==", "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "@multiformats/multiaddr": "^12.2.3", + "it-pushable": "^3.2.3", + "it-stream-types": "^2.0.1", + "multiformats": "^13.1.0", + "progress-events": "^1.0.0", + "uint8arraylist": "^2.4.8" } }, - "node_modules/body-parser/node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "node_modules/blockstore-core/node_modules/@libp2p/logger": { + "version": "4.0.20", + "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-4.0.20.tgz", + "integrity": "sha512-TTh2dhHsOTAlMPxSa9ncFPHa/0jTt+0AQxwHdlxg/OGLAgc9VRhnrhHUbJZp07Crcw4T/MOfS4KhjlxgqYgJRw==", "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" + "@libp2p/interface": "^1.7.0", + "@multiformats/multiaddr": "^12.2.3", + "interface-datastore": "^8.2.11", + "multiformats": "^13.1.0", + "weald": "^1.0.2" } }, + "node_modules/blockstore-core/node_modules/interface-store": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-5.1.8.tgz", + "integrity": "sha512-7na81Uxkl0vqk0CBPO5PvyTkdaJBaezwUJGsMOz7riPOq0rJt+7W31iaopaMICWea/iykUsvNlPx/Tc+MxC3/w==" + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "peer": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -8499,6 +5257,11 @@ "node": ">=8" } }, + "node_modules/browser-readablestream-to-it": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/browser-readablestream-to-it/-/browser-readablestream-to-it-2.0.10.tgz", + "integrity": "sha512-I/9hEcRtjct8CzD9sVo9Mm4ntn0D+7tOVrjbPl69XAoOfgJ8NBdOQU+WX+5SHhcELJDb14mWt7zuvyqha+MEAQ==" + }, "node_modules/browserslist": { "version": "4.24.4", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", @@ -8569,41 +5332,6 @@ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "peer": true }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/caller-callsite": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", @@ -8666,18 +5394,19 @@ ], "peer": true }, - "node_modules/cbor-web": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/cbor-web/-/cbor-web-9.0.2.tgz", - "integrity": "sha512-N6gU2GsJS8RR5gy1d9wQcSPgn9FGJFY7KNvdDRlwHfz6kCxrQr2TDnrjXHmr6TFSl6Fd0FC4zRnityEldjRGvQ==", - "engines": { - "node": ">=16" + "node_modules/cborg": { + "version": "4.2.12", + "resolved": "https://registry.npmjs.org/cborg/-/cborg-4.2.12.tgz", + "integrity": "sha512-z126yLoavS75cdTuiKu61RC3Y3trqtDAgQRa5Q0dpHn1RmqhIedptWXKnk0lQ5yo/GmcV9myvIkzFgZ8GnqSog==", + "bin": { + "cborg": "lib/bin.js" } }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -8693,6 +5422,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -8780,10 +5510,25 @@ "node": ">=6" } }, + "node_modules/clone-regexp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-3.0.0.tgz", + "integrity": "sha512-ujdnoq2Kxb8s3ItNBtnYeXdm07FcU0u8ARAT1lQ2YdMwQC+cdiXX8KoqMVuglztILivceTtp4ivqGSmEmhBUJw==", + "dependencies": { + "is-regexp": "^3.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -8794,7 +5539,8 @@ "node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "peer": true }, "node_modules/commander": { "version": "12.1.0", @@ -8814,7 +5560,8 @@ "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "peer": true }, "node_modules/connect": { "version": "3.7.0", @@ -8846,23 +5593,15 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "peer": true }, - "node_modules/content-disposition": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", - "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==", - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "node_modules/convert-hrtime": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-5.0.0.tgz", + "integrity": "sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==", "engines": { - "node": ">= 0.6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/convert-source-map": { @@ -8871,22 +5610,6 @@ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "peer": true }, - "node_modules/cookie": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", - "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", - "engines": { - "node": ">=6.6.0" - } - }, "node_modules/core-js-compat": { "version": "3.41.0", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.41.0.tgz", @@ -8900,18 +5623,6 @@ "url": "https://opencollective.com/core-js" } }, - "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/cosmiconfig": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", @@ -8940,32 +5651,6 @@ "node": ">= 8" } }, - "node_modules/data-uri-to-buffer": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", - "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", - "engines": { - "node": ">= 12" - } - }, - "node_modules/datastore-core": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/datastore-core/-/datastore-core-10.0.2.tgz", - "integrity": "sha512-B3WXxI54VxJkpXxnYibiF17si3bLXE1XOjrJB7wM5co9fx2KOEkiePDGiCCEtnapFHTnmAnYCPdA7WZTIpdn/A==", - "dependencies": { - "@libp2p/logger": "^5.0.1", - "interface-datastore": "^8.0.0", - "interface-store": "^6.0.0", - "it-drain": "^3.0.7", - "it-filter": "^3.1.1", - "it-map": "^3.1.1", - "it-merge": "^3.0.5", - "it-pipe": "^3.0.1", - "it-pushable": "^3.2.3", - "it-sort": "^3.0.6", - "it-take": "^3.0.6" - } - }, "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -9009,10 +5694,16 @@ "node": ">=4.0.0" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + "node_modules/default-gateway": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-7.2.2.tgz", + "integrity": "sha512-AD7TrdNNPXRZIGw63dw+lnGmT4v7ggZC5NHNJgAYWm5njrwoze1q5JSAW9YuLy2tjnoLUG/r8FEB93MCh9QJPg==", + "dependencies": { + "execa": "^7.1.1" + }, + "engines": { + "node": ">= 16" + } }, "node_modules/delay": { "version": "6.0.0", @@ -9025,18 +5716,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/denque": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", - "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==", - "engines": { - "node": ">=0.10" - } - }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "peer": true, "engines": { "node": ">= 0.8" } @@ -9075,23 +5759,11 @@ "node": ">=6" } }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "peer": true }, "node_modules/electron-to-chromium": { "version": "1.5.123", @@ -9122,46 +5794,6 @@ "once": "^1.4.0" } }, - "node_modules/engine.io-client": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.6.3.tgz", - "integrity": "sha512-T0iLjnyNWahNyv/lcjS2y4oE358tVS/SYQNxYXGAJ9/GLgH4VCvOQ/mhTjqU88mLZCQgiG8RIegFHYCdVC+j5w==", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1", - "engine.io-parser": "~5.2.1", - "ws": "~8.17.1", - "xmlhttprequest-ssl": "~2.1.1" - } - }, - "node_modules/engine.io-client/node_modules/ws": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", - "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", - "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 - } - } - }, - "node_modules/engine.io-parser": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", - "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", - "engines": { - "node": ">=10.0.0" - } - }, "node_modules/err-code": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", @@ -9176,40 +5808,13 @@ "is-arrayish": "^0.2.1" } }, - "node_modules/error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", - "peer": true, - "dependencies": { - "stackframe": "^1.3.4" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "peer": true, "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" + "stackframe": "^1.3.4" } }, "node_modules/esbuild": { @@ -9264,12 +5869,14 @@ "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "peer": true }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "peer": true, "engines": { "node": ">=10" }, @@ -9277,166 +5884,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint": { - "version": "9.26.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.26.0.tgz", - "integrity": "sha512-Hx0MOjPh6uK9oq9nVsATZKE/Wlbai7KFjfCuw9UHaguDW3x+HF0O5nIi3ud39TWgrTjTO5nHxmL3R1eANinWHQ==", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.20.0", - "@eslint/config-helpers": "^0.2.1", - "@eslint/core": "^0.13.0", - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.26.0", - "@eslint/plugin-kit": "^0.2.8", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@modelcontextprotocol/sdk": "^1.8.0", - "@types/estree": "^1.0.6", - "@types/json-schema": "^7.0.15", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.3.0", - "eslint-visitor-keys": "^4.2.0", - "espree": "^10.3.0", - "esquery": "^1.5.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "zod": "^3.24.2" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz", - "integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/espree": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", - "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", - "dependencies": { - "acorn": "^8.14.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, "node_modules/esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", @@ -9450,40 +5897,11 @@ "node": ">=4" } }, - "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "engines": { - "node": ">=4.0" - } - }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -9492,6 +5910,7 @@ "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "peer": true, "engines": { "node": ">= 0.6" } @@ -9515,31 +5934,26 @@ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/eventsource": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz", - "integrity": "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==", + "node_modules/execa": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", "dependencies": { - "eventsource-parser": "^3.0.1" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" }, "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/eventsource-parser": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.1.tgz", - "integrity": "sha512-VARTJ9CYeuQYb0pZEPbzi740OWFgpHe7AYJ2WFZVnUDUQp5Dk2yJUgF36YsZ81cOyxT0QxmXD2EQpapAouzWVA==", - "engines": { - "node": ">=18.0.0" + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, "node_modules/expand-template": { @@ -9556,216 +5970,11 @@ "integrity": "sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==", "peer": true }, - "node_modules/express": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz", - "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==", - "dependencies": { - "accepts": "^2.0.0", - "body-parser": "^2.2.0", - "content-disposition": "^1.0.0", - "content-type": "^1.0.5", - "cookie": "^0.7.1", - "cookie-signature": "^1.2.1", - "debug": "^4.4.0", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "etag": "^1.8.1", - "finalhandler": "^2.1.0", - "fresh": "^2.0.0", - "http-errors": "^2.0.0", - "merge-descriptors": "^2.0.0", - "mime-types": "^3.0.0", - "on-finished": "^2.4.1", - "once": "^1.4.0", - "parseurl": "^1.3.3", - "proxy-addr": "^2.0.7", - "qs": "^6.14.0", - "range-parser": "^1.2.1", - "router": "^2.2.0", - "send": "^1.1.0", - "serve-static": "^2.2.0", - "statuses": "^2.0.1", - "type-is": "^2.0.1", - "vary": "^1.1.2" - }, - "engines": { - "node": ">= 18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/express-rate-limit": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.5.0.tgz", - "integrity": "sha512-eB5zbQh5h+VenMPM3fh+nw1YExi5nMr6HUCR62ELSP11huvxm/Uir1H1QEyTkk5QX6A58pX6NmaTMceKZ0Eodg==", - "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://github.com/sponsors/express-rate-limit" - }, - "peerDependencies": { - "express": "^4.11 || 5 || ^5.0.0-beta.1" - } - }, - "node_modules/express/node_modules/accepts": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", - "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", - "dependencies": { - "mime-types": "^3.0.0", - "negotiator": "^1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express/node_modules/debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/express/node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/express/node_modules/finalhandler": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz", - "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==", - "dependencies": { - "debug": "^4.4.0", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "on-finished": "^2.4.1", - "parseurl": "^1.3.3", - "statuses": "^2.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/express/node_modules/fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", - "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/express/node_modules/mime-db": { - "version": "1.54.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", - "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express/node_modules/mime-types": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", - "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", - "dependencies": { - "mime-db": "^1.54.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express/node_modules/negotiator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", - "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express/node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/express/node_modules/send": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", - "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", - "dependencies": { - "debug": "^4.3.5", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "etag": "^1.8.1", - "fresh": "^2.0.0", - "http-errors": "^2.0.0", - "mime-types": "^3.0.1", - "ms": "^2.1.3", - "on-finished": "^2.4.1", - "range-parser": "^1.2.1", - "statuses": "^2.0.1" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/express/node_modules/serve-static": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz", - "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", - "dependencies": { - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "parseurl": "^1.3.3", - "send": "^1.2.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/express/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "peer": true }, "node_modules/fb-watchman": { "version": "2.0.2", @@ -9776,39 +5985,6 @@ "bser": "2.1.1" } }, - "node_modules/fetch-blob": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", - "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/jimmywarting" - }, - { - "type": "paypal", - "url": "https://paypal.me/jimmywarting" - } - ], - "dependencies": { - "node-domexception": "^1.0.0", - "web-streams-polyfill": "^3.0.3" - }, - "engines": { - "node": "^12.20 || >= 14.13" - } - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -9875,29 +6051,12 @@ "peer": true, "dependencies": { "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" + "path-exists": "^4.0.0" }, "engines": { - "node": ">=16" + "node": ">=8" } }, - "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==" - }, "node_modules/flow-enums-runtime": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz", @@ -9913,23 +6072,13 @@ "node": ">=0.4.0" } }, - "node_modules/formdata-polyfill": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", - "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", - "dependencies": { - "fetch-blob": "^3.1.2" - }, - "engines": { - "node": ">=12.20.0" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "node_modules/freeport-promise": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/freeport-promise/-/freeport-promise-2.0.0.tgz", + "integrity": "sha512-dwWpT1DdQcwrhmRwnDnPM/ZFny+FtzU+k50qF2eid3KxaQDsMiBrwo1i0G3qSugkN5db6Cb0zgfc68QeTOpEFg==", "engines": { - "node": ">= 0.6" + "node": ">=16.0.0", + "npm": ">=7.0.0" } }, "node_modules/fresh": { @@ -9969,10 +6118,22 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "peer": true, "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/function-timeout": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/function-timeout/-/function-timeout-0.1.1.tgz", + "integrity": "sha512-0NVVC0TaP7dSTvn1yMiy6d6Q8gifzbvQafO46RtLG/kHJUBNd+pVRGOBoK44wNBvtSPUJRfdVvkFdD3p0xvyZg==", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -9991,29 +6152,6 @@ "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/get-iterator": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/get-iterator/-/get-iterator-2.0.1.tgz", @@ -10028,29 +6166,17 @@ "node": ">=8.0.0" } }, - "node_modules/get-port": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-7.1.0.tgz", - "integrity": "sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw==", + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "engines": { - "node": ">=16" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/github-from-package": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", @@ -10077,76 +6203,590 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "peer": true + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/hashlru": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/hashlru/-/hashlru-2.3.0.tgz", + "integrity": "sha512-0cMsjjIC8I+D3M44pOQdsy0OHXGLVz6Z0beRuufhKa0KfaD2wGwAev6jILzXsd3/vpnNQJmWyZtIILqM1N+n5A==" + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "peer": true, "dependencies": { - "is-glob": "^4.0.3" + "function-bind": "^1.1.2" }, "engines": { - "node": ">=10.13.0" + "node": ">= 0.4" + } + }, + "node_modules/helia": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/helia/-/helia-4.2.6.tgz", + "integrity": "sha512-qa/ADpLRRqzQHchd0XqpC4cVj9+OC4BA4QldN6dxBO0OLuGoUEo6kGrbpkygqNQ8RupA1ViFBWP7TqX6OIrppg==", + "dependencies": { + "@chainsafe/libp2p-noise": "^15.0.0", + "@chainsafe/libp2p-yamux": "^6.0.2", + "@helia/block-brokers": "^3.0.4", + "@helia/delegated-routing-v1-http-api-client": "^3.0.0", + "@helia/interface": "^4.3.1", + "@helia/routers": "^1.1.1", + "@helia/utils": "^0.3.3", + "@libp2p/autonat": "^1.0.13", + "@libp2p/bootstrap": "^10.0.16", + "@libp2p/circuit-relay-v2": "^1.0.16", + "@libp2p/dcutr": "^1.0.13", + "@libp2p/identify": "^2.0.0", + "@libp2p/interface": "^1.1.4", + "@libp2p/kad-dht": "^12.0.8", + "@libp2p/keychain": "^4.0.9", + "@libp2p/logger": "^4.0.7", + "@libp2p/mdns": "^10.0.16", + "@libp2p/mplex": "^10.0.16", + "@libp2p/ping": "^1.0.12", + "@libp2p/tcp": "^9.0.16", + "@libp2p/upnp-nat": "^1.0.14", + "@libp2p/webrtc": "^4.0.20", + "@libp2p/websockets": "^8.0.16", + "@libp2p/webtransport": "^4.0.20", + "@multiformats/dns": "^1.0.1", + "blockstore-core": "^4.4.0", + "datastore-core": "^9.2.9", + "interface-blockstore": "^5.2.10", + "interface-datastore": "^8.2.11", + "ipns": "^9.0.0", + "libp2p": "^1.3.0", + "multiformats": "^13.1.0" + } + }, + "node_modules/helia/node_modules/@chainsafe/as-sha256": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@chainsafe/as-sha256/-/as-sha256-0.4.2.tgz", + "integrity": "sha512-HJ8GZBRjLeWtRsAXf3EbNsNzmTGpzTFjfpSf4yHkLYC+E52DhT6hwz+7qpj6I/EmFzSUm5tYYvT9K8GZokLQCQ==" + }, + "node_modules/helia/node_modules/@chainsafe/libp2p-noise": { + "version": "15.1.2", + "resolved": "https://registry.npmjs.org/@chainsafe/libp2p-noise/-/libp2p-noise-15.1.2.tgz", + "integrity": "sha512-o6mqsAbaCBucgdLOOHtkwtGVL1c8RLKhlTnHQY+leazY+thiE1Sm6qPCwsTHKQnWii1q5hDVI2Q0l9QgYi5v4Q==", + "dependencies": { + "@chainsafe/as-chacha20poly1305": "^0.1.0", + "@chainsafe/as-sha256": "^0.4.1", + "@libp2p/crypto": "^4.0.0", + "@libp2p/interface": "^1.5.0", + "@libp2p/peer-id": "^4.0.0", + "@noble/ciphers": "^0.6.0", + "@noble/curves": "^1.1.0", + "@noble/hashes": "^1.3.1", + "it-length-prefixed": "^9.0.1", + "it-length-prefixed-stream": "^1.0.0", + "it-pair": "^2.0.6", + "it-pipe": "^3.0.1", + "it-stream-types": "^2.0.1", + "protons-runtime": "^5.0.0", + "uint8arraylist": "^2.4.3", + "uint8arrays": "^5.0.0", + "wherearewe": "^2.0.1" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/helia/node_modules/@chainsafe/libp2p-yamux": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@chainsafe/libp2p-yamux/-/libp2p-yamux-6.0.2.tgz", + "integrity": "sha512-S5OkLHqYhEVMQQ4BTgnRANEIbGTQhaC23glCgBwGdeoTRtMpIozwDiPfljFLCm0RYWdCRJw9oFztO95KUHjptA==", + "dependencies": { + "@libp2p/interface": "^1.1.3", + "@libp2p/utils": "^5.2.5", + "get-iterator": "^2.0.1", + "it-foreach": "^2.0.6", + "it-pipe": "^3.0.1", + "it-pushable": "^3.2.3", + "uint8arraylist": "^2.4.8" + } + }, + "node_modules/helia/node_modules/@libp2p/bootstrap": { + "version": "10.1.5", + "resolved": "https://registry.npmjs.org/@libp2p/bootstrap/-/bootstrap-10.1.5.tgz", + "integrity": "sha512-cXn/Wl7X4uaVGRyh/uSU/crRbhsPkyzH59hzoLP3727f7w82o+sIHVr4SkJcJewt+LZELBLgkJTibZxAntA1dA==", + "dependencies": { + "@libp2p/interface": "^1.7.0", + "@libp2p/peer-id": "^4.2.4", + "@multiformats/mafmt": "^12.1.6", + "@multiformats/multiaddr": "^12.2.3" + } + }, + "node_modules/helia/node_modules/@libp2p/circuit-relay-v2": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@libp2p/circuit-relay-v2/-/circuit-relay-v2-1.1.5.tgz", + "integrity": "sha512-WVIHaj61LJd2JB6vvPikd049NhC2R3vrkuu4T00WJSMNWobmhrKPvFyQMN+1miL6KmdL8Yt1AjK0gog2oT4vDw==", + "dependencies": { + "@libp2p/interface": "^1.7.0", + "@libp2p/interface-internal": "^1.3.4", + "@libp2p/peer-collections": "^5.2.9", + "@libp2p/peer-id": "^4.2.4", + "@libp2p/peer-record": "^7.0.25", + "@libp2p/utils": "^5.4.9", + "@multiformats/mafmt": "^12.1.6", + "@multiformats/multiaddr": "^12.2.3", + "any-signal": "^4.1.1", + "it-protobuf-stream": "^1.1.3", + "it-stream-types": "^2.0.1", + "multiformats": "^13.1.0", + "p-defer": "^4.0.1", + "progress-events": "^1.0.0", + "protons-runtime": "^5.4.0", + "race-signal": "^1.0.2", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.1.0" + } + }, + "node_modules/helia/node_modules/@libp2p/crypto": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-4.1.9.tgz", + "integrity": "sha512-8Cf2VKh0uC/rQLvTLSloIOMqUvf4jsSTHXgjWQRf47lDNJlNNI0wSv2S6gakT72GZsRV/jCjYwKPqRlsa5S0iA==", + "dependencies": { + "@libp2p/interface": "^1.7.0", + "@noble/curves": "^1.4.0", + "@noble/hashes": "^1.4.0", + "asn1js": "^3.0.5", + "multiformats": "^13.1.0", + "protons-runtime": "^5.4.0", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.1.0" + } + }, + "node_modules/helia/node_modules/@libp2p/identify": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@libp2p/identify/-/identify-2.1.5.tgz", + "integrity": "sha512-uVghY2KfZ3ffDkPmcivfiRDlq1h5rCcoHAW+Kb7JF2qrDfg6BgHAn6IRN4pe/DnYXOuJXIIm6+jjcReTPGBKBQ==", + "dependencies": { + "@libp2p/interface": "^1.7.0", + "@libp2p/interface-internal": "^1.3.4", + "@libp2p/peer-id": "^4.2.4", + "@libp2p/peer-record": "^7.0.25", + "@multiformats/multiaddr": "^12.2.3", + "@multiformats/multiaddr-matcher": "^1.2.1", + "it-drain": "^3.0.7", + "it-parallel": "^3.0.7", + "it-protobuf-stream": "^1.1.3", + "protons-runtime": "^5.4.0", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.1.0", + "wherearewe": "^2.0.1" + } + }, + "node_modules/helia/node_modules/@libp2p/interface": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-1.7.0.tgz", + "integrity": "sha512-/zFyaIaIGW0aihhsH7/93vQdpWInUzFocxF11RO/029Y6h0SVjs24HHbils+DqaFDTqN+L7oNlBx2rM2MnmTjA==", + "dependencies": { + "@multiformats/multiaddr": "^12.2.3", + "it-pushable": "^3.2.3", + "it-stream-types": "^2.0.1", + "multiformats": "^13.1.0", + "progress-events": "^1.0.0", + "uint8arraylist": "^2.4.8" + } + }, + "node_modules/helia/node_modules/@libp2p/interface-internal": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@libp2p/interface-internal/-/interface-internal-1.3.4.tgz", + "integrity": "sha512-8x/0sdeH8T16yZ9t/Cfja0ms6Ho9fF3riX56WhQrNxMU6C1sIgAFmzUNzHLxxOR+rkKyL9cyXIyB+RcBf4gzjA==", + "dependencies": { + "@libp2p/interface": "^1.7.0", + "@libp2p/peer-collections": "^5.2.9", + "@multiformats/multiaddr": "^12.2.3", + "progress-events": "^1.0.0", + "uint8arraylist": "^2.4.8" + } + }, + "node_modules/helia/node_modules/@libp2p/kad-dht": { + "version": "12.1.5", + "resolved": "https://registry.npmjs.org/@libp2p/kad-dht/-/kad-dht-12.1.5.tgz", + "integrity": "sha512-n/Tdd3zVa2p1S4L6wRIBUAo3ctCbiEkp1aewpOUthL6rOwBh6U/RQ+dssiZNEDHCsF1ta/mZkREuXqxOPpplFQ==", + "dependencies": { + "@libp2p/crypto": "^4.1.9", + "@libp2p/interface": "^1.7.0", + "@libp2p/interface-internal": "^1.3.4", + "@libp2p/peer-collections": "^5.2.9", + "@libp2p/peer-id": "^4.2.4", + "@libp2p/record": "^4.0.4", + "@libp2p/utils": "^5.4.9", + "@multiformats/multiaddr": "^12.2.3", + "any-signal": "^4.1.1", + "hashlru": "^2.3.0", + "interface-datastore": "^8.2.11", + "it-drain": "^3.0.7", + "it-length": "^3.0.6", + "it-length-prefixed": "^9.0.4", + "it-map": "^3.1.0", + "it-merge": "^3.0.5", + "it-parallel": "^3.0.7", + "it-pipe": "^3.0.1", + "it-protobuf-stream": "^1.1.3", + "it-take": "^3.0.5", + "multiformats": "^13.1.0", + "p-defer": "^4.0.1", + "p-event": "^6.0.1", + "p-queue": "^8.0.1", + "progress-events": "^1.0.0", + "protons-runtime": "^5.4.0", + "race-signal": "^1.0.2", + "uint8-varint": "^2.0.4", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.1.0" + } + }, + "node_modules/helia/node_modules/@libp2p/keychain": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@libp2p/keychain/-/keychain-4.1.6.tgz", + "integrity": "sha512-HZ5VhKPAqItMWY/5jfXaFMKCddAxYuybgn0j3v3hZnnHQ2HyeLJnUvDd5yjM7L3DxMDLdetK2rdocrdtqjdWkA==", + "dependencies": { + "@libp2p/crypto": "^4.1.9", + "@libp2p/interface": "^1.7.0", + "@libp2p/peer-id": "^4.2.4", + "interface-datastore": "^8.2.11", + "merge-options": "^3.0.4", + "multiformats": "^13.1.0", + "sanitize-filename": "^1.6.3", + "uint8arrays": "^5.1.0" + } + }, + "node_modules/helia/node_modules/@libp2p/logger": { + "version": "4.0.20", + "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-4.0.20.tgz", + "integrity": "sha512-TTh2dhHsOTAlMPxSa9ncFPHa/0jTt+0AQxwHdlxg/OGLAgc9VRhnrhHUbJZp07Crcw4T/MOfS4KhjlxgqYgJRw==", + "dependencies": { + "@libp2p/interface": "^1.7.0", + "@multiformats/multiaddr": "^12.2.3", + "interface-datastore": "^8.2.11", + "multiformats": "^13.1.0", + "weald": "^1.0.2" + } + }, + "node_modules/helia/node_modules/@libp2p/mplex": { + "version": "10.1.5", + "resolved": "https://registry.npmjs.org/@libp2p/mplex/-/mplex-10.1.5.tgz", + "integrity": "sha512-NdT9ak8omeJZvdJhzsKSSeHBZlP+3sl68UbrpfVanWebQVuNqw7UOLURKtXnRd7II7siXt37Yq6W2km7VIT1yQ==", + "deprecated": "Mplex has no flow control - please use @chainsafe/libp2p-yamux instead", + "dependencies": { + "@libp2p/interface": "^1.7.0", + "@libp2p/utils": "^5.4.9", + "it-pipe": "^3.0.1", + "it-pushable": "^3.2.3", + "it-stream-types": "^2.0.1", + "uint8-varint": "^2.0.4", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.1.0" + } + }, + "node_modules/helia/node_modules/@libp2p/multistream-select": { + "version": "5.1.17", + "resolved": "https://registry.npmjs.org/@libp2p/multistream-select/-/multistream-select-5.1.17.tgz", + "integrity": "sha512-QOMGjCzKGf/W+qzWw5OxaqLEYhK45XjMCxGJYQ7L5eUkcwAv6rlPZAYw6YslaMLpJTa61/yfh8D4u7EuoMFsUw==", + "dependencies": { + "@libp2p/interface": "^1.7.0", + "it-length-prefixed": "^9.0.4", + "it-length-prefixed-stream": "^1.1.7", + "it-stream-types": "^2.0.1", + "p-defer": "^4.0.1", + "race-signal": "^1.0.2", + "uint8-varint": "^2.0.4", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.1.0" + } + }, + "node_modules/helia/node_modules/@libp2p/peer-collections": { + "version": "5.2.9", + "resolved": "https://registry.npmjs.org/@libp2p/peer-collections/-/peer-collections-5.2.9.tgz", + "integrity": "sha512-8gBmzQlCWjjb+FSQBKK33T25Y5Df/8FWCXFtJDsprVxVUzDOQoibQJ5Tb4Y+mb96HUhNzoaRWVEamB78MMB3DA==", + "dependencies": { + "@libp2p/interface": "^1.7.0", + "@libp2p/peer-id": "^4.2.4", + "@libp2p/utils": "^5.4.9" + } + }, + "node_modules/helia/node_modules/@libp2p/peer-id": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-4.2.4.tgz", + "integrity": "sha512-mvvsVxt4HkF14BrTNKbqr14VObW+KBJBWu1Oe6BFCoDttGMQLaI+PdduE1r6Tquntv5IONBqoITgD7ow5dQ+vQ==", + "dependencies": { + "@libp2p/interface": "^1.7.0", + "multiformats": "^13.1.0", + "uint8arrays": "^5.1.0" + } + }, + "node_modules/helia/node_modules/@libp2p/peer-record": { + "version": "7.0.25", + "resolved": "https://registry.npmjs.org/@libp2p/peer-record/-/peer-record-7.0.25.tgz", + "integrity": "sha512-b54P3cSeQniW/HPJjBVbeF3KaVUQkWa431gotuIFUS1PYgtz69uzkRrVY6Qt+RBb4R4fcmH4K4jWyZi3xyLGfQ==", + "dependencies": { + "@libp2p/crypto": "^4.1.9", + "@libp2p/interface": "^1.7.0", + "@libp2p/peer-id": "^4.2.4", + "@libp2p/utils": "^5.4.9", + "@multiformats/multiaddr": "^12.2.3", + "protons-runtime": "^5.4.0", + "uint8-varint": "^2.0.4", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.1.0" + } + }, + "node_modules/helia/node_modules/@libp2p/peer-store": { + "version": "10.1.5", + "resolved": "https://registry.npmjs.org/@libp2p/peer-store/-/peer-store-10.1.5.tgz", + "integrity": "sha512-JqQcIcxZS7kicCPabGRyrKD+qZlOdaooL00hdHogVb4MIMqfjiQMmOEpzIvTQLCKHKM2mmfnV3P7kc6hYzPq8g==", + "dependencies": { + "@libp2p/interface": "^1.7.0", + "@libp2p/peer-collections": "^5.2.9", + "@libp2p/peer-id": "^4.2.4", + "@libp2p/peer-record": "^7.0.25", + "@multiformats/multiaddr": "^12.2.3", + "interface-datastore": "^8.2.11", + "it-all": "^3.0.6", + "mortice": "^3.0.4", + "multiformats": "^13.1.0", + "protons-runtime": "^5.4.0", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.1.0" + } + }, + "node_modules/helia/node_modules/@libp2p/utils": { + "version": "5.4.9", + "resolved": "https://registry.npmjs.org/@libp2p/utils/-/utils-5.4.9.tgz", + "integrity": "sha512-0fRdX98WqhTmXU2WEVLegLFxs/kKTtUHanHk5Lzs4oGsIzlPHR7zE6lj/U1WfsFA+Xo1eYQpNLiXEL29hG+Nyw==", + "dependencies": { + "@chainsafe/is-ip": "^2.0.2", + "@libp2p/crypto": "^4.1.9", + "@libp2p/interface": "^1.7.0", + "@libp2p/logger": "^4.0.20", + "@multiformats/multiaddr": "^12.2.3", + "@multiformats/multiaddr-matcher": "^1.2.1", + "@sindresorhus/fnv1a": "^3.1.0", + "@types/murmurhash3js-revisited": "^3.0.3", + "any-signal": "^4.1.1", + "delay": "^6.0.0", + "get-iterator": "^2.0.1", + "is-loopback-addr": "^2.0.2", + "it-pushable": "^3.2.3", + "it-stream-types": "^2.0.1", + "murmurhash3js-revisited": "^3.0.0", + "netmask": "^2.0.2", + "p-defer": "^4.0.1", + "race-event": "^1.3.0", + "race-signal": "^1.0.2", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.1.0" + } + }, + "node_modules/helia/node_modules/@libp2p/webrtc": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@libp2p/webrtc/-/webrtc-4.1.10.tgz", + "integrity": "sha512-3NSntJ5DYeq4xlM9gekFkjJH2pqYD+pUQtTilRU1lFgPtGs9bbWmZr3mtsK3QaMyryvKT8GoqcR+cSgyZ2LYjQ==", + "dependencies": { + "@chainsafe/libp2p-noise": "^15.0.0", + "@libp2p/interface": "^1.7.0", + "@libp2p/interface-internal": "^1.3.4", + "@libp2p/peer-id": "^4.2.4", + "@libp2p/utils": "^5.4.9", + "@multiformats/mafmt": "^12.1.6", + "@multiformats/multiaddr": "^12.2.3", + "@multiformats/multiaddr-matcher": "^1.2.1", + "detect-browser": "^5.3.0", + "it-length-prefixed": "^9.0.4", + "it-protobuf-stream": "^1.1.3", + "it-pushable": "^3.2.3", + "it-stream-types": "^2.0.1", + "multiformats": "^13.1.0", + "node-datachannel": "^0.11.0", + "p-defer": "^4.0.1", + "p-event": "^6.0.1", + "p-timeout": "^6.1.2", + "progress-events": "^1.0.0", + "protons-runtime": "^5.4.0", + "race-signal": "^1.0.2", + "react-native-webrtc": "^118.0.7", + "uint8-varint": "^2.0.4", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.1.0" + } + }, + "node_modules/helia/node_modules/@libp2p/websockets": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@libp2p/websockets/-/websockets-8.2.0.tgz", + "integrity": "sha512-UNjqkQ8/emnYswp1ohIIuZCnhI5DlvWF9IaIND2MoTCDavi7yubWfMp8jSWBsAqPnMeLMO8MQ6YlOo4FFC104Q==", + "dependencies": { + "@libp2p/interface": "^1.7.0", + "@libp2p/utils": "^5.4.9", + "@multiformats/mafmt": "^12.1.6", + "@multiformats/multiaddr": "^12.2.3", + "@multiformats/multiaddr-to-uri": "^10.0.1", + "@types/ws": "^8.5.10", + "it-ws": "^6.1.1", + "p-defer": "^4.0.1", + "progress-events": "^1.0.0", + "race-signal": "^1.0.2", + "wherearewe": "^2.0.1", + "ws": "^8.17.0" + } + }, + "node_modules/helia/node_modules/@multiformats/multiaddr-to-uri": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/@multiformats/multiaddr-to-uri/-/multiaddr-to-uri-10.1.2.tgz", + "integrity": "sha512-6sicfYRjJlHJn4bwsQancs8kXncWU4dDN/+V9sMVTYp9hi8ovWgVkK75AbAv4SfhztmmI+oufVUncQ1n+SukKQ==", + "dependencies": { + "@multiformats/multiaddr": "^12.3.0" + } + }, + "node_modules/helia/node_modules/@noble/ciphers": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-0.6.0.tgz", + "integrity": "sha512-mIbq/R9QXk5/cTfESb1OKtyFnk7oc1Om/8onA1158K9/OZUQFDEVy55jVTato+xmp3XX6F6Qh0zz0Nc1AxAlRQ==", + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "peer": true, - "engines": { - "node": ">=4" + "node_modules/helia/node_modules/datastore-core": { + "version": "9.2.9", + "resolved": "https://registry.npmjs.org/datastore-core/-/datastore-core-9.2.9.tgz", + "integrity": "sha512-wraWTPsbtdE7FFaVo3pwPuTB/zXsgwGGAm8BgBYwYAuzZCTS0MfXmd/HH1vR9s0/NFFjOVmBkGiWCvKxZ+QjVw==", + "dependencies": { + "@libp2p/logger": "^4.0.6", + "err-code": "^3.0.1", + "interface-datastore": "^8.0.0", + "interface-store": "^5.0.0", + "it-drain": "^3.0.5", + "it-filter": "^3.0.4", + "it-map": "^3.0.5", + "it-merge": "^3.0.3", + "it-pipe": "^3.0.1", + "it-pushable": "^3.2.3", + "it-sort": "^3.0.4", + "it-take": "^3.0.4" } }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "node_modules/helia/node_modules/event-target-shim": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-6.0.2.tgz", + "integrity": "sha512-8q3LsZjRezbFZ2PN+uP+Q7pnHUMmAOziU2vA2OwoFaKIXxlxl38IylhSSgUorWu/rf4er67w0ikBqjBFk/pomA==", "engines": { - "node": ">= 0.4" + "node": ">=10.13.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/mysticatea" } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "peer": true + "node_modules/helia/node_modules/interface-store": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-5.1.8.tgz", + "integrity": "sha512-7na81Uxkl0vqk0CBPO5PvyTkdaJBaezwUJGsMOz7riPOq0rJt+7W31iaopaMICWea/iykUsvNlPx/Tc+MxC3/w==" }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/helia/node_modules/it-length-prefixed": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-9.1.1.tgz", + "integrity": "sha512-O88nBweT6M9ozsmok68/auKH7ik/slNM4pYbM9lrfy2z5QnpokW5SlrepHZDKtN71llhG2sZvd6uY4SAl+lAQg==", + "dependencies": { + "it-reader": "^6.0.1", + "it-stream-types": "^2.0.1", + "uint8-varint": "^2.0.1", + "uint8arraylist": "^2.0.0", + "uint8arrays": "^5.0.1" + }, "engines": { - "node": ">=8" + "node": ">=16.0.0", + "npm": ">=7.0.0" } }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/helia/node_modules/libp2p": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/libp2p/-/libp2p-1.9.4.tgz", + "integrity": "sha512-OCMQqJ0Po8jhgb4CilWhI5EWhppn9ENdhg63PQL8Yi1tk2rOwJJt+NBec85AU18zBc0jv7Q6SgQRkzCefAuyIQ==", + "dependencies": { + "@libp2p/crypto": "^4.1.9", + "@libp2p/interface": "^1.7.0", + "@libp2p/interface-internal": "^1.3.4", + "@libp2p/logger": "^4.0.20", + "@libp2p/multistream-select": "^5.1.17", + "@libp2p/peer-collections": "^5.2.9", + "@libp2p/peer-id": "^4.2.4", + "@libp2p/peer-id-factory": "^4.2.4", + "@libp2p/peer-store": "^10.1.5", + "@libp2p/utils": "^5.4.9", + "@multiformats/dns": "^1.0.6", + "@multiformats/multiaddr": "^12.2.3", + "@multiformats/multiaddr-matcher": "^1.2.1", + "any-signal": "^4.1.1", + "datastore-core": "^9.2.9", + "interface-datastore": "^8.2.11", + "it-byte-stream": "^1.0.12", + "it-merge": "^3.0.5", + "it-parallel": "^3.0.7", + "merge-options": "^3.0.4", + "multiformats": "^13.1.0", + "p-defer": "^4.0.1", + "progress-events": "^1.0.0", + "race-event": "^1.3.0", + "race-signal": "^1.0.2", + "uint8arrays": "^5.1.0" } }, - "node_modules/hashlru": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/hashlru/-/hashlru-2.3.0.tgz", - "integrity": "sha512-0cMsjjIC8I+D3M44pOQdsy0OHXGLVz6Z0beRuufhKa0KfaD2wGwAev6jILzXsd3/vpnNQJmWyZtIILqM1N+n5A==" - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "node_modules/helia/node_modules/react-native-webrtc": { + "version": "118.0.7", + "resolved": "https://registry.npmjs.org/react-native-webrtc/-/react-native-webrtc-118.0.7.tgz", + "integrity": "sha512-odgd4CNSGQmI8n/pEbxlUtJBTJ8uqE51B1/NUEAvO1AQbeXsyFNHEG0H2T27eMefo5u0GKcRpNkZpXi6fctTkQ==", "dependencies": { - "function-bind": "^1.1.2" + "base64-js": "1.5.1", + "debug": "4.3.4", + "event-target-shim": "6.0.2" }, + "peerDependencies": { + "react-native": ">=0.60.0" + } + }, + "node_modules/helia/node_modules/ws": { + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", "engines": { - "node": ">= 0.4" + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, "node_modules/hermes-estree": { @@ -10168,6 +6808,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "peer": true, "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", @@ -10183,19 +6824,17 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "peer": true, "engines": { "node": ">= 0.8" } }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, + "node_modules/human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", "engines": { - "node": ">=0.10.0" + "node": ">=14.18.0" } }, "node_modules/ieee754": { @@ -10217,14 +6856,6 @@ } ] }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "engines": { - "node": ">= 4" - } - }, "node_modules/image-size": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.2.1.tgz", @@ -10267,6 +6898,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "peer": true, "engines": { "node": ">=0.8.19" } @@ -10292,6 +6924,15 @@ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" }, + "node_modules/interface-blockstore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/interface-blockstore/-/interface-blockstore-5.3.2.tgz", + "integrity": "sha512-oA9Pjkxun/JHAsZrYEyKX+EoPjLciTzidE7wipLc/3YoHDjzsnXRJzAzFJXNUvogtY4g7hIwxArx8+WKJs2RIg==", + "dependencies": { + "interface-store": "^6.0.0", + "multiformats": "^13.3.6" + } + }, "node_modules/interface-datastore": { "version": "8.3.1", "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-8.3.1.tgz", @@ -10315,12 +6956,84 @@ "loose-envify": "^1.0.0" } }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "node_modules/ip-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-5.0.0.tgz", + "integrity": "sha512-fOCG6lhoKKakwv+C6KdsOnGvgXnmgfmp0myi3bcNwj3qfwPAxRKWEuFhvEFF7ceYIz6+1jRZ+yguLFAmUNPEfw==", "engines": { - "node": ">= 0.10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ipns": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/ipns/-/ipns-9.1.2.tgz", + "integrity": "sha512-lh/uNTgtHCD737WqJDGGLC9esoUeSnDakdLga8lcy6l+BDSTvdoRkjGXkHSOt+z8WJYeTbna5+nnBYNWt58ZBw==", + "dependencies": { + "@libp2p/crypto": "^4.0.0", + "@libp2p/interface": "^1.1.0", + "@libp2p/logger": "^4.0.3", + "@libp2p/peer-id": "^4.0.3", + "cborg": "^4.0.1", + "err-code": "^3.0.1", + "interface-datastore": "^8.1.0", + "multiformats": "^13.0.0", + "protons-runtime": "^5.2.1", + "timestamp-nano": "^1.0.0", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.0.1" + } + }, + "node_modules/ipns/node_modules/@libp2p/crypto": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-4.1.9.tgz", + "integrity": "sha512-8Cf2VKh0uC/rQLvTLSloIOMqUvf4jsSTHXgjWQRf47lDNJlNNI0wSv2S6gakT72GZsRV/jCjYwKPqRlsa5S0iA==", + "dependencies": { + "@libp2p/interface": "^1.7.0", + "@noble/curves": "^1.4.0", + "@noble/hashes": "^1.4.0", + "asn1js": "^3.0.5", + "multiformats": "^13.1.0", + "protons-runtime": "^5.4.0", + "uint8arraylist": "^2.4.8", + "uint8arrays": "^5.1.0" + } + }, + "node_modules/ipns/node_modules/@libp2p/interface": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-1.7.0.tgz", + "integrity": "sha512-/zFyaIaIGW0aihhsH7/93vQdpWInUzFocxF11RO/029Y6h0SVjs24HHbils+DqaFDTqN+L7oNlBx2rM2MnmTjA==", + "dependencies": { + "@multiformats/multiaddr": "^12.2.3", + "it-pushable": "^3.2.3", + "it-stream-types": "^2.0.1", + "multiformats": "^13.1.0", + "progress-events": "^1.0.0", + "uint8arraylist": "^2.4.8" + } + }, + "node_modules/ipns/node_modules/@libp2p/logger": { + "version": "4.0.20", + "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-4.0.20.tgz", + "integrity": "sha512-TTh2dhHsOTAlMPxSa9ncFPHa/0jTt+0AQxwHdlxg/OGLAgc9VRhnrhHUbJZp07Crcw4T/MOfS4KhjlxgqYgJRw==", + "dependencies": { + "@libp2p/interface": "^1.7.0", + "@multiformats/multiaddr": "^12.2.3", + "interface-datastore": "^8.2.11", + "multiformats": "^13.1.0", + "weald": "^1.0.2" + } + }, + "node_modules/ipns/node_modules/@libp2p/peer-id": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-4.2.4.tgz", + "integrity": "sha512-mvvsVxt4HkF14BrTNKbqr14VObW+KBJBWu1Oe6BFCoDttGMQLaI+PdduE1r6Tquntv5IONBqoITgD7ow5dQ+vQ==", + "dependencies": { + "@libp2p/interface": "^1.7.0", + "multiformats": "^13.1.0", + "uint8arrays": "^5.1.0" } }, "node_modules/is-arrayish": { @@ -10373,14 +7086,6 @@ "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.2.tgz", "integrity": "sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg==" }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -10390,28 +7095,26 @@ "node": ">=8" } }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "node_modules/is-ip": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-5.0.1.tgz", + "integrity": "sha512-FCsGHdlrOnZQcp0+XT5a+pYowf33itBalCl+7ovNXC/7o5BhIpG14M3OrpPPdBSIQJCm+0M5+9mO7S9VVTTCFw==", "dependencies": { - "is-extglob": "^2.1.1" + "ip-regex": "^5.0.0", + "super-regex": "^0.2.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-network-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz", - "integrity": "sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==", - "engines": { - "node": ">=16" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-loopback-addr": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-loopback-addr/-/is-loopback-addr-2.0.2.tgz", + "integrity": "sha512-26POf2KRCno/KTNL5Q0b/9TYnL00xEsSaLfiFRmjM7m7Lw7ZMmFybzzuX4CcsLAluZGd+niLUiMRxEooVE3aqg==" + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -10441,10 +7144,27 @@ "node": ">=0.10.0" } }, - "node_modules/is-promise": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", - "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==" + "node_modules/is-regexp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-3.1.0.tgz", + "integrity": "sha512-rbku49cWloU5bSMI+zaRaXdQHXnthP6DZ/vLnfdSKyL4zUzuWnomtOEiZZOd+ioQ+avFo/qau3KPTc7Fjy1uPA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/is-wsl": { "version": "2.2.0", @@ -10463,18 +7183,6 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, - "node_modules/iso-random-stream": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/iso-random-stream/-/iso-random-stream-2.0.2.tgz", - "integrity": "sha512-yJvs+Nnelic1L2vH2JzWvvPQFA4r7kSTnpST/+LkAQjSz0hos2oqLD+qIVi9Qk38Hoe7mNDt3j0S27R58MVjLQ==", - "dependencies": { - "events": "^3.3.0", - "readable-stream": "^3.4.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", @@ -10546,6 +7254,11 @@ "it-peekable": "^3.0.0" } }, + "node_modules/it-first": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/it-first/-/it-first-3.0.9.tgz", + "integrity": "sha512-ZWYun273Gbl7CwiF6kK5xBtIKR56H1NoRaiJek2QzDirgen24u8XZ0Nk+jdnJSuCTPxC2ul1TuXKxu/7eK6NuA==" + }, "node_modules/it-foreach": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/it-foreach/-/it-foreach-2.1.3.tgz", @@ -10560,22 +7273,6 @@ "resolved": "https://registry.npmjs.org/it-length/-/it-length-3.0.7.tgz", "integrity": "sha512-URrszwrzPrUn6PtsSFcixG4NwHydaARmPubO0UUnFH+NSNylBaGtair1fnxX7Zf2qVJQltPBVs3PZvcmFPTLXA==" }, - "node_modules/it-length-prefixed": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-10.0.1.tgz", - "integrity": "sha512-BhyluvGps26u9a7eQIpOI1YN7mFgi8lFwmiPi07whewbBARKAG9LE09Odc8s1Wtbt2MB6rNUrl7j9vvfXTJwdQ==", - "dependencies": { - "it-reader": "^6.0.1", - "it-stream-types": "^2.0.1", - "uint8-varint": "^2.0.1", - "uint8arraylist": "^2.0.0", - "uint8arrays": "^5.0.1" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, "node_modules/it-length-prefixed-stream": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/it-length-prefixed-stream/-/it-length-prefixed-stream-1.2.1.tgz", @@ -10613,6 +7310,14 @@ "race-signal": "^1.1.3" } }, + "node_modules/it-ndjson": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/it-ndjson/-/it-ndjson-1.1.4.tgz", + "integrity": "sha512-ZMgTUrNo/UQCeRUT3KqnC0UaClzU6D+ItSmzVt7Ks7pcJ7DboYeYBSPeFLAaEthf5zlvaApDuACLmOWepgkrRg==", + "dependencies": { + "uint8arraylist": "^2.4.8" + } + }, "node_modules/it-pair": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/it-pair/-/it-pair-2.0.6.tgz", @@ -11019,137 +7724,40 @@ "node": ">=6" } }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" - }, "node_modules/json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "peer": true }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" - }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "peer": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/libp2p": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/libp2p/-/libp2p-2.8.5.tgz", - "integrity": "sha512-K2jqFmNp3LsTeuJ15t6jG0Z9WoydLs+AfSDvhSYQa7lRTu9IANt84SxNg+PsmGxMMiTOtIoMmo27DHzF3+ON8Q==", - "dependencies": { - "@chainsafe/is-ip": "^2.0.2", - "@chainsafe/netmask": "^2.0.0", - "@libp2p/crypto": "^5.1.1", - "@libp2p/interface": "^2.9.0", - "@libp2p/interface-internal": "^2.3.11", - "@libp2p/logger": "^5.1.15", - "@libp2p/multistream-select": "^6.0.22", - "@libp2p/peer-collections": "^6.0.27", - "@libp2p/peer-id": "^5.1.2", - "@libp2p/peer-store": "^11.1.4", - "@libp2p/utils": "^6.6.2", - "@multiformats/dns": "^1.0.6", - "@multiformats/multiaddr": "^12.3.5", - "@multiformats/multiaddr-matcher": "^1.7.0", - "any-signal": "^4.1.1", - "datastore-core": "^10.0.2", - "interface-datastore": "^8.3.1", - "it-byte-stream": "^2.0.1", - "it-merge": "^3.0.5", - "it-parallel": "^3.0.8", - "merge-options": "^3.0.4", - "multiformats": "^13.3.1", - "p-defer": "^4.0.1", - "p-retry": "^6.2.1", - "progress-events": "^1.0.1", - "race-event": "^1.3.0", - "race-signal": "^1.1.2", - "uint8arrays": "^5.1.0" + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" } }, - "node_modules/libp2p/node_modules/it-byte-stream": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/it-byte-stream/-/it-byte-stream-2.0.2.tgz", - "integrity": "sha512-YfT+dfbAKXB5VHlmvm5YUZNVA5WGP/j0CeVx09O8pqTNa9sK5aOLh17B7asJk6KSx2LwQwZuJ/JA6YN/gCc6GA==", - "dependencies": { - "abort-error": "^1.0.1", - "it-queueless-pushable": "^2.0.0", - "it-stream-types": "^2.0.2", - "race-signal": "^1.1.3", - "uint8arraylist": "^2.4.8" + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "peer": true, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/libp2p/node_modules/it-queueless-pushable": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/it-queueless-pushable/-/it-queueless-pushable-2.0.1.tgz", - "integrity": "sha512-ZFX4ZHpzPwD0Ivpt3y98FtXk/KToO0ec5AjUDBQ4MOdkWVmnjEBfjq6ncvpuGtZ3776KSSK+i6uWkrSspdo/OQ==", - "dependencies": { - "abort-error": "^1.0.1", - "p-defer": "^4.0.1", - "race-signal": "^1.1.3" + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "peer": true, + "engines": { + "node": ">=6" } }, "node_modules/lighthouse-logger": { @@ -11195,11 +7803,6 @@ "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", "peer": true }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" - }, "node_modules/lodash.throttle": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", @@ -11264,39 +7867,12 @@ "integrity": "sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==", "peer": true }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/media-typer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", - "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/memoize-one": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==", "peer": true }, - "node_modules/merge-descriptors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", - "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/merge-options": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", @@ -11311,8 +7887,7 @@ "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "peer": true + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, "node_modules/metro": { "version": "0.81.4", @@ -11685,6 +8260,17 @@ "node": ">= 0.6" } }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/mimic-response": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", @@ -11700,6 +8286,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "peer": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -11732,14 +8319,6 @@ "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" }, - "node_modules/mock-socket": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/mock-socket/-/mock-socket-9.3.1.tgz", - "integrity": "sha512-qxBgB7Qa2sEQgHFjj0dSigq7fX4k6Saisd5Nelwp2q8mlbAFh5dHV9JTTlF8viYJLSSWgMCZFUom8PJcMNBoJw==", - "engines": { - "node": ">= 8" - } - }, "node_modules/mortice": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/mortice/-/mortice-3.0.6.tgz", @@ -11753,7 +8332,20 @@ "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "peer": true + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } }, "node_modules/multiformats": { "version": "13.3.6", @@ -11761,6 +8353,14 @@ "integrity": "sha512-yakbt9cPYj8d3vi/8o/XWm61MrOILo7fsTL0qxNx6zS0Nso6K5JqqS2WV7vK/KSuDBvrW3KfCwAdAgarAgOmww==", "license": "Apache-2.0 OR MIT" }, + "node_modules/murmurhash3js-revisited": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz", + "integrity": "sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g==", + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/nanoid": { "version": "3.3.11", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", @@ -11784,11 +8384,6 @@ "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz", "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==" }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" - }, "node_modules/negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -11812,27 +8407,6 @@ "node": ">= 0.4.0" } }, - "node_modules/ngeohash": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/ngeohash/-/ngeohash-0.6.3.tgz", - "integrity": "sha512-kltF0cOxgx1AbmVzKxYZaoB0aj7mOxZeHaerEtQV0YaqnkXNq26WWqMmJ6lTqShYxVRWZ/mwvvTrNeOwdslWiw==", - "engines": { - "node": ">=v0.2.0" - } - }, - "node_modules/nock": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.5.6.tgz", - "integrity": "sha512-o2zOYiCpzRqSzPj0Zt/dQ/DqZeYoaQ7TUonc/xUPjCGl9WeHpNbxgVvOquXYAaJzI0M9BXV3HTzG0p8IUAbBTQ==", - "dependencies": { - "debug": "^4.1.0", - "json-stringify-safe": "^5.0.1", - "propagate": "^2.0.0" - }, - "engines": { - "node": ">= 10.13" - } - }, "node_modules/node-abi": { "version": "3.74.0", "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.74.0.tgz", @@ -11844,10 +8418,24 @@ "node": ">=10" } }, - "node_modules/node-domexception": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", - "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "node_modules/node-datachannel": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/node-datachannel/-/node-datachannel-0.11.0.tgz", + "integrity": "sha512-8/vAMms32XxgJ9FIRDXbfmmH1ROm0HBdsa/XteIcUWN4VTQN38UITTkuu6YsfQzN/CQp8YhhnfAEzEadQJ2c6Q==", + "hasInstallScript": true, + "dependencies": { + "node-domexception": "^2.0.1", + "prebuild-install": "^7.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/node-datachannel/node_modules/node-domexception": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-2.0.2.tgz", + "integrity": "sha512-Qf9vHK9c5MGgUXj8SnucCIS4oEPuUstjRaMplLGeZpbWMfNV1rvEcXuwoXfN51dUfD1b4muPHPQtCx/5Dj/QAA==", + "deprecated": "Use your platform's native DOMException instead", "funding": [ { "type": "github", @@ -11859,24 +8447,7 @@ } ], "engines": { - "node": ">=10.5.0" - } - }, - "node_modules/node-fetch": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", - "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", - "dependencies": { - "data-uri-to-buffer": "^4.0.0", - "fetch-blob": "^3.1.4", - "formdata-polyfill": "^4.0.10" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/node-fetch" + "node": ">=16" } }, "node_modules/node-forge": { @@ -11909,6 +8480,31 @@ "node": ">=0.10.0" } }, + "node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/nullthrows": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", @@ -11927,25 +8523,6 @@ "node": ">=18.18" } }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/observable-webworkers": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/observable-webworkers/-/observable-webworkers-2.0.1.tgz", @@ -11975,6 +8552,20 @@ "wrappy": "1" } }, + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/open": { "version": "7.4.2", "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", @@ -11991,22 +8582,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/p-defer": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-4.0.1.tgz", @@ -12074,22 +8649,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-retry": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz", - "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==", - "dependencies": { - "@types/retry": "0.12.2", - "is-network-error": "^1.0.0", - "retry": "^0.13.1" - }, - "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/p-timeout": { "version": "6.1.4", "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.4.tgz", @@ -12110,39 +8669,6 @@ "node": ">=6" } }, - "node_modules/p-wait-for": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/p-wait-for/-/p-wait-for-5.0.2.tgz", - "integrity": "sha512-lwx6u1CotQYPVju77R+D0vFomni/AqRfqLmqQ8hekklqZ6gAY9rONh7lBQ0uxWMkC2AuX9b2DVAl8To0NyP1JA==", - "dependencies": { - "p-timeout": "^6.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parent-module/node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "engines": { - "node": ">=6" - } - }, "node_modules/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", @@ -12160,6 +8686,7 @@ "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "peer": true, "engines": { "node": ">= 0.8" } @@ -12168,6 +8695,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "peer": true, "engines": { "node": ">=8" } @@ -12195,14 +8723,6 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "peer": true }, - "node_modules/path-to-regexp": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", - "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", - "engines": { - "node": ">=16" - } - }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -12238,14 +8758,6 @@ "node": ">= 6" } }, - "node_modules/pkce-challenge": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.0.tgz", - "integrity": "sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==", - "engines": { - "node": ">=16.20.0" - } - }, "node_modules/pkg-dir": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", @@ -12305,9 +8817,9 @@ } }, "node_modules/postcss": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", - "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "dev": true, "funding": [ { @@ -12324,7 +8836,7 @@ } ], "dependencies": { - "nanoid": "^3.3.8", + "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, @@ -12357,14 +8869,6 @@ "node": ">=10" } }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/pretty-format": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", @@ -12405,14 +8909,6 @@ "asap": "~2.0.6" } }, - "node_modules/propagate": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", - "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", - "engines": { - "node": ">= 8" - } - }, "node_modules/protons-runtime": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-5.5.0.tgz", @@ -12423,18 +8919,6 @@ "uint8arrays": "^5.0.1" } }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/pump": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", @@ -12444,14 +8928,6 @@ "once": "^1.3.1" } }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "engines": { - "node": ">=6" - } - }, "node_modules/pvtsutils": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.6.tgz", @@ -12468,20 +8944,6 @@ "node": ">=6.0.0" } }, - "node_modules/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", - "dependencies": { - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/queue": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", @@ -12505,24 +8967,11 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "peer": true, "engines": { "node": ">= 0.6" } }, - "node_modules/raw-body": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", - "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.6.3", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/rc": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", @@ -12642,30 +9091,6 @@ } } }, - "node_modules/react-native-webrtc": { - "version": "124.0.5", - "resolved": "https://registry.npmjs.org/react-native-webrtc/-/react-native-webrtc-124.0.5.tgz", - "integrity": "sha512-LIQJKst+t53bJOcQef9VXuz3pVheSBUA4olQGkxosbF4pHW1gsWoXYmf6wmI2zrqOA+aZsjjB6aT9AKLyr6a0Q==", - "dependencies": { - "base64-js": "1.5.1", - "debug": "4.3.4", - "event-target-shim": "6.0.2" - }, - "peerDependencies": { - "react-native": ">=0.60.0" - } - }, - "node_modules/react-native-webrtc/node_modules/event-target-shim": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-6.0.2.tgz", - "integrity": "sha512-8q3LsZjRezbFZ2PN+uP+Q7pnHUMmAOziU2vA2OwoFaKIXxlxl38IylhSSgUorWu/rf4er67w0ikBqjBFk/pomA==", - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, "node_modules/react-refresh": { "version": "0.14.2", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", @@ -12719,11 +9144,6 @@ "node": ">=0.10.0" } }, - "node_modules/reflect-metadata": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", - "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==" - }, "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -12830,19 +9250,6 @@ "node": ">=8" } }, - "node_modules/retimeable-signal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/retimeable-signal/-/retimeable-signal-1.0.1.tgz", - "integrity": "sha512-Cy26CYfbWnYu8HMoJeDhaMpW/EYFIbne3vMf6G9RSrOyWYXbPehja/BEdzpqmM84uy2bfBD7NPZhoQ4GZEtgvg==" - }, - "node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "engines": { - "node": ">= 4" - } - }, "node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -12860,12 +9267,12 @@ } }, "node_modules/rollup": { - "version": "4.39.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.39.0.tgz", - "integrity": "sha512-thI8kNc02yNvnmJp8dr3fNWJ9tCONDhp6TV35X6HkKGGs9E6q7YWCHbe5vKiTa7TAiNcFEmXKj3X/pG2b3ci0g==", + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.46.0.tgz", + "integrity": "sha512-ONmkT3Ud3IfW15nl7l4qAZko5/2iZ5ALVBDh02ZSZ5IGVLJSYkRcRa3iB58VyEIyoofs9m2xdVrm+lTi97+3pw==", "dev": true, "dependencies": { - "@types/estree": "1.0.7" + "@types/estree": "1.0.8" }, "bin": { "rollup": "dist/bin/rollup" @@ -12875,68 +9282,29 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.39.0", - "@rollup/rollup-android-arm64": "4.39.0", - "@rollup/rollup-darwin-arm64": "4.39.0", - "@rollup/rollup-darwin-x64": "4.39.0", - "@rollup/rollup-freebsd-arm64": "4.39.0", - "@rollup/rollup-freebsd-x64": "4.39.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.39.0", - "@rollup/rollup-linux-arm-musleabihf": "4.39.0", - "@rollup/rollup-linux-arm64-gnu": "4.39.0", - "@rollup/rollup-linux-arm64-musl": "4.39.0", - "@rollup/rollup-linux-loongarch64-gnu": "4.39.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.39.0", - "@rollup/rollup-linux-riscv64-gnu": "4.39.0", - "@rollup/rollup-linux-riscv64-musl": "4.39.0", - "@rollup/rollup-linux-s390x-gnu": "4.39.0", - "@rollup/rollup-linux-x64-gnu": "4.39.0", - "@rollup/rollup-linux-x64-musl": "4.39.0", - "@rollup/rollup-win32-arm64-msvc": "4.39.0", - "@rollup/rollup-win32-ia32-msvc": "4.39.0", - "@rollup/rollup-win32-x64-msvc": "4.39.0", + "@rollup/rollup-android-arm-eabi": "4.46.0", + "@rollup/rollup-android-arm64": "4.46.0", + "@rollup/rollup-darwin-arm64": "4.46.0", + "@rollup/rollup-darwin-x64": "4.46.0", + "@rollup/rollup-freebsd-arm64": "4.46.0", + "@rollup/rollup-freebsd-x64": "4.46.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.46.0", + "@rollup/rollup-linux-arm-musleabihf": "4.46.0", + "@rollup/rollup-linux-arm64-gnu": "4.46.0", + "@rollup/rollup-linux-arm64-musl": "4.46.0", + "@rollup/rollup-linux-loongarch64-gnu": "4.46.0", + "@rollup/rollup-linux-ppc64-gnu": "4.46.0", + "@rollup/rollup-linux-riscv64-gnu": "4.46.0", + "@rollup/rollup-linux-riscv64-musl": "4.46.0", + "@rollup/rollup-linux-s390x-gnu": "4.46.0", + "@rollup/rollup-linux-x64-gnu": "4.46.0", + "@rollup/rollup-linux-x64-musl": "4.46.0", + "@rollup/rollup-win32-arm64-msvc": "4.46.0", + "@rollup/rollup-win32-ia32-msvc": "4.46.0", + "@rollup/rollup-win32-x64-msvc": "4.46.0", "fsevents": "~2.3.2" } }, - "node_modules/router": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", - "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", - "dependencies": { - "debug": "^4.4.0", - "depd": "^2.0.0", - "is-promise": "^4.0.0", - "parseurl": "^1.3.3", - "path-to-regexp": "^8.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/router/node_modules/debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/rxjs": { - "version": "7.8.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", - "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", - "dependencies": { - "tslib": "^2.1.0" - } - }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -12956,11 +9324,6 @@ } ] }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, "node_modules/sanitize-filename": { "version": "1.6.3", "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", @@ -12969,11 +9332,10 @@ "truncate-utf8-bytes": "^1.0.0" } }, - "node_modules/scale-ts": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/scale-ts/-/scale-ts-1.6.1.tgz", - "integrity": "sha512-PBMc2AWc6wSEqJYBDPcyCLUj9/tMKnLX70jLOSndMtcUoLQucP/DM0vnQo1wJAYjTrQiq8iG9rD0q6wFzgjH7g==", - "optional": true + "node_modules/sax": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==" }, "node_modules/scheduler": { "version": "0.25.0", @@ -13101,7 +9463,8 @@ "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "peer": true }, "node_modules/shallow-clone": { "version": "3.0.1", @@ -13146,79 +9509,10 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "peer": true + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, "node_modules/simple-concat": { "version": "1.0.1", @@ -13272,66 +9566,11 @@ "node": ">=8" } }, - "node_modules/smoldot": { - "version": "2.0.22", - "resolved": "https://registry.npmjs.org/smoldot/-/smoldot-2.0.22.tgz", - "integrity": "sha512-B50vRgTY6v3baYH6uCgL15tfaag5tcS2o/P5q1OiXcKGv1axZDfz2dzzMuIkVpyMR2ug11F6EAtQlmYBQd292g==", - "optional": true, - "dependencies": { - "ws": "^8.8.1" - } - }, - "node_modules/smoldot/node_modules/ws": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz", - "integrity": "sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==", - "optional": true, - "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 - } - } - }, - "node_modules/socket.io-client": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.8.1.tgz", - "integrity": "sha512-hJVXfu3E28NmzGk8o1sHhN3om52tRvwYeidbj7xKy2eIIse5IoKX3USlS6Tqt3BHAtflLIkCQBkzVrEEfWUyYQ==", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.2", - "engine.io-client": "~6.6.1", - "socket.io-parser": "~4.2.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-parser": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", - "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, "node_modules/source-map": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -13370,14 +9609,6 @@ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "peer": true }, - "node_modules/stack-generator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/stack-generator/-/stack-generator-1.1.0.tgz", - "integrity": "sha512-sZDVjwC56vZoo+a5t0LH/1sMQLWYLi/r+Z2ztyCAOhOX3QBP34GWxK0FWf2eU1TIU2CJKCKBAtDZycUh/ZKMlw==", - "dependencies": { - "stackframe": "^1.0.2" - } - }, "node_modules/stack-utils": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", @@ -13402,44 +9633,8 @@ "node_modules/stackframe": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" - }, - "node_modules/stacktrace-gps": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/stacktrace-gps/-/stacktrace-gps-2.4.4.tgz", - "integrity": "sha512-msFhuMEEklQLUtaJ+GeCDjzUN+PamfHWQiK3C1LnbHjoxSeF5dAxiE+aJkptNMmMNOropGFJ7G3ZT7dPZHgDaQ==", - "dependencies": { - "source-map": "0.5.6", - "stackframe": "~0.3" - } - }, - "node_modules/stacktrace-gps/node_modules/stackframe": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-0.3.1.tgz", - "integrity": "sha512-XmoiF4T5nuWEp2x2w92WdGjdHGY/cZa6LIbRsDRQR/Xlk4uW0PAUlH1zJYVffocwKpCdwyuypIp25xsSXEtZHw==" - }, - "node_modules/stacktrace-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/stacktrace-js/-/stacktrace-js-1.3.1.tgz", - "integrity": "sha512-b+5voFnXqg9TWdOE50soXL+WuOreYUm1Ukg9U7rzEWGL4+gcVxIcFasNBtOffVX0I1lYqVZj0PZXZvTt5e3YRQ==", - "dependencies": { - "error-stack-parser": "^1.3.6", - "stack-generator": "^1.0.7", - "stacktrace-gps": "^2.4.3" - } - }, - "node_modules/stacktrace-js/node_modules/error-stack-parser": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-1.3.6.tgz", - "integrity": "sha512-xhuSYd8wLgOXwNgjcPeXMPL/IiiA1Huck+OPvClpJViVNNlJVtM41o+1emp7bPvlCJwCatFX2DWc05/DgfbWzA==", - "dependencies": { - "stackframe": "^0.3.1" - } - }, - "node_modules/stacktrace-js/node_modules/stackframe": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-0.3.1.tgz", - "integrity": "sha512-XmoiF4T5nuWEp2x2w92WdGjdHGY/cZa6LIbRsDRQR/Xlk4uW0PAUlH1zJYVffocwKpCdwyuypIp25xsSXEtZHw==" + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "peer": true }, "node_modules/stacktrace-parser": { "version": "0.1.11", @@ -13462,6 +9657,14 @@ "node": ">= 0.6" } }, + "node_modules/stream-to-it": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-to-it/-/stream-to-it-1.0.1.tgz", + "integrity": "sha512-AqHYAYPHcmvMrcLNgncE/q0Aj/ajP6A4qGhxP6EVn7K3YTNs0bJpJyk57wc2Heb7MUL64jurvmnmui8D9kjZgA==", + "dependencies": { + "it-stream-types": "^2.0.1" + } + }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -13496,6 +9699,17 @@ "node": ">=8" } }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", @@ -13504,6 +9718,22 @@ "node": ">=0.10.0" } }, + "node_modules/super-regex": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/super-regex/-/super-regex-0.2.0.tgz", + "integrity": "sha512-WZzIx3rC1CvbMDloLsVw0lkZVKJWbrkJ0k1ghKFmcnPrW1+jWbgTkTEWVtD9lMdmI4jZEz40+naBxl1dCUhXXw==", + "dependencies": { + "clone-regexp": "^3.0.0", + "function-timeout": "^0.1.0", + "time-span": "^5.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/supports-color": { "version": "9.4.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.4.0.tgz", @@ -13597,6 +9827,33 @@ "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", "peer": true }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "node_modules/time-span": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/time-span/-/time-span-5.1.0.tgz", + "integrity": "sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==", + "dependencies": { + "convert-hrtime": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/timestamp-nano": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/timestamp-nano/-/timestamp-nano-1.0.1.tgz", + "integrity": "sha512-4oGOVZWTu5sl89PtCDnhQBSt7/vL1zVEwAfxH1p49JhTosxzVQWYBYFRFZ8nJmo0G6f824iyP/44BFAwIoKvIA==", + "engines": { + "node": ">= 4.5.0" + } + }, "node_modules/tiny-invariant": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", @@ -13604,9 +9861,9 @@ "peer": true }, "node_modules/tinyglobby": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz", - "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==", + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", + "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", "dev": true, "dependencies": { "fdir": "^6.4.4", @@ -13620,9 +9877,9 @@ } }, "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", - "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", + "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", "dev": true, "peerDependencies": { "picomatch": "^3 || ^4" @@ -13634,9 +9891,9 @@ } }, "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "engines": { "node": ">=12" @@ -13676,6 +9933,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "peer": true, "engines": { "node": ">=0.6" } @@ -13693,22 +9951,6 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" }, - "node_modules/tsyringe": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/tsyringe/-/tsyringe-4.8.0.tgz", - "integrity": "sha512-YB1FG+axdxADa3ncEtRnQCFq/M0lALGLxSZeVNbTU8NqhOVc51nnv2CISTcvc1kyv6EGPtXVr0v6lWeDxiijOA==", - "dependencies": { - "tslib": "^1.9.3" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/tsyringe/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, "node_modules/tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", @@ -13720,22 +9962,6 @@ "node": "*" } }, - "node_modules/tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", @@ -13754,44 +9980,17 @@ "node": ">=8" } }, - "node_modules/type-is": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", - "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", - "dependencies": { - "content-type": "^1.0.5", - "media-typer": "^1.1.0", - "mime-types": "^3.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/type-is/node_modules/mime-db": { - "version": "1.54.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", - "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/type-is/node_modules/mime-types": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", - "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", - "dependencies": { - "mime-db": "^1.54.0" + "node_modules/typescript": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typescript-logging": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/typescript-logging/-/typescript-logging-1.0.1.tgz", - "integrity": "sha512-zp28ABme0m5q/nXabBaY9Hv/35N8lMH4FsvhpUO0zVi4vFs3uKlb5br2it61HAZF5k+U0aP6E67j0VD0IzXGpQ==", - "dependencies": { - "stacktrace-js": "1.3.1" + "node": ">=14.17" } }, "node_modules/uint8-varint": { @@ -13868,6 +10067,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "peer": true, "engines": { "node": ">= 0.8" } @@ -13902,14 +10102,6 @@ "browserslist": ">= 4.21.0" } }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dependencies": { - "punycode": "^2.1.0" - } - }, "node_modules/utf8-byte-length": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", @@ -13929,44 +10121,24 @@ "node": ">= 0.4.0" } }, - "node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/vite": { - "version": "6.3.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", - "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.0.6.tgz", + "integrity": "sha512-MHFiOENNBd+Bd9uvc8GEsIzdkn1JxMmEeYX35tI3fv0sJBUTfW5tQsoaOwuY4KhBI09A3dUJ/DXf2yxPVPUceg==", "dev": true, "dependencies": { "esbuild": "^0.25.0", - "fdir": "^6.4.4", - "picomatch": "^4.0.2", - "postcss": "^8.5.3", - "rollup": "^4.34.9", - "tinyglobby": "^0.2.13" + "fdir": "^6.4.6", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.40.0", + "tinyglobby": "^0.2.14" }, "bin": { "vite": "bin/vite.js" }, "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + "node": "^20.19.0 || >=22.12.0" }, "funding": { "url": "https://github.com/vitejs/vite?sponsor=1" @@ -13975,14 +10147,14 @@ "fsevents": "~2.3.3" }, "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", - "less": "*", + "less": "^4.0.0", "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" @@ -14024,9 +10196,9 @@ } }, "node_modules/vite/node_modules/fdir": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", - "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", + "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", "dev": true, "peerDependencies": { "picomatch": "^3 || ^4" @@ -14038,9 +10210,9 @@ } }, "node_modules/vite/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "engines": { "node": ">=12" @@ -14081,26 +10253,6 @@ "node": ">=12.13" } }, - "node_modules/web-streams-polyfill": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", - "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/webcrypto-core": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.8.1.tgz", - "integrity": "sha512-P+x1MvlNCXlKbLSOY4cYrdreqPG5hbzkmawbcXLKN/mf6DZW0SdNNkZ+sjwsqVkI4A4Ko2sPZmkZtCKY58w83A==", - "dependencies": { - "@peculiar/asn1-schema": "^2.3.13", - "@peculiar/json-schema": "^1.1.12", - "asn1js": "^3.0.5", - "pvtsutils": "^1.3.5", - "tslib": "^2.7.0" - } - }, "node_modules/whatwg-fetch": { "version": "3.6.20", "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", @@ -14133,14 +10285,6 @@ "node": ">= 8" } }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -14185,12 +10329,24 @@ "async-limiter": "~1.0.0" } }, - "node_modules/xmlhttprequest-ssl": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.2.tgz", - "integrity": "sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ==", + "node_modules/xml2js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz", + "integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, "engines": { - "node": ">=0.4.0" + "node": ">=4.0.0" + } + }, + "node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "engines": { + "node": ">=4.0" } }, "node_modules/y18n": { @@ -14234,33 +10390,6 @@ "engines": { "node": ">=12" } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zod": { - "version": "3.24.4", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.4.tgz", - "integrity": "sha512-OdqJE9UDRPwWsrHjLN2F8bPxvwJBK22EHLWtanu0LSYr5YqzsaaW3RMgmjwr8Rypg5k+meEJdSPXJZXE/yqOMg==", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, - "node_modules/zod-to-json-schema": { - "version": "3.24.5", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.5.tgz", - "integrity": "sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g==", - "peerDependencies": { - "zod": "^3.24.1" - } } } } diff --git a/tp-frontend/package.json b/tp-frontend/package.json index 7b1dcb8..f637ccb 100644 --- a/tp-frontend/package.json +++ b/tp-frontend/package.json @@ -1,30 +1,15 @@ { "dependencies": { - "@chainsafe/libp2p-gossipsub": "^14.1.1", - "@chainsafe/libp2p-noise": "^16.1.0", - "@chainsafe/libp2p-yamux": "^7.0.1", - "@kiltprotocol/core": "^0.35.2", - "@kiltprotocol/did": "^0.35.2", - "@libp2p/bootstrap": "^11.0.35", - "@libp2p/circuit-relay-v2": "3.2.14", - "@libp2p/identify": "^3.0.29", - "@libp2p/kad-dht": "^14.2.15", - "@libp2p/mplex": "^11.0.35", - "@libp2p/peer-id": "^5.1.0", - "@libp2p/pubsub-peer-discovery": "^11.0.1", - "@libp2p/webrtc": "5.2.12", - "@libp2p/webrtc-star": "^7.0.0", - "@libp2p/websockets": "^9.2.10", - "@polkadot/extension-dapp": "0.58.9", - "eslint": "9.26.0", - "libp2p": "^2.8.5", - "ngeohash": "^0.6.3" + "helia": "5.5.0", + "@helia/json": "4.0.7", + "multiformats": "^13.0.0" }, "devDependencies": { - "vite": "^6.2.5" + "vite": "7.0.6", + "typescript": "^5.0.0" }, "scripts": { "dev": "vite", - "build": "vite build" + "build": "elm make ./src/UI/Main.elm --output=main.js && vite build" } } \ No newline at end of file diff --git a/tp-frontend/ports.websocket.js b/tp-frontend/ports.websocket.js deleted file mode 100644 index 51c013b..0000000 --- a/tp-frontend/ports.websocket.js +++ /dev/null @@ -1,64 +0,0 @@ -// -// Pulled from https://raw.githubusercontent.com/kageurufu/elm-websockets/master/dist/ports.websocket.js into repo -// - -function initSockets(app) { - var sockets = new Map(); - app.ports.webSocketCommand.subscribe(function (command) { - switch (command.type) { - case "open": { - var name_1 = command.name, url = command.url, meta_1 = command.meta; - var oldSocket = sockets.get(name_1); - if (oldSocket) { - oldSocket.ws.close(-1, "New socket opened with the same name"); - sockets.delete(name_1); - } - var socket = { - ws: new WebSocket(url), - name: name_1, - meta: meta_1, - }; - sockets.set(name_1, socket); - socket.ws.addEventListener("open", function (ev) { - app.ports.webSocketEvent.send({ type: "opened", name: name_1, meta: meta_1 }); - }); - socket.ws.addEventListener("message", function (_a) { - var data = _a.data; - app.ports.webSocketEvent.send({ type: "message", name: name_1, meta: meta_1, data: data }); - }); - socket.ws.addEventListener("close", function (_a) { - var reason = _a.reason; - app.ports.webSocketEvent.send({ type: "closed", name: name_1, meta: meta_1, reason: reason }); - sockets.delete(name_1); - }); - socket.ws.addEventListener("error", function (ev) { - app.ports.webSocketEvent.send({ - type: "error", - name: name_1, - meta: meta_1, - error: null, - }); - sockets.delete(name_1); - }); - break; - } - case "send": { - var name_2 = command.name, data = command.data; - var socket = sockets.get(name_2); - if (socket) { - socket.ws.send(typeof data === "object" ? JSON.stringify(data) : data); - } - break; - } - case "close": { - var name_3 = command.name; - var socket = sockets.get(name_3); - if (socket) { - socket.ws.close(); - sockets.delete(name_3); - } - break; - } - } - }); -} diff --git a/tp-frontend/serve.sh b/tp-frontend/serve.sh deleted file mode 100644 index 70fa986..0000000 --- a/tp-frontend/serve.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -npm run dev \ No newline at end of file diff --git a/tp-frontend/src/JSPorts/Geohash/GeohashHandler.elm b/tp-frontend/src/JSPorts/Geohash/GeohashHandler.elm deleted file mode 100644 index d191029..0000000 --- a/tp-frontend/src/JSPorts/Geohash/GeohashHandler.elm +++ /dev/null @@ -1,37 +0,0 @@ -module JSPorts.Geohash.GeohashHandler exposing (..) - -import JSPorts.Geohash.GeohashPorts exposing (receiveRoomId) -import JSPorts.RoomPubsub.RoomPubsubPorts as RoomPubsubPorts - - -type alias Model = - { roomId : String -- "unknown" is used for unresolved room ids - } - - -type Msg - = GotRoomId String -- When we recieve the geohashed id from js - - -init : ( Model, Cmd Msg ) -init = - ( Model "unknown", Cmd.none ) - - -update : Model -> Msg -> ( Model, Cmd Msg ) -update model msg = - case msg of - GotRoomId roomId -> - -- After getting the room hash, try to join the room pubsub node - ( { model | roomId = roomId }, Debug.log "reaching out to join room via js" RoomPubsubPorts.joinRoom roomId ) - - - -{- - The subscriptions here does not need a model; we are merely requesting a value from JS --} - - -subscriptions : Model -> Sub Msg -subscriptions _ = - receiveRoomId GotRoomId diff --git a/tp-frontend/src/JSPorts/Geohash/GeohashPorts.elm b/tp-frontend/src/JSPorts/Geohash/GeohashPorts.elm deleted file mode 100644 index 241c322..0000000 --- a/tp-frontend/src/JSPorts/Geohash/GeohashPorts.elm +++ /dev/null @@ -1,5 +0,0 @@ -port module JSPorts.Geohash.GeohashPorts exposing (requestRoomId, receiveRoomId) - - -port requestRoomId : (() -> Cmd msg) -port receiveRoomId : (String -> msg) -> Sub msg \ No newline at end of file diff --git a/tp-frontend/src/JSPorts/Geohash/geohash-room.js b/tp-frontend/src/JSPorts/Geohash/geohash-room.js deleted file mode 100644 index 12addd4..0000000 --- a/tp-frontend/src/JSPorts/Geohash/geohash-room.js +++ /dev/null @@ -1,32 +0,0 @@ -import Geohash from 'ngeohash' - -export function setupRoomPorts(app) { - if (!app.ports || !app.ports.requestRoomId || !app.ports.receiveRoomId) { - console.error("Missing ports for room ID resolution") - return; - } - - app.ports.requestRoomId.subscribe(() => { - console.log("Requesting room ID") - if (!navigator.geolocation) { - console.log("Geolocation not supported") - app.ports.receiveRoomId.send("unknown") - return; - } - - navigator.geolocation.getCurrentPosition((pos) => { - console.log("pos:", pos) - const coords = pos.coords - const lat = coords.latitude - const lon = coords.longitude - console.log("Geolocation:", lat, lon) - const geohash = Geohash.encode(lat, lon, 3); - console.log("Geohash:", geohash) - app.ports.receiveRoomId.send(geohash); - }, - (err) => { - console.error("Geolocation error:", err); - app.ports.receiveRoomId.send("unknown") - }) - }) -} \ No newline at end of file diff --git a/tp-frontend/src/JSPorts/Identity/IdentityHandler.elm b/tp-frontend/src/JSPorts/Identity/IdentityHandler.elm deleted file mode 100644 index 2b5a207..0000000 --- a/tp-frontend/src/JSPorts/Identity/IdentityHandler.elm +++ /dev/null @@ -1,56 +0,0 @@ -module JSPorts.Identity.IdentityHandler exposing (Model, Msg(..), init, subscriptions, update) - -import Json.Decode exposing (Decoder, field, string) -import JSPorts.Identity.IdentityPorts as IdentityPorts - - -type alias Model = - { did : Maybe String -- did:key:z[ed25519 public key] - , privKey : Maybe String - , pubKey : Maybe String -- ed25519 public key - , loginAuthenticated : Maybe Bool -- When logging in with a DID - } - - -type Msg - = RequestDID - | DIDGenerated String String String -- (did, privKey, pubKey) - | DIDAuthenticated Bool -- When logging in with a DID - - -init : ( Model, Cmd Msg ) -init = - ( { did = Nothing, privKey = Nothing, pubKey = Nothing, loginAuthenticated = Nothing } - , Cmd.none - ) - - -update : Msg -> Model -> ( Model, Cmd Msg ) -update msg model = - case msg of - RequestDID -> - ( model, IdentityPorts.generateDID () ) - - DIDGenerated did privKey pubKey -> - ( { model | did = Just did, privKey = Just privKey, pubKey = Just pubKey } - , Cmd.none - ) - - DIDAuthenticated authed -> - ( { model | loginAuthenticated = Just authed }, Cmd.none ) - - -didDecoder : Decoder Msg -didDecoder = - Json.Decode.map3 DIDGenerated - (field "did" string) - (field "privKey" string) - (field "pubKey" string) - - -subscriptions : Model -> Sub Msg -subscriptions _ = - Sub.batch - [ IdentityPorts.didGenerated (\json -> Json.Decode.decodeValue didDecoder json |> Result.withDefault (DIDGenerated "err" "err" "err")) - , IdentityPorts.authenticationResult (\result -> DIDAuthenticated result) - ] diff --git a/tp-frontend/src/JSPorts/Identity/IdentityPorts.elm b/tp-frontend/src/JSPorts/Identity/IdentityPorts.elm deleted file mode 100644 index 3c2042f..0000000 --- a/tp-frontend/src/JSPorts/Identity/IdentityPorts.elm +++ /dev/null @@ -1,24 +0,0 @@ -port module JSPorts.Identity.IdentityPorts exposing (socket, generateDID, didGenerated, authenticate, authenticationResult) - -import Json.Encode -import Websockets - - -port webSocketCommand : Websockets.CommandPort msg - - -port webSocketEvent : Websockets.EventPort msg - - -socket : Websockets.Methods msg -socket = - Websockets.withPorts - { command = webSocketCommand - , event = webSocketEvent - } - -port generateDID : () -> Cmd msg -port didGenerated : (Json.Encode.Value -> msg) -> Sub msg - -port authenticate : ({did: String, privKey: String} -> Cmd msg) -port authenticationResult : (Bool -> msg) -> Sub msg \ No newline at end of file diff --git a/tp-frontend/src/JSPorts/Identity/libp2p-identity.js b/tp-frontend/src/JSPorts/Identity/libp2p-identity.js deleted file mode 100644 index 3079d29..0000000 --- a/tp-frontend/src/JSPorts/Identity/libp2p-identity.js +++ /dev/null @@ -1,52 +0,0 @@ -import { keys } from "https://esm.sh/@libp2p/crypto"; - -function toBase64(uint8Array) { - return btoa(String.fromCharCode(...uint8Array)); -} - -export function setupIdentityPorts(app) { - app.ports.generateDID.subscribe(() => { - generateDID(); - }); - app.ports.authenticate.subscribe(({ did, privKey }) => { - authenticate(did, privKey).then(isValid => { - app.ports.authenticationResult.send(isValid); - }); - }); -} - -// Generate a DID and private key pair -async function generateDID() { - try { - - // Key shape: { type: "Ed25519", raw: Uint8Array, publicKey: { raw: Uint8Array, type: "Ed25519" } } - const key = await keys.generateKeyPair("Ed25519"); - - const privKey = toBase64(key.raw).toString('base64'); - const pubKey = toBase64(key.publicKey.raw).toString('base64'); - - const did = `did:key:z${pubKey}`; // Simple DID encoding - - // Send result to Elm - app.ports.didGenerated.send({ did, privKey, pubKey }); - } catch (error) { - console.error("DID generation failed:", error); - } -} - -async function authenticate(did, privKey) { - try { - - const privKeyBytes = Uint8Array.from(atob(privKey), c => c.charCodeAt(0)); - const key = keys.privateKeyFromRaw(privKeyBytes); - - console.log(key) - const message = new TextEncoder().encode("auth-test"); - const signature = await key.sign(message); - const isValid = await key.publicKey.verify(message, signature); - return isValid; - } catch (error) { - console.error("Authentication failed:", error); - return false; - } -} \ No newline at end of file diff --git a/tp-frontend/src/JSPorts/RoomPubsub/RoomPubsubHandler.elm b/tp-frontend/src/JSPorts/RoomPubsub/RoomPubsubHandler.elm deleted file mode 100644 index bbdfa30..0000000 --- a/tp-frontend/src/JSPorts/RoomPubsub/RoomPubsubHandler.elm +++ /dev/null @@ -1,153 +0,0 @@ -module JSPorts.RoomPubsub.RoomPubsubHandler exposing (update) - -import JSPorts.RoomPubsub.RoomPubsubPorts exposing (sendMessage) -import Json.Decode as Decode exposing (Value) -import Json.Encode as Encode -import List exposing (head) -import Platform.Cmd as Cmd -import Views.Room.RoomModel as RoomModel exposing (ChatMessage, ConversationModel, PubsubMsg(..), UsrChatMsg(..)) - - - -{- - When we call update we will create a new message based on if we sent it or received it --} - - -update : RoomModel.Model -> PubsubMsg -> ( RoomModel.Model, Cmd msg ) -update model msg = - case msg of - SendChatMessage message -> - let - sendChatCmd = - -- Serialize the ChatMessage into JSON - sendMessage <| encodeChatMessage message - in - ( model, sendChatCmd ) - - ReceiveChatMessage messageValue -> - case Decode.decodeValue decodeChatMessage messageValue of - Ok inMsg -> - -- Add message to appropriate conversation based on convoId - let - affectedConvo : ConversationModel - affectedConvo = - head (List.filter (\c -> c.convoId == inMsg.convoId) model.conversations) - |> Maybe.withDefault - { intro = "error conversation. report bug if seen" - , messages = [] - , participants = [] - , author = "n/a" - , draftMessage = "" - , convoId = "n/a" - } - - updatedChats : List ChatMessage - updatedChats = - affectedConvo.messages ++ [ inMsg ] - - updatedConvos : List ConversationModel - updatedConvos = - List.map - (\c -> - if c.convoId == inMsg.convoId then - { c | messages = updatedChats } - - else - c - ) - model.conversations - in - ( { model | conversations = updatedConvos }, Cmd.none ) - - Err err -> - let - _ = - Debug.log "error received" Decode.errorToString err - in - ( model, Cmd.none ) - - SubmitNewConversation -> - if String.trim model.newConvoDraft /= "" then - let - newConvo : ConversationModel - newConvo = - { author = model.currentUser - , intro = model.newConvoDraft - , messages = [] - , participants = [ model.currentUser ] - , draftMessage = "" - , convoId = "test-id" - } - - newConvoJson = - encodeConvoMessage newConvo - - submitNewConvoMsg = - sendMessage newConvoJson - in - ( { model | newConvoDraft = "" }, submitNewConvoMsg ) - - else - ( model, Cmd.none ) - - ReceiveConversation convoValue -> - case Decode.decodeValue decodeConvoMessage convoValue of - Ok inConvo -> - -- Add new convo to list - let - newConvosList : List ConversationModel - newConvosList = - model.conversations ++ [ inConvo ] - in - ( { model | conversations = newConvosList }, Cmd.none ) - - Err err -> - let - _ = - Debug.log "error received decoding conversation model" Decode.errorToString err - in - ( model, Cmd.none ) - - -decodeChatMessage : Decode.Decoder RoomModel.ChatMessage -decodeChatMessage = - Decode.map4 RoomModel.ChatMessage - (Decode.field "convoId" Decode.string) - (Decode.field "sender" Decode.string) - (Decode.field "content" Decode.string) - (Decode.field "timestamp" Decode.int) - - -decodeConvoMessage : Decode.Decoder RoomModel.ConversationModel -decodeConvoMessage = - Decode.map6 RoomModel.ConversationModel - (Decode.field "intro" Decode.string) - (Decode.field "messages" (Decode.list decodeChatMessage)) - (Decode.field "participants" (Decode.list Decode.string)) - (Decode.field "author" Decode.string) - (Decode.field "draftMessage" Decode.string) - (Decode.field "convoId" Decode.string) - - -encodeChatMessage : RoomModel.ChatMessage -> Value -encodeChatMessage chatMsg = - Encode.object - [ ( "convoId", Encode.string chatMsg.convoId ) - , ( "sender", Encode.string chatMsg.sender ) - , ( "content", Encode.string chatMsg.content ) - , ( "timestamp", Encode.int chatMsg.timestamp ) - ] - - -encodeConvoMessage : RoomModel.ConversationModel -> Value -encodeConvoMessage convModel = - Encode.object - [ ( "intro", Encode.string convModel.intro ) - , ( "author", Encode.string convModel.author ) - , ( "messages", Encode.list encodeChatMessage convModel.messages ) - , ( "participants", Encode.list Encode.string convModel.participants ) - , ( "author", Encode.string convModel.author ) - , ( "draftMessage", Encode.string convModel.draftMessage ) - , ( "convoId", Encode.string convModel.draftMessage ) - ] diff --git a/tp-frontend/src/JSPorts/RoomPubsub/RoomPubsubPorts.elm b/tp-frontend/src/JSPorts/RoomPubsub/RoomPubsubPorts.elm deleted file mode 100644 index 82b4b5e..0000000 --- a/tp-frontend/src/JSPorts/RoomPubsub/RoomPubsubPorts.elm +++ /dev/null @@ -1,7 +0,0 @@ -port module JSPorts.RoomPubsub.RoomPubsubPorts exposing (joinRoom, sendMessage, receiveMessage) -import Json.Decode exposing (Value) - -port joinRoom : String -> Cmd msg -port sendMessage : Value -> Cmd msg -- Value shaped as either ChatMessage or ConversationModel; decided by JS -port receiveMessage : (Value -> msg) -> Sub msg -- Value shaped as ChatMessage -port receiveConversation : (Value -> msg) -> Sub msg -- Value shaped as ConversationModel \ No newline at end of file diff --git a/tp-frontend/src/JSPorts/RoomPubsub/room-pubsub.js b/tp-frontend/src/JSPorts/RoomPubsub/room-pubsub.js deleted file mode 100644 index 0505538..0000000 --- a/tp-frontend/src/JSPorts/RoomPubsub/room-pubsub.js +++ /dev/null @@ -1,108 +0,0 @@ -import { createLibp2p } from 'libp2p'; -import { webSockets } from '@libp2p/websockets'; -import { webRTCStar } from '@libp2p/webrtc-star'; -import { pubsubPeerDiscovery } from '@libp2p/pubsub-peer-discovery' -import { noise } from '@chainsafe/libp2p-noise'; -import { yamux } from '@chainsafe/libp2p-yamux'; -import { gossipsub } from '@chainsafe/libp2p-gossipsub'; -import { identify } from '@libp2p/identify'; -import { circuitRelayTransport } from '@libp2p/circuit-relay-v2'; -import { peerIdFromString } from '@libp2p/peer-id'; - -let node; -let topic; -const webrtcStar = webRTCStar() - -// Currently retrieved manually when starting the relay server -const RELAY_MULTIADDR = "/ip4/127.0.0.1/tcp/9090/ws/p2p/12D3KooWCEKn8AnuMfWADH17zsAj2PnuWAaFHDwgY4Z9i3MXjUaX"; - -export async function setupRoomPubSubPorts(app) { - - app.ports.joinRoom.subscribe(async (roomId) => { - console.log("Joining room", roomId); - topic = `tp-${roomId}`; - - try { - node = await createLibp2p({ - transports: [webSockets(), webrtcStar.transport, circuitRelayTransport()], - connectionEncrypters: [noise()], - streamMuxers: [yamux()], - peerDiscovery: [webrtcStar.discovery, pubsubPeerDiscovery({interval: 100, topics: [topic]})], - connectionGater: { - // Allow private addresses for local testing - denyDialMultiaddr: () => false - }, - services: { - pubsub: gossipsub(), - identify: identify(), - }, - addresses: { - listen: ["/webrtc"] - } - }); - - node.addEventListener('peer:connect', (event) => { - console.log("connection established to ", event.detail.remotePeer.toString()); - }); - - node.addEventListener('peer:discovery', async (event) => { - const peer = event.detail; - console.log("Discovered peer:", peer.toString()); - - try { - await node.dial(peer); - console.log("✅ Connected to discovered peer:", peer.toString()); - } catch (err) { - console.warn("❗Failed to connect to peer:", err); - } - }); - - // Try to connect to the relay - try { - await node.dial(RELAY_MULTIADDR); - console.log("Connected to relay:", RELAY_MULTIADDR); - } catch (err) { - console.error("Failed to connect to relay:", err); - } - - console.log(`Node started. Subscribing to ${topic}`); - console.log(`node multiaddr`, node.getMultiaddrs()); - console.log('node', node); - - } catch (err) { - console.error("Failed to create node:", err); - } - - console.log("Services available:", Object.keys(node.services)); - await node.services.pubsub.subscribe(topic, (msg) => { - const messageJson = new TextDecoder().decode(msg.data); - console.log("Received message:", messageJson); - try { - const message = JSON.parse(messageJson); - // If the json has "intro" then it is a new conversation. Otherwise it is a chat message - if (message['intro']) { - app.ports.receiveConversation.send(message); - } else { - app.ports.receiveMessage.send(message); - } - } catch (err) { - console.error("Invalid message received:", messageJson, err) - } - }) - }) - - app.ports.sendMessage.subscribe(async (message) => { - if (node && topic) { - const messageWithTimestamp = { - ...message, - timestamp: Date.now() - } - const jsonMsg = JSON.stringify(messageWithTimestamp) - console.log('attempting to send message to topic', topic) - await node.services.pubsub.publish(topic, new TextEncoder().encode(jsonMsg)); - } else { - console.warn("PubSub not initialized yet"); - } - }); - -} \ No newline at end of file diff --git a/tp-frontend/src/JSPorts/Sporran/SporranHandler.elm b/tp-frontend/src/JSPorts/Sporran/SporranHandler.elm deleted file mode 100644 index 52d9b74..0000000 --- a/tp-frontend/src/JSPorts/Sporran/SporranHandler.elm +++ /dev/null @@ -1,63 +0,0 @@ -module JSPorts.Sporran.SporranHandler exposing (..) - -import JSPorts.Geohash.GeohashPorts as GeohashPorts -import JSPorts.Sporran.SporranPorts as SporranPorts - - -type alias Model = - { sporranDetected : Maybe Bool - , userDid : Maybe String - , attemptingLogin : Bool - } - - -type Msg - = OnSporranDetected Bool - | CheckForSporran - | RequestLogin - | AttemptingLogin () -- Unused function param as apparently the port needs to get some kind of input from js - | LoginSuccess String - - -init : ( Model, Cmd Msg ) -init = - ( { sporranDetected = Nothing, userDid = Nothing, attemptingLogin = False } - , SporranPorts.detectSporran () - -- Automatically try to detect sporran at start - ) - - -update : Msg -> Model -> ( Model, Cmd Msg ) -update msg model = - case msg of - OnSporranDetected detected -> - ( { model | sporranDetected = Just detected }, Cmd.none ) - - CheckForSporran -> - ( { model | sporranDetected = Nothing }, SporranPorts.detectSporran () ) - - -- Authenticate the DID, as well as requesting the room geohash id - RequestLogin -> - let - authRequest = - SporranPorts.requestLogin () - - roomIdRequest = - Debug.log "requesting room hash" GeohashPorts.requestRoomId () - in - ( model, Cmd.batch [ authRequest, roomIdRequest ] ) - - AttemptingLogin _ -> - ( { model | attemptingLogin = True }, Cmd.none ) - - LoginSuccess did -> - ( { model | userDid = Just did }, Cmd.none ) - - -subscriptions : Model -> Sub Msg -subscriptions _ = - Sub.batch - [ SporranPorts.onSporranDetected OnSporranDetected - , SporranPorts.onLoginSuccess LoginSuccess - , SporranPorts.onLoginAttempted AttemptingLogin - ] diff --git a/tp-frontend/src/JSPorts/Sporran/SporranPorts.elm b/tp-frontend/src/JSPorts/Sporran/SporranPorts.elm deleted file mode 100644 index ebf728a..0000000 --- a/tp-frontend/src/JSPorts/Sporran/SporranPorts.elm +++ /dev/null @@ -1,10 +0,0 @@ -port module JSPorts.Sporran.SporranPorts exposing (detectSporran, onSporranDetected, requestLogin, onLoginAttempted, onLoginSuccess) - -port detectSporran : () -> Cmd msg -port onSporranDetected : (Bool -> msg) -> Sub msg - -port requestLogin : () -> Cmd msg -port onLoginAttempted : (() -> msg) -> Sub msg - --- The user's DID is expected to come through -port onLoginSuccess : (String -> msg) -> Sub msg \ No newline at end of file diff --git a/tp-frontend/src/JSPorts/Sporran/sporran.js b/tp-frontend/src/JSPorts/Sporran/sporran.js deleted file mode 100644 index 57f0def..0000000 --- a/tp-frontend/src/JSPorts/Sporran/sporran.js +++ /dev/null @@ -1,36 +0,0 @@ -import { web3Enable, web3Accounts, web3FromSource } from '@polkadot/extension-dapp'; -import { connect, disconnect } from '@kiltprotocol/core'; - -export function setupSporranPorts(app) { - app.ports.detectSporran.subscribe(async () => { - const extensions = await web3Enable("ThirdPlace"); - if (extensions.length === 0) { - app.ports.onSporranDetected.send(false); - } else { - app.ports.onSporranDetected.send(true); - } - }); - - app.ports.requestLogin.subscribe(async () => { - app.ports.onLoginAttempted.send(null); - - await connect("wss://spiritnet.kilt.io"); // mainnet kilt chain connection - - const accounts = await web3Accounts(); - console.log("accounts", accounts); - if (accounts.length === 0) { - console.warn("No accounts in Sporran"); - return; - } - - const account = accounts[0]; - console.log("account", account); - if (account) { - app.ports.onLoginSuccess.send("account " + JSON.stringify(account)); - } else { - console.warn("No DID found for account"); - } - - await disconnect() - }); -} diff --git a/tp-frontend/src/JSPorts/WebRTC/WebRTCHandler.elm b/tp-frontend/src/JSPorts/WebRTC/WebRTCHandler.elm deleted file mode 100644 index 2a87192..0000000 --- a/tp-frontend/src/JSPorts/WebRTC/WebRTCHandler.elm +++ /dev/null @@ -1,226 +0,0 @@ -module JSPorts.WebRTC.WebRTCHandler exposing ( Model - , Msg(..) - , init - , update - , subscriptions - ) - -import JSPorts.WebRTC.WebRTCPorts as WebRTC -import Json.Encode as Encode - --- Model represents the state of the P2P network connection -type alias Model = - { nodeId : Maybe String - , connectedPeers : List String - , pendingConnections : List String - , networkError : Maybe String - , connectionStatus : ConnectionStatus - } - --- Different states of network connection -type ConnectionStatus - = Disconnected - | Initializing - | Connected - | Error - --- Messages for network operations -type Msg - -- Network Initialization - = InitializeNetwork - | NodeInitialized WebRTC.NodeInfo - | NodeInitializationFailed String - - -- Peer Connection Management - | PeerConnected WebRTC.PeerInfo - | PeerDisconnected WebRTC.PeerInfo - - -- WebRTC Signaling Messages - | SendWebRTCOffer String -- Peer ID to send offer to - | OfferSent WebRTC.OperationResult - | ReceiveWebRTCOffer WebRTC.OfferData - | SendWebRTCAnswer String -- Peer ID to send answer to - | AnswerSent WebRTC.OperationResult - | ReceiveWebRTCAnswer WebRTC.AnswerData - - -- ICE Candidate Handling - | SendICECandidate WebRTC.CandidateData - | CandidateSent WebRTC.OperationResult - - -- Peer Discovery - | PeersDiscovered (List String) - - -- Error Handling - | HandleNetworkError String - --- Initial model state -init : (Model, Cmd Msg) -init = - ( { nodeId = Nothing - , connectedPeers = [] - , pendingConnections = [] - , networkError = Nothing - , connectionStatus = Disconnected - } - , Cmd.none - ) - --- Update function to handle network-related messages -update : Msg -> Model -> (Model, Cmd Msg) -update msg model = - case msg of - InitializeNetwork -> - ( { model | connectionStatus = Initializing } - , WebRTC.createConnection () - ) - - NodeInitialized nodeInfo -> - ( { model - | nodeId = Just nodeInfo.peerId - , connectionStatus = Connected - , networkError = Nothing - } - , Cmd.none - ) - - NodeInitializationFailed errorMsg -> - ( { model - | connectionStatus = Error - , networkError = Just errorMsg - } - , Cmd.none - ) - - PeerConnected peerInfo -> - ( { model - | connectedPeers = peerInfo.peerId :: model.connectedPeers - , pendingConnections = - List.filter (\p -> p /= peerInfo.peerId) model.pendingConnections - } - , Cmd.none - ) - - PeerDisconnected peerInfo -> - ( { model - | connectedPeers = - List.filter (\p -> p /= peerInfo.peerId) model.connectedPeers - } - , Cmd.none - ) - - SendWebRTCOffer peerId -> - ( model - , WebRTC.sendOffer - { peerId = peerId - , offer = encodeWebRTCOffer peerId - } - ) - - OfferSent success -> - ( model - , Cmd.none - ) - - ReceiveWebRTCOffer offerData -> - ( model - , handleIncomingOffer offerData - ) - - SendWebRTCAnswer peerId -> - ( model - , WebRTC.sendAnswer - { peerId = peerId - , answer = encodeWebRTCAnswer peerId - } - ) - - AnswerSent success -> - ( model - , Cmd.none - ) - - ReceiveWebRTCAnswer answerData -> - ( model - , handleIncomingAnswer answerData - ) - - SendICECandidate candidateData -> - ( model - , WebRTC.sendCandidate candidateData - ) - - CandidateSent success -> - ( model - , Cmd.none - ) - - PeersDiscovered peerIds -> - ( { model - | pendingConnections = - List.filter - (\peerId -> not (List.member peerId model.connectedPeers)) - peerIds - } - , Cmd.none - ) - - HandleNetworkError errorMsg -> - ( { model - | networkError = Just errorMsg - , connectionStatus = Error - } - , Cmd.none - ) - --- Subscriptions to network events -subscriptions : Model -> Sub Msg -subscriptions _ = - Sub.batch - [ WebRTC.nodeInitialized NodeInitialized - , WebRTC.nodeInitializationError NodeInitializationFailed - , WebRTC.peerConnected PeerConnected - , WebRTC.peerDisconnected PeerDisconnected - , WebRTC.receiveOffer ReceiveWebRTCOffer - , WebRTC.receiveAnswer ReceiveWebRTCAnswer - , WebRTC.offerSent OfferSent - , WebRTC.answerSent AnswerSent - , WebRTC.candidateSent CandidateSent - , WebRTC.peersDiscovered PeersDiscovered - ] - --- Helper functions for encoding WebRTC-related data -encodeWebRTCOffer : String -> String -encodeWebRTCOffer peerId = - -- Implement your WebRTC offer encoding logic - -- This is a placeholder - you'll need to replace with actual implementation - Encode.encode 0 - (Encode.object - [ ("peerId", Encode.string peerId) - , ("type", Encode.string "offer") - ] - ) - -encodeWebRTCAnswer : String -> String -encodeWebRTCAnswer peerId = - -- Implement your WebRTC answer encoding logic - -- This is a placeholder - you'll need to replace with actual implementation - Encode.encode 0 - (Encode.object - [ ("peerId", Encode.string peerId) - , ("type", Encode.string "answer") - ] - ) - --- Handle incoming WebRTC offer -handleIncomingOffer : WebRTC.OfferData -> Cmd Msg -handleIncomingOffer offerData = - -- Implement logic for processing incoming WebRTC offer - -- This might involve sending an answer, updating UI, etc. - Cmd.none - --- Handle incoming WebRTC answer -handleIncomingAnswer : WebRTC.AnswerData -> Cmd Msg -handleIncomingAnswer answerData = - -- Implement logic for processing incoming WebRTC answer - -- This might involve finalizing connection, updating UI, etc. - Cmd.none \ No newline at end of file diff --git a/tp-frontend/src/JSPorts/WebRTC/WebRTCPorts.elm b/tp-frontend/src/JSPorts/WebRTC/WebRTCPorts.elm deleted file mode 100644 index ac50ad0..0000000 --- a/tp-frontend/src/JSPorts/WebRTC/WebRTCPorts.elm +++ /dev/null @@ -1,59 +0,0 @@ -port module JSPorts.WebRTC.WebRTCPorts exposing (..) - --- Node Initialization Ports -port createConnection : () -> Cmd msg -port nodeInitialized : (NodeInfo -> msg) -> Sub msg -port nodeInitializationError : (String -> msg) -> Sub msg - --- Peer Connection Ports -port peerConnected : (PeerInfo -> msg) -> Sub msg -port peerDisconnected : (PeerInfo -> msg) -> Sub msg - --- WebRTC Signaling Ports (Sending) -port sendOffer : OfferData -> Cmd msg -port sendAnswer : AnswerData -> Cmd msg -port sendCandidate : CandidateData -> Cmd msg - --- WebRTC Signaling Ports (Receiving) -port receiveOffer : (OfferData -> msg) -> Sub msg -port receiveAnswer : (AnswerData -> msg) -> Sub msg - --- Signaling Confirmation Ports -port offerSent : (OperationResult -> msg) -> Sub msg -port offerSendError : (String -> msg) -> Sub msg -port answerSent : (OperationResult -> msg) -> Sub msg -port answerSendError : (String -> msg) -> Sub msg -port candidateSent : (OperationResult -> msg) -> Sub msg -port candidateSendError : (String -> msg) -> Sub msg - --- Peer Discovery Port -port peersDiscovered : (List String -> msg) -> Sub msg - --- Types for Port Data -type alias NodeInfo = - { peerId : String - , multiaddrs : List String - } - -type alias PeerInfo = - { peerId : String - } - -type alias OfferData = - { peerId : String - , offer : String -- Serialized WebRTC offer - } - -type alias AnswerData = - { peerId : String - , answer : String -- Serialized WebRTC answer - } - -type alias CandidateData = - { peerId : String - , candidate : String -- Serialized ICE candidate - } - -type alias OperationResult = - { success : Bool - } \ No newline at end of file diff --git a/tp-frontend/src/JSPorts/WebRTC/libp2p-webrtc.js b/tp-frontend/src/JSPorts/WebRTC/libp2p-webrtc.js deleted file mode 100644 index ae5bf1b..0000000 --- a/tp-frontend/src/JSPorts/WebRTC/libp2p-webrtc.js +++ /dev/null @@ -1,191 +0,0 @@ -import { createLibp2p } from 'libp2p' -import { noise } from '@chainsafe/libp2p-noise' -import { webRTC } from '@libp2p/webrtc' -import { kadDHT, removePrivateAddressesMapper } from '@libp2p/kad-dht' -import { multiaddr } from 'multiaddr' -import { peerIdFromString } from '@libp2p/peer-id' - -class Libp2pManager { - constructor(app) { - this.app = app - this.node = null - this.setupPorts() - } - - setupPorts() { - // Elm to JS communication ports - if (this.app.ports) { - this.app.ports.createConnection.subscribe(this.initializeNode.bind(this)) - this.app.ports.sendOffer.subscribe(this.handleSendOffer.bind(this)) - this.app.ports.sendAnswer.subscribe(this.handleSendAnswer.bind(this)) - this.app.ports.sendCandidate.subscribe(this.handleSendCandidate.bind(this)) - } - } - - async initializeNode(config = {}) { - try { - this.node = await createLibp2p({ - transports: [webRTC()], - connectionEncryption: [noise()], - peerDiscovery: [ - kadDHT({ - protocol: '/ipfs/kad/1.0.0', - peerInfoMapper: removePrivateAddressesMapper - }) - ], - services: { - // DHT configuration - dht: kadDHT({ - protocol: '/ipfs/kad/1.0.0', - peerInfoMapper: removePrivateAddressesMapper - }) - }, - ...config - }) - - // Set up event listeners - this.setupNodeEventListeners() - - // Notify Elm that node is ready - if (this.app.ports.nodeInitialized) { - this.app.ports.nodeInitialized.send({ - peerId: this.node.peerId.toString(), - multiaddrs: this.node.getMultiaddrs().map(ma => ma.toString()) - }) - } - - return this.node - } catch (error) { - console.error('Node initialization failed:', error) - - // Send error to Elm - if (this.app.ports.nodeInitializationError) { - this.app.ports.nodeInitializationError.send(error.message) - } - } - } - - setupNodeEventListeners() { - // WebRTC specific event listeners - this.node.addEventListener('peer:connect', (event) => { - if (this.app.ports.peerConnected) { - this.app.ports.peerConnected.send({ - peerId: event.detail.peerId.toString() - }) - } - }) - - this.node.addEventListener('peer:disconnect', (event) => { - if (this.app.ports.peerDisconnected) { - this.app.ports.peerDisconnected.send({ - peerId: event.detail.peerId.toString() - }) - } - }) - - // WebRTC signaling event handlers - this.node.transportManager.addEventListener('webrtc:signaling:offer', (event) => { - if (this.app.ports.receiveOffer) { - this.app.ports.receiveOffer.send({ - offer: event.detail.offer, - peerId: event.detail.peerId.toString() - }) - } - }) - - this.node.transportManager.addEventListener('webrtc:signaling:answer', (event) => { - if (this.app.ports.receiveAnswer) { - this.app.ports.receiveAnswer.send({ - answer: event.detail.answer, - peerId: event.detail.peerId.toString() - }) - } - }) - } - - async handleSendOffer(offerData) { - try { - const remotePeerId = peerIdFromString(offerData.peerId) - - // Establish connection and send offer - const connection = await this.node.dial(remotePeerId) - - // Send WebRTC offer - await connection.newStream('/webrtc/offer/1.0.0') - - if (this.app.ports.offerSent) { - this.app.ports.offerSent.send({ success: true }) - } - } catch (error) { - console.error('Offer sending failed:', error) - - if (this.app.ports.offerSendError) { - this.app.ports.offerSendError.send(error.message) - } - } - } - - async handleSendAnswer(answerData) { - try { - const remotePeerId = peerIdFromString(answerData.peerId) - - // Establish connection and send answer - const connection = await this.node.dial(remotePeerId) - - // Send WebRTC answer - await connection.newStream('/webrtc/answer/1.0.0') - - if (this.app.ports.answerSent) { - this.app.ports.answerSent.send({ success: true }) - } - } catch (error) { - console.error('Answer sending failed:', error) - - if (this.app.ports.answerSendError) { - this.app.ports.answerSendError.send(error.message) - } - } - } - - async handleSendCandidate(candidateData) { - try { - const remotePeerId = peerIdFromString(candidateData.peerId) - - // Establish connection and send ICE candidate - const connection = await this.node.dial(remotePeerId) - - // Send ICE candidate - await connection.newStream('/webrtc/candidate/1.0.0') - - if (this.app.ports.candidateSent) { - this.app.ports.candidateSent.send({ success: true }) - } - } catch (error) { - console.error('Candidate sending failed:', error) - - if (this.app.ports.candidateSendError) { - this.app.ports.candidateSendError.send(error.message) - } - } - } - - // Additional utility methods - async discoverPeers() { - if (!this.node) { - throw new Error('Node not initialized') - } - - const peers = await this.node.dht.findPeers() - - if (this.app.ports.peersDiscovered) { - this.app.ports.peersDiscovered.send( - peers.map(peer => peer.id.toString()) - ) - } - } -} - -// Initialize the manager when the app loads -export function initLibp2p(app) { - return new Libp2pManager(app) -} \ No newline at end of file diff --git a/tp-frontend/src/Router.elm b/tp-frontend/src/Router.elm deleted file mode 100644 index 2918045..0000000 --- a/tp-frontend/src/Router.elm +++ /dev/null @@ -1,26 +0,0 @@ -module Router exposing (Route(..), parseUrl) - -import Url exposing (Url) -import Url.Parser exposing (..) - -type Route - = Login - | Room - | NotFound - -parseUrl : Url -> Route -parseUrl url = - case parse matchRoute url of - Just route -> - route - - Nothing -> - NotFound - -matchRoute : Parser (Route -> a) a -matchRoute = - oneOf - [ map Login top - , map Login (s "login") - , map Room (s "room") - ] diff --git a/tp-frontend/src/ThirdPlaceApp.elm b/tp-frontend/src/ThirdPlaceApp.elm deleted file mode 100644 index 7941b33..0000000 --- a/tp-frontend/src/ThirdPlaceApp.elm +++ /dev/null @@ -1,199 +0,0 @@ -module ThirdPlaceApp exposing (init, main, subscriptions, update, view) - -import Browser -import Browser.Navigation as Navigation -import JSPorts.Geohash.GeohashHandler as GeohashHandler -import JSPorts.Identity.IdentityHandler as IdentityHandler -import JSPorts.Identity.IdentityPorts as IdentityPorts -import JSPorts.Sporran.SporranHandler as SporranHandler -import JSPorts.WebRTC.WebRTCHandler as WebRTCHandler -import ThirdPlaceModel exposing (Model, Msg(..)) -import Url exposing (Url) -import Views.Login.LoginView exposing (view) -import Views.Room.RoomHandler as RoomHandler -import Views.Room.RoomModel as RoomModel -import Views.Room.RoomView exposing (view) -import Views.ThirdPlaceAppView -import JSPorts.Geohash.GeohashPorts as GeohashPorts - - -init : flags -> Url -> Navigation.Key -> ( Model, Cmd Msg ) -init _ url key = - let - identityInit : ( IdentityHandler.Model, Cmd IdentityHandler.Msg ) - identityInit = - IdentityHandler.init - - sporranInit : ( SporranHandler.Model, Cmd SporranHandler.Msg ) - sporranInit = - SporranHandler.init - - geohashInit : ( GeohashHandler.Model, Cmd GeohashHandler.Msg ) - geohashInit = - GeohashHandler.init - - roomInit : ( RoomModel.Model, Cmd RoomModel.Msg ) - roomInit = - RoomHandler.init - - webRtcHandlerInit : ( WebRTCHandler.Model, Cmd WebRTCHandler.Msg ) - webRtcHandlerInit = - -- Initialize the WebRTC handler, this will be used for P2P communication in the chat room - WebRTCHandler.init - - ( webRtcHandler, webRtcCmd ) = - webRtcHandlerInit - - ( didModel, didCmd ) = - identityInit - - ( sporranModel, sporranCmd ) = - sporranInit - - ( geohashModel, geohashCmd ) = - geohashInit - - ( roomModel, roomCmd ) = - roomInit - - loginModel : Model - loginModel = - { pageKey = key - , pageUrl = url - , userDid = didModel - , authenticated = False - , webRtcHandler = webRtcHandler - , sporranHandler = sporranModel - , geohashHandler = geohashModel - , roomHandler = roomModel - } - in - ( loginModel - , Cmd.batch - [ Cmd.map IdentityMsg didCmd - , Cmd.map SporranMsg sporranCmd - , Cmd.map GeohashMsg geohashCmd - , Cmd.map WebRTCMsg webRtcCmd - , Cmd.map RoomMsg roomCmd - ] - ) - - -update : Msg -> Model -> ( Model, Cmd Msg ) -update msg model = - case msg of - IdentityMsg identityMsg -> - let - ( updatedDidModel, cmd ) = - IdentityHandler.update identityMsg model.userDid - in - -- If the identity model shows a successful login update app model to show authenticated - if updatedDidModel.loginAuthenticated == Just True then - ( { model | userDid = updatedDidModel, authenticated = True }, Cmd.none ) - - else - -- Otherwise, just update the model with the new identity state - ( { model | userDid = updatedDidModel }, Cmd.map IdentityMsg cmd ) - - SporranMsg sporranMsg -> - let - ( updatedSporranModel, cmd ) = - SporranHandler.update sporranMsg model.sporranHandler - - -- If the sporran model has a user did, we are authenticated - authenticated : Bool - authenticated = - case updatedSporranModel.userDid of - Just _ -> - True - - Nothing -> - False - in - ( { model | sporranHandler = updatedSporranModel, authenticated = authenticated }, Cmd.map SporranMsg cmd ) - - GeohashMsg geohashMsg -> - let - ( updatedGeohashModel, cmd ) = - GeohashHandler.update model.geohashHandler geohashMsg - - -- Update the room model to have the new room id - updatedRoomModel = - let - roomModel = model.roomHandler - in - { roomModel | roomId = updatedGeohashModel.roomId} - in - ( { model | geohashHandler = updatedGeohashModel, roomHandler = updatedRoomModel }, Cmd.map GeohashMsg cmd ) - - RoomMsg roomMsg -> - let - ( updatedRoomModel, cmd ) = - RoomHandler.update roomMsg model.roomHandler - in - ( { model | roomHandler = updatedRoomModel }, Cmd.map RoomMsg cmd ) - - WebRTCMsg webRtcMsg -> - let - ( updatedWebRtcModel, cmd ) = - WebRTCHandler.update webRtcMsg model.webRtcHandler - in - ( { model | webRtcHandler = updatedWebRtcModel }, Cmd.map WebRTCMsg cmd ) - - CreateAccount -> - let - identityCreate : ( IdentityHandler.Model, Cmd IdentityHandler.Msg ) - identityCreate = - IdentityHandler.update IdentityHandler.RequestDID model.userDid - - ( didModel, cmd ) = - identityCreate - in - ( { model | userDid = didModel }, Cmd.map (always IdentityMsg cmd) cmd ) - - AttemptLogin -> - let - identityAuth = - IdentityPorts.authenticate { did = model.userDid.did |> Maybe.withDefault "", privKey = model.userDid.privKey |> Maybe.withDefault "" } - in - ( model, identityAuth ) - - UrlChanged _ -> - ( model, Cmd.none ) - - NoOp -> - ( model, Cmd.none ) - - -view : Model -> Browser.Document Msg -view model = - Views.ThirdPlaceAppView.view model - - -main : Program () Model Msg -main = - Browser.application - { init = init - , update = update - , view = view - , subscriptions = subscriptions - , onUrlChange = UrlChanged - , onUrlRequest = \_ -> NoOp - } - - - -{- - -| Subscriptions for the various events in the app - -| These are things like user DID generation and authentication --} - - -subscriptions : Model -> Sub Msg -subscriptions model = - Sub.batch - [ Sub.map IdentityMsg (IdentityHandler.subscriptions model.userDid) - , Sub.map SporranMsg (SporranHandler.subscriptions model.sporranHandler) - , Sub.map WebRTCMsg (WebRTCHandler.subscriptions model.webRtcHandler) - , Sub.map GeohashMsg (GeohashHandler.subscriptions model.geohashHandler) - ] diff --git a/tp-frontend/src/ThirdPlaceModel.elm b/tp-frontend/src/ThirdPlaceModel.elm deleted file mode 100644 index e20f43d..0000000 --- a/tp-frontend/src/ThirdPlaceModel.elm +++ /dev/null @@ -1,41 +0,0 @@ -module ThirdPlaceModel exposing (Model, Msg(..)) - -import Browser.Navigation exposing (Key) -import JSPorts.Identity.IdentityHandler as Identity -import JSPorts.WebRTC.WebRTCHandler as WebRTCHandler -import JSPorts.Sporran.SporranHandler as SporranHandler -import Url exposing (Url) -import Views.Room.RoomModel as RoomModel -import JSPorts.Geohash.GeohashHandler as GeohashHandler - -{- --| The model for the whole of the application. It contains the page key, url, and user DID. --| userDid is initialized using the Identity module and starts off with Nothing. --} -type alias Model = - { -- general state - pageKey : Key - , pageUrl : Url - , userDid : Identity.Model - , authenticated : Bool - -- port models - , webRtcHandler : WebRTCHandler.Model - , sporranHandler : SporranHandler.Model - , geohashHandler : GeohashHandler.Model - -- view models - , roomHandler : RoomModel.Model - } - - -type Msg - = CreateAccount - | AttemptLogin - -- Port Msgs - | IdentityMsg Identity.Msg - | SporranMsg SporranHandler.Msg - | WebRTCMsg WebRTCHandler.Msg - | GeohashMsg GeohashHandler.Msg - -- View Msgs - | RoomMsg RoomModel.Msg - | UrlChanged Url - | NoOp diff --git a/tp-frontend/src/UI/Main.elm b/tp-frontend/src/UI/Main.elm new file mode 100644 index 0000000..384d164 --- /dev/null +++ b/tp-frontend/src/UI/Main.elm @@ -0,0 +1,164 @@ +port module UI.Main exposing (main) + +import Browser +import Browser.Navigation as Nav +import Html exposing (Html, button, div, text) +import Html.Attributes exposing (class) +import Html.Events exposing (onClick) +import Json.Decode as Decode +import Json.Encode as Encode +import Url + + +-- MAIN + + +main : Program Flags Model Msg +main = + Browser.application + { init = init + , view = view + , update = update + , subscriptions = subscriptions + , onUrlChange = UrlChanged + , onUrlRequest = LinkClicked + } + + +-- MODEL + + +type alias Model = + { key : Nav.Key + , url : Url.Url + , ipfsStatus : String + , publishedCid : Maybe String + , retrievedContent : Maybe String + } + + +type alias Flags = + {} + + +init : Flags -> Url.Url -> Nav.Key -> ( Model, Cmd Msg ) +init flags url key = + ( { key = key + , url = url + , ipfsStatus = "Connecting..." + , publishedCid = Nothing + , retrievedContent = Nothing + } + , Cmd.none + ) + + +-- UPDATE + + +-- PORTS + + +port ipfsStatusChanged : (String -> msg) -> Sub msg + + +port publishTestContent : () -> Cmd msg + + +port contentPublished : (String -> msg) -> Sub msg + + +port contentRetrieved : (String -> msg) -> Sub msg + + +-- MESSAGES + + +type Msg + = LinkClicked Browser.UrlRequest + | UrlChanged Url.Url + | PublishTestContent + | IpfsStatusChanged String + | ContentPublished String + | ContentRetrieved String + + +update : Msg -> Model -> ( Model, Cmd Msg ) +update msg model = + case msg of + LinkClicked urlRequest -> + case urlRequest of + Browser.Internal url -> + ( model, Nav.pushUrl model.key (Url.toString url) ) + + Browser.External href -> + ( model, Nav.load href ) + + UrlChanged url -> + ( { model | url = url } + , Cmd.none + ) + + PublishTestContent -> + ( model, publishTestContent () ) + + IpfsStatusChanged status -> + ( { model | ipfsStatus = status }, Cmd.none ) + + ContentPublished cid -> + ( { model | publishedCid = Just cid }, Cmd.none ) + + ContentRetrieved content -> + ( { model | retrievedContent = Just content }, Cmd.none ) + + +-- SUBSCRIPTIONS + + +subscriptions : Model -> Sub Msg +subscriptions model = + Sub.batch + [ ipfsStatusChanged IpfsStatusChanged + , contentPublished ContentPublished + , contentRetrieved ContentRetrieved + ] + + +-- VIEW + + +view : Model -> Browser.Document Msg +view model = + { title = "ThirdPlace" + , body = + [ div [ class "app" ] + [ div [ class "container" ] + [ div [ class "status" ] + [ text model.ipfsStatus ] + , button + [ class "publish-btn" + , onClick PublishTestContent + ] + [ text "Publish Test Content" ] + , case model.publishedCid of + Nothing -> + text "" + + Just cid -> + div [ class "result" ] + [ div [ class "cid" ] + [ text ("Published CID: " ++ cid) ] + ] + , case model.retrievedContent of + Nothing -> + text "" + + Just content -> + div [ class "result" ] + [ div [ class "content" ] + [ text ("Retrieved: " ++ content) ] + ] + ] + ] + ] + } \ No newline at end of file diff --git a/tp-frontend/src/Utils/RoomUtils.elm b/tp-frontend/src/Utils/RoomUtils.elm deleted file mode 100644 index 0f5bafd..0000000 --- a/tp-frontend/src/Utils/RoomUtils.elm +++ /dev/null @@ -1,25 +0,0 @@ -module Utils.RoomUtils exposing (..) - -import Json.Decode as Decode -import Html -import ThirdPlaceModel -import ThirdPlaceModel exposing (Msg(..)) -import Html.Events exposing (preventDefaultOn) - -{- - When the Enter key is pressed, send the message passed in --} -setupOnEnter : ThirdPlaceModel.Msg -> Html.Attribute ThirdPlaceModel.Msg -setupOnEnter msg = - let - enterDecoder = - Decode.field "key" Decode.string - |> Decode.map - (\key -> - if key == "Enter" then - ( msg, True ) - else - ( NoOp, False ) - ) - in - preventDefaultOn "keydown" enterDecoder diff --git a/tp-frontend/src/Views/Login/LoginStyles.elm b/tp-frontend/src/Views/Login/LoginStyles.elm deleted file mode 100644 index 50c5f47..0000000 --- a/tp-frontend/src/Views/Login/LoginStyles.elm +++ /dev/null @@ -1,28 +0,0 @@ -module Views.Login.LoginStyles exposing (..) - -{- --| This file should only contain string constants to properties found in the appropriate stylesheets files --| This one goes with loginstyles.css --} - - -loginView : String -loginView = - "login-view" - -fieldsContainer : String -fieldsContainer = - "fields-container" - -accountPane : String -accountPane = - "account-pane" - - -logoBody : String -logoBody = - "logo-body" - -loginViewButton : String -loginViewButton = - "login-view-button" \ No newline at end of file diff --git a/tp-frontend/src/Views/Login/LoginView.elm b/tp-frontend/src/Views/Login/LoginView.elm deleted file mode 100644 index 23b1159..0000000 --- a/tp-frontend/src/Views/Login/LoginView.elm +++ /dev/null @@ -1,56 +0,0 @@ -module Views.Login.LoginView exposing (view) - -import Html exposing (Html, a, br, button, div, h1, p, text) -import Html.Attributes exposing (class, href, target) -import Html.Events exposing (onClick) -import JSPorts.Sporran.SporranHandler as SporranHandler exposing (Msg(..)) -import ThirdPlaceModel exposing (Model, Msg(..)) -import Views.Login.LoginStyles exposing (accountPane, fieldsContainer, loginView, logoBody) -import Views.Login.LoginStyles exposing (loginViewButton) - - -view : Model -> Html ThirdPlaceModel.Msg -view model = - div [ class loginView ] - [ div [ class logoBody ] - [ p [] [ text "ThirdPlace" ] ] - , div [ class accountPane ] - [ h1 [] [ text "🏢💁\u{200D}♀️💬" ] - , displaySporranDetection model.sporranHandler - ] - ] - - -displaySporranDetection : SporranHandler.Model -> Html ThirdPlaceModel.Msg -displaySporranDetection model = - let - displayBody : List (Html ThirdPlaceModel.Msg) - displayBody = - case model.sporranDetected of - Nothing -> - [ p [] [ text "Checking for Sporran..." ] ] - - Just False -> - [ p [] [ text "Sporran wallet needed for identity. " ] - , a - [ href "https://www.sporran.org/" - , target "_blank" -- Open in new tab - ] - [ text "Get it here" ] - , br [] [] - , button [ class loginViewButton, onClick (SporranMsg CheckForSporran) ] [ text "Check again" ] - ] - - Just True -> - case model.userDid of - Just did -> - [ p [] [ text ("Logged in with DID: " ++ did) ] ] - - Nothing -> - if not model.attemptingLogin then - [ button [ class loginViewButton, onClick (SporranMsg SporranHandler.RequestLogin) ] [ text "Login with Sporran ID" ] ] - - else - [ p [] [ text "Contacting the spiritnet chain to log in..." ] ] - in - div [ class fieldsContainer ] displayBody diff --git a/tp-frontend/src/Views/Room/ChatPanel/ChatPanelHandler.elm b/tp-frontend/src/Views/Room/ChatPanel/ChatPanelHandler.elm deleted file mode 100644 index 4927a7c..0000000 --- a/tp-frontend/src/Views/Room/ChatPanel/ChatPanelHandler.elm +++ /dev/null @@ -1,49 +0,0 @@ -module Views.Room.ChatPanel.ChatPanelHandler exposing (update) - -{- - File that handles the update logic for chat panel messages (sending and receiving) --} - -import Views.Room.RoomModel as RoomModel exposing (ChatMessage, Msg(..), UsrChatMsg(..)) - - -update : RoomModel.UsrChatMsg -> RoomModel.Model -> ( RoomModel.Model, Cmd RoomModel.UsrChatMsg ) -update chatPanelMsg roomModel = - let - oldConvModel : RoomModel.ConversationModel - oldConvModel = - roomModel.selectedConvo - in - case chatPanelMsg of - DraftMessage draft -> - let - newConvModel : RoomModel.ConversationModel - newConvModel = - { oldConvModel | draftMessage = draft } - in - ( { roomModel | selectedConvo = newConvModel }, Cmd.none ) - - SendMessage -> - let - messageToSend : ChatMessage - messageToSend = - ChatMessage "Me" oldConvModel.draftMessage oldConvModel.convoId 0 -- Timestamp gets added in JS - - currentConvsList : List RoomModel.ChatMessage - currentConvsList = - oldConvModel.messages - - newConvsList : List RoomModel.ChatMessage - newConvsList = - -- Prevent sending empty string. Also cannot send to ThirdPlace owned chats (system chats) - if messageToSend.content /= "" && oldConvModel.author /= "ThirdPlace" then - currentConvsList ++ [ messageToSend ] - - else - currentConvsList - - newConvModel : RoomModel.ConversationModel - newConvModel = - { oldConvModel | draftMessage = "", messages = newConvsList } - in - ( { roomModel | selectedConvo = newConvModel }, Cmd.none ) diff --git a/tp-frontend/src/Views/Room/ChatPanel/ChatPanelStyles.elm b/tp-frontend/src/Views/Room/ChatPanel/ChatPanelStyles.elm deleted file mode 100644 index 744f90a..0000000 --- a/tp-frontend/src/Views/Room/ChatPanel/ChatPanelStyles.elm +++ /dev/null @@ -1,10 +0,0 @@ -module Views.Room.ChatPanel.ChatPanelStyles exposing (..) - -{- --| This file should only contain string constants to properties found in the appropriate stylesheets files --| This one goes with chatpanelstyles.css --} - -chatPanel : String -chatPanel = - "chat-panel" \ No newline at end of file diff --git a/tp-frontend/src/Views/Room/ChatPanel/ChatPanelView.elm b/tp-frontend/src/Views/Room/ChatPanel/ChatPanelView.elm deleted file mode 100644 index 087e71b..0000000 --- a/tp-frontend/src/Views/Room/ChatPanel/ChatPanelView.elm +++ /dev/null @@ -1,82 +0,0 @@ -module Views.Room.ChatPanel.ChatPanelView exposing (..) - -import Html exposing (Html, button, div, h2, text, textarea) -import Html.Attributes exposing (class, classList, disabled, placeholder, value) -import Html.Events exposing (onClick, onInput, preventDefaultOn) -import Json.Decode as Decode -import ThirdPlaceModel exposing (Msg(..)) -import Utils.RoomUtils as RoomUtils -import Views.Room.ChatPanel.ChatPanelStyles as ChatPanelStyles -import Views.Room.RoomModel as RoomModel exposing (Msg(..), UsrChatMsg(..)) -import Views.Room.RoomStyles as RoomStyles -import Websockets.Command exposing (Command(..)) - - - -{- - Display the chat panel when a conversation is selected. - If no convo is selected then displays the closed panel --} - - -view : RoomModel.Model -> Html ThirdPlaceModel.Msg -view model = - div [ class RoomStyles.container, class ChatPanelStyles.chatPanel ] - -- If there is a convo selected display the chat panel otherwise display nothing - (case model.selectedConvo of - selectedConvoModel -> - [ div [ classList [ ( "chat-container", True ) ] ] - [ div [ class "chat-header" ] - -- The title of the convo and author - [ if model.panelExpansion then - div [] [ button [ onClick (RoomMsg (TogglePanels False)) ] [ text "<" ] ] - - else - div [] [ button [ onClick (RoomMsg (TogglePanels True)) ] [ text ">" ] ] - , div [ class "chat-topic" ] [ text selectedConvoModel.intro ] - , div [ class "chat-author" ] [ text selectedConvoModel.author ] - ] - , div [ class "chat-messages" ] - -- The body of chat messages - (List.map - (\msg -> - let - selfOrOtherMsgClass : String - selfOrOtherMsgClass = - if msg.sender == "current_user" then - "message-from-self" - - else - "message-from-other" - in - div [ class selfOrOtherMsgClass ] - [ div [ class "sender" ] [ text msg.sender ] - , div [ class "content" ] [ text msg.content ] - ] - ) - selectedConvoModel.messages - ) - , div [ class "chat-input" ] - -- The input block for sending a message - [ textarea - [ placeholder "Type your message..." - , value selectedConvoModel.draftMessage - , onInput (ThirdPlaceModel.RoomMsg << ChatPanelMsg << DraftMessage) - , RoomUtils.setupOnEnter (ThirdPlaceModel.RoomMsg (ChatPanelMsg SendMessage)) - ] - [] - , button - ([ class "send-button", onClick (ThirdPlaceModel.RoomMsg (ChatPanelMsg SendMessage)) ] - -- Disable the send button if in a system message (author is ThirdPlace) - ++ (if selectedConvoModel.author == "ThirdPlace" then - [ disabled True ] - - else - [] - ) - ) - [ text "Send" ] - ] - ] - ] - ) diff --git a/tp-frontend/src/Views/Room/Conversations/ConversationStyles.elm b/tp-frontend/src/Views/Room/Conversations/ConversationStyles.elm deleted file mode 100644 index 6766460..0000000 --- a/tp-frontend/src/Views/Room/Conversations/ConversationStyles.elm +++ /dev/null @@ -1,62 +0,0 @@ -module Views.Room.Conversations.ConversationStyles exposing (..) - -{- --| This file should only contain string constants to properties found in the appropriate stylesheets files --| This one goes with conversations.css --} - -convWindow : String -convWindow = - "conv-window" - -convHeader : String -convHeader = - "conv-header" - -convHeaderText : String -convHeaderText = - "conv-header-text" - -convHeaderSpacer : String -convHeaderSpacer = - "conv-header-spacer" - -convLobbyIdText : String -convLobbyIdText = - "conv-lobby-id-text" - -convLobbySizeText : String -convLobbySizeText = - "conv-lobby-size-text" - -convBody : String -convBody = - "conv-body" - -conversationBlock : String -conversationBlock = - "conversation-block" - -conversationText : String -conversationText = - "conversation-text" - -convPeopleHere : String -convPeopleHere = - "conv-people-here" - -convMorePeople : String -convMorePeople = - "conv-more-people" - -newConvoBar : String -newConvoBar = - "new-convo-bar" - -newConvoInput : String -newConvoInput = - "new-convo-input" - -newConvoIcon : String -newConvoIcon = - "new-convo-icon" \ No newline at end of file diff --git a/tp-frontend/src/Views/Room/Conversations/ConversationsHandler.elm b/tp-frontend/src/Views/Room/Conversations/ConversationsHandler.elm deleted file mode 100644 index da259a1..0000000 --- a/tp-frontend/src/Views/Room/Conversations/ConversationsHandler.elm +++ /dev/null @@ -1,9 +0,0 @@ -module Views.Room.Conversations.ConversationsHandler exposing (update) -import Views.Room.RoomModel as RoomModel exposing (ConvosMsg(..), Model, ConversationModel, Msg(..)) - -update : ConvosMsg -> Model -> (Model, Cmd RoomModel.Msg) -update msg model = - case msg of - UpdateNewConvoDraft newText -> - ( { model | newConvoDraft = newText }, Cmd.none) - \ No newline at end of file diff --git a/tp-frontend/src/Views/Room/Conversations/ConversationsView.elm b/tp-frontend/src/Views/Room/Conversations/ConversationsView.elm deleted file mode 100644 index fb79dc9..0000000 --- a/tp-frontend/src/Views/Room/Conversations/ConversationsView.elm +++ /dev/null @@ -1,60 +0,0 @@ -module Views.Room.Conversations.ConversationsView exposing (view) - -import Html exposing (Html, div, h2, img, input, p, span, strong, text) -import Html.Attributes exposing (class, classList, id, placeholder, src, value) -import Html.Events exposing (onClick, onInput) -import Json.Decode as Decode -import ThirdPlaceModel exposing (Model, Msg(..)) -import Utils.RoomUtils as RoomUtils -import Views.Room.Conversations.ConversationStyles as ConversationStyles exposing (..) -import Views.Room.RoomModel as RoomModel exposing (ConversationModel, ConvosMsg(..), Msg(..)) -import Views.Room.RoomModel exposing (PubsubMsg(..)) - - - -{- - The view model for the conversation pane that holds the conversations going on --} - - -view : RoomModel.Model -> Html ThirdPlaceModel.Msg -view model = - div [ classList [ ( ConversationStyles.convWindow, True ), ( "convo-collapsed", not model.panelExpansion ) ] ] - [ div [ class ConversationStyles.convHeader ] - [ p [ id ConversationStyles.convLobbyIdText, class ConversationStyles.convHeaderText ] [ text ("Lobby ID: " ++ model.roomId) ] - , div [ class ConversationStyles.convHeaderSpacer ] [] - , p [ id ConversationStyles.convLobbySizeText, class ConversationStyles.convHeaderText ] [ text "Lobby Size: 5/100" ] - ] - , div [] [ h2 [] [ text "Conversations" ] ] - , div [ class convBody ] - (List.map (\convo -> conversationBlock convo) model.conversations) - , newConversationInput model.newConvoDraft - ] - - -conversationBlock : ConversationModel -> Html ThirdPlaceModel.Msg -conversationBlock convoModel = - div [ class ConversationStyles.conversationBlock, onClick (RoomMsg (ConvoClicked convoModel)) ] - [ strong [] [ text (convoModel.author ++ " started a conversation:") ] - , div [ class ConversationStyles.conversationText ] [ text convoModel.intro ] - , div [ class ConversationStyles.convPeopleHere ] - [ text "People here: " - , img [ src "sfsef.png" ] [] - , div [ class ConversationStyles.convMorePeople ] [ text (String.fromInt (List.length convoModel.participants)) ] - ] - ] - - -newConversationInput : String -> Html ThirdPlaceModel.Msg -newConversationInput draft = - div [ class ConversationStyles.newConvoBar ] - [ input - [ class ConversationStyles.newConvoInput - , placeholder "Start a new conversation..." - , value draft - , onInput (RoomMsg << ConvoPanelMsg << UpdateNewConvoDraft) - , RoomUtils.setupOnEnter (RoomMsg (RoomPubSubMsg SubmitNewConversation)) - ] - [] - , span [ class ConversationStyles.newConvoIcon, onClick (RoomMsg (RoomPubSubMsg SubmitNewConversation)) ] [ text "✏️" ] - ] \ No newline at end of file diff --git a/tp-frontend/src/Views/Room/RoomHandler.elm b/tp-frontend/src/Views/Room/RoomHandler.elm deleted file mode 100644 index 2c446b4..0000000 --- a/tp-frontend/src/Views/Room/RoomHandler.elm +++ /dev/null @@ -1,112 +0,0 @@ -module Views.Room.RoomHandler exposing (..) - -import Views.Room.ChatPanel.ChatPanelHandler as ChatPanelHandler -import Views.Room.Conversations.ConversationsHandler as ConversationsHandler -import Views.Room.RoomModel as RoomModel exposing (ChatMessage, ConversationModel, Msg(..)) -import JSPorts.Geohash.GeohashHandler as GeohashHandler -import JSPorts.RoomPubsub.RoomPubsubHandler as RoomPubsubHandler - - -init : ( RoomModel.Model, Cmd RoomModel.Msg ) -init = - let - (initRoomId, geohashCmd) = GeohashHandler.init - in - ( { roomId = initRoomId.roomId - , users = [ "current_user", "meower1", "meower2" ] - , conversations = populateDummyConvos - , selectedConvo = initConvo - , currentUser = "idalas" - , newConvoDraft = "" - , panelExpansion = True - } - , Cmd.none - ) - - -initConvo : ConversationModel -initConvo = - { intro = "Select a conversation to see what others are talking about!" - , messages = [ systemMessage ] - , participants = [] - , author = "ThirdPlace" - , draftMessage = "" - , convoId = "none" - } - -systemMessage : ChatMessage -systemMessage = - ChatMessage "ThirdPlace" "When you select a conversation you'll be able to chat." "none" 0 - - --- Remove below \/ once we integrate with actual p2p communication - - -populateDummyConvos : List ConversationModel -populateDummyConvos = - let - dummyModel : ConversationModel - dummyModel = - { intro = "Meowserrssss", messages = populateDummyMsgs, participants = [ "meower1", "meower2", "current_user" ], author = "meower1", draftMessage = "", convoId = "1" } - - dummyModel2 = - { intro = "rawr xd", messages = populateDummyMsgs2, participants = [ "meower1", "meower2", "current_user" ], author = "meower2", draftMessage = "", convoId = "2" } - in - [ dummyModel, dummyModel2, dummyModel, dummyModel ] - - -populateDummyMsgs : List ChatMessage -populateDummyMsgs = - let - dummyMsg : ChatMessage - dummyMsg = - { sender = "meower1", content = "im spamming :33333333", convoId = "1", timestamp = 0 } - - dummyMsg2 = - { sender = "current_user", content = "stawp >:L", convoId = "1", timestamp = 0 } - in - [ dummyMsg, dummyMsg, dummyMsg, dummyMsg2, dummyMsg, dummyMsg ] - - -populateDummyMsgs2 : List ChatMessage -populateDummyMsgs2 = - let - dummyMsg = - { sender = "meower2", content = "rawr xd any1 w1t 2 cm 2 my goth show :p", convoId = "2", timestamp = 0 } - - dummyMsg2 = - { sender = "current_user", content = "no", convoId = "2", timestamp = 0 } - in - [ dummyMsg, dummyMsg2, dummyMsg, dummyMsg2 ] - - -update : RoomModel.Msg -> RoomModel.Model -> ( RoomModel.Model, Cmd RoomModel.Msg ) -update msg model = - case msg of - ConvoClicked convo -> - ( { model | selectedConvo = convo }, Cmd.none ) - - ChatPanelMsg chatMsg -> - let - ( updatedRoomModel, cmd ) = - ChatPanelHandler.update chatMsg model - in - ( updatedRoomModel, Cmd.map ChatPanelMsg cmd ) - - ConvoPanelMsg convoMsg -> - let - ( updatedRoomModel, cmd ) = - ConversationsHandler.update convoMsg model - in - ( updatedRoomModel, cmd ) - - TogglePanels expandConvoPanel -> - ( { model | panelExpansion = expandConvoPanel }, Cmd.none ) - - RoomPubSubMsg pubsubMsg -> - let - (updatedRoomModel, cmd) = - RoomPubsubHandler.update model pubsubMsg - - in - ( updatedRoomModel, cmd) diff --git a/tp-frontend/src/Views/Room/RoomModel.elm b/tp-frontend/src/Views/Room/RoomModel.elm deleted file mode 100644 index 54877dc..0000000 --- a/tp-frontend/src/Views/Room/RoomModel.elm +++ /dev/null @@ -1,68 +0,0 @@ -module Views.Room.RoomModel exposing (Model, ConversationModel, ChatMessage, Msg(..), UsrChatMsg(..), ConvosMsg(..), PubsubMsg(..)) - -import Json.Decode exposing (Value) - - -{- - The model for a "room" consisting of several conversations, with each conversation consisting of messages --} -type alias Model = - { roomId : String -- The geohash roomId - , users : List String - , conversations : List ConversationModel - , selectedConvo : ConversationModel - , newConvoDraft : String - , currentUser : String - , panelExpansion : Bool -- True for expanding the list of convos panel, false for expanding the chats panel - } - -{- - The model for each individual conversation in the list of conversations. --} - - -type alias ConversationModel = - { intro : String - , messages : List ChatMessage - , participants : List String - , author : String - , draftMessage : String - , convoId : String - } - -type alias ChatMessage = - { sender : String - , content : String - , convoId : String - , timestamp : Int - } - -{- - Msg definition for room events, such as clicking on a conversation or sending a message --} -type Msg = - ConvoClicked ConversationModel - | ChatPanelMsg UsrChatMsg - | ConvoPanelMsg ConvosMsg - | TogglePanels Bool -- Msg for collapsing/expanding the chat and convo panels. True for expanded convos, false for expanded chats - | RoomPubSubMsg PubsubMsg - - -{- - Msg definition for the user chatting --} -type UsrChatMsg = - DraftMessage String - | SendMessage - -type ConvosMsg - = UpdateNewConvoDraft String - -{- - Used for publishing and subscribing to messages and conversations --} -type PubsubMsg - = SendChatMessage ChatMessage - | ReceiveChatMessage Value -- comes in as json shaped as RoomModel.ChatMessage - | SubmitNewConversation - | ReceiveConversation Value -- comes in as a ConversationModel \ No newline at end of file diff --git a/tp-frontend/src/Views/Room/RoomStyles.elm b/tp-frontend/src/Views/Room/RoomStyles.elm deleted file mode 100644 index bd05908..0000000 --- a/tp-frontend/src/Views/Room/RoomStyles.elm +++ /dev/null @@ -1,18 +0,0 @@ -module Views.Room.RoomStyles exposing (..) - -{- --| This file should only contain string constants to properties found in the appropriate stylesheets files --| This one goes with roomstyles.css --} - -mainContainer : String -mainContainer = - "main-container" - -conversations : String -conversations = - "conversations" - -container : String -container = - "container" \ No newline at end of file diff --git a/tp-frontend/src/Views/Room/RoomView.elm b/tp-frontend/src/Views/Room/RoomView.elm deleted file mode 100644 index 3f2274b..0000000 --- a/tp-frontend/src/Views/Room/RoomView.elm +++ /dev/null @@ -1,57 +0,0 @@ -module Views.Room.RoomView exposing (view) - -import Html exposing (Html, div, h2, text) -import Html.Attributes exposing (class, classList) -import ThirdPlaceModel -import Views.Room.ChatPanel.ChatPanelView as ChatPanelView -import Views.Room.Conversations.ConversationsView as ConversationsView exposing (view) -import Views.Room.RoomModel as RoomModel exposing (ConversationModel, Model) - - -view : Model -> Html ThirdPlaceModel.Msg -view model = - div [ classList [ ( "main-container", True ), ( "chat-expanded", not model.panelExpansion ) ] ] - [ userProfile model - , peopleHere model.users - , conversations model - , chatPanel model - ] - - -userProfile : RoomModel.Model -> Html ThirdPlaceModel.Msg -userProfile model = - div [ class "container", class "user-profile" ] - [ h2 [] [ text "Profile" ] - , div [ class "profile-content" ] - [ div [ class "profile-avatar" ] [ text "U" ] - , div [ class "profile-info" ] - [ div [ class "profile-name" ] [ text "current_user" ] - , div [ class "room-info" ] - [ div [ class "room-hash" ] [ text "Room: #abc123" ] - , div [ class "room-count" ] [ text ("Users: " ++ String.fromInt (List.length model.users)) ] - ] - ] - ] - ] - - -peopleHere : List String -> Html msg -peopleHere users = - div [ class "container", class "people-here" ] - (h2 [] [ text "People Here" ] :: List.map userAvatar users) - - -userAvatar : String -> Html msg -userAvatar name = - div [ class "user-avatar" ] [ text name ] - - -conversations : RoomModel.Model -> Html ThirdPlaceModel.Msg -conversations model = - div [ class "container", class "conversations" ] - [ ConversationsView.view model ] - - -chatPanel : RoomModel.Model -> Html ThirdPlaceModel.Msg -chatPanel model = - ChatPanelView.view model diff --git a/tp-frontend/src/Views/ThirdPlaceAppView.elm b/tp-frontend/src/Views/ThirdPlaceAppView.elm deleted file mode 100644 index 3bc11a0..0000000 --- a/tp-frontend/src/Views/ThirdPlaceAppView.elm +++ /dev/null @@ -1,30 +0,0 @@ -module Views.ThirdPlaceAppView exposing (view) - -import Browser -import ThirdPlaceModel exposing (Model, Msg(..)) -import Views.Login.LoginView as LoginView -import Views.Room.RoomModel exposing (ChatMessage, ConversationModel) -import Views.Room.RoomView as RoomView - - - -{- - Delegates the dom rendering based on whether the user has been authenticated (go to rooms) or not (go to login) --} - - -view : Model -> Browser.Document ThirdPlaceModel.Msg -view model = - { title = - if model.authenticated then - "ThirdPlace - Chat" - - else - "ThirdPlace - Login" - , body = - if model.authenticated then - [ RoomView.view model.roomHandler ] - - else - [ LoginView.view model ] - } diff --git a/tp-frontend/stylesheets/chatpanelstyles.css b/tp-frontend/stylesheets/chatpanelstyles.css deleted file mode 100644 index 9384380..0000000 --- a/tp-frontend/stylesheets/chatpanelstyles.css +++ /dev/null @@ -1,186 +0,0 @@ - -.chat-panel { - flex: 2; - display: flex; - flex-direction: column; - overflow: hidden; - transition: all 0.4s ease; - background: var(--bg-secondary); -} - -.chat-container { - display: flex; - flex-direction: column; - height: 100%; - width: 100%; - margin: 0 auto; - background: var(--bg-secondary); -} - -.chat-header { - padding: 16px 20px; - background: linear-gradient(135deg, var(--thirdplace-primary), var(--thirdplace-primary-light)); - color: white; - border-bottom: 1px solid var(--border-color); - display: flex; - align-items: center; - gap: 12px; -} - -.chat-header button { - background: rgba(255, 255, 255, 0.2); - border: none; - color: white; - padding: 8px 12px; - border-radius: 6px; - cursor: pointer; - font-weight: 600; - transition: all 0.3s ease; -} - -.chat-header button:hover { - background: rgba(255, 255, 255, 0.3); - transform: scale(1.05); -} - -.chat-topic { - font-weight: 700; - font-size: 1.1em; - text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); -} - -.chat-author { - font-size: 0.9rem; - opacity: 0.9; - font-weight: 500; -} - -.chat-messages { - flex-grow: 1; - padding: 20px; - overflow-y: auto; - display: flex; - flex-direction: column; - gap: 12px; - background: var(--bg-primary); -} - -.message-from-self, .message-from-other { - padding: 12px 16px; - border-radius: 16px; - max-width: 70%; - box-shadow: 0 2px 8px var(--shadow-color); - transition: all 0.3s ease; -} - -.message-from-self { - background: linear-gradient(135deg, var(--thirdplace-primary), var(--thirdplace-primary-light)); - color: white; - align-self: flex-end; - border-bottom-right-radius: 4px; -} - -.message-from-other { - background: var(--bg-secondary); - color: var(--text-primary); - align-self: flex-start; - border: 1px solid var(--border-color); - border-bottom-left-radius: 4px; -} - -.sender { - font-size: 0.8rem; - font-weight: 600; - margin-bottom: 4px; - opacity: 0.8; -} - -.message-from-self .sender { - color: rgba(255, 255, 255, 0.9); -} - -.message-from-other .sender { - color: var(--thirdplace-primary); -} - -.content { - line-height: 1.4; - word-wrap: break-word; -} - -.chat-input { - display: flex; - flex-direction: column; - padding: 20px; - background: var(--bg-tertiary); - border-top: 1px solid var(--border-color); - gap: 12px; -} - -.chat-input textarea { - resize: none; - height: 60px; - padding: 12px 16px; - font-size: 1rem; - border: 2px solid var(--border-color); - border-radius: 12px; - background: var(--bg-secondary); - color: var(--text-primary); - font-family: inherit; - transition: all 0.3s ease; -} - -.chat-input textarea:focus { - outline: none; - border-color: var(--thirdplace-primary); - box-shadow: 0 0 0 3px rgba(230, 126, 34, 0.1); -} - -.chat-input textarea::placeholder { - color: var(--text-muted); -} - -.send-button { - align-self: flex-end; - padding: 12px 24px; - font-size: 1rem; - background: linear-gradient(135deg, var(--thirdplace-primary), var(--thirdplace-primary-light)); - color: white; - border: none; - border-radius: 8px; - cursor: pointer; - font-weight: 600; - transition: all 0.3s ease; - box-shadow: 0 2px 8px rgba(230, 126, 34, 0.3); -} - -.send-button:hover:not(:disabled) { - background: linear-gradient(135deg, var(--thirdplace-primary-dark), var(--thirdplace-primary)); - transform: translateY(-2px); - box-shadow: 0 4px 12px rgba(230, 126, 34, 0.4); -} - -.send-button:disabled { - opacity: 0.6; - cursor: not-allowed; - transform: none; -} - -/* Scrollbar styling for chat messages */ -.chat-messages::-webkit-scrollbar { - width: 8px; -} - -.chat-messages::-webkit-scrollbar-track { - background: var(--bg-tertiary); - border-radius: 4px; -} - -.chat-messages::-webkit-scrollbar-thumb { - background: var(--thirdplace-primary); - border-radius: 4px; -} - -.chat-messages::-webkit-scrollbar-thumb:hover { - background: var(--thirdplace-primary-dark); -} diff --git a/tp-frontend/stylesheets/conversationstyles.css b/tp-frontend/stylesheets/conversationstyles.css deleted file mode 100644 index ead39d8..0000000 --- a/tp-frontend/stylesheets/conversationstyles.css +++ /dev/null @@ -1,143 +0,0 @@ -.conversations { - display: flex; - justify-content: center; - align-items: center; - overflow: scroll; -} - -.conv-window { - display: flex; - flex-direction: column; - height: 100%; - background: var(--bg-secondary); -} - -.conv-header { - padding: 16px; - background: var(--bg-tertiary); - border-bottom: 1px solid var(--border-color); - display: flex; - justify-content: space-between; - align-items: center; -} - -.conv-header-text { - font-size: 1.1em; - font-weight: 600; - color: var(--text-primary); -} - -.conv-header-spacer { - flex: 1; -} - -.conv-lobby-id-text, .conv-lobby-size-text { - font-size: 0.85em; - color: var(--text-secondary); - background: var(--bg-secondary); - padding: 4px 8px; - border-radius: 4px; - border: 1px solid var(--border-color); -} - -.conv-body { - flex: 1; - padding: 16px; - overflow-y: auto; - display: flex; - flex-direction: column; - gap: 12px; -} - -.conversation-block { - background: linear-gradient(135deg, var(--thirdplace-primary), var(--thirdplace-primary-light)); - border-radius: 12px; - padding: 16px; - cursor: pointer; - transition: all 0.3s ease; - border: 2px solid transparent; - box-shadow: 0 2px 8px rgba(230, 126, 34, 0.2); - color: white; -} - -.conversation-block:hover { - transform: translateY(-2px); - box-shadow: 0 4px 16px rgba(230, 126, 34, 0.3); - border-color: var(--thirdplace-accent); -} - -.conversation-text { - font-weight: 600; - margin-bottom: 8px; - font-size: 1em; -} - -.conv-people-here { - display: flex; - align-items: center; - gap: 8px; - font-size: 0.9em; - opacity: 0.9; -} - -.conv-more-people { - background: rgba(255, 255, 255, 0.2); - padding: 2px 6px; - border-radius: 12px; - font-size: 0.8em; -} - -.new-convo-bar { - padding: 16px; - background: var(--bg-tertiary); - border-top: 1px solid var(--border-color); - display: flex; - gap: 8px; - align-items: center; -} - -.new-convo-input { - flex: 1; - padding: 12px; - border: 2px solid var(--border-color); - border-radius: 8px; - background: var(--bg-secondary); - color: var(--text-primary); - font-size: 1em; - transition: all 0.3s ease; -} - -.new-convo-input:focus { - outline: none; - border-color: var(--thirdplace-primary); - box-shadow: 0 0 0 3px rgba(230, 126, 34, 0.1); -} - -.new-convo-input::placeholder { - color: var(--text-muted); -} - -.new-convo-icon { - background: var(--thirdplace-primary); - color: white; - border: none; - border-radius: 8px; - width: 44px; - height: 44px; - display: flex; - align-items: center; - justify-content: center; - cursor: pointer; - font-size: 1.2em; - transition: all 0.3s ease; -} - -.new-convo-icon:hover { - background: var(--thirdplace-primary-dark); - transform: scale(1.05); -} - -.convo-collapsed { - flex: 4; - transition: flex 0.4s ease; -} \ No newline at end of file diff --git a/tp-frontend/stylesheets/loginstyles.css b/tp-frontend/stylesheets/loginstyles.css deleted file mode 100644 index f411007..0000000 --- a/tp-frontend/stylesheets/loginstyles.css +++ /dev/null @@ -1,72 +0,0 @@ -.login-view { - width: 100vw; - height: 100vh; - background-image: url('../thirdplacebg.png'); - background-size: cover; - background-repeat: no-repeat; - background-position: center; - display: flex; - flex-direction: column; - align-items: center; -} - -.logo-body { - font-size: 6em; - font-weight: bold; - background: linear-gradient(to right, #0f0e0c, #934110); - font-family: 'Arial Rounded MT Bold', 'Verdana', sans-serif; - display: flex; - justify-content: center; - position: relative; - -webkit-background-clip: text; - -webkit-text-fill-color: transparent; - text-shadow: 2px 2px rgba(0, 0, 0, 0.31), 0px 0px 20px rgba(255, 174, 96, 0.8); -} - -/* Shadowing for the logo */ -.logo-body::before { - content: ''; - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - width: 60%; - /* Adjust size to fit the text */ - height: 60%; - /* Adjust height to fit the text */ - background: radial-gradient(ellipse, rgba(251, 205, 178, 0.68) 50%, rgba(255, 255, 255, 0) 100%); - z-index: -1; - /* Places it behind the text */ - border-radius: 50%; - /* Ensures the oval shape */ -} - -.account-pane { - display: flex; - flex-direction: column; - height: fit-content; - width: fit-content; - background-color: var(--thirdplace-bg-color); - border-radius: 20% 20% 30% 5px; - border: 5px double #c16400; - align-items: center; - padding: 25px; -} - -.fields-container { - display: flex; - flex-direction: column; - gap: 1vh; - align-items: center; - width: 90%; - justify-content: center; -} - -.login-view-button { - background-color: #007bff; - padding: 5px; - color: white; - border: none; - border-radius: 5px; - cursor: pointer; -} \ No newline at end of file diff --git a/tp-frontend/stylesheets/main.css b/tp-frontend/stylesheets/main.css new file mode 100644 index 0000000..8d108bb --- /dev/null +++ b/tp-frontend/stylesheets/main.css @@ -0,0 +1,101 @@ +/* CSS Variables for theming */ +:root { + --bg-color: #ffffff; + --text-color: #333333; + --button-bg: #007bff; + --button-hover: #0056b3; + --button-text: #ffffff; + --status-color: #666666; +} + +@media (prefers-color-scheme: dark) { + :root { + --bg-color: #1a1a1a; + --text-color: #e0e0e0; + --button-bg: #0d6efd; + --button-hover: #0b5ed7; + --button-text: #ffffff; + --status-color: #aaaaaa; + } +} + +/* Base styles */ +* { + box-sizing: border-box; + margin: 0; + padding: 0; +} + +body { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; + background-color: var(--bg-color); + color: var(--text-color); + transition: background-color 0.3s ease, color 0.3s ease; +} + +.app { + min-height: 100vh; + display: flex; + align-items: center; + justify-content: center; +} + +.container { + text-align: center; + padding: 2rem; +} + +.status { + font-size: 1.2rem; + color: var(--status-color); + margin-bottom: 2rem; + padding: 1rem; + background-color: rgba(0, 123, 255, 0.1); + border-radius: 8px; + border-left: 4px solid var(--button-bg); + font-weight: 500; +} + +.publish-btn { + background-color: var(--button-bg); + color: var(--button-text); + border: none; + padding: 12px 24px; + font-size: 1rem; + border-radius: 6px; + cursor: pointer; + transition: background-color 0.2s ease; +} + +.publish-btn:hover { + background-color: var(--button-hover); +} + +.publish-btn:active { + transform: translateY(1px); +} + +.result { + margin-top: 1rem; + padding: 1rem; + background-color: rgba(40, 167, 69, 0.1); + border-radius: 6px; + border-left: 4px solid #28a745; +} + +.cid { + font-family: 'Courier New', monospace; + font-size: 0.9rem; + word-break: break-all; + color: var(--text-color); + margin-bottom: 0.5rem; +} + +.content { + font-size: 1rem; + color: var(--text-color); + background-color: rgba(0, 0, 0, 0.05); + padding: 0.5rem; + border-radius: 4px; + font-family: 'Courier New', monospace; +} \ No newline at end of file diff --git a/tp-frontend/stylesheets/roomstyles.css b/tp-frontend/stylesheets/roomstyles.css deleted file mode 100644 index aebdf3e..0000000 --- a/tp-frontend/stylesheets/roomstyles.css +++ /dev/null @@ -1,218 +0,0 @@ - -.main-container { - height: 100vh; - width: 100vw; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', sans-serif; - justify-content: center; - display: flex; - gap: 16px; - padding: 16px; - background: var(--bg-primary); - transition: background-color 0.3s ease; -} - -/* The generic container for each panel */ -.container { - display: flex; - flex-direction: column; - background: var(--bg-secondary); - border-radius: 12px; - box-shadow: 0 4px 12px var(--shadow-color); - border: 1px solid var(--border-color); - overflow: hidden; - transition: all 0.3s ease; -} - -.container:hover { - box-shadow: 0 6px 20px var(--shadow-color); -} - -.container h2 { - text-align: center; - margin: 0; - padding: 16px; - font-size: 1.2em; - font-weight: 600; - border-bottom: 2px solid var(--thirdplace-primary); - background: linear-gradient(135deg, var(--thirdplace-primary), var(--thirdplace-primary-light)); - color: white; - text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); -} - -/* User Profile Panel */ -.user-profile { - flex: 1; - min-width: 200px; - max-width: 250px; -} - -.profile-content { - padding: 20px; - display: flex; - flex-direction: column; - align-items: center; - gap: 16px; -} - -.profile-avatar { - width: 80px; - height: 80px; - background: linear-gradient(135deg, var(--thirdplace-primary), var(--thirdplace-accent)); - border-radius: 50%; - display: flex; - align-items: center; - justify-content: center; - font-size: 2em; - font-weight: bold; - color: white; - box-shadow: 0 4px 12px rgba(230, 126, 34, 0.3); -} - -.profile-info { - text-align: center; - width: 100%; -} - -.profile-name { - font-size: 1.1em; - font-weight: 600; - color: var(--text-primary); - margin-bottom: 12px; -} - -.room-info { - padding: 12px; - background: var(--bg-tertiary); - border-radius: 8px; - border: 1px solid var(--border-color); -} - -.room-hash, .room-count { - font-size: 0.9em; - color: var(--text-secondary); - margin: 4px 0; -} - -.room-hash { - font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace; -} - -/* People Here Panel */ -.people-here { - flex: 1; - min-width: 200px; - max-width: 250px; -} - -.user-list { - display: flex; - flex-direction: column; - gap: 8px; - padding: 16px; - max-height: 400px; - overflow-y: auto; -} - -.user-avatar { - width: 40px; - height: 40px; - background: linear-gradient(135deg, var(--thirdplace-secondary), var(--thirdplace-primary-light)); - border-radius: 50%; - display: flex; - align-items: center; - justify-content: center; - color: white; - font-weight: 600; - font-size: 0.9em; - margin: 8px 16px; - box-shadow: 0 2px 8px rgba(244, 164, 96, 0.3); - transition: transform 0.2s ease; -} - -.user-avatar:hover { - transform: scale(1.05); -} - -/* Conversations Panel */ -.conversations { - flex: 2; - min-width: 300px; -} - -/* Chat Panel */ -.chat-panel { - flex: 3; - min-width: 400px; - transition: flex 0.4s ease; -} - -/* Mobile/Portrait layout */ -@media (max-aspect-ratio: 1/1) { - .main-container { - flex-direction: column; - gap: 12px; - padding: 12px; - } - - .user-profile, .people-here { - flex: none; - max-width: none; - } - - .conversations { - flex: 1; - min-height: 200px; - } - - .chat-panel { - flex: 2; - min-height: 300px; - } -} - -/* Desktop/Landscape layout */ -@media (min-aspect-ratio: 1/1) { - .main-container { - flex-direction: row; - } -} - -/* Expanding states for chat focus */ -.main-container.chat-expanded .user-profile { - flex: 0.8; - transition: flex 0.4s ease; -} - -.main-container.chat-expanded .people-here { - flex: 0.8; - transition: flex 0.4s ease; -} - -.main-container.chat-expanded .conversations { - flex: 1.5; - transition: flex 0.4s ease; -} - -.main-container.chat-expanded .chat-panel { - flex: 4; - transition: flex 0.4s ease; -} - -/* Scrollbar styling */ -::-webkit-scrollbar { - width: 8px; -} - -::-webkit-scrollbar-track { - background: var(--bg-tertiary); - border-radius: 4px; -} - -::-webkit-scrollbar-thumb { - background: var(--thirdplace-primary); - border-radius: 4px; -} - -::-webkit-scrollbar-thumb:hover { - background: var(--thirdplace-primary-dark); -} diff --git a/tp-frontend/stylesheets/thirdplace.css b/tp-frontend/stylesheets/thirdplace.css deleted file mode 100644 index 1757c76..0000000 --- a/tp-frontend/stylesheets/thirdplace.css +++ /dev/null @@ -1,53 +0,0 @@ - -/* CSS Custom Properties for theming */ -:root { - --thirdplace-primary: #e67e22; - --thirdplace-primary-light: #f39c12; - --thirdplace-primary-dark: #d35400; - --thirdplace-secondary: #f4a460; - --thirdplace-accent: #ff8c42; - - /* Light mode colors */ - --bg-primary: #fefefe; - --bg-secondary: #ffffff; - --bg-tertiary: #f8f9fa; - --text-primary: #2c3e50; - --text-secondary: #7f8c8d; - --text-muted: #95a5a6; - --border-color: #e9ecef; - --shadow-color: rgba(0, 0, 0, 0.1); - --hover-bg: #f8f9fa; -} - -/* Dark mode colors */ -@media (prefers-color-scheme: dark) { - :root { - --bg-primary: #1a1a1a; - --bg-secondary: #2d2d2d; - --bg-tertiary: #3a3a3a; - --text-primary: #ffffff; - --text-secondary: #cccccc; - --text-muted: #999999; - --border-color: #444444; - --shadow-color: rgba(0, 0, 0, 0.3); - --hover-bg: #3a3a3a; - } -} - -* { - box-sizing: border-box; -} - -body { - margin: 0; - padding: 0; - background: var(--bg-primary); - color: var(--text-primary); - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', sans-serif; - transition: background-color 0.3s ease, color 0.3s ease; -} - -/* Legacy compatibility */ -.thirdplace-bg-color { - background-color: var(--thirdplace-primary); -} diff --git a/tp-frontend/tpapp.js b/tp-frontend/tpapp.js new file mode 100644 index 0000000..56e3493 --- /dev/null +++ b/tp-frontend/tpapp.js @@ -0,0 +1,53 @@ +import { ipfsService } from './ipfs.ts'; + +// Wait for Elm to be available and initialize the application +function initializeApp() { + if (typeof window.Elm === 'undefined') { + // Wait a bit more for Elm to load + setTimeout(initializeApp, 100); + return; + } + + const app = window.Elm.UI.Main.init({ + node: document.getElementById('app'), + flags: {} + }); + + console.log('ThirdPlace app initialized'); + + // Set up IPFS status callback + ipfsService.onStatusChange((status, peerCount) => { + if (app.ports && app.ports.ipfsStatusChanged) { + app.ports.ipfsStatusChanged.send(status); + } + }); + + // Set up publish test content handler + if (app.ports && app.ports.publishTestContent) { + app.ports.publishTestContent.subscribe(async () => { + const cid = await ipfsService.publishTestContent(); + if (cid && app.ports.contentPublished) { + app.ports.contentPublished.send(cid); + + // Automatically retrieve the content to verify + setTimeout(async () => { + console.log("Attempting to retrieve content...") + const content = await ipfsService.retrieveContent(cid); + if (content && app.ports.contentRetrieved) { + app.ports.contentRetrieved.send(JSON.stringify(content)); + } + }, 1000); + } + }); + } + + // Initialize IPFS + ipfsService.initialize().then(() => { + console.log('IPFS service initialized'); + }).catch((error) => { + console.error('Failed to initialize IPFS service:', error); + }); +} + +// Initialize when DOM is ready +document.addEventListener('DOMContentLoaded', initializeApp); \ No newline at end of file diff --git a/tp-frontend/tsconfig.json b/tp-frontend/tsconfig.json new file mode 100644 index 0000000..a834468 --- /dev/null +++ b/tp-frontend/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "target": "ES2020", + "module": "ESNext", + "moduleResolution": "node", + "strict": true, + "esModuleInterop": true, + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true, + "allowSyntheticDefaultImports": true, + "resolveJsonModule": true + }, + "include": [ + "*.ts", + "*.js" + ] +} \ No newline at end of file diff --git a/tp-frontend/vite.config.js b/tp-frontend/vite.config.js index d0ac115..1f6fc39 100644 --- a/tp-frontend/vite.config.js +++ b/tp-frontend/vite.config.js @@ -11,5 +11,8 @@ export default defineConfig({ }, server: { host: true + }, + esbuild: { + target: 'es2020' } }) \ No newline at end of file