@@ -13,7 +13,7 @@ const PubsubRouters = require('../runtime/libp2p-pubsub-routers-nodejs')
13
13
* @typedef {import('peer-id') } PeerId
14
14
* @typedef {import('../types').Options } IPFSOptions
15
15
* @typedef {import('libp2p') } LibP2P
16
- * @typedef {import('libp2p').Libp2pOptions & import('libp2p').constructorOptions } Options
16
+ * @typedef {import('libp2p').Libp2pOptions & import('libp2p').CreateOptions } Libp2pOptions
17
17
* @typedef {import('ipfs-core-types/src/config').Config } IPFSConfig
18
18
* @typedef {import('multiaddr').Multiaddr } Multiaddr
19
19
*/
@@ -66,6 +66,7 @@ module.exports = ({
66
66
* @param {KeychainConfig } input.keychainConfig
67
67
* @param {PeerId } input.peerId
68
68
* @param {Multiaddr[] } input.multiaddrs
69
+ * @returns {Libp2pOptions }
69
70
*/
70
71
function getLibp2pOptions ( { options, config, datastore, keys, keychainConfig, peerId, multiaddrs } ) {
71
72
const getPubsubRouter = ( ) => {
@@ -93,25 +94,20 @@ function getLibp2pOptions ({ options, config, datastore, keys, keychainConfig, p
93
94
config : {
94
95
peerDiscovery : {
95
96
mdns : {
96
- enabled : get ( options , 'config.Discovery.MDNS.Enabled' ,
97
- get ( config , 'Discovery.MDNS.Enabled' , true ) )
97
+ enabled : get ( options , 'config.Discovery.MDNS.Enabled' , get ( config , 'Discovery.MDNS.Enabled' , true ) )
98
98
} ,
99
99
webRTCStar : {
100
- enabled : get ( options , 'config.Discovery.webRTCStar.Enabled' ,
101
- get ( config , 'Discovery.webRTCStar.Enabled' , true ) )
100
+ enabled : get ( options , 'config.Discovery.webRTCStar.Enabled' , get ( config , 'Discovery.webRTCStar.Enabled' , true ) )
102
101
} ,
103
102
bootstrap : {
104
103
list : get ( options , 'config.Bootstrap' , get ( config , 'Bootstrap' , [ ] ) )
105
104
}
106
105
} ,
107
106
relay : {
108
- enabled : get ( options , 'relay.enabled' ,
109
- get ( config , 'relay.enabled' , true ) ) ,
107
+ enabled : get ( options , 'relay.enabled' , get ( config , 'relay.enabled' , true ) ) ,
110
108
hop : {
111
- enabled : get ( options , 'relay.hop.enabled' ,
112
- get ( config , 'relay.hop.enabled' , false ) ) ,
113
- active : get ( options , 'relay.hop.active' ,
114
- get ( config , 'relay.hop.active' , false ) )
109
+ enabled : get ( options , 'relay.hop.enabled' , get ( config , 'relay.hop.enabled' , false ) ) ,
110
+ active : get ( options , 'relay.hop.active' , get ( config , 'relay.hop.active' , false ) )
115
111
}
116
112
} ,
117
113
dht : {
@@ -120,30 +116,20 @@ function getLibp2pOptions ({ options, config, datastore, keys, keychainConfig, p
120
116
kBucketSize : get ( options , 'dht.kBucketSize' , 20 )
121
117
} ,
122
118
pubsub : {
123
- enabled : get ( options , 'config.Pubsub.Enabled' ,
124
- get ( config , 'Pubsub.Enabled' , true ) )
119
+ enabled : get ( options , 'config.Pubsub.Enabled' , get ( config , 'Pubsub.Enabled' , true ) )
125
120
} ,
126
121
nat : {
127
- enabled : get ( options , 'libp2p.config.nat.enabled' , ! get ( config , 'Swarm.DisableNatPortMap' , false ) ) ,
128
- ttl : get ( options , 'libp2p.config.nat.ttl' , 7200 ) ,
129
- keepAlive : get ( options , 'libp2p.config.nat.keepAlive' , true ) ,
130
- gateway : get ( options , 'libp2p.config.nat.gateway' ) ,
131
- externalIp : get ( options , 'libp2p.config.nat.externalIp' ) ,
132
- pmp : {
133
- enabled : get ( options , 'libp2p.config.nat.pmp.enabled' , false )
134
- }
122
+ enabled : ! get ( config , 'Swarm.DisableNatPortMap' , false )
135
123
}
136
124
} ,
137
125
addresses : {
138
126
listen : multiaddrs . map ( ma => ma . toString ( ) ) ,
139
- announce : get ( options , 'addresses.announce' ,
140
- get ( config , 'Addresses.Announce ' , [ ] ) )
127
+ announce : get ( options , 'addresses.announce' , get ( config , 'Addresses.Announce' , [ ] ) ) ,
128
+ noAnnounce : get ( options , 'addresses.noAnnounce' , get ( config , 'Addresses.NoAnnounce ' , [ ] ) )
141
129
} ,
142
130
connectionManager : get ( options , 'connectionManager' , {
143
- maxConnections : get ( options , 'config.Swarm.ConnMgr.HighWater' ,
144
- get ( config , 'Swarm.ConnMgr.HighWater' ) ) ,
145
- minConnections : get ( options , 'config.Swarm.ConnMgr.LowWater' ,
146
- get ( config , 'Swarm.ConnMgr.LowWater' ) )
131
+ maxConnections : get ( options , 'config.Swarm.ConnMgr.HighWater' , get ( config , 'Swarm.ConnMgr.HighWater' ) ) ,
132
+ minConnections : get ( options , 'config.Swarm.ConnMgr.LowWater' , get ( config , 'Swarm.ConnMgr.LowWater' ) )
147
133
} ) ,
148
134
keychain : {
149
135
datastore : keys ,
@@ -155,10 +141,11 @@ function getLibp2pOptions ({ options, config, datastore, keys, keychainConfig, p
155
141
// Note: libp2p-nodejs gets replaced by libp2p-browser when webpacked/browserified
156
142
const getEnvLibp2pOptions = require ( '../runtime/libp2p-nodejs' )
157
143
158
- let constructorOptions = get ( options , 'libp2p' , { } )
144
+ /** @type {import('libp2p').Libp2pOptions | undefined } */
145
+ let constructorOptions = get ( options , 'libp2p' , undefined )
159
146
160
147
if ( typeof constructorOptions === 'function' ) {
161
- constructorOptions = { }
148
+ constructorOptions = undefined
162
149
}
163
150
164
151
// Merge defaults with Node.js/browser/other environments options and configuration
0 commit comments