@leofcoin/peernet 1.1.56 → 1.1.58

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.
Files changed (94) hide show
  1. package/.esdoc.json +10 -10
  2. package/.eslintrc.json +24 -24
  3. package/.gitattributes +2 -2
  4. package/.travis.yml +27 -27
  5. package/BREAKING_CHANGES.md +34 -34
  6. package/LICENSE +21 -21
  7. package/README.md +72 -72
  8. package/deploy.js +8 -8
  9. package/exports/browser/browser-store.js +4 -3
  10. package/exports/browser/identity.d.ts +18 -0
  11. package/exports/browser/{index-9c85cd32.js → index-8868bdd8.js} +1 -1
  12. package/exports/browser/messages/chat.d.ts +1 -1
  13. package/exports/browser/messages/data-response.d.ts +1 -1
  14. package/exports/browser/messages/dht-response.d.ts +1 -1
  15. package/exports/browser/messages/dht.d.ts +1 -1
  16. package/exports/browser/messages/peer-response.d.ts +1 -1
  17. package/exports/browser/messages/peer.d.ts +1 -1
  18. package/exports/browser/messages/peernet.d.ts +1 -1
  19. package/exports/browser/messages/ps.d.ts +1 -1
  20. package/exports/browser/messages/request.d.ts +1 -1
  21. package/exports/browser/messages/response.d.ts +1 -1
  22. package/exports/browser/{messages-b66f5393.js → messages-eb6e5c71.js} +174 -174
  23. package/exports/browser/{peernet-2797014a.js → peernet-87ea02a4.js} +1402 -1334
  24. package/exports/browser/peernet.d.ts +43 -23
  25. package/exports/browser/peernet.js +1 -1
  26. package/exports/{messages-dc960cb3.js → messages-b9a32987.js} +173 -173
  27. package/exports/peernet.js +305 -251
  28. package/exports/src/prompts/password.js +3 -3
  29. package/exports/store.js +15 -14
  30. package/exports/types/identity.d.ts +18 -0
  31. package/exports/types/messages/chat.d.ts +1 -1
  32. package/exports/types/messages/data-response.d.ts +1 -1
  33. package/exports/types/messages/dht-response.d.ts +1 -1
  34. package/exports/types/messages/dht.d.ts +1 -1
  35. package/exports/types/messages/peer-response.d.ts +1 -1
  36. package/exports/types/messages/peer.d.ts +1 -1
  37. package/exports/types/messages/peernet.d.ts +1 -1
  38. package/exports/types/messages/ps.d.ts +1 -1
  39. package/exports/types/messages/request.d.ts +1 -1
  40. package/exports/types/messages/response.d.ts +1 -1
  41. package/exports/types/peernet.d.ts +43 -23
  42. package/index.html +19 -19
  43. package/package.json +70 -69
  44. package/rollup.config.js +76 -69
  45. package/src/dht/dht.ts +141 -141
  46. package/src/discovery/peer-discovery.js +75 -75
  47. package/src/errors/errors.js +12 -12
  48. package/src/handlers/data.js +11 -11
  49. package/src/handlers/message.js +34 -34
  50. package/src/identity.ts +101 -94
  51. package/src/messages/chat.js +14 -14
  52. package/src/messages/data-response.js +14 -14
  53. package/src/messages/data.js +18 -18
  54. package/src/messages/dht-response.js +14 -14
  55. package/src/messages/dht.js +22 -22
  56. package/src/messages/file-link.js +18 -18
  57. package/src/messages/file.js +18 -18
  58. package/src/messages/peer-response.js +14 -14
  59. package/src/messages/peer.js +13 -13
  60. package/src/messages/peernet.js +14 -14
  61. package/src/messages/ps.js +13 -13
  62. package/src/messages/request.js +14 -14
  63. package/src/messages/response.js +14 -14
  64. package/src/messages.js +13 -13
  65. package/src/peer-info.js +9 -9
  66. package/src/peernet.ts +848 -753
  67. package/src/prompts/password/node.js +5 -5
  68. package/src/proto/chat-message.proto.js +6 -6
  69. package/src/proto/data-response.proto.js +4 -4
  70. package/src/proto/data.proto.js +4 -4
  71. package/src/proto/dht-response.proto.js +4 -4
  72. package/src/proto/dht.proto.js +4 -4
  73. package/src/proto/file-link.proto.js +5 -5
  74. package/src/proto/file.proto.js +5 -5
  75. package/src/proto/peer-response.proto.js +3 -3
  76. package/src/proto/peer.proto.js +3 -3
  77. package/src/proto/peernet.proto.js +7 -7
  78. package/src/proto/ps.proto.js +4 -4
  79. package/src/proto/request.proto.js +4 -4
  80. package/src/proto/response.proto.js +3 -3
  81. package/src/types.ts +27 -27
  82. package/src/utils/utils.js +78 -78
  83. package/test/client.js +14 -14
  84. package/test/codec.js +56 -56
  85. package/test/hash.js +13 -13
  86. package/test/index.js +3 -3
  87. package/test/lastBlock.js +7 -7
  88. package/test/messages.js +26 -26
  89. package/test/peernet.js +17 -17
  90. package/test.js +64 -64
  91. package/test2.js +9 -9
  92. package/test3.js +15 -15
  93. package/test4.js +7 -7
  94. package/tsconfig.json +12 -12
@@ -1,12 +1,25 @@
1
1
  /// <reference types="node" resolution-mode="require"/>
2
- import '@vandeurenglenn/debug';
3
- import PeerDiscovery from './discovery/peer-discovery.js';
4
- import DHT from './dht/dht.js';
5
- import MessageHandler from './handlers/message.js';
6
- import LeofcoinStorageClass from '@leofcoin/storage';
7
- import Identity from './identity.js';
8
- import swarm from '@netpeer/p2pt-swarm';
9
- import P2PTPeer from '@netpeer/p2pt-swarm/peer';
2
+ import "@vandeurenglenn/debug";
3
+ import PubSub from "@vandeurenglenn/little-pubsub";
4
+ import PeerDiscovery from "./discovery/peer-discovery.js";
5
+ import DHT from "./dht/dht.js";
6
+ import MessageHandler from "./handlers/message.js";
7
+ import LeofcoinStorageClass from "@leofcoin/storage";
8
+ import Identity from "./identity.js";
9
+ import swarm from "@netpeer/p2pt-swarm";
10
+ import P2PTPeer from "@netpeer/p2pt-swarm/peer";
11
+ declare global {
12
+ var LeofcoinStorage: typeof LeofcoinStorageClass;
13
+ var peernet: Peernet;
14
+ var pubsub: PubSub;
15
+ var globalSub: PubSub;
16
+ var blockStore: LeofcoinStorageClass;
17
+ var transactionStore: LeofcoinStorageClass;
18
+ var messageStore: LeofcoinStorageClass;
19
+ var dataStore: LeofcoinStorageClass;
20
+ var walletStore: LeofcoinStorageClass;
21
+ var chainStore: LeofcoinStorageClass;
22
+ }
10
23
  /**
11
24
  * @access public
12
25
  * @example
@@ -54,10 +67,14 @@ export default class Peernet {
54
67
  */
55
68
  constructor(options: any, password: any);
56
69
  get id(): string;
57
- get accounts(): Promise<[[name: string, externalAddress: string, internalAddress: string]]>;
70
+ get selectedAccount(): string;
71
+ get accounts(): Promise<[
72
+ [name: string, externalAddress: string, internalAddress: string]
73
+ ]>;
58
74
  get defaultStores(): string[];
75
+ selectAccount(account: string): Promise<void> | Promise<IDBValidKey> | Promise<any[]>;
59
76
  addProto(name: any, proto: any): void;
60
- addCodec(codec: any): any;
77
+ addCodec(codec: any): void;
61
78
  addStore(name: any, prefix: any, root: any, isPrivate?: boolean): Promise<void>;
62
79
  /**
63
80
  * @see MessageHandler
@@ -74,7 +91,7 @@ export default class Peernet {
74
91
  /**
75
92
  * @return {String} id - peerId
76
93
  */
77
- getConnection(id: any): any;
94
+ getConnection(id: any): P2PTPeer;
78
95
  /**
79
96
  * @private
80
97
  *
@@ -83,7 +100,10 @@ export default class Peernet {
83
100
  *
84
101
  * @return {Promise} instance of Peernet
85
102
  */
86
- _init(options: any, password: any): Promise<Peernet>;
103
+ _init(options: {
104
+ storePrefix?: string;
105
+ root?: string;
106
+ }, password: string): Promise<Peernet>;
87
107
  start(): Promise<void>;
88
108
  addRequestHandler(name: any, method: any): void;
89
109
  sendMessage(peer: any, id: any, data: any): Promise<void>;
@@ -111,13 +131,13 @@ export default class Peernet {
111
131
  providersFor(hash: string, store?: undefined): Promise<import("./dht/dht.js").DHTProviderMapValue>;
112
132
  get block(): {
113
133
  get: (hash: string) => Promise<any>;
114
- put: (hash: string, data: Uint8Array) => Promise<any>;
115
- has: (hash: string) => Promise<any>;
134
+ put: (hash: string, data: Uint8Array) => Promise<void | any[] | IDBValidKey>;
135
+ has: (hash: string) => Promise<boolean | any[]>;
116
136
  };
117
137
  get transaction(): {
118
138
  get: (hash: string) => Promise<any>;
119
- put: (hash: string, data: Uint8Array) => Promise<any>;
120
- has: (hash: string) => Promise<any>;
139
+ put: (hash: string, data: Uint8Array) => Promise<void | any[] | IDBValidKey>;
140
+ has: (hash: string) => Promise<boolean | any[]>;
121
141
  };
122
142
  requestData(hash: any, store: any): any;
123
143
  get message(): {
@@ -133,12 +153,12 @@ export default class Peernet {
133
153
  * @param {String} hash
134
154
  * @param {Buffer} message
135
155
  */
136
- put: (hash: any, message: any) => Promise<any>;
156
+ put: (hash: any, message: any) => Promise<void | any[] | IDBValidKey>;
137
157
  /**
138
158
  * @param {String} hash
139
159
  * @return {Boolean}
140
160
  */
141
- has: (hash: any) => Promise<any>;
161
+ has: (hash: any) => Promise<boolean | any[]>;
142
162
  };
143
163
  get data(): {
144
164
  /**
@@ -153,12 +173,12 @@ export default class Peernet {
153
173
  * @param {String} hash
154
174
  * @param {Buffer} data
155
175
  */
156
- put: (hash: any, data: any) => Promise<any>;
176
+ put: (hash: any, data: any) => Promise<void | any[] | IDBValidKey>;
157
177
  /**
158
178
  * @param {String} hash
159
179
  * @return {Boolean}
160
180
  */
161
- has: (hash: any) => Promise<any>;
181
+ has: (hash: any) => Promise<boolean | any[]>;
162
182
  };
163
183
  get folder(): {
164
184
  /**
@@ -173,12 +193,12 @@ export default class Peernet {
173
193
  * @param {String} hash
174
194
  * @param {Buffer} data
175
195
  */
176
- put: (hash: any, data: any) => Promise<any>;
196
+ put: (hash: any, data: any) => Promise<void | any[] | IDBValidKey>;
177
197
  /**
178
198
  * @param {String} hash
179
199
  * @return {Boolean}
180
200
  */
181
- has: (hash: any) => Promise<any>;
201
+ has: (hash: any) => Promise<boolean | any[]>;
182
202
  };
183
203
  addFolder(files: any): Promise<any>;
184
204
  ls(hash: any, options: any): Promise<any[]>;
@@ -203,7 +223,7 @@ export default class Peernet {
203
223
  * @param {Buffer} data
204
224
  * @param {String} storeName - storeName to access
205
225
  */
206
- put(hash: string, data: Uint8Array, storeName?: string | LeofcoinStorageClass): Promise<any>;
226
+ put(hash: string, data: Uint8Array, storeName?: string | LeofcoinStorageClass): Promise<void | any[] | IDBValidKey>;
207
227
  /**
208
228
  * @param {String} hash
209
229
  * @return {Boolean}
@@ -1,2 +1,2 @@
1
- export { P as default } from './peernet-2797014a.js';
1
+ export { P as default } from './peernet-87ea02a4.js';
2
2
  import './value-4e80eeeb.js';
@@ -1,224 +1,224 @@
1
1
  import { FormatInterface } from '@leofcoin/codec-format-interface';
2
2
 
3
- var proto$b = {
4
- data: new Uint8Array(),
5
- signature: new Uint8Array(),
6
- 'from?': String(),
7
- 'to?': String(),
8
- 'id?': String()
3
+ var proto$b = {
4
+ data: new Uint8Array(),
5
+ signature: new Uint8Array(),
6
+ 'from?': String(),
7
+ 'to?': String(),
8
+ 'id?': String()
9
9
  };
10
10
 
11
- class PeernetMessage extends FormatInterface {
12
-
13
- get messageName() {
14
- return 'PeernetMessage'
15
- }
16
-
17
- constructor(buffer) {
18
- const name = 'peernet-message';
19
- super(buffer, proto$b, {name});
20
- }
11
+ class PeernetMessage extends FormatInterface {
12
+
13
+ get messageName() {
14
+ return 'PeernetMessage'
15
+ }
16
+
17
+ constructor(buffer) {
18
+ const name = 'peernet-message';
19
+ super(buffer, proto$b, {name});
20
+ }
21
21
  }
22
22
 
23
- var proto$a = {
24
- hash: String(),
25
- 'store?': String()
23
+ var proto$a = {
24
+ hash: String(),
25
+ 'store?': String()
26
26
  };
27
27
 
28
- /**
29
- * @example `
30
- new DHTMessage(hash, store)
31
- // store = optional if not set, peernet checks every store
32
- let message = new DHTMessage('hashmvbs124xcfd...', 'transaction')
33
- message = new DHTMessage('hashmvbs124xcfd...', 'block')
34
- `
35
- */
36
- class DHTMessage extends FormatInterface {
37
-
38
- get messageName() {
39
- return 'PeernetDHTMessage'
40
- }
41
-
42
- constructor(data) {
43
- const name = 'peernet-dht';
44
- super(data, proto$a, {name});
45
- }
28
+ /**
29
+ * @example `
30
+ new DHTMessage(hash, store)
31
+ // store = optional if not set, peernet checks every store
32
+ let message = new DHTMessage('hashmvbs124xcfd...', 'transaction')
33
+ message = new DHTMessage('hashmvbs124xcfd...', 'block')
34
+ `
35
+ */
36
+ class DHTMessage extends FormatInterface {
37
+
38
+ get messageName() {
39
+ return 'PeernetDHTMessage'
40
+ }
41
+
42
+ constructor(data) {
43
+ const name = 'peernet-dht';
44
+ super(data, proto$a, {name});
45
+ }
46
46
  }
47
47
 
48
- var proto$9 = {
49
- hash: String(),
50
- has: Boolean()
48
+ var proto$9 = {
49
+ hash: String(),
50
+ has: Boolean()
51
51
  };
52
52
 
53
- class DHTMessageResponse extends FormatInterface {
54
-
55
- get messageName() {
56
- return 'PeernetDHTMessageResponse'
57
- }
58
-
59
- constructor(data) {
60
- const name = 'peernet-dht-response';
61
- super(data, proto$9, {name});
62
- }
53
+ class DHTMessageResponse extends FormatInterface {
54
+
55
+ get messageName() {
56
+ return 'PeernetDHTMessageResponse'
57
+ }
58
+
59
+ constructor(data) {
60
+ const name = 'peernet-dht-response';
61
+ super(data, proto$9, {name});
62
+ }
63
63
  }
64
64
 
65
- var proto$8 = {
66
- hash: String(),
67
- 'store?': String()
65
+ var proto$8 = {
66
+ hash: String(),
67
+ 'store?': String()
68
68
  };
69
69
 
70
- /**
71
- * @extends {CodecFormat}
72
- */
73
- class DataMessage extends FormatInterface {
74
-
75
- get messageName() {
76
- return 'PeernetDataMessage'
77
- }
78
- /**
79
- * @param {Buffer|String|Object|DataMessage} data - The data needed to create the DataMessage
80
- */
81
- constructor(data) {
82
- super(data, proto$8, {name: 'peernet-data'});
83
- }
70
+ /**
71
+ * @extends {CodecFormat}
72
+ */
73
+ class DataMessage extends FormatInterface {
74
+
75
+ get messageName() {
76
+ return 'PeernetDataMessage'
77
+ }
78
+ /**
79
+ * @param {Buffer|String|Object|DataMessage} data - The data needed to create the DataMessage
80
+ */
81
+ constructor(data) {
82
+ super(data, proto$8, {name: 'peernet-data'});
83
+ }
84
84
  }
85
85
 
86
- var proto$7 = {
87
- data: new Uint8Array(),
88
- topic: new Uint8Array()
86
+ var proto$7 = {
87
+ data: new Uint8Array(),
88
+ topic: new Uint8Array()
89
89
  };
90
90
 
91
- class PsMessage extends FormatInterface {
92
- get messageName() {
93
- return 'PsMessage'
94
- }
95
-
96
- constructor(buffer) {
97
- const name = 'peernet-ps';
98
- super(buffer, proto$7, {name});
99
- }
91
+ class PsMessage extends FormatInterface {
92
+ get messageName() {
93
+ return 'PsMessage'
94
+ }
95
+
96
+ constructor(buffer) {
97
+ const name = 'peernet-ps';
98
+ super(buffer, proto$7, {name});
99
+ }
100
100
  }
101
101
 
102
- var proto$6 = {
103
- id: String()
102
+ var proto$6 = {
103
+ id: String()
104
104
  };
105
105
 
106
- class PeerMessage extends FormatInterface {
107
- get messageName() {
108
- return 'PeernetPeerMessage'
109
- }
110
-
111
- constructor(data) {
112
- const name = 'peernet-peer';
113
- super(data, proto$6, {name});
114
- }
106
+ class PeerMessage extends FormatInterface {
107
+ get messageName() {
108
+ return 'PeernetPeerMessage'
109
+ }
110
+
111
+ constructor(data) {
112
+ const name = 'peernet-peer';
113
+ super(data, proto$6, {name});
114
+ }
115
115
  }
116
116
 
117
- var proto$5 = {
118
- request: String(),
119
- 'requested?': new Uint8Array()
117
+ var proto$5 = {
118
+ request: String(),
119
+ 'requested?': new Uint8Array()
120
120
  };
121
121
 
122
- class RequestMessage extends FormatInterface {
123
-
124
- get messageName() {
125
- return 'PeernetRequestMessage'
126
- }
127
-
128
- constructor(data) {
129
- const name = 'peernet-request';
130
- super(data, proto$5, {name});
131
- }
122
+ class RequestMessage extends FormatInterface {
123
+
124
+ get messageName() {
125
+ return 'PeernetRequestMessage'
126
+ }
127
+
128
+ constructor(data) {
129
+ const name = 'peernet-request';
130
+ super(data, proto$5, {name});
131
+ }
132
132
  }
133
133
 
134
- var proto$4 = {
135
- response: {}
134
+ var proto$4 = {
135
+ response: {}
136
136
  };
137
137
 
138
- class ResponseMessage extends FormatInterface {
139
-
140
- get messageName() {
141
- return 'PeernetResponseMessage'
142
- }
143
-
144
- constructor(data) {
145
- const name = 'peernet-response';
146
- super(data, proto$4, {name});
147
- }
138
+ class ResponseMessage extends FormatInterface {
139
+
140
+ get messageName() {
141
+ return 'PeernetResponseMessage'
142
+ }
143
+
144
+ constructor(data) {
145
+ const name = 'peernet-response';
146
+ super(data, proto$4, {name});
147
+ }
148
148
  }
149
149
 
150
- var proto$3 = {
151
- id: String()
150
+ var proto$3 = {
151
+ id: String()
152
152
  };
153
153
 
154
- class PeerMessageResponse extends FormatInterface {
155
-
156
- get messageName() {
157
- return 'PeernetPeerMessageResponse'
158
- }
159
-
160
- constructor(data) {
161
- const name = 'peernet-peer-response';
162
- super(data, proto$3, {name});
163
- }
154
+ class PeerMessageResponse extends FormatInterface {
155
+
156
+ get messageName() {
157
+ return 'PeernetPeerMessageResponse'
158
+ }
159
+
160
+ constructor(data) {
161
+ const name = 'peernet-peer-response';
162
+ super(data, proto$3, {name});
163
+ }
164
164
  }
165
165
 
166
- var proto$2 = {
167
- hash: String(),
168
- data: new Uint8Array(),
166
+ var proto$2 = {
167
+ hash: String(),
168
+ data: new Uint8Array(),
169
169
  };
170
170
 
171
- class DataMessageResponse extends FormatInterface {
172
-
173
- get messageName() {
174
- return 'PeernetDataMessageResponse'
175
- }
176
-
177
- constructor(data) {
178
- const name = 'peernet-data-response';
179
- super(data, proto$2, {name});
180
- }
171
+ class DataMessageResponse extends FormatInterface {
172
+
173
+ get messageName() {
174
+ return 'PeernetDataMessageResponse'
175
+ }
176
+
177
+ constructor(data) {
178
+ const name = 'peernet-data-response';
179
+ super(data, proto$2, {name});
180
+ }
181
181
  }
182
182
 
183
- var proto$1 = {
184
- value: String(),
185
- author: String(),
186
- timestamp: Number(),
187
- files: [String()],
183
+ var proto$1 = {
184
+ value: String(),
185
+ author: String(),
186
+ timestamp: Number(),
187
+ files: [String()],
188
188
  };
189
189
 
190
- class ChatMessage extends FormatInterface {
191
-
192
- get messageName() {
193
- return 'ChatMessage'
194
- }
195
-
196
- constructor(buffer) {
197
- const name = 'chat-message';
198
- super(buffer, proto$1, {name});
199
- }
190
+ class ChatMessage extends FormatInterface {
191
+
192
+ get messageName() {
193
+ return 'ChatMessage'
194
+ }
195
+
196
+ constructor(buffer) {
197
+ const name = 'chat-message';
198
+ super(buffer, proto$1, {name});
199
+ }
200
200
  }
201
201
 
202
- var proto = {
203
- path: String(),
204
- 'content?': '',
205
- 'links?': []
202
+ var proto = {
203
+ path: String(),
204
+ 'content?': '',
205
+ 'links?': []
206
206
  };
207
207
 
208
- /**
209
- * @extends {CodecFormat}
210
- */
211
- class PeernetFile extends FormatInterface {
212
-
213
- get messageName() {
214
- return 'PeernetFile'
215
- }
216
- /**
217
- * @param {Buffer|String|Object|DataMessage} data - The data needed to create the DataMessage
218
- */
219
- constructor(data) {
220
- super(data, proto, {name: 'peernet-file'});
221
- }
208
+ /**
209
+ * @extends {CodecFormat}
210
+ */
211
+ class PeernetFile extends FormatInterface {
212
+
213
+ get messageName() {
214
+ return 'PeernetFile'
215
+ }
216
+ /**
217
+ * @param {Buffer|String|Object|DataMessage} data - The data needed to create the DataMessage
218
+ */
219
+ constructor(data) {
220
+ super(data, proto, {name: 'peernet-file'});
221
+ }
222
222
  }
223
223
 
224
224
  export { ChatMessage, DHTMessage, DHTMessageResponse, DataMessage, DataMessageResponse, PeerMessage, PeerMessageResponse, PeernetFile, PeernetMessage, PsMessage, RequestMessage, ResponseMessage };