Skip to content
This repository was archived by the owner on Feb 12, 2024. It is now read-only.

Commit 9f39a6f

Browse files
committed
fix: now properly fix bootstrap in core
1 parent d527b45 commit 9f39a6f

File tree

1 file changed

+23
-17
lines changed

1 file changed

+23
-17
lines changed

src/core/components/bootstrap.js

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,24 @@
11
'use strict'
22

33
const defaultNodes = require('../runtime/config-nodejs.json').Bootstrap
4-
// const MultiAddr = require('multiaddr')
4+
const Multiaddr = require('multiaddr')
55
const promisify = require('promisify-es6')
66

7+
function isValid (ma) {
8+
if (typeof ma === 'string') {
9+
try {
10+
ma = new Multiaddr(ma)
11+
return Boolean(ma)
12+
} catch (err) {
13+
return false
14+
}
15+
} else if (ma) {
16+
return Multiaddr.isMultiaddr(ma)
17+
} else {
18+
return false
19+
}
20+
}
21+
722
module.exports = function bootstrap (self) {
823
return {
924
list: promisify((callback) => {
@@ -17,17 +32,13 @@ module.exports = function bootstrap (self) {
1732
add: promisify((multiaddr, args, callback) => {
1833
if (typeof args === 'function') {
1934
callback = args
20-
args = {default: false}
35+
args = { default: false }
2136
}
22-
try {
23-
if (multiaddr) {
24-
// TODO understand what was the purpose of this code
25-
// it failed on tests, it passes without
26-
// multiaddr = new MultiAddr(multiaddr)
27-
}
28-
} catch (err) {
29-
return setImmediate(() => callback(err))
37+
38+
if (multiaddr && !isValid(multiaddr)) {
39+
return setImmediate(() => callback(new Error('Not valid multiaddr')))
3040
}
41+
3142
self._repo.config.get((err, config) => {
3243
if (err) {
3344
return callback(err)
@@ -53,13 +64,8 @@ module.exports = function bootstrap (self) {
5364
callback = args
5465
args = {all: false}
5566
}
56-
try {
57-
if (multiaddr) {
58-
// TODO understand what was the purpose of this code
59-
// multiaddr = new MultiAddr(multiaddr)
60-
}
61-
} catch (err) {
62-
return setImmediate(() => callback(err))
67+
if (multiaddr && !isValid(multiaddr)) {
68+
return setImmediate(() => callback(new Error('Not valid multiaddr')))
6369
}
6470

6571
self._repo.config.get((err, config) => {

0 commit comments

Comments
 (0)