diff --git a/package-lock.json b/package-lock.json index e2b6f9d..ab526a7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,6 +13,7 @@ "@chainsafe/libp2p-noise": "13.0.1", "@chainsafe/libp2p-yamux": "5.0.0", "@libp2p/bootstrap": "9.0.8", + "@libp2p/circuit-relay-v2": "1.0.6", "@libp2p/identify": "1.0.5", "@libp2p/tcp": "8.0.9", "axios": "0.27.2", @@ -1106,6 +1107,114 @@ "@multiformats/multiaddr": "^12.1.5" } }, + "node_modules/@libp2p/circuit-relay-v2": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@libp2p/circuit-relay-v2/-/circuit-relay-v2-1.0.6.tgz", + "integrity": "sha512-F9mbKIFZOHSDXSvOauGXhtkVjaR95l2jablCeq+b2BAilQksPNpQPHDcHUFha9warruSh8GDU7BlqygJwo07JQ==", + "dependencies": { + "@libp2p/interface": "^1.0.1", + "@libp2p/interface-internal": "^1.0.2", + "@libp2p/peer-collections": "^5.1.0", + "@libp2p/peer-id": "^4.0.1", + "@libp2p/peer-record": "^7.0.0", + "@libp2p/utils": "^5.0.2", + "@multiformats/mafmt": "^12.1.6", + "@multiformats/multiaddr": "^12.1.10", + "any-signal": "^4.1.1", + "delay": "^6.0.0", + "it-protobuf-stream": "^1.0.2", + "it-stream-types": "^2.0.1", + "multiformats": "^12.1.3", + "p-defer": "^4.0.0", + "p-retry": "^6.1.0", + "protons-runtime": "^5.0.0", + "race-signal": "^1.0.2", + "uint8arraylist": "^2.4.3", + "uint8arrays": "^4.0.6" + } + }, + "node_modules/@libp2p/circuit-relay-v2/node_modules/@libp2p/interface": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-1.0.1.tgz", + "integrity": "sha512-TRo1YxJ+AVjt5ms+mTOp8xcoCis5HAUMzv0XfCvxtIw77Bog6TPR5VdkGutlEQOKUMzXtLP0lW88fTQBeiiOnA==", + "dependencies": { + "@multiformats/multiaddr": "^12.1.10", + "it-pushable": "^3.2.1", + "it-stream-types": "^2.0.1", + "multiformats": "^12.1.3", + "uint8arraylist": "^2.4.3" + } + }, + "node_modules/@libp2p/circuit-relay-v2/node_modules/@libp2p/interface-internal": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@libp2p/interface-internal/-/interface-internal-1.0.2.tgz", + "integrity": "sha512-dXcGapwhrFp78NJbRBYi07qxp8Gfb2Z611zkWURApIx3PQc4r8kzftqCOCaZ9lnWYzutf0Eo4mPGuU0Ysm3MPA==", + "dependencies": { + "@libp2p/interface": "^1.0.1", + "@libp2p/peer-collections": "^5.1.0", + "@multiformats/multiaddr": "^12.1.10", + "uint8arraylist": "^2.4.3" + } + }, + "node_modules/@libp2p/circuit-relay-v2/node_modules/@libp2p/peer-collections": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@libp2p/peer-collections/-/peer-collections-5.1.0.tgz", + "integrity": "sha512-JWXbzAmXxiB4ioK5J4SX41XxOaXReqcn5p705mWhrLt63Mwwu6CCkCOH1/CstydeKetU8yMz+vDOnPpXLk2W9w==", + "dependencies": { + "@libp2p/interface": "^1.0.1", + "@libp2p/peer-id": "^4.0.1" + } + }, + "node_modules/@libp2p/circuit-relay-v2/node_modules/@libp2p/peer-id": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-4.0.1.tgz", + "integrity": "sha512-rEgZ4YPSVh7gqIXxWE9HVw318Og8fJohI2vWXNx2h+Ib/iMQTGrqGgSaJhjUMWYIy8MadpjofCPXObPEIX3E3g==", + "dependencies": { + "@libp2p/interface": "^1.0.1", + "multiformats": "^12.1.3", + "uint8arrays": "^4.0.6" + } + }, + "node_modules/@libp2p/circuit-relay-v2/node_modules/@libp2p/utils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@libp2p/utils/-/utils-5.0.2.tgz", + "integrity": "sha512-PcDAH8pwtXq0pfoO9arHtg3CsqF+reheUd0OaQ9/Fn0YjjNpqcpseQyByBiwhiuQsauWo5RU+CKqRaRdvXKemA==", + "dependencies": { + "@chainsafe/is-ip": "^2.0.2", + "@libp2p/interface": "^1.0.1", + "@multiformats/multiaddr": "^12.1.10", + "@multiformats/multiaddr-matcher": "^1.1.0", + "get-iterator": "^2.0.1", + "is-loopback-addr": "^2.0.1", + "it-pushable": "^3.2.2", + "it-stream-types": "^2.0.1", + "p-queue": "^7.4.1", + "private-ip": "^3.0.1", + "race-signal": "^1.0.1", + "uint8arraylist": "^2.4.3" + } + }, + "node_modules/@libp2p/circuit-relay-v2/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/@libp2p/circuit-relay-v2/node_modules/p-retry": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.1.0.tgz", + "integrity": "sha512-fJLEQ2KqYBJRuaA/8cKMnqhulqNM+bpcjYtXNex2t3mOXKRYPitAJt9NacSf8XAFzcYahSAbKpobiWDSqHSh2g==", + "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/@libp2p/crypto": { "version": "2.0.8", "resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-2.0.8.tgz", @@ -18913,6 +19022,110 @@ "@multiformats/multiaddr": "^12.1.5" } }, + "@libp2p/circuit-relay-v2": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@libp2p/circuit-relay-v2/-/circuit-relay-v2-1.0.6.tgz", + "integrity": "sha512-F9mbKIFZOHSDXSvOauGXhtkVjaR95l2jablCeq+b2BAilQksPNpQPHDcHUFha9warruSh8GDU7BlqygJwo07JQ==", + "requires": { + "@libp2p/interface": "^1.0.1", + "@libp2p/interface-internal": "^1.0.2", + "@libp2p/peer-collections": "^5.1.0", + "@libp2p/peer-id": "^4.0.1", + "@libp2p/peer-record": "^7.0.0", + "@libp2p/utils": "^5.0.2", + "@multiformats/mafmt": "^12.1.6", + "@multiformats/multiaddr": "^12.1.10", + "any-signal": "^4.1.1", + "delay": "^6.0.0", + "it-protobuf-stream": "^1.0.2", + "it-stream-types": "^2.0.1", + "multiformats": "^12.1.3", + "p-defer": "^4.0.0", + "p-retry": "^6.1.0", + "protons-runtime": "^5.0.0", + "race-signal": "^1.0.2", + "uint8arraylist": "^2.4.3", + "uint8arrays": "^4.0.6" + }, + "dependencies": { + "@libp2p/interface": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-1.0.1.tgz", + "integrity": "sha512-TRo1YxJ+AVjt5ms+mTOp8xcoCis5HAUMzv0XfCvxtIw77Bog6TPR5VdkGutlEQOKUMzXtLP0lW88fTQBeiiOnA==", + "requires": { + "@multiformats/multiaddr": "^12.1.10", + "it-pushable": "^3.2.1", + "it-stream-types": "^2.0.1", + "multiformats": "^12.1.3", + "uint8arraylist": "^2.4.3" + } + }, + "@libp2p/interface-internal": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@libp2p/interface-internal/-/interface-internal-1.0.2.tgz", + "integrity": "sha512-dXcGapwhrFp78NJbRBYi07qxp8Gfb2Z611zkWURApIx3PQc4r8kzftqCOCaZ9lnWYzutf0Eo4mPGuU0Ysm3MPA==", + "requires": { + "@libp2p/interface": "^1.0.1", + "@libp2p/peer-collections": "^5.1.0", + "@multiformats/multiaddr": "^12.1.10", + "uint8arraylist": "^2.4.3" + } + }, + "@libp2p/peer-collections": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@libp2p/peer-collections/-/peer-collections-5.1.0.tgz", + "integrity": "sha512-JWXbzAmXxiB4ioK5J4SX41XxOaXReqcn5p705mWhrLt63Mwwu6CCkCOH1/CstydeKetU8yMz+vDOnPpXLk2W9w==", + "requires": { + "@libp2p/interface": "^1.0.1", + "@libp2p/peer-id": "^4.0.1" + } + }, + "@libp2p/peer-id": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-4.0.1.tgz", + "integrity": "sha512-rEgZ4YPSVh7gqIXxWE9HVw318Og8fJohI2vWXNx2h+Ib/iMQTGrqGgSaJhjUMWYIy8MadpjofCPXObPEIX3E3g==", + "requires": { + "@libp2p/interface": "^1.0.1", + "multiformats": "^12.1.3", + "uint8arrays": "^4.0.6" + } + }, + "@libp2p/utils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@libp2p/utils/-/utils-5.0.2.tgz", + "integrity": "sha512-PcDAH8pwtXq0pfoO9arHtg3CsqF+reheUd0OaQ9/Fn0YjjNpqcpseQyByBiwhiuQsauWo5RU+CKqRaRdvXKemA==", + "requires": { + "@chainsafe/is-ip": "^2.0.2", + "@libp2p/interface": "^1.0.1", + "@multiformats/multiaddr": "^12.1.10", + "@multiformats/multiaddr-matcher": "^1.1.0", + "get-iterator": "^2.0.1", + "is-loopback-addr": "^2.0.1", + "it-pushable": "^3.2.2", + "it-stream-types": "^2.0.1", + "p-queue": "^7.4.1", + "private-ip": "^3.0.1", + "race-signal": "^1.0.1", + "uint8arraylist": "^2.4.3" + } + }, + "@types/retry": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", + "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==" + }, + "p-retry": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.1.0.tgz", + "integrity": "sha512-fJLEQ2KqYBJRuaA/8cKMnqhulqNM+bpcjYtXNex2t3mOXKRYPitAJt9NacSf8XAFzcYahSAbKpobiWDSqHSh2g==", + "requires": { + "@types/retry": "0.12.2", + "is-network-error": "^1.0.0", + "retry": "^0.13.1" + } + } + } + }, "@libp2p/crypto": { "version": "2.0.8", "resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-2.0.8.tgz", diff --git a/package.json b/package.json index 66f42f0..7b1b892 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "@chainsafe/libp2p-noise": "13.0.1", "@chainsafe/libp2p-yamux": "5.0.0", "@libp2p/bootstrap": "9.0.8", + "@libp2p/circuit-relay-v2": "1.0.6", "@libp2p/identify": "1.0.5", "@libp2p/tcp": "8.0.9", "axios": "0.27.2", diff --git a/src/adapters/ipfs/ipfs.js b/src/adapters/ipfs/ipfs.js index f2a16ba..4dc5d8c 100644 --- a/src/adapters/ipfs/ipfs.js +++ b/src/adapters/ipfs/ipfs.js @@ -19,7 +19,8 @@ import { noise } from '@chainsafe/libp2p-noise' import { yamux } from '@chainsafe/libp2p-yamux' // import { bootstrap } from '@libp2p/bootstrap' import { identify } from '@libp2p/identify' -import { circuitRelayServer, circuitRelayTransport } from 'libp2p/circuit-relay' +// import { circuitRelayServer, circuitRelayTransport } from 'libp2p/circuit-relay' +import { circuitRelayServer, circuitRelayTransport } from '@libp2p/circuit-relay-v2' import { gossipsub } from '@chainsafe/libp2p-gossipsub' import { webSockets } from '@libp2p/websockets' import publicIp from 'public-ip'