@leofcoin/peernet 1.1.27 → 1.1.28

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/README.md CHANGED
@@ -43,6 +43,12 @@ peernet.addRequestHandler('hello', () => {
43
43
  return new peernet.protos['peernet-response']({ response: 'hi' })
44
44
  })
45
45
  ```
46
+ #### add version to peer
47
+ ```js
48
+ peernet.addRequestHandler('version', () => {
49
+ return new ResponseMessage({ response: {version: 1} })
50
+ })
51
+ ```
46
52
 
47
53
  ## Development
48
54
 
@@ -1,4 +1,4 @@
1
- import { g as getDefaultExportFromCjs, c as commonjsGlobal } from './peernet-c32f0152.js';
1
+ import { g as getDefaultExportFromCjs, c as commonjsGlobal } from './peernet-54d061e3.js';
2
2
  import './value-157ab062.js';
3
3
 
4
4
  function commonjsRequire(path) {
@@ -1,4 +1,4 @@
1
- import { M as MultiWallet, e as encrypt, b as base58$1 } from './peernet-c32f0152.js';
1
+ import { M as MultiWallet, e as encrypt, b as base58$1 } from './peernet-54d061e3.js';
2
2
  import './value-157ab062.js';
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { F as FormatInterface } from './peernet-c32f0152.js';
1
+ import { F as FormatInterface } from './peernet-54d061e3.js';
2
2
  import './value-157ab062.js';
3
3
 
4
4
  var proto$b = {
@@ -20184,7 +20184,7 @@ class Identity {
20184
20184
  globalThis.peernet.selectedAccount = new TextDecoder().decode(selected);
20185
20185
  }
20186
20186
  else {
20187
- const importee = await import(/* webpackChunkName: "generate-account" */ './index-f0c5471a.js');
20187
+ const importee = await import(/* webpackChunkName: "generate-account" */ './index-5ed49438.js');
20188
20188
  const { identity, accounts } = await importee.default(password, this.network);
20189
20189
  await globalThis.accountStore.put('public', JSON.stringify({ walletId: identity.walletId }));
20190
20190
  await globalThis.walletStore.put('version', String(1));
@@ -20249,6 +20249,7 @@ class Peernet {
20249
20249
  #starting = false;
20250
20250
  #started = false;
20251
20251
  #connections = {};
20252
+ requestProtos = {};
20252
20253
  /**
20253
20254
  * @access public
20254
20255
  * @param {Object} options
@@ -20350,12 +20351,11 @@ class Peernet {
20350
20351
  * @return {Promise} instance of Peernet
20351
20352
  */
20352
20353
  async _init(options, password) {
20353
- this.requestProtos = {};
20354
20354
  this.storePrefix = options.storePrefix;
20355
20355
  this.root = options.root;
20356
20356
  const { RequestMessage, ResponseMessage, PeerMessage, PeerMessageResponse, PeernetMessage, DHTMessage, DHTMessageResponse, DataMessage, DataMessageResponse, PsMessage, ChatMessage, PeernetFile
20357
20357
  // FolderMessageResponse
20358
- } = await import(/* webpackChunkName: "messages" */ './messages-aa936c86.js');
20358
+ } = await import(/* webpackChunkName: "messages" */ './messages-c26f8e97.js');
20359
20359
  /**
20360
20360
  * proto Object containing protos
20361
20361
  * @type {Object}
@@ -20394,6 +20394,13 @@ class Peernet {
20394
20394
  });
20395
20395
  pubsub.subscribe('peer:discovered', async (peer) => {
20396
20396
  // console.log(peer);
20397
+ if (this.requestProtos['version']) {
20398
+ let data = await new globalThis.peernet.protos['peernet-request']({ request: 'version' });
20399
+ let node = await globalThis.peernet.prepareMessage(data);
20400
+ let response = await peer.request(node.encoded);
20401
+ response = await new globalThis.peernet.protos['peernet-response'](new Uint8Array(Object.values(response)));
20402
+ peer.version = response.decoded.response.version;
20403
+ }
20397
20404
  let data = await new globalThis.peernet.protos['peernet-request']({ request: 'handshake' });
20398
20405
  let node = await globalThis.peernet.prepareMessage(data);
20399
20406
  let response = await peer.request(node.encoded);
@@ -20427,7 +20434,7 @@ class Peernet {
20427
20434
  if (this.#starting || this.#started)
20428
20435
  return;
20429
20436
  this.#starting = true;
20430
- const importee = await import('./client-72a8d911.js');
20437
+ const importee = await import('./client-345f1d43.js');
20431
20438
  /**
20432
20439
  * @access public
20433
20440
  * @type {PeernetClient}
@@ -1,2 +1,2 @@
1
- export { P as default } from './peernet-c32f0152.js';
1
+ export { P as default } from './peernet-54d061e3.js';
2
2
  import './value-157ab062.js';
@@ -407,6 +407,7 @@ class Peernet {
407
407
  #starting = false;
408
408
  #started = false;
409
409
  #connections = {};
410
+ requestProtos = {};
410
411
  /**
411
412
  * @access public
412
413
  * @param {Object} options
@@ -508,7 +509,6 @@ class Peernet {
508
509
  * @return {Promise} instance of Peernet
509
510
  */
510
511
  async _init(options, password) {
511
- this.requestProtos = {};
512
512
  this.storePrefix = options.storePrefix;
513
513
  this.root = options.root;
514
514
  const { RequestMessage, ResponseMessage, PeerMessage, PeerMessageResponse, PeernetMessage, DHTMessage, DHTMessageResponse, DataMessage, DataMessageResponse, PsMessage, ChatMessage, PeernetFile
@@ -552,6 +552,13 @@ class Peernet {
552
552
  });
553
553
  pubsub.subscribe('peer:discovered', async (peer) => {
554
554
  // console.log(peer);
555
+ if (this.requestProtos['version']) {
556
+ let data = await new globalThis.peernet.protos['peernet-request']({ request: 'version' });
557
+ let node = await globalThis.peernet.prepareMessage(data);
558
+ let response = await peer.request(node.encoded);
559
+ response = await new globalThis.peernet.protos['peernet-response'](new Uint8Array(Object.values(response)));
560
+ peer.version = response.decoded.response.version;
561
+ }
555
562
  let data = await new globalThis.peernet.protos['peernet-request']({ request: 'handshake' });
556
563
  let node = await globalThis.peernet.prepareMessage(data);
557
564
  let response = await peer.request(node.encoded);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leofcoin/peernet",
3
- "version": "1.1.27",
3
+ "version": "1.1.28",
4
4
  "description": "",
5
5
  "main": "src/peernet.js",
6
6
  "exports": {
package/src/peernet.ts CHANGED
@@ -47,6 +47,7 @@ export default class Peernet {
47
47
  #starting: boolean = false
48
48
  #started: boolean = false
49
49
  #connections = {}
50
+ requestProtos = {}
50
51
 
51
52
  /**
52
53
  * @access public
@@ -163,7 +164,6 @@ export default class Peernet {
163
164
  * @return {Promise} instance of Peernet
164
165
  */
165
166
  async _init(options, password) {
166
- this.requestProtos = {}
167
167
  this.storePrefix = options.storePrefix
168
168
  this.root = options.root
169
169
 
@@ -231,12 +231,21 @@ export default class Peernet {
231
231
  pubsub.subscribe('peer:discovered', async (peer) => {
232
232
  // console.log(peer);
233
233
 
234
+ if (this.requestProtos['version']) {
235
+ let data = await new globalThis.peernet.protos['peernet-request']({request: 'version'});
236
+ let node = await globalThis.peernet.prepareMessage(data);
237
+ let response = await peer.request(node.encoded)
238
+ response = await new globalThis.peernet.protos['peernet-response'](new Uint8Array(Object.values(response)))
239
+ peer.version = response.decoded.response.version
240
+ }
241
+
234
242
  let data = await new globalThis.peernet.protos['peernet-request']({request: 'handshake'});
235
243
  let node = await globalThis.peernet.prepareMessage(data);
236
244
  let response = await peer.request(node.encoded)
237
245
 
238
246
  response = await new globalThis.peernet.protos['peernet-response'](new Uint8Array(Object.values(response)))
239
247
  // todo: response.decoded should be the response and not response.peerId
248
+
240
249
  this.#connections[response.decoded.response.peerId] = peer
241
250
  pubsub.publish('peer:connected', peer)
242
251
  // todo: cleanup discovered