@leofcoin/peernet 0.11.30 → 0.12.1

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.
@@ -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, protons__default["default"](proto).PeernetDHTMessageResponse, {name});
24
+ super(data, proto, {name});
26
25
  }
27
26
  }
28
27
 
@@ -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, protons__default["default"](proto).PeernetDHTMessage, {name});
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, protons__default["default"](proto).PeernetMessage, {name});
26
+ super(buffer, proto, {name});
28
27
  }
29
28
  }
30
29
 
@@ -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, protons__default["default"](proto$5).PeernetDataMessage, {name: 'peernet-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, protons__default["default"](proto$4).PsMessage, {name});
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, protons__default["default"](proto$3).PeernetPeerMessage, {name});
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, protons__default["default"](proto$2).PeernetPeerMessageResponse, {name});
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, protons__default["default"](proto$1).PeernetDataMessageResponse, {name});
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, protons__default["default"](proto).ChatMessage, {name});
863
+ super(buffer, proto, {name});
842
864
  }
843
865
  }
844
866
 
@@ -917,12 +939,12 @@ class PeerDiscovery {
917
939
  async discover(peer) {
918
940
  let id = this._getPeerId(peer.id);
919
941
  if (id) return id
920
- const data = new peernet.protos['peernet-peer']({id: this.id});
942
+ const data = await new peernet.protos['peernet-peer']({id: this.id});
921
943
  const node = await peernet.prepareMessage(peer.id, data.encoded);
922
944
 
923
945
  let response = await peer.request(node.encoded);
924
- response = protoFor(response);
925
- response = new peernet.protos['peernet-peer-response'](response.decoded.data);
946
+ response = await protoFor(response);
947
+ response = await new peernet.protos['peernet-peer-response'](response.decoded.data);
926
948
 
927
949
  id = response.decoded.id;
928
950
  if (id === this.id) return;
@@ -953,7 +975,7 @@ class PeerDiscovery {
953
975
  peernet.peerMap.set(from, connections);
954
976
  }
955
977
  }
956
- const data = new peernet.protos['peernet-peer-response']({id: this.id});
978
+ const data = await new peernet.protos['peernet-peer-response']({id: this.id});
957
979
  const node = await peernet.prepareMessage(from, data.encoded);
958
980
 
959
981
  peer.write(Buffer.from(JSON.stringify({id, data: node.encoded})));
@@ -1652,7 +1674,7 @@ class MessageHandler {
1652
1674
  data,
1653
1675
  };
1654
1676
  const signature = await this.hashAndSignMessage(message);
1655
- const node = new peernetMessage({
1677
+ const node = await new peernetMessage({
1656
1678
  ...message,
1657
1679
  signature,
1658
1680
  });
@@ -1666,8 +1688,8 @@ const dataHandler = async message => {
1666
1688
 
1667
1689
  const {data, id} = message;
1668
1690
 
1669
- message = protoFor(data);
1670
- const proto = protoFor(message.decoded.data);
1691
+ message = await protoFor(data);
1692
+ const proto = await protoFor(message.decoded.data);
1671
1693
  const from = message.decoded.from;
1672
1694
 
1673
1695
  peernet._protoHandler({id, proto}, peernet.client.connections[from], from);
@@ -1733,6 +1755,14 @@ class Peernet {
1733
1755
  return ['account', 'wallet', 'block', 'transaction', 'chain', 'data', 'message']
1734
1756
  }
1735
1757
 
1758
+ get protos() {
1759
+ return globalThis.peernet.protos
1760
+ }
1761
+
1762
+ get codecs() {
1763
+ return codecFormatInterface.codecs
1764
+ }
1765
+
1736
1766
  addProto(name, proto) {
1737
1767
  if (!this.protos[name]) this.protos[name] = proto;
1738
1768
  }
@@ -1837,16 +1867,11 @@ class Peernet {
1837
1867
  'chat-message': ChatMessage,
1838
1868
  };
1839
1869
 
1840
- this.protos = globalThis.peernet.protos;
1841
- this.codecs = codecFormatInterface.codecs;
1842
-
1843
1870
  this._messageHandler = new MessageHandler(this.network);
1844
1871
 
1845
1872
  const {daemon, environment} = await target();
1846
1873
  this.hasDaemon = daemon;
1847
1874
 
1848
-
1849
-
1850
1875
  for (const store of this.defaultStores) {
1851
1876
  await this.addStore(store, options.storePrefix, options.root);
1852
1877
  }
@@ -1860,12 +1885,10 @@ class Peernet {
1860
1885
  // fixing account issue (string while needs to be a JSON)
1861
1886
  // TODO: remove when on mainnet
1862
1887
  try {
1863
- accounts = JSON.parse(new TextDecoder().decode(accounts));
1888
+ this.accounts = JSON.parse(account);
1864
1889
  } catch (e) {
1865
- accounts = [accounts.split(',')];
1890
+ this.accounts = [accounts.split(',')];
1866
1891
  }
1867
-
1868
- this.accounts = JSON.parse(new TextDecoder().decode(accounts));
1869
1892
  } catch (e) {
1870
1893
  if (e.code === 'ERR_NOT_FOUND') {
1871
1894
  const {identity, accounts, config} = await generateAccount(this.network);
@@ -1944,7 +1967,7 @@ class Peernet {
1944
1967
  if (store.private) has = false;
1945
1968
  else has = await store.has(hash);
1946
1969
  }
1947
- const data = new dhtResponse({hash, has});
1970
+ const data = await new dhtResponse({hash, has});
1948
1971
  const node = await this.prepareMessage(from, data.encoded);
1949
1972
 
1950
1973
  this.sendMessage(peer, id, node.encoded);
@@ -1960,7 +1983,7 @@ class Peernet {
1960
1983
  data = await store.get(hash);
1961
1984
 
1962
1985
  if (data) {
1963
- data = new DataMessageResponse({hash, data});
1986
+ data = await new DataMessageResponse({hash, data});
1964
1987
 
1965
1988
  const node = await this.prepareMessage(from, data.encoded);
1966
1989
  this.sendMessage(peer, id, node.encoded);
@@ -1987,16 +2010,16 @@ class Peernet {
1987
2010
  */
1988
2011
  async walk(hash) {
1989
2012
  if (!hash) throw new Error('hash expected, received undefined')
1990
- const data = new dht({hash});
2013
+ const data = await new dht({hash});
1991
2014
  this.client.id;
1992
2015
  const walk = async peer => {
1993
2016
  const node = await this.prepareMessage(peer.peerId, data.encoded);
1994
2017
  let result = await peer.request(node.encoded);
1995
2018
  result = new Uint8Array(Object.values(result));
1996
- let proto = protoFor(result);
2019
+ let proto = await protoFor(result);
1997
2020
  if (proto.name !== 'peernet-message') throw encapsulatedError()
1998
2021
  const from = proto.decoded.from;
1999
- proto = protoFor(proto.decoded.data);
2022
+ proto = await protoFor(proto.decoded.data);
2000
2023
  if (proto.name !== 'peernet-dht-response') throw dhtError(proto.name)
2001
2024
 
2002
2025
  // TODO: give ip and port (just used for location)
@@ -2095,7 +2118,7 @@ class Peernet {
2095
2118
  if (peer.peerId === id) return peer
2096
2119
  });
2097
2120
 
2098
- let data = new DataMessage({hash, store: store?.name ? store?.name : store});
2121
+ let data = await new DataMessage({hash, store: store?.name ? store?.name : store});
2099
2122
 
2100
2123
  const node = await this.prepareMessage(id, data.encoded);
2101
2124
  if (closest[0]) data = await closest[0].request(node.encoded);
@@ -2106,8 +2129,8 @@ class Peernet {
2106
2129
  if (closest[0]) data = await closest[0].request(node.encoded);
2107
2130
  }
2108
2131
  data = new Uint8Array(Object.values(data));
2109
- let proto = protoFor(data);
2110
- proto = protoFor(proto.decoded.data);
2132
+ let proto = await protoFor(data);
2133
+ proto = await protoFor(proto.decoded.data);
2111
2134
  // TODO: store data automaticly or not
2112
2135
  return proto.decoded.data
2113
2136
 
@@ -2240,7 +2263,7 @@ class Peernet {
2240
2263
  if (topic instanceof Uint8Array === false) topic = new TextEncoder().encode(topic);
2241
2264
  if (data instanceof Uint8Array === false) data = new TextEncoder().encode(JSON.stringify(data));
2242
2265
  const id = Math.random().toString(36).slice(-12);
2243
- data = new PsMessage({data, topic});
2266
+ data = await new PsMessage({data, topic});
2244
2267
  for (const peer of this.connections) {
2245
2268
  if (peer.peerId !== this.peerId) {
2246
2269
  const node = await this.prepareMessage(peer.peerId, data.encoded);
@@ -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, protons__default["default"](proto).PeernetRequestMessage, {name});
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, protons__default["default"](proto).PeernetResponseMessage, {name});
23
+ super(data, proto, {name});
25
24
  }
26
25
  }
27
26