@leofcoin/peernet 0.10.3 → 0.10.6
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/peernet.js +34852 -31557
- package/dist/commonjs/codec-6367213c.js +205 -0
- package/dist/commonjs/codec-format-interface.js +27 -11
- package/dist/commonjs/codec.js +1 -1
- package/dist/commonjs/dht-response.js +2 -2
- package/dist/commonjs/dht.js +2 -2
- package/dist/commonjs/hash.js +17 -17
- package/dist/commonjs/peernet-message.js +2 -2
- package/dist/commonjs/peernet.js +47 -162
- package/dist/commonjs/request.js +2 -2
- package/dist/commonjs/response.js +2 -2
- package/dist/module/peernet.js +48 -148
- package/package.json +7 -6
- package/rollup.config.js +7 -4
- package/src/codec/codec-format-interface.js +20 -4
- package/src/messages/data.js +7 -3
- package/src/peernet.js +21 -18
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var varint = require('varint');
|
|
4
|
+
var bs32 = require('bs32');
|
|
5
|
+
var bs58 = require('bs58');
|
|
6
|
+
var isHex = require('is-hex');
|
|
7
|
+
|
|
8
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
|
+
|
|
10
|
+
var varint__default = /*#__PURE__*/_interopDefaultLegacy(varint);
|
|
11
|
+
var bs32__default = /*#__PURE__*/_interopDefaultLegacy(bs32);
|
|
12
|
+
var bs58__default = /*#__PURE__*/_interopDefaultLegacy(bs58);
|
|
13
|
+
var isHex__default = /*#__PURE__*/_interopDefaultLegacy(isHex);
|
|
14
|
+
|
|
15
|
+
var codecs = {
|
|
16
|
+
// just a hash
|
|
17
|
+
'disco-hash': {
|
|
18
|
+
codec: '30',
|
|
19
|
+
hashAlg: 'dbl-keccak-512', // ,
|
|
20
|
+
// testnet: 'olivia'
|
|
21
|
+
},
|
|
22
|
+
'peernet-peer-response': {
|
|
23
|
+
codec: '707072',
|
|
24
|
+
hashAlg: 'keccak-256',
|
|
25
|
+
},
|
|
26
|
+
'peernet-peer': {
|
|
27
|
+
codec: '7070',
|
|
28
|
+
hashAlg: 'keccak-256',
|
|
29
|
+
},
|
|
30
|
+
'peernet-dht': {
|
|
31
|
+
codec: '706468',
|
|
32
|
+
hashAlg: 'keccak-256',
|
|
33
|
+
},
|
|
34
|
+
'peernet-dht-response': {
|
|
35
|
+
codec: '706472',
|
|
36
|
+
hashAlg: 'keccak-256',
|
|
37
|
+
},
|
|
38
|
+
// data
|
|
39
|
+
'peernet-data': {
|
|
40
|
+
codec: '706461',
|
|
41
|
+
hashAlg: 'keccak-256',
|
|
42
|
+
},
|
|
43
|
+
'peernet-data-response': {
|
|
44
|
+
codec: '70646172',
|
|
45
|
+
hashAlg: 'keccak-256',
|
|
46
|
+
},
|
|
47
|
+
// message
|
|
48
|
+
'peernet-message': {
|
|
49
|
+
codec: '706d65',
|
|
50
|
+
hashAlg: 'keccak-512',
|
|
51
|
+
},
|
|
52
|
+
// pubsub
|
|
53
|
+
'peernet-ps': {
|
|
54
|
+
codec: '707073',
|
|
55
|
+
hashAlg: 'keccak-256',
|
|
56
|
+
},
|
|
57
|
+
'peernet-response': {
|
|
58
|
+
codec: '7072',
|
|
59
|
+
hashAlg: 'keccak-256',
|
|
60
|
+
},
|
|
61
|
+
'peernet-request': {
|
|
62
|
+
codec: '707271',
|
|
63
|
+
hashAlg: 'keccak-256',
|
|
64
|
+
},
|
|
65
|
+
// normal block
|
|
66
|
+
'leofcoin-block': {
|
|
67
|
+
codec: '6c62',
|
|
68
|
+
hashAlg: 'dbl-keccak-512', // ,
|
|
69
|
+
// testnet: 'olivia'
|
|
70
|
+
},
|
|
71
|
+
'leofcoin-tx': {
|
|
72
|
+
codec: '6c74',
|
|
73
|
+
hashAlg: 'dbl-keccak-512', // ,
|
|
74
|
+
// testnet: 'olivia'
|
|
75
|
+
},
|
|
76
|
+
// itx
|
|
77
|
+
'leofcoin-itx': {
|
|
78
|
+
codec: '6c69',
|
|
79
|
+
hashAlg: 'keccak-512', // ,
|
|
80
|
+
// testnet: 'olivia'
|
|
81
|
+
},
|
|
82
|
+
// peer reputation
|
|
83
|
+
'leofcoin-pr': {
|
|
84
|
+
codec: '6c70',
|
|
85
|
+
hashAlg: 'keccak-256', // ,
|
|
86
|
+
// testnet: 'olivia'
|
|
87
|
+
},
|
|
88
|
+
// chat message
|
|
89
|
+
'chat-message': {
|
|
90
|
+
codec: '636d',
|
|
91
|
+
hashAlg: 'dbl-keccak-512',
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
class PeernetCodec {
|
|
96
|
+
get codecs() {
|
|
97
|
+
return {...globalThis.peernet.codecs, ...codecs}
|
|
98
|
+
}
|
|
99
|
+
constructor(buffer) {
|
|
100
|
+
if (buffer) {
|
|
101
|
+
if (Buffer.isBuffer(buffer)) {
|
|
102
|
+
const codec = varint__default["default"].decode(buffer);
|
|
103
|
+
const name = this.getCodecName(codec);
|
|
104
|
+
|
|
105
|
+
if (name) {
|
|
106
|
+
this.name = name;
|
|
107
|
+
this.encoded = buffer;
|
|
108
|
+
this.decode(buffer);
|
|
109
|
+
} else {
|
|
110
|
+
this.encode(buffer);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
if (typeof buffer === 'string') {
|
|
114
|
+
if (this.codecs[buffer]) this.fromName(buffer);
|
|
115
|
+
else if (isHex__default["default"](buffer)) this.fromHex(buffer);
|
|
116
|
+
else if (bs32__default["default"].test(buffer)) this.fromBs32(buffer);
|
|
117
|
+
else this.fromBs58(buffer);
|
|
118
|
+
}
|
|
119
|
+
if (!isNaN(buffer)) if (this.codecs[this.getCodecName(buffer)]) this.fromCodec(buffer);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
fromEncoded(encoded) {
|
|
124
|
+
const codec = varint__default["default"].decode(encoded);
|
|
125
|
+
const name = this.getCodecName(codec);
|
|
126
|
+
this.name = name;
|
|
127
|
+
this.encoded = encoded;
|
|
128
|
+
this.decode(encoded);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
fromHex(hex) {
|
|
132
|
+
this.encoded = Buffer.from(hex, 'hex');
|
|
133
|
+
this.decode();
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
fromBs32(input) {
|
|
137
|
+
this.encoded = bs32__default["default"].decode(input);
|
|
138
|
+
this.decode();
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
fromBs58(input) {
|
|
142
|
+
this.encoded = bs58__default["default"].decode(input);
|
|
143
|
+
this.decode();
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
getCodec(name) {
|
|
147
|
+
return this.codecs[name].codec
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
getCodecName(codec) {
|
|
151
|
+
return Object.keys(this.codecs).reduce((p, c) => {
|
|
152
|
+
if (parseInt(Buffer.from(`${this.getCodec(c)}`, 'hex').toString('hex'), 16) === codec) return c;
|
|
153
|
+
else return p;
|
|
154
|
+
}, undefined)
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
getHashAlg(name) {
|
|
158
|
+
return this.codecs[name].hashAlg
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
fromCodec(codec) {
|
|
162
|
+
this.name = this.getCodecName(codec);
|
|
163
|
+
this.hashAlg = this.getHashAlg(this.name);
|
|
164
|
+
|
|
165
|
+
this.codec = this.getCodec(this.name);
|
|
166
|
+
this.codecBuffer = Buffer.from(varint__default["default"].encode(parseInt(Buffer.from(`${this.codec}`, 'hex').toString('hex'), 16)), 'hex');
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
fromName(name) {
|
|
170
|
+
const codec = this.getCodec(name);
|
|
171
|
+
this.name = name;
|
|
172
|
+
this.codec = codec;
|
|
173
|
+
this.hashAlg = this.getHashAlg(name);
|
|
174
|
+
this.codecBuffer = Buffer.from(varint__default["default"].encode(parseInt(Buffer.from(`${codec}`, 'hex').toString('hex'), 16)), 'hex');
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
toBs32() {
|
|
178
|
+
this.encode();
|
|
179
|
+
return bs32__default["default"].encode(this.encoded)
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
toBs58() {
|
|
183
|
+
this.encode();
|
|
184
|
+
return bs58__default["default"].encode(this.encoded)
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
toHex() {
|
|
188
|
+
return this.encoded.toString('hex')
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
decode() {
|
|
192
|
+
const codec = varint__default["default"].decode(this.encoded);
|
|
193
|
+
this.fromCodec(codec);
|
|
194
|
+
this.name = this.getCodecName(codec);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
encode() {
|
|
198
|
+
const codec = Buffer.from(varint__default["default"].encode(parseInt(Buffer.from(`${this.codec}`, 'hex').toString('hex'), 16)), 'hex');
|
|
199
|
+
this.encoded = codec;
|
|
200
|
+
return this.encoded
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
exports.PeernetCodec = PeernetCodec;
|
|
205
|
+
exports.codecs = codecs;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var bs32 = require('bs32');
|
|
4
4
|
var bs58 = require('bs58');
|
|
5
5
|
var isHex = require('is-hex');
|
|
6
|
-
var codec = require('./codec-
|
|
6
|
+
var codec = require('./codec-6367213c.js');
|
|
7
7
|
var hash = require('./hash.js');
|
|
8
8
|
require('varint');
|
|
9
9
|
require('keccak');
|
|
@@ -16,7 +16,7 @@ var isHex__default = /*#__PURE__*/_interopDefaultLegacy(isHex);
|
|
|
16
16
|
|
|
17
17
|
class FormatInterface {
|
|
18
18
|
/**
|
|
19
|
-
* @param {Buffer|String|Object} buffer -
|
|
19
|
+
* @param {Buffer|String|Object} buffer - data - The data needed to create the desired message
|
|
20
20
|
* @param {Object} proto - {encode, decode}
|
|
21
21
|
* @param {Object} options - {hashFormat, name}
|
|
22
22
|
*/
|
|
@@ -25,7 +25,9 @@ class FormatInterface {
|
|
|
25
25
|
this.protoDecode = proto.decode;
|
|
26
26
|
if (options.name) this.name = options.name;
|
|
27
27
|
this.hashFormat = options.hashFormat || 'bs32';
|
|
28
|
-
if (
|
|
28
|
+
if (buffer.name === options.name) {
|
|
29
|
+
return buffer
|
|
30
|
+
} else if (Buffer.isBuffer(buffer)) {
|
|
29
31
|
const codec$1 = new codec.PeernetCodec(buffer);
|
|
30
32
|
if (codec$1.name) {
|
|
31
33
|
this.fromEncoded(buffer);
|
|
@@ -34,8 +36,8 @@ class FormatInterface {
|
|
|
34
36
|
}
|
|
35
37
|
} else {
|
|
36
38
|
if (typeof buffer === 'string') {
|
|
37
|
-
if (isHex__default[
|
|
38
|
-
else if (bs32__default[
|
|
39
|
+
if (isHex__default["default"](buffer)) this.fromHex(buffer);
|
|
40
|
+
else if (bs32__default["default"].test(buffer)) this.fromBs32(buffer);
|
|
39
41
|
else this.fromBs58(buffer);
|
|
40
42
|
} else if (typeof buffer === 'object' && !Array.isArray(buffer)) {
|
|
41
43
|
this.create(buffer);
|
|
@@ -103,7 +105,7 @@ class FormatInterface {
|
|
|
103
105
|
* @param {String} encoded
|
|
104
106
|
*/
|
|
105
107
|
fromBs32(encoded) {
|
|
106
|
-
this.encoded = bs32__default[
|
|
108
|
+
this.encoded = bs32__default["default"].decode(encoded);
|
|
107
109
|
this.decode();
|
|
108
110
|
}
|
|
109
111
|
|
|
@@ -111,7 +113,7 @@ class FormatInterface {
|
|
|
111
113
|
* @param {String} encoded
|
|
112
114
|
*/
|
|
113
115
|
fromBs58(encoded) {
|
|
114
|
-
this.encoded = bs58__default[
|
|
116
|
+
this.encoded = bs58__default["default"].decode(encoded);
|
|
115
117
|
this.decode();
|
|
116
118
|
}
|
|
117
119
|
|
|
@@ -128,7 +130,7 @@ class FormatInterface {
|
|
|
128
130
|
*/
|
|
129
131
|
toBs32() {
|
|
130
132
|
if (!this.encoded) this.encode();
|
|
131
|
-
return bs32__default[
|
|
133
|
+
return bs32__default["default"].encode(this.encoded)
|
|
132
134
|
}
|
|
133
135
|
|
|
134
136
|
/**
|
|
@@ -136,15 +138,29 @@ class FormatInterface {
|
|
|
136
138
|
*/
|
|
137
139
|
toBs58() {
|
|
138
140
|
if (!this.encoded) this.encode();
|
|
139
|
-
return bs58__default[
|
|
141
|
+
return bs58__default["default"].encode(this.encoded)
|
|
140
142
|
}
|
|
141
143
|
|
|
142
144
|
/**
|
|
143
145
|
* @param {Object} data
|
|
144
146
|
*/
|
|
145
147
|
create(data) {
|
|
146
|
-
|
|
147
|
-
this.
|
|
148
|
+
const decoded = {};
|
|
149
|
+
if (this.keys?.length > 0) {
|
|
150
|
+
for (const key of this.keys) {
|
|
151
|
+
Object.defineProperties(decoded, {
|
|
152
|
+
[key]: {
|
|
153
|
+
enumerable: true,
|
|
154
|
+
configurable: true,
|
|
155
|
+
set: (val) => value = data[key],
|
|
156
|
+
get: () => data[key]
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
this.decoded = decoded;
|
|
162
|
+
this.encode();
|
|
163
|
+
}
|
|
148
164
|
}
|
|
149
165
|
}
|
|
150
166
|
|
package/dist/commonjs/codec.js
CHANGED
|
@@ -5,7 +5,7 @@ require('bs32');
|
|
|
5
5
|
var codecFormatInterface = require('./codec-format-interface.js');
|
|
6
6
|
require('bs58');
|
|
7
7
|
require('is-hex');
|
|
8
|
-
require('./codec-
|
|
8
|
+
require('./codec-6367213c.js');
|
|
9
9
|
require('varint');
|
|
10
10
|
require('./hash.js');
|
|
11
11
|
require('keccak');
|
|
@@ -29,7 +29,7 @@ class DHTMessageResponse extends codecFormatInterface {
|
|
|
29
29
|
|
|
30
30
|
constructor(data) {
|
|
31
31
|
const name = 'peernet-dht-response';
|
|
32
|
-
super(data, protons__default[
|
|
32
|
+
super(data, protons__default["default"](proto).PeernetDHTMessageResponse, {name});
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
|
package/dist/commonjs/dht.js
CHANGED
|
@@ -5,7 +5,7 @@ var codecFormatInterface = require('./codec-format-interface.js');
|
|
|
5
5
|
require('bs32');
|
|
6
6
|
require('bs58');
|
|
7
7
|
require('is-hex');
|
|
8
|
-
require('./codec-
|
|
8
|
+
require('./codec-6367213c.js');
|
|
9
9
|
require('varint');
|
|
10
10
|
require('./hash.js');
|
|
11
11
|
require('keccak');
|
|
@@ -40,7 +40,7 @@ class DHTMessage extends codecFormatInterface {
|
|
|
40
40
|
|
|
41
41
|
constructor(data) {
|
|
42
42
|
const name = 'peernet-dht';
|
|
43
|
-
super(data, protons__default[
|
|
43
|
+
super(data, protons__default["default"](proto).PeernetDHTMessage, {name});
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
|
package/dist/commonjs/hash.js
CHANGED
|
@@ -5,7 +5,7 @@ var varint = require('varint');
|
|
|
5
5
|
var bs32 = require('bs32');
|
|
6
6
|
var bs58 = require('bs58');
|
|
7
7
|
var isHex = require('is-hex');
|
|
8
|
-
var codec = require('./codec-
|
|
8
|
+
var codec = require('./codec-6367213c.js');
|
|
9
9
|
|
|
10
10
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
11
11
|
|
|
@@ -34,8 +34,8 @@ class PeernetHash {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
if (typeof buffer === 'string') {
|
|
37
|
-
if (isHex__default[
|
|
38
|
-
if (bs32__default[
|
|
37
|
+
if (isHex__default["default"](buffer)) this.fromHex(buffer);
|
|
38
|
+
if (bs32__default["default"].test(buffer)) this.fromBs32(buffer);
|
|
39
39
|
else this.fromBs58(buffer);
|
|
40
40
|
} else if (typeof buffer === 'object') this.fromJSON(buffer);
|
|
41
41
|
}
|
|
@@ -46,7 +46,7 @@ class PeernetHash {
|
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
get length() {
|
|
49
|
-
return Buffer.from(varint__default[
|
|
49
|
+
return Buffer.from(varint__default["default"].encode(this.size))
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
get buffer() {
|
|
@@ -66,19 +66,19 @@ class PeernetHash {
|
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
toBs32() {
|
|
69
|
-
return bs32__default[
|
|
69
|
+
return bs32__default["default"].encode(this.hash)
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
fromBs32(bs) {
|
|
73
|
-
return this.decode(bs32__default[
|
|
73
|
+
return this.decode(bs32__default["default"].decode(bs))
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
toBs58() {
|
|
77
|
-
return bs58__default[
|
|
77
|
+
return bs58__default["default"].encode(this.hash)
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
fromBs58(bs) {
|
|
81
|
-
return this.decode(bs58__default[
|
|
81
|
+
return this.decode(bs58__default["default"].decode(bs))
|
|
82
82
|
}
|
|
83
83
|
|
|
84
84
|
toString(encoding = 'utf8') {
|
|
@@ -93,9 +93,9 @@ class PeernetHash {
|
|
|
93
93
|
let hashAlg = this.discoCodec.hashAlg;
|
|
94
94
|
if (hashAlg.includes('dbl')) {
|
|
95
95
|
hashAlg = hashAlg.replace('dbl-', '');
|
|
96
|
-
buffer = createKeccakHash__default[
|
|
96
|
+
buffer = createKeccakHash__default["default"](hashAlg.replace('-', '')).update(buffer).digest();
|
|
97
97
|
}
|
|
98
|
-
this.digest = createKeccakHash__default[
|
|
98
|
+
this.digest = createKeccakHash__default["default"](hashAlg.replace('-', '')).update(buffer).digest();
|
|
99
99
|
this.size = this.digest.length;
|
|
100
100
|
|
|
101
101
|
this.codec = this.discoCodec.encode();
|
|
@@ -110,7 +110,7 @@ class PeernetHash {
|
|
|
110
110
|
|
|
111
111
|
validate(buffer) {
|
|
112
112
|
if (Buffer.isBuffer(buffer)) {
|
|
113
|
-
const codec = varint__default[
|
|
113
|
+
const codec = varint__default["default"].decode(buffer);
|
|
114
114
|
if (this.codecs[codec]) {
|
|
115
115
|
this.decode(buffer);
|
|
116
116
|
} else {
|
|
@@ -118,21 +118,21 @@ class PeernetHash {
|
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
120
|
if (typeof buffer === 'string') {
|
|
121
|
-
if (isHex__default[
|
|
122
|
-
if (bs32__default[
|
|
121
|
+
if (isHex__default["default"](buffer)) this.fromHex(buffer);
|
|
122
|
+
if (bs32__default["default"].test(buffer)) this.fromBs32(buffer);
|
|
123
123
|
}
|
|
124
124
|
if (typeof buffer === 'object') this.fromJSON(buffer);
|
|
125
125
|
}
|
|
126
126
|
|
|
127
127
|
decode(buffer) {
|
|
128
128
|
this.hash = buffer;
|
|
129
|
-
const codec$1 = varint__default[
|
|
129
|
+
const codec$1 = varint__default["default"].decode(buffer);
|
|
130
130
|
|
|
131
131
|
this.discoCodec = new codec.PeernetCodec(codec$1, this.codecs);
|
|
132
132
|
// TODO: validate codec
|
|
133
|
-
buffer = buffer.slice(varint__default[
|
|
134
|
-
this.size = varint__default[
|
|
135
|
-
this.digest = buffer.slice(varint__default[
|
|
133
|
+
buffer = buffer.slice(varint__default["default"].decode.bytes);
|
|
134
|
+
this.size = varint__default["default"].decode(buffer);
|
|
135
|
+
this.digest = buffer.slice(varint__default["default"].decode.bytes);
|
|
136
136
|
if (this.digest.length !== this.size) {
|
|
137
137
|
throw new Error(`hash length inconsistent: 0x${this.hash.toString('hex')}`)
|
|
138
138
|
}
|
|
@@ -5,7 +5,7 @@ var codecFormatInterface = require('./codec-format-interface.js');
|
|
|
5
5
|
require('bs32');
|
|
6
6
|
require('bs58');
|
|
7
7
|
require('is-hex');
|
|
8
|
-
require('./codec-
|
|
8
|
+
require('./codec-6367213c.js');
|
|
9
9
|
require('varint');
|
|
10
10
|
require('./hash.js');
|
|
11
11
|
require('keccak');
|
|
@@ -31,7 +31,7 @@ class PeernetMessage extends codecFormatInterface {
|
|
|
31
31
|
|
|
32
32
|
constructor(buffer) {
|
|
33
33
|
const name = 'peernet-message';
|
|
34
|
-
super(buffer, protons__default[
|
|
34
|
+
super(buffer, protons__default["default"](proto).PeernetMessage, {name});
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
|