@leofcoin/peernet 0.11.31 → 0.12.0
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/160.peernet.js +3809 -0
- package/dist/browser/peernet.js +664 -4197
- package/dist/commonjs/dht-response.js +5 -6
- package/dist/commonjs/dht.js +5 -6
- package/dist/commonjs/peernet-message.js +5 -6
- package/dist/commonjs/peernet.js +30 -8
- package/dist/commonjs/request.js +5 -6
- package/dist/commonjs/response.js +5 -6
- package/dist/module/peernet.js +57 -14
- package/package.json +2 -3
- package/src/discovery/peer-discovery.js +4 -4
- package/src/handlers/data.js +2 -2
- package/src/handlers/message.js +1 -1
- package/src/messages/chat-message.js +5 -2
- package/src/messages/data-response.js +5 -2
- package/src/messages/data.js +5 -2
- package/src/messages/dht-response.js +5 -2
- package/src/messages/dht.js +5 -2
- package/src/messages/peer-response.js +5 -2
- package/src/messages/peer.js +5 -2
- package/src/messages/peernet-message.js +5 -2
- package/src/messages/ps.js +5 -2
- package/src/messages/request.js +5 -2
- package/src/messages/response.js +5 -2
- package/src/peernet.js +17 -14
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var protons = require('protons');
|
|
4
3
|
var codecFormatInterface = require('@leofcoin/codec-format-interface');
|
|
5
4
|
|
|
6
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
7
|
-
|
|
8
|
-
var protons__default = /*#__PURE__*/_interopDefaultLegacy(protons);
|
|
9
|
-
|
|
10
5
|
var proto = `
|
|
11
6
|
// PeernetDHTMessageResponse
|
|
12
7
|
message PeernetDHTMessageResponse {
|
|
@@ -20,9 +15,13 @@ class DHTMessageResponse extends codecFormatInterface.FormatInterface {
|
|
|
20
15
|
return ['hash', 'has']
|
|
21
16
|
}
|
|
22
17
|
|
|
18
|
+
get messageName() {
|
|
19
|
+
return 'PeernetDHTMessageResponse'
|
|
20
|
+
}
|
|
21
|
+
|
|
23
22
|
constructor(data) {
|
|
24
23
|
const name = 'peernet-dht-response';
|
|
25
|
-
super(data,
|
|
24
|
+
super(data, proto, {name});
|
|
26
25
|
}
|
|
27
26
|
}
|
|
28
27
|
|
package/dist/commonjs/dht.js
CHANGED
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var protons = require('protons');
|
|
4
3
|
var codecFormatInterface = require('@leofcoin/codec-format-interface');
|
|
5
4
|
|
|
6
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
7
|
-
|
|
8
|
-
var protons__default = /*#__PURE__*/_interopDefaultLegacy(protons);
|
|
9
|
-
|
|
10
5
|
var proto = `
|
|
11
6
|
// PeernetDHTMessage
|
|
12
7
|
message PeernetDHTMessage {
|
|
@@ -31,9 +26,13 @@ class DHTMessage extends codecFormatInterface.FormatInterface {
|
|
|
31
26
|
return ['hash', 'store']
|
|
32
27
|
}
|
|
33
28
|
|
|
29
|
+
get messageName() {
|
|
30
|
+
return 'PeernetDHTMessage'
|
|
31
|
+
}
|
|
32
|
+
|
|
34
33
|
constructor(data) {
|
|
35
34
|
const name = 'peernet-dht';
|
|
36
|
-
super(data,
|
|
35
|
+
super(data, proto, {name});
|
|
37
36
|
}
|
|
38
37
|
}
|
|
39
38
|
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var protons = require('protons');
|
|
4
3
|
var codecFormatInterface = require('@leofcoin/codec-format-interface');
|
|
5
4
|
|
|
6
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
7
|
-
|
|
8
|
-
var protons__default = /*#__PURE__*/_interopDefaultLegacy(protons);
|
|
9
|
-
|
|
10
5
|
var proto = `
|
|
11
6
|
// PeernetMessage
|
|
12
7
|
message PeernetMessage {
|
|
@@ -22,9 +17,13 @@ class PeernetMessage extends codecFormatInterface.FormatInterface {
|
|
|
22
17
|
return ['data', 'signature', 'from', 'to', 'id']
|
|
23
18
|
}
|
|
24
19
|
|
|
20
|
+
get messageName() {
|
|
21
|
+
return 'PeernetMessage'
|
|
22
|
+
}
|
|
23
|
+
|
|
25
24
|
constructor(buffer) {
|
|
26
25
|
const name = 'peernet-message';
|
|
27
|
-
super(buffer,
|
|
26
|
+
super(buffer, proto, {name});
|
|
28
27
|
}
|
|
29
28
|
}
|
|
30
29
|
|
package/dist/commonjs/peernet.js
CHANGED
|
@@ -6,7 +6,6 @@ var LeofcoinStorage = require('@leofcoin/storage');
|
|
|
6
6
|
var peernetMessage = require('./peernet-message.js');
|
|
7
7
|
var dht = require('./dht.js');
|
|
8
8
|
var dhtResponse = require('./dht-response.js');
|
|
9
|
-
var protons = require('protons');
|
|
10
9
|
var codecFormatInterface = require('@leofcoin/codec-format-interface');
|
|
11
10
|
var request = require('./request.js');
|
|
12
11
|
var response = require('./response.js');
|
|
@@ -43,7 +42,6 @@ function _interopNamespace(e) {
|
|
|
43
42
|
|
|
44
43
|
var pako__default = /*#__PURE__*/_interopDefaultLegacy(pako);
|
|
45
44
|
var LeofcoinStorage__default = /*#__PURE__*/_interopDefaultLegacy(LeofcoinStorage);
|
|
46
|
-
var protons__default = /*#__PURE__*/_interopDefaultLegacy(protons);
|
|
47
45
|
var fetch__default = /*#__PURE__*/_interopDefaultLegacy(fetch);
|
|
48
46
|
var MultiWallet__default = /*#__PURE__*/_interopDefaultLegacy(MultiWallet$1);
|
|
49
47
|
var bs58check__default = /*#__PURE__*/_interopDefaultLegacy(bs58check);
|
|
@@ -742,11 +740,15 @@ class DataMessage extends codecFormatInterface.FormatInterface {
|
|
|
742
740
|
get keys() {
|
|
743
741
|
return ['hash', 'store']
|
|
744
742
|
}
|
|
743
|
+
|
|
744
|
+
get messageName() {
|
|
745
|
+
return 'PeernetDataMessage'
|
|
746
|
+
}
|
|
745
747
|
/**
|
|
746
748
|
* @param {Buffer|String|Object|DataMessage} data - The data needed to create the DataMessage
|
|
747
749
|
*/
|
|
748
750
|
constructor(data) {
|
|
749
|
-
super(data,
|
|
751
|
+
super(data, proto$5, {name: 'peernet-data'});
|
|
750
752
|
}
|
|
751
753
|
}
|
|
752
754
|
|
|
@@ -762,9 +764,13 @@ class PsMessage extends codecFormatInterface.FormatInterface {
|
|
|
762
764
|
return ['data', 'topic']
|
|
763
765
|
}
|
|
764
766
|
|
|
767
|
+
get messageName() {
|
|
768
|
+
return 'PsMessage'
|
|
769
|
+
}
|
|
770
|
+
|
|
765
771
|
constructor(buffer) {
|
|
766
772
|
const name = 'peernet-ps';
|
|
767
|
-
super(buffer,
|
|
773
|
+
super(buffer, proto$4, {name});
|
|
768
774
|
}
|
|
769
775
|
}
|
|
770
776
|
|
|
@@ -780,9 +786,13 @@ class PeerMessage extends codecFormatInterface.FormatInterface {
|
|
|
780
786
|
return ['id']
|
|
781
787
|
}
|
|
782
788
|
|
|
789
|
+
get messageName() {
|
|
790
|
+
return 'PeernetPeerMessage'
|
|
791
|
+
}
|
|
792
|
+
|
|
783
793
|
constructor(data) {
|
|
784
794
|
const name = 'peernet-peer';
|
|
785
|
-
super(data,
|
|
795
|
+
super(data, proto$3, {name});
|
|
786
796
|
}
|
|
787
797
|
}
|
|
788
798
|
|
|
@@ -798,9 +808,13 @@ class PeerMessageResponse extends codecFormatInterface.FormatInterface {
|
|
|
798
808
|
return ['id']
|
|
799
809
|
}
|
|
800
810
|
|
|
811
|
+
get messageName() {
|
|
812
|
+
return 'PeernetPeerMessageResponse'
|
|
813
|
+
}
|
|
814
|
+
|
|
801
815
|
constructor(data) {
|
|
802
816
|
const name = 'peernet-peer-response';
|
|
803
|
-
super(data,
|
|
817
|
+
super(data, proto$2, {name});
|
|
804
818
|
}
|
|
805
819
|
}
|
|
806
820
|
|
|
@@ -817,9 +831,13 @@ class DataMessageResponse extends codecFormatInterface.FormatInterface {
|
|
|
817
831
|
return ['hash', 'data']
|
|
818
832
|
}
|
|
819
833
|
|
|
834
|
+
get messageName() {
|
|
835
|
+
return 'PeernetDataMessageResponse'
|
|
836
|
+
}
|
|
837
|
+
|
|
820
838
|
constructor(data) {
|
|
821
839
|
const name = 'peernet-data-response';
|
|
822
|
-
super(data,
|
|
840
|
+
super(data, proto$1, {name});
|
|
823
841
|
}
|
|
824
842
|
}
|
|
825
843
|
|
|
@@ -836,9 +854,13 @@ class ChatMessage extends codecFormatInterface.FormatInterface {
|
|
|
836
854
|
return ['author', 'value', 'timestamp', 'files']
|
|
837
855
|
}
|
|
838
856
|
|
|
857
|
+
get messageName() {
|
|
858
|
+
return 'ChatMessage'
|
|
859
|
+
}
|
|
860
|
+
|
|
839
861
|
constructor(buffer) {
|
|
840
862
|
const name = 'chat-message';
|
|
841
|
-
super(buffer,
|
|
863
|
+
super(buffer, proto, {name});
|
|
842
864
|
}
|
|
843
865
|
}
|
|
844
866
|
|
package/dist/commonjs/request.js
CHANGED
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var protons = require('protons');
|
|
4
3
|
var codecFormatInterface = require('@leofcoin/codec-format-interface');
|
|
5
4
|
|
|
6
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
7
|
-
|
|
8
|
-
var protons__default = /*#__PURE__*/_interopDefaultLegacy(protons);
|
|
9
|
-
|
|
10
5
|
var proto = `
|
|
11
6
|
// PeernetRequestMessage
|
|
12
7
|
message PeernetRequestMessage {
|
|
@@ -19,9 +14,13 @@ class RequestMessage extends codecFormatInterface.FormatInterface {
|
|
|
19
14
|
return ['request']
|
|
20
15
|
}
|
|
21
16
|
|
|
17
|
+
get messageName() {
|
|
18
|
+
return 'PeernetRequestMessage'
|
|
19
|
+
}
|
|
20
|
+
|
|
22
21
|
constructor(data) {
|
|
23
22
|
const name = 'peernet-request';
|
|
24
|
-
super(data,
|
|
23
|
+
super(data, proto, {name});
|
|
25
24
|
}
|
|
26
25
|
}
|
|
27
26
|
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var protons = require('protons');
|
|
4
3
|
var codecFormatInterface = require('@leofcoin/codec-format-interface');
|
|
5
4
|
|
|
6
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
7
|
-
|
|
8
|
-
var protons__default = /*#__PURE__*/_interopDefaultLegacy(protons);
|
|
9
|
-
|
|
10
5
|
var proto = `
|
|
11
6
|
// PeernetResponseMessage
|
|
12
7
|
message PeernetResponseMessage {
|
|
@@ -19,9 +14,13 @@ class ResponseMessage extends codecFormatInterface.FormatInterface {
|
|
|
19
14
|
return ['response']
|
|
20
15
|
}
|
|
21
16
|
|
|
17
|
+
get messageName() {
|
|
18
|
+
return 'PeernetResponseMessage'
|
|
19
|
+
}
|
|
20
|
+
|
|
22
21
|
constructor(data) {
|
|
23
22
|
const name = 'peernet-response';
|
|
24
|
-
super(data,
|
|
23
|
+
super(data, proto, {name});
|
|
25
24
|
}
|
|
26
25
|
}
|
|
27
26
|
|
package/dist/module/peernet.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import '@vandeurenglenn/debug';
|
|
2
2
|
import pako from 'pako';
|
|
3
3
|
import LeofcoinStorage from '@leofcoin/storage';
|
|
4
|
-
import protons from 'protons';
|
|
5
4
|
import { FormatInterface, Codec, CodecHash, codecs } from '@leofcoin/codec-format-interface';
|
|
6
5
|
import MultiWallet$1 from '@leofcoin/multi-wallet';
|
|
7
6
|
import * as bs58check from 'bs58check';
|
|
@@ -700,9 +699,13 @@ class PeernetMessage extends FormatInterface {
|
|
|
700
699
|
return ['data', 'signature', 'from', 'to', 'id']
|
|
701
700
|
}
|
|
702
701
|
|
|
702
|
+
get messageName() {
|
|
703
|
+
return 'PeernetMessage'
|
|
704
|
+
}
|
|
705
|
+
|
|
703
706
|
constructor(buffer) {
|
|
704
707
|
const name = 'peernet-message';
|
|
705
|
-
super(buffer,
|
|
708
|
+
super(buffer, proto$a, {name});
|
|
706
709
|
}
|
|
707
710
|
}
|
|
708
711
|
|
|
@@ -730,9 +733,13 @@ class DHTMessage extends FormatInterface {
|
|
|
730
733
|
return ['hash', 'store']
|
|
731
734
|
}
|
|
732
735
|
|
|
736
|
+
get messageName() {
|
|
737
|
+
return 'PeernetDHTMessage'
|
|
738
|
+
}
|
|
739
|
+
|
|
733
740
|
constructor(data) {
|
|
734
741
|
const name = 'peernet-dht';
|
|
735
|
-
super(data,
|
|
742
|
+
super(data, proto$9, {name});
|
|
736
743
|
}
|
|
737
744
|
}
|
|
738
745
|
|
|
@@ -749,9 +756,13 @@ class DHTMessageResponse extends FormatInterface {
|
|
|
749
756
|
return ['hash', 'has']
|
|
750
757
|
}
|
|
751
758
|
|
|
759
|
+
get messageName() {
|
|
760
|
+
return 'PeernetDHTMessageResponse'
|
|
761
|
+
}
|
|
762
|
+
|
|
752
763
|
constructor(data) {
|
|
753
764
|
const name = 'peernet-dht-response';
|
|
754
|
-
super(data,
|
|
765
|
+
super(data, proto$8, {name});
|
|
755
766
|
}
|
|
756
767
|
}
|
|
757
768
|
|
|
@@ -770,11 +781,15 @@ class DataMessage extends FormatInterface {
|
|
|
770
781
|
get keys() {
|
|
771
782
|
return ['hash', 'store']
|
|
772
783
|
}
|
|
784
|
+
|
|
785
|
+
get messageName() {
|
|
786
|
+
return 'PeernetDataMessage'
|
|
787
|
+
}
|
|
773
788
|
/**
|
|
774
789
|
* @param {Buffer|String|Object|DataMessage} data - The data needed to create the DataMessage
|
|
775
790
|
*/
|
|
776
791
|
constructor(data) {
|
|
777
|
-
super(data,
|
|
792
|
+
super(data, proto$7, {name: 'peernet-data'});
|
|
778
793
|
}
|
|
779
794
|
}
|
|
780
795
|
|
|
@@ -790,9 +805,13 @@ class PsMessage extends FormatInterface {
|
|
|
790
805
|
return ['data', 'topic']
|
|
791
806
|
}
|
|
792
807
|
|
|
808
|
+
get messageName() {
|
|
809
|
+
return 'PsMessage'
|
|
810
|
+
}
|
|
811
|
+
|
|
793
812
|
constructor(buffer) {
|
|
794
813
|
const name = 'peernet-ps';
|
|
795
|
-
super(buffer,
|
|
814
|
+
super(buffer, proto$6, {name});
|
|
796
815
|
}
|
|
797
816
|
}
|
|
798
817
|
|
|
@@ -808,9 +827,13 @@ class PeerMessage extends FormatInterface {
|
|
|
808
827
|
return ['id']
|
|
809
828
|
}
|
|
810
829
|
|
|
830
|
+
get messageName() {
|
|
831
|
+
return 'PeernetPeerMessage'
|
|
832
|
+
}
|
|
833
|
+
|
|
811
834
|
constructor(data) {
|
|
812
835
|
const name = 'peernet-peer';
|
|
813
|
-
super(data,
|
|
836
|
+
super(data, proto$5, {name});
|
|
814
837
|
}
|
|
815
838
|
}
|
|
816
839
|
|
|
@@ -826,9 +849,13 @@ class RequestMessage extends FormatInterface {
|
|
|
826
849
|
return ['request']
|
|
827
850
|
}
|
|
828
851
|
|
|
852
|
+
get messageName() {
|
|
853
|
+
return 'PeernetRequestMessage'
|
|
854
|
+
}
|
|
855
|
+
|
|
829
856
|
constructor(data) {
|
|
830
857
|
const name = 'peernet-request';
|
|
831
|
-
super(data,
|
|
858
|
+
super(data, proto$4, {name});
|
|
832
859
|
}
|
|
833
860
|
}
|
|
834
861
|
|
|
@@ -844,9 +871,13 @@ class ResponseMessage extends FormatInterface {
|
|
|
844
871
|
return ['response']
|
|
845
872
|
}
|
|
846
873
|
|
|
874
|
+
get messageName() {
|
|
875
|
+
return 'PeernetResponseMessage'
|
|
876
|
+
}
|
|
877
|
+
|
|
847
878
|
constructor(data) {
|
|
848
879
|
const name = 'peernet-response';
|
|
849
|
-
super(data,
|
|
880
|
+
super(data, proto$3, {name});
|
|
850
881
|
}
|
|
851
882
|
}
|
|
852
883
|
|
|
@@ -862,9 +893,13 @@ class PeerMessageResponse extends FormatInterface {
|
|
|
862
893
|
return ['id']
|
|
863
894
|
}
|
|
864
895
|
|
|
896
|
+
get messageName() {
|
|
897
|
+
return 'PeernetPeerMessageResponse'
|
|
898
|
+
}
|
|
899
|
+
|
|
865
900
|
constructor(data) {
|
|
866
901
|
const name = 'peernet-peer-response';
|
|
867
|
-
super(data,
|
|
902
|
+
super(data, proto$2, {name});
|
|
868
903
|
}
|
|
869
904
|
}
|
|
870
905
|
|
|
@@ -881,9 +916,13 @@ class DataMessageResponse extends FormatInterface {
|
|
|
881
916
|
return ['hash', 'data']
|
|
882
917
|
}
|
|
883
918
|
|
|
919
|
+
get messageName() {
|
|
920
|
+
return 'PeernetDataMessageResponse'
|
|
921
|
+
}
|
|
922
|
+
|
|
884
923
|
constructor(data) {
|
|
885
924
|
const name = 'peernet-data-response';
|
|
886
|
-
super(data,
|
|
925
|
+
super(data, proto$1, {name});
|
|
887
926
|
}
|
|
888
927
|
}
|
|
889
928
|
|
|
@@ -900,9 +939,13 @@ class ChatMessage extends FormatInterface {
|
|
|
900
939
|
return ['author', 'value', 'timestamp', 'files']
|
|
901
940
|
}
|
|
902
941
|
|
|
942
|
+
get messageName() {
|
|
943
|
+
return 'ChatMessage'
|
|
944
|
+
}
|
|
945
|
+
|
|
903
946
|
constructor(buffer) {
|
|
904
947
|
const name = 'chat-message';
|
|
905
|
-
super(buffer,
|
|
948
|
+
super(buffer, proto, {name});
|
|
906
949
|
}
|
|
907
950
|
}
|
|
908
951
|
|
|
@@ -1909,7 +1952,7 @@ class Peernet {
|
|
|
1909
1952
|
const {daemon, environment} = await target();
|
|
1910
1953
|
this.hasDaemon = daemon;
|
|
1911
1954
|
|
|
1912
|
-
|
|
1955
|
+
|
|
1913
1956
|
|
|
1914
1957
|
for (const store of this.defaultStores) {
|
|
1915
1958
|
await this.addStore(store, options.storePrefix, options.root);
|
|
@@ -2302,7 +2345,7 @@ class Peernet {
|
|
|
2302
2345
|
if (topic instanceof Uint8Array === false) topic = new TextEncoder().encode(topic);
|
|
2303
2346
|
if (data instanceof Uint8Array === false) data = new TextEncoder().encode(JSON.stringify(data));
|
|
2304
2347
|
const id = Math.random().toString(36).slice(-12);
|
|
2305
|
-
data = new PsMessage({data, topic});
|
|
2348
|
+
data = await new PsMessage({data, topic});
|
|
2306
2349
|
for (const peer of this.connections) {
|
|
2307
2350
|
if (peer.peerId !== this.peerId) {
|
|
2308
2351
|
const node = await this.prepareMessage(peer.peerId, data.encoded);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@leofcoin/peernet",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/commonjs/peernet.js",
|
|
6
6
|
"module": "dist/module/peernet.js",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"license": "MIT",
|
|
24
24
|
"browserslist": "> 0.5%, last 2 versions, not dead",
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@leofcoin/codec-format-interface": "^1.0
|
|
26
|
+
"@leofcoin/codec-format-interface": "^1.1.0",
|
|
27
27
|
"@leofcoin/generate-account": "^1.0.2",
|
|
28
28
|
"@leofcoin/multi-wallet": "^2.1.2",
|
|
29
29
|
"@leofcoin/peernet-swarm": "^0.3.1",
|
|
@@ -35,7 +35,6 @@
|
|
|
35
35
|
"keccak": "^3.0.1",
|
|
36
36
|
"koa": "^2.13.1",
|
|
37
37
|
"node-fetch": "^2.6.1",
|
|
38
|
-
"protons": "^2.0.1",
|
|
39
38
|
"socket-request-client": "^1.5.0",
|
|
40
39
|
"socket-request-server": "^1.5.0",
|
|
41
40
|
"stream-browserify": "^3.0.0",
|
|
@@ -18,12 +18,12 @@ export default class PeerDiscovery {
|
|
|
18
18
|
async discover(peer) {
|
|
19
19
|
let id = this._getPeerId(peer.id)
|
|
20
20
|
if (id) return id
|
|
21
|
-
const data = new peernet.protos['peernet-peer']({id: this.id})
|
|
21
|
+
const data = await new peernet.protos['peernet-peer']({id: this.id})
|
|
22
22
|
const node = await peernet.prepareMessage(peer.id, data.encoded)
|
|
23
23
|
|
|
24
24
|
let response = await peer.request(node.encoded)
|
|
25
|
-
response = protoFor(response)
|
|
26
|
-
response = new peernet.protos['peernet-peer-response'](response.decoded.data)
|
|
25
|
+
response = await protoFor(response)
|
|
26
|
+
response = await new peernet.protos['peernet-peer-response'](response.decoded.data)
|
|
27
27
|
|
|
28
28
|
id = response.decoded.id
|
|
29
29
|
if (id === this.id) return;
|
|
@@ -54,7 +54,7 @@ export default class PeerDiscovery {
|
|
|
54
54
|
peernet.peerMap.set(from, connections)
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
const data = new peernet.protos['peernet-peer-response']({id: this.id})
|
|
57
|
+
const data = await new peernet.protos['peernet-peer-response']({id: this.id})
|
|
58
58
|
const node = await peernet.prepareMessage(from, data.encoded)
|
|
59
59
|
|
|
60
60
|
peer.write(Buffer.from(JSON.stringify({id, data: node.encoded})))
|
package/src/handlers/data.js
CHANGED
|
@@ -5,8 +5,8 @@ const dataHandler = async message => {
|
|
|
5
5
|
|
|
6
6
|
const {data, id} = message
|
|
7
7
|
|
|
8
|
-
message = protoFor(data)
|
|
9
|
-
const proto = protoFor(message.decoded.data)
|
|
8
|
+
message = await protoFor(data)
|
|
9
|
+
const proto = await protoFor(message.decoded.data)
|
|
10
10
|
const from = message.decoded.from
|
|
11
11
|
|
|
12
12
|
peernet._protoHandler({id, proto}, peernet.client.connections[from], from)
|
package/src/handlers/message.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import protons from 'protons'
|
|
2
1
|
import proto from './../proto/chat-message.proto.js'
|
|
3
2
|
import { FormatInterface } from '@leofcoin/codec-format-interface'
|
|
4
3
|
|
|
@@ -7,8 +6,12 @@ export default class ChatMessage extends FormatInterface {
|
|
|
7
6
|
return ['author', 'value', 'timestamp', 'files']
|
|
8
7
|
}
|
|
9
8
|
|
|
9
|
+
get messageName() {
|
|
10
|
+
return 'ChatMessage'
|
|
11
|
+
}
|
|
12
|
+
|
|
10
13
|
constructor(buffer) {
|
|
11
14
|
const name = 'chat-message'
|
|
12
|
-
super(buffer,
|
|
15
|
+
super(buffer, proto, {name})
|
|
13
16
|
}
|
|
14
17
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import protons from 'protons'
|
|
2
1
|
import proto from './../proto/data-response.proto.js'
|
|
3
2
|
import { FormatInterface } from '@leofcoin/codec-format-interface'
|
|
4
3
|
|
|
@@ -7,8 +6,12 @@ export default class DataMessageResponse extends FormatInterface {
|
|
|
7
6
|
return ['hash', 'data']
|
|
8
7
|
}
|
|
9
8
|
|
|
9
|
+
get messageName() {
|
|
10
|
+
return 'PeernetDataMessageResponse'
|
|
11
|
+
}
|
|
12
|
+
|
|
10
13
|
constructor(data) {
|
|
11
14
|
const name = 'peernet-data-response'
|
|
12
|
-
super(data,
|
|
15
|
+
super(data, proto, {name})
|
|
13
16
|
}
|
|
14
17
|
}
|
package/src/messages/data.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import protons from 'protons'
|
|
2
1
|
import proto from './../proto/data.proto.js'
|
|
3
2
|
import { FormatInterface } from '@leofcoin/codec-format-interface'
|
|
4
3
|
|
|
@@ -9,10 +8,14 @@ export default class DataMessage extends FormatInterface {
|
|
|
9
8
|
get keys() {
|
|
10
9
|
return ['hash', 'store']
|
|
11
10
|
}
|
|
11
|
+
|
|
12
|
+
get messageName() {
|
|
13
|
+
return 'PeernetDataMessage'
|
|
14
|
+
}
|
|
12
15
|
/**
|
|
13
16
|
* @param {Buffer|String|Object|DataMessage} data - The data needed to create the DataMessage
|
|
14
17
|
*/
|
|
15
18
|
constructor(data) {
|
|
16
|
-
super(data,
|
|
19
|
+
super(data, proto, {name: 'peernet-data'})
|
|
17
20
|
}
|
|
18
21
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import protons from 'protons'
|
|
2
1
|
import proto from './../proto/dht-response.proto.js'
|
|
3
2
|
import { FormatInterface } from '@leofcoin/codec-format-interface'
|
|
4
3
|
|
|
@@ -7,8 +6,12 @@ export default class DHTMessageResponse extends FormatInterface {
|
|
|
7
6
|
return ['hash', 'has']
|
|
8
7
|
}
|
|
9
8
|
|
|
9
|
+
get messageName() {
|
|
10
|
+
return 'PeernetDHTMessageResponse'
|
|
11
|
+
}
|
|
12
|
+
|
|
10
13
|
constructor(data) {
|
|
11
14
|
const name = 'peernet-dht-response'
|
|
12
|
-
super(data,
|
|
15
|
+
super(data, proto, {name})
|
|
13
16
|
}
|
|
14
17
|
}
|
package/src/messages/dht.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import protons from 'protons'
|
|
2
1
|
import proto from './../proto/dht.proto.js'
|
|
3
2
|
import { FormatInterface } from '@leofcoin/codec-format-interface'
|
|
4
3
|
|
|
@@ -18,8 +17,12 @@ export default class DHTMessage extends FormatInterface {
|
|
|
18
17
|
return ['hash', 'store']
|
|
19
18
|
}
|
|
20
19
|
|
|
20
|
+
get messageName() {
|
|
21
|
+
return 'PeernetDHTMessage'
|
|
22
|
+
}
|
|
23
|
+
|
|
21
24
|
constructor(data) {
|
|
22
25
|
const name = 'peernet-dht'
|
|
23
|
-
super(data,
|
|
26
|
+
super(data, proto, {name})
|
|
24
27
|
}
|
|
25
28
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import protons from 'protons'
|
|
2
1
|
import proto from './../proto/peer-response.proto.js'
|
|
3
2
|
import { FormatInterface } from '@leofcoin/codec-format-interface'
|
|
4
3
|
|
|
@@ -7,8 +6,12 @@ export default class PeerMessageResponse extends FormatInterface {
|
|
|
7
6
|
return ['id']
|
|
8
7
|
}
|
|
9
8
|
|
|
9
|
+
get messageName() {
|
|
10
|
+
return 'PeernetPeerMessageResponse'
|
|
11
|
+
}
|
|
12
|
+
|
|
10
13
|
constructor(data) {
|
|
11
14
|
const name = 'peernet-peer-response'
|
|
12
|
-
super(data,
|
|
15
|
+
super(data, proto, {name})
|
|
13
16
|
}
|
|
14
17
|
}
|
package/src/messages/peer.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import protons from 'protons'
|
|
2
1
|
import proto from './../proto/peer.proto.js'
|
|
3
2
|
import { FormatInterface } from '@leofcoin/codec-format-interface'
|
|
4
3
|
|
|
@@ -7,8 +6,12 @@ export default class PeerMessage extends FormatInterface {
|
|
|
7
6
|
return ['id']
|
|
8
7
|
}
|
|
9
8
|
|
|
9
|
+
get messageName() {
|
|
10
|
+
return 'PeernetPeerMessage'
|
|
11
|
+
}
|
|
12
|
+
|
|
10
13
|
constructor(data) {
|
|
11
14
|
const name = 'peernet-peer'
|
|
12
|
-
super(data,
|
|
15
|
+
super(data, proto, {name})
|
|
13
16
|
}
|
|
14
17
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import protons from 'protons'
|
|
2
1
|
import proto from './../proto/peernet.proto.js'
|
|
3
2
|
import { FormatInterface } from '@leofcoin/codec-format-interface'
|
|
4
3
|
|
|
@@ -7,8 +6,12 @@ export default class PeernetMessage extends FormatInterface {
|
|
|
7
6
|
return ['data', 'signature', 'from', 'to', 'id']
|
|
8
7
|
}
|
|
9
8
|
|
|
9
|
+
get messageName() {
|
|
10
|
+
return 'PeernetMessage'
|
|
11
|
+
}
|
|
12
|
+
|
|
10
13
|
constructor(buffer) {
|
|
11
14
|
const name = 'peernet-message'
|
|
12
|
-
super(buffer,
|
|
15
|
+
super(buffer, proto, {name})
|
|
13
16
|
}
|
|
14
17
|
}
|
package/src/messages/ps.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import protons from 'protons'
|
|
2
1
|
import proto from './../proto/ps.proto.js'
|
|
3
2
|
import { FormatInterface } from '@leofcoin/codec-format-interface'
|
|
4
3
|
|
|
@@ -7,8 +6,12 @@ export default class PsMessage extends FormatInterface {
|
|
|
7
6
|
return ['data', 'topic']
|
|
8
7
|
}
|
|
9
8
|
|
|
9
|
+
get messageName() {
|
|
10
|
+
return 'PsMessage'
|
|
11
|
+
}
|
|
12
|
+
|
|
10
13
|
constructor(buffer) {
|
|
11
14
|
const name = 'peernet-ps'
|
|
12
|
-
super(buffer,
|
|
15
|
+
super(buffer, proto, {name})
|
|
13
16
|
}
|
|
14
17
|
}
|