@leofcoin/peernet 0.11.14 → 0.11.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/peernet.js +41042 -76302
- package/dist/commonjs/{client-1a1f75e6.js → client-5633ba04.js} +1 -4
- package/dist/commonjs/codec-format-interface.js +7 -7
- package/dist/commonjs/{http-68dd2b96.js → http-feac1075.js} +1 -1
- package/dist/commonjs/peernet.js +221 -66
- package/dist/module/peernet.js +223 -69
- package/index.html +1 -1
- package/package.json +4 -11
- package/rollup.config.js +10 -20
- package/src/codec/codec-format-interface.js +7 -7
- package/src/handlers/message.js +1 -1
- package/src/peernet.js +20 -20
- package/webpack.config.js +12 -3
- package/dist/browser/326.peernet.js +0 -29
package/src/peernet.js
CHANGED
|
@@ -18,7 +18,7 @@ import DHT from './dht/dht.js'
|
|
|
18
18
|
import Hash from './hash/hash'
|
|
19
19
|
import codecs from './codec/codecs'
|
|
20
20
|
import { protoFor, target } from './utils/utils.js'
|
|
21
|
-
import generateAccount from '
|
|
21
|
+
import generateAccount from './../node_modules/@leofcoin/generate-account/dist/module/generate-account'
|
|
22
22
|
import MessageHandler from './handlers/message.js'
|
|
23
23
|
import { encapsulatedError, dhtError,
|
|
24
24
|
nothingFoundError } from './errors/errors.js'
|
|
@@ -86,7 +86,7 @@ export default class Peernet {
|
|
|
86
86
|
if (this.hasDaemon) {
|
|
87
87
|
Storage = LeofcoinStorageClient
|
|
88
88
|
} else {
|
|
89
|
-
Storage = globalThis.LeofcoinStorage
|
|
89
|
+
Storage = globalThis.LeofcoinStorage ? globalThis.LeofcoinStorage : LeofcoinStorage
|
|
90
90
|
}
|
|
91
91
|
globalThis[`${name}Store`] = globalThis[`${name}Store`] ||
|
|
92
92
|
await new Storage(name, root)
|
|
@@ -249,6 +249,16 @@ export default class Peernet {
|
|
|
249
249
|
this.requestProtos[name] = method
|
|
250
250
|
}
|
|
251
251
|
|
|
252
|
+
sendMessage(peer, id, data) {
|
|
253
|
+
if (peer.readyState === 'open') {
|
|
254
|
+
peer.send(new TextEncoder().encode(JSON.stringify({id, data})))
|
|
255
|
+
this.bw.up += data.length
|
|
256
|
+
} else if (peer.readyState === 'closed') {
|
|
257
|
+
this.removePeer(peer)
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
}
|
|
261
|
+
|
|
252
262
|
/**
|
|
253
263
|
* @private
|
|
254
264
|
*
|
|
@@ -273,8 +283,7 @@ export default class Peernet {
|
|
|
273
283
|
const data = new DHTMessageResponse({hash, has})
|
|
274
284
|
const node = await this.prepareMessage(from, data.encoded)
|
|
275
285
|
|
|
276
|
-
|
|
277
|
-
this.bw.up += node.encoded.length
|
|
286
|
+
this.sendMessage(peer, id, node.encoded)
|
|
278
287
|
} else if (proto.name === 'peernet-data') {
|
|
279
288
|
let { hash, store } = proto.decoded
|
|
280
289
|
let data
|
|
@@ -287,26 +296,21 @@ export default class Peernet {
|
|
|
287
296
|
data = await store.get(hash)
|
|
288
297
|
|
|
289
298
|
if (data) {
|
|
290
|
-
data = new DataMessageResponse({hash, data
|
|
299
|
+
data = new DataMessageResponse({hash, data});
|
|
291
300
|
|
|
292
301
|
const node = await this.prepareMessage(from, data.encoded)
|
|
293
|
-
|
|
294
|
-
this.bw.up += node.encoded.length
|
|
302
|
+
this.sendMessage(peer, id, node.encoded)
|
|
295
303
|
}
|
|
296
304
|
} else {
|
|
297
305
|
// ban (trying to access private st)
|
|
298
306
|
}
|
|
299
307
|
|
|
300
308
|
} else if (proto.name === 'peernet-request') {
|
|
301
|
-
// TODO: make dynamic
|
|
302
|
-
// exposeddevapi[proto.decoded.request](proto.decoded.params)
|
|
303
309
|
const method = this.requestProtos[proto.decoded.request]
|
|
304
310
|
if (method) {
|
|
305
311
|
const data = await method()
|
|
306
312
|
const node = await this.prepareMessage(from, data.encoded)
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
this.bw.up += node.encoded.length
|
|
313
|
+
this.sendMessage(peer, id, node.encoded)
|
|
310
314
|
}
|
|
311
315
|
} else if (proto.name === 'peernet-ps' && peer.peerId !== this.id) {
|
|
312
316
|
globalSub.publish(new TextDecoder().decode(proto.decoded.topic), proto.decoded.data)
|
|
@@ -577,13 +581,9 @@ export default class Peernet {
|
|
|
577
581
|
const id = Math.random().toString(36).slice(-12)
|
|
578
582
|
data = new PsMessage({data, topic})
|
|
579
583
|
for (const peer of this.connections) {
|
|
580
|
-
if (peer.
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
peer.send(new TextEncoder().encode(JSON.stringify({id, data: node.encoded})))
|
|
584
|
-
}
|
|
585
|
-
} else {
|
|
586
|
-
this.removePeer(peer)
|
|
584
|
+
if (peer.peerId !== this.peerId) {
|
|
585
|
+
const node = await this.prepareMessage(peer.peerId, data.encoded)
|
|
586
|
+
this.sendMessage(peer, id, node.encoded)
|
|
587
587
|
}
|
|
588
588
|
// TODO: if peer subscribed
|
|
589
589
|
}
|
|
@@ -604,7 +604,7 @@ export default class Peernet {
|
|
|
604
604
|
}
|
|
605
605
|
|
|
606
606
|
async removePeer(peer) {
|
|
607
|
-
|
|
607
|
+
return this.client.removePeer(peer)
|
|
608
608
|
}
|
|
609
609
|
|
|
610
610
|
get Buffer() {
|
package/webpack.config.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
const path = require('path');
|
|
2
2
|
const webpack = require('webpack');
|
|
3
3
|
module.exports = [{
|
|
4
|
-
entry: './
|
|
4
|
+
entry: './dist/browser/peernet.js',
|
|
5
|
+
mode: 'production',
|
|
5
6
|
plugins: [
|
|
6
7
|
// Work around for Buffer is undefined:
|
|
7
8
|
// https://github.com/webpack/changelog-v5/issues/10
|
|
@@ -14,7 +15,13 @@ module.exports = [{
|
|
|
14
15
|
new webpack.DefinePlugin({
|
|
15
16
|
HTTP_IMPORT: '',
|
|
16
17
|
"import fetch from 'node-fetch'": ''
|
|
17
|
-
})
|
|
18
|
+
}),
|
|
19
|
+
new webpack.IgnorePlugin({
|
|
20
|
+
checkResource(resource, context) {
|
|
21
|
+
if (resource.includes('./wordlists') && !resource.includes('english')) return true
|
|
22
|
+
// console.log(resource, context);
|
|
23
|
+
}
|
|
24
|
+
}) // bi39 wordlist (mnemonic) only english
|
|
18
25
|
],
|
|
19
26
|
optimization: {
|
|
20
27
|
minimize: false
|
|
@@ -27,7 +34,9 @@ resolve: {
|
|
|
27
34
|
"stream": require.resolve("stream-browserify"),
|
|
28
35
|
"buffer": require.resolve("buffer"),
|
|
29
36
|
"path": require.resolve("path-browserify"),
|
|
30
|
-
"os": require.resolve("os-browserify")
|
|
37
|
+
"os": require.resolve("os-browserify"),
|
|
38
|
+
"crypto": require.resolve("crypto-browserify"),
|
|
39
|
+
"vm": require.resolve("vm-browserify")
|
|
31
40
|
}
|
|
32
41
|
},
|
|
33
42
|
output: {
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
(self["webpackChunkPeernet"] = self["webpackChunkPeernet"] || []).push([[326],{
|
|
3
|
-
|
|
4
|
-
/***/ 9326:
|
|
5
|
-
/***/ (function(__unused_webpack_module, exports) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
exports.MediaStream = window.MediaStream;
|
|
10
|
-
exports.MediaStreamTrack = window.MediaStreamTrack;
|
|
11
|
-
exports.RTCDataChannel = window.RTCDataChannel;
|
|
12
|
-
exports.RTCDataChannelEvent = window.RTCDataChannelEvent;
|
|
13
|
-
exports.RTCDtlsTransport = window.RTCDtlsTransport;
|
|
14
|
-
exports.RTCIceCandidate = window.RTCIceCandidate;
|
|
15
|
-
exports.RTCIceTransport = window.RTCIceTransport;
|
|
16
|
-
exports.RTCPeerConnection = window.RTCPeerConnection;
|
|
17
|
-
exports.RTCPeerConnectionIceEvent = window.RTCPeerConnectionIceEvent;
|
|
18
|
-
exports.RTCRtpReceiver = window.RTCRtpReceiver;
|
|
19
|
-
exports.RTCRtpSender = window.RTCRtpSender;
|
|
20
|
-
exports.RTCRtpTransceiver = window.RTCRtpTransceiver;
|
|
21
|
-
exports.RTCSctpTransport = window.RTCSctpTransport;
|
|
22
|
-
exports.RTCSessionDescription = window.RTCSessionDescription;
|
|
23
|
-
exports.getUserMedia = window.getUserMedia;
|
|
24
|
-
exports.mediaDevices = navigator.mediaDevices;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
/***/ })
|
|
28
|
-
|
|
29
|
-
}]);
|