@leofcoin/peernet 0.15.2 → 0.16.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/.eslintrc.json CHANGED
@@ -1,25 +1,13 @@
1
1
  {
2
2
  "env": {
3
- "node": true,
4
- "browser": true,
5
- "es6": true
3
+ "es2022": true
6
4
  },
7
5
  "parserOptions": {
8
- "ecmaVersion": 2018,
6
+ "ecmaVersion": "latest",
9
7
  "sourceType": "module"
10
8
  },
11
- "extends": ["eslint:recommended", "google"],
12
- "rules": {
13
- "semi": 0,
14
- "object-curly-spacing": 0,
15
- "max-len": ["error", {
16
- "code": 100,
17
- "ignoreComments": true,
18
- "ignoreUrls": true,
19
- "ignoreTrailingComments": true
20
- }
21
- ]
22
- },
9
+ "extends": "plugin:unicorn/recommended",
10
+
23
11
  "globals": {
24
12
  "globalThis": true,
25
13
  "accountStore": true,
@@ -2,8 +2,9 @@
2
2
 
3
3
  require('@vandeurenglenn/debug');
4
4
  var PubSub = require('@vandeurenglenn/little-pubsub');
5
- var fetch = require('node-fetch');
6
5
  var codecFormatInterface = require('@leofcoin/codec-format-interface');
6
+ var fetch$1 = require('node-fetch');
7
+ var LeofcoinStorage = require('@leofcoin/storage/src/storage');
7
8
 
8
9
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
10
 
@@ -26,7 +27,8 @@ function _interopNamespace(e) {
26
27
  }
27
28
 
28
29
  var PubSub__default = /*#__PURE__*/_interopDefaultLegacy(PubSub);
29
- var fetch__default = /*#__PURE__*/_interopDefaultLegacy(fetch);
30
+ var fetch__default = /*#__PURE__*/_interopDefaultLegacy(fetch$1);
31
+ var LeofcoinStorage__default = /*#__PURE__*/_interopDefaultLegacy(LeofcoinStorage);
30
32
 
31
33
  const BufferToUint8Array = data => {
32
34
  if (data.type === 'Buffer') {
@@ -49,7 +51,7 @@ const protoFor = (message) => {
49
51
  */
50
52
  const hasDaemon = async () => {
51
53
  try {
52
- let response = await fetch__default["default"]('http://127.0.0.1:1000/api/version');
54
+ let response = await fetch('http://127.0.0.1:1000/api/version');
53
55
  response = await response.json();
54
56
  return Boolean(response.client === '@peernet/api/http')
55
57
  } catch (e) {
@@ -85,10 +87,9 @@ const environment = () => {
85
87
  */
86
88
  const target = async () => {
87
89
  let daemon = false;
88
- const env = await environment();
89
90
  if (!https()) daemon = await hasDaemon();
90
91
 
91
- return {daemon, environment: env}
92
+ return {daemon, environment: environment()}
92
93
  };
93
94
 
94
95
  class PeerDiscovery {
@@ -433,6 +434,8 @@ const nothingFoundError = (hash) => {
433
434
  return new Error(`nothing found for ${hash}`)
434
435
  };
435
436
 
437
+ globalThis.LeofcoinStorage = LeofcoinStorage__default["default"];
438
+
436
439
  globalThis.leofcoin = globalThis.leofcoin || {};
437
440
  globalThis.pubsub = globalThis.pubsub || new PubSub__default["default"]();
438
441
  globalThis.globalSub = globalThis.globalSub || new PubSub__default["default"]({verbose: true});
@@ -464,8 +467,8 @@ class Peernet {
464
467
  this.network = options.network || 'leofcoin';
465
468
  this.stars = options.stars;
466
469
  const parts = this.network.split(':');
467
- this.networkVersion = parts.length > 1 ? parts[1] : 'mainnet';
468
-
470
+ this.networkVersion = options.networkVersion ? options.networkVersion : parts.length > 1 ? parts[1] : 'mainnet';
471
+
469
472
  if (!options.storePrefix) options.storePrefix = 'lfc';
470
473
  if (!options.port) options.port = 2000;
471
474
  if (!options.root) {
@@ -498,10 +501,6 @@ class Peernet {
498
501
  }
499
502
 
500
503
  async addStore(name, prefix, root, isPrivate = true) {
501
- if (!globalThis.LeofcoinStorage) {
502
- const importee = await Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(/* webpackChunkName: "storage" */ '@leofcoin/storage')); });
503
- globalThis.LeofcoinStorage = importee.default;
504
- }
505
504
  if (name === 'block' || name === 'transaction' || name === 'chain' ||
506
505
  name === 'data' || name === 'message') isPrivate = false;
507
506
 
@@ -509,7 +508,7 @@ class Peernet {
509
508
  if (this.hasDaemon) {
510
509
  Storage = LeofcoinStorageClient;
511
510
  } else {
512
- Storage = LeofcoinStorage;
511
+ Storage = LeofcoinStorage__default["default"];
513
512
  }
514
513
  globalThis[`${name}Store`] = globalThis[`${name}Store`] ||
515
514
  await new Storage(name, root);
@@ -1,6 +1,7 @@
1
1
  import '@vandeurenglenn/debug';
2
2
  import PubSub from '@vandeurenglenn/little-pubsub';
3
3
  import { Codec } from '@leofcoin/codec-format-interface';
4
+ import LeofcoinStorage from '@leofcoin/storage/src/storage';
4
5
 
5
6
  const BufferToUint8Array = data => {
6
7
  if (data.type === 'Buffer') {
@@ -59,10 +60,9 @@ const environment = () => {
59
60
  */
60
61
  const target = async () => {
61
62
  let daemon = false;
62
- const env = await environment();
63
63
  if (!https()) daemon = await hasDaemon();
64
64
 
65
- return {daemon, environment: env}
65
+ return {daemon, environment: environment()}
66
66
  };
67
67
 
68
68
  class PeerDiscovery {
@@ -407,6 +407,8 @@ const nothingFoundError = (hash) => {
407
407
  return new Error(`nothing found for ${hash}`)
408
408
  };
409
409
 
410
+ globalThis.LeofcoinStorage = LeofcoinStorage;
411
+
410
412
  globalThis.leofcoin = globalThis.leofcoin || {};
411
413
  globalThis.pubsub = globalThis.pubsub || new PubSub();
412
414
  globalThis.globalSub = globalThis.globalSub || new PubSub({verbose: true});
@@ -438,8 +440,8 @@ class Peernet {
438
440
  this.network = options.network || 'leofcoin';
439
441
  this.stars = options.stars;
440
442
  const parts = this.network.split(':');
441
- this.networkVersion = parts.length > 1 ? parts[1] : 'mainnet';
442
-
443
+ this.networkVersion = options.networkVersion ? options.networkVersion : parts.length > 1 ? parts[1] : 'mainnet';
444
+
443
445
  if (!options.storePrefix) options.storePrefix = 'lfc';
444
446
  if (!options.port) options.port = 2000;
445
447
  if (!options.root) {
@@ -472,10 +474,6 @@ class Peernet {
472
474
  }
473
475
 
474
476
  async addStore(name, prefix, root, isPrivate = true) {
475
- if (!globalThis.LeofcoinStorage) {
476
- const importee = await import(/* webpackChunkName: "storage" */ '@leofcoin/storage');
477
- globalThis.LeofcoinStorage = importee.default;
478
- }
479
477
  if (name === 'block' || name === 'transaction' || name === 'chain' ||
480
478
  name === 'data' || name === 'message') isPrivate = false;
481
479
 
package/package.json CHANGED
@@ -1,30 +1,22 @@
1
1
  {
2
2
  "name": "@leofcoin/peernet",
3
- "version": "0.15.2",
3
+ "version": "0.16.0",
4
4
  "description": "",
5
- "source": "src/peernet.js",
6
- "main": "dist/commonjs/peernet.js",
7
- "module": "dist/module/peernet.js",
8
- "targets": [
9
- "browser"
10
- ],
5
+ "main": "src/peernet.js",
6
+ "type": "module",
7
+ "engines": {
8
+ "node": ">=19.0.0"
9
+ },
11
10
  "scripts": {
12
- "build": "npm run c && webpack",
13
- "test": "node test/index.js",
11
+ "set-flags": "set NODE_OPTIONS=--openssl-legacy-provider",
12
+ "test": "npm run set-flags && node test/index.js",
14
13
  "server": "discovery-swarm-webrtc --port=4000",
15
14
  "demo": "jsproject --serve ./ --port 6868",
16
- "doc": "esdoc",
17
- "lint": "./node_modules/.bin/eslint src/**/**.js --fix",
18
- "coverage": "nyc --reporter=lcov npm run test",
19
- "coveralls": "cat ./coverage/lcov.info | coveralls",
20
- "c": "rollup -c",
21
- "w": "rollup -c -w",
22
- "watch": "npm run w"
15
+ "lint": "./node_modules/.bin/eslint src/**/**.js --fix"
23
16
  },
24
17
  "keywords": [],
25
18
  "author": "",
26
19
  "license": "MIT",
27
- "browserslist": "> 5%, last 2 versions, not dead",
28
20
  "dependencies": {
29
21
  "@leofcoin/codec-format-interface": "^1.4.0",
30
22
  "@leofcoin/generate-account": "^1.0.4",
@@ -36,25 +28,11 @@
36
28
  "@vandeurenglenn/debug": "^1.0.0",
37
29
  "@vandeurenglenn/is-hex": "^1.0.0",
38
30
  "@vandeurenglenn/little-pubsub": "^1.3.1",
39
- "keccak": "^3.0.1",
40
- "koa": "^2.13.1",
41
- "node-fetch": "^2.6.1",
42
- "readable-stream": "^4.2.0",
43
31
  "socket-request-client": "^1.5.0",
44
- "socket-request-server": "^1.5.0",
45
- "varint": "^6.0.0"
32
+ "socket-request-server": "^1.5.0"
46
33
  },
47
34
  "devDependencies": {
48
- "@rollup/plugin-json": "^4.1.0",
49
- "coveralls": "^3.1.1",
50
- "eslint": "^7.31.0",
51
- "eslint-config-google": "^0.14.0",
52
- "nyc": "^15.1.0",
53
- "path-browserify": "^1.0.1",
54
- "rollup": "^2.70.2",
55
- "rollup-plugin-modify": "^3.0.0",
56
- "tape": "^5.2.2",
57
- "webpack": "^5.72.0",
58
- "webpack-cli": "^4.9.2"
35
+ "eslint": "^8.29.0",
36
+ "eslint-plugin-unicorn": "^45.0.1"
59
37
  }
60
38
  }
package/src/dht/dht.js CHANGED
@@ -1,5 +1,3 @@
1
- import fetch from 'node-fetch'
2
-
3
1
  /**
4
2
  * Keep history of fetched address and ptr
5
3
  * @property {Object} address
@@ -1,5 +1,3 @@
1
- import { CodecHash } from '@leofcoin/codec-format-interface'
2
-
3
1
  export default class MessageHandler {
4
2
  constructor(network) {
5
3
  this.network = network
package/src/peernet.js CHANGED
@@ -1,13 +1,16 @@
1
1
  import '@vandeurenglenn/debug'
2
2
  import PubSub from '@vandeurenglenn/little-pubsub'
3
- import PeerDiscovery from './discovery/peer-discovery'
3
+ import PeerDiscovery from './discovery/peer-discovery.js'
4
4
  import DHT from './dht/dht.js'
5
- import codecs from './../node_modules/@leofcoin/codec-format-interface/src/codecs'
5
+ import codecs from './../node_modules/@leofcoin/codec-format-interface/src/codecs.js'
6
6
  import { BufferToUint8Array, protoFor, target } from './utils/utils.js'
7
7
  import MessageHandler from './handlers/message.js'
8
8
  import dataHandler from './handlers/data.js'
9
9
  import { encapsulatedError, dhtError,
10
10
  nothingFoundError } from './errors/errors.js'
11
+
12
+ import LeofcoinStorage from '@leofcoin/storage'
13
+ globalThis.LeofcoinStorage = LeofcoinStorage
11
14
 
12
15
  globalThis.leofcoin = globalThis.leofcoin || {}
13
16
  globalThis.pubsub = globalThis.pubsub || new PubSub()
@@ -74,19 +77,13 @@ export default class Peernet {
74
77
  }
75
78
 
76
79
  async addStore(name, prefix, root, isPrivate = true) {
77
- if (!globalThis.LeofcoinStorage) {
78
- const importee = await import(/* webpackChunkName: "storage" */ '@leofcoin/storage')
79
- globalThis.LeofcoinStorage = importee.default
80
- }
81
80
  if (name === 'block' || name === 'transaction' || name === 'chain' ||
82
81
  name === 'data' || name === 'message') isPrivate = false
83
82
 
84
83
  let Storage
85
- if (this.hasDaemon) {
86
- Storage = LeofcoinStorageClient
87
- } else {
88
- Storage = LeofcoinStorage
89
- }
84
+
85
+ this.hasDaemon ? Storage = LeofcoinStorageClient : Storage = LeofcoinStorage
86
+
90
87
  globalThis[`${name}Store`] = globalThis[`${name}Store`] ||
91
88
  await new Storage(name, root)
92
89
 
package/src/server.js CHANGED
@@ -1,6 +1,5 @@
1
1
  import server from './../node_modules/socket-request-server/src/index.js';
2
- import socketResponse
3
- from './../node_modules/socket-request-server/src/socket-response.js';
2
+ import socketResponse from './../node_modules/socket-request-server/src/socket-response.js';
4
3
 
5
4
  globalThis.peerMap = new Map()
6
5
 
@@ -1,5 +1,3 @@
1
- import fetch from 'node-fetch'
2
-
3
1
  import { Codec } from '@leofcoin/codec-format-interface'
4
2
 
5
3
  export const BufferToUint8Array = data => {
@@ -74,8 +72,7 @@ export const environment = () => {
74
72
  */
75
73
  export const target = async () => {
76
74
  let daemon = false
77
- const env = await environment()
78
75
  if (!https()) daemon = await hasDaemon()
79
76
 
80
- return {daemon, environment: env}
77
+ return {daemon, environment: environment()}
81
78
  }
package/test/codec.js CHANGED
@@ -1,5 +1,5 @@
1
- const test = require('tape')
2
- const Codec = require('./../dist/commonjs/codec.js')
1
+ import test from 'tape'
2
+ import Codec from './../dist/commonjs/codec.js'
3
3
 
4
4
  const block = '4lmacqas6kpnmvehxpmlvsndgydw5i46mf2pgnaub72eug63dozkw4oqxhk3fazbhkguvlhslcaeqm5jtwghxdk5nvmuakrs7yi2gl6xqmmmw';
5
5
  const itx = '5hmacqb6ao252jmbhkhu5isr4yua3jnkhgb5ejjbiomrlzglwarlb777wq7aw5nfz5m4pubx5uffaxp2cqc4ckrh4xirss4nkujvcjbnmomtm';
package/test/index.js CHANGED
@@ -1,4 +1,3 @@
1
- require('./messages')
2
- require('./codec')
1
+ import './messages.js'
3
2
  // require('./peernet')
4
3
  // require('./hash')
package/test/messages.js CHANGED
@@ -1,5 +1,5 @@
1
- const test = require('tape')
2
- const Node = require('./../dist/commonjs/dht-response.js')
1
+ import test from 'tape'
2
+ import Node from './../dist/commonjs/dht-response.js'
3
3
 
4
4
  const responseHash = 'cqbigjfvm5mizik7ke3v6lyhoahecqiwergnl3cytarf5bd2qvqase'
5
5
 
package/test.js CHANGED
@@ -1,7 +1,7 @@
1
- const Client = require('./dist/commonjs/peernet.js');
1
+ import Client from './src/peernet.js'
2
+
2
3
 
3
4
 
4
- (async () => {
5
5
  const client = await new Client({root: '.peernet/test'})
6
6
 
7
7
  // peernet.addFolder([{
@@ -44,4 +44,4 @@ const Client = require('./dist/commonjs/peernet.js');
44
44
  task()
45
45
  })
46
46
 
47
- })()
47
+
@@ -1,51 +0,0 @@
1
- "use strict";
2
- (self["webpackChunk_leofcoin_peernet"] = self["webpackChunk_leofcoin_peernet"] || []).push([[510],{
3
-
4
- /***/ 162:
5
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6
-
7
- __webpack_require__.r(__webpack_exports__);
8
- /* harmony import */ var _leofcoin_multi_wallet__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(755);
9
-
10
-
11
- /**
12
- * @params {String} network
13
- * @return {object} { identity, accounts, config }
14
- */
15
- /* harmony default export */ __webpack_exports__["default"] = (async network => {
16
- let wallet = new _leofcoin_multi_wallet__WEBPACK_IMPORTED_MODULE_0__["default"](network);
17
- /**
18
- * @type {string}
19
- */
20
- const mnemonic = await wallet.generate();
21
-
22
- wallet = new _leofcoin_multi_wallet__WEBPACK_IMPORTED_MODULE_0__["default"](network)
23
- await wallet.recover(mnemonic, network)
24
- /**
25
- * @type {object}
26
- */
27
- const account = wallet.account(0)
28
- /**
29
- * @type {object}
30
- */
31
- const external = account.external(0)
32
- const internal = account.internal(0)
33
-
34
- return {
35
- identity: {
36
- mnemonic,
37
- // multiWIF: wallet.export(),
38
- publicKey: external.publicKey,
39
- privateKey: external.privateKey,
40
- walletId: external.id
41
- },
42
- accounts: [['main account', external.address, internal.address]]
43
- // config: {
44
- // }
45
- }
46
- });
47
-
48
-
49
- /***/ })
50
-
51
- }]);
@@ -1,50 +0,0 @@
1
- (self["webpackChunk_leofcoin_peernet"] = self["webpackChunk_leofcoin_peernet"] || []).push([[510],{
2
-
3
- /***/ 162:
4
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
5
-
6
- __webpack_require__.r(__webpack_exports__);
7
- /* harmony import */ var _leofcoin_multi_wallet__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(755);
8
-
9
-
10
- /**
11
- * @params {String} network
12
- * @return {object} { identity, accounts, config }
13
- */
14
- /* harmony default export */ __webpack_exports__["default"] = (async network => {
15
- let wallet = new _leofcoin_multi_wallet__WEBPACK_IMPORTED_MODULE_0__["default"](network);
16
- /**
17
- * @type {string}
18
- */
19
- const mnemonic = await wallet.generate();
20
-
21
- wallet = new _leofcoin_multi_wallet__WEBPACK_IMPORTED_MODULE_0__["default"](network)
22
- await wallet.recover(mnemonic, network)
23
- /**
24
- * @type {object}
25
- */
26
- const account = wallet.account(0)
27
- /**
28
- * @type {object}
29
- */
30
- const external = account.external(0)
31
- const internal = account.internal(0)
32
-
33
- return {
34
- identity: {
35
- mnemonic,
36
- // multiWIF: wallet.export(),
37
- publicKey: external.publicKey,
38
- privateKey: external.privateKey,
39
- walletId: external.id
40
- },
41
- accounts: [['main account', external.address, internal.address]]
42
- // config: {
43
- // }
44
- }
45
- });
46
-
47
-
48
- /***/ })
49
-
50
- }])