Skip to content

Commit 73f9fc7

Browse files
committed
feat: added default announce filter (libp2p#1573)
1 parent 27a9789 commit 73f9fc7

File tree

3 files changed

+8
-13
lines changed

3 files changed

+8
-13
lines changed

packages/libp2p/src/address-manager/utils.ts

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
import { type ObjectSchema, object, array, string } from 'yup'
1+
import { type ObjectSchema, object, array, string, mixed } from 'yup'
22
import { validateMultiaddr } from '../config/helpers.js'
33
import type { AddressManagerInit } from '.'
4+
import type { Multiaddr } from '@multiformats/multiaddr'
45

56
export function debounce (func: () => void, wait: number): () => void {
67
let timeout: ReturnType<typeof setTimeout> | undefined
@@ -18,8 +19,9 @@ export function debounce (func: () => void, wait: number): () => void {
1819

1920
export function validateAddressManagerConfig (opts: AddressManagerInit): ObjectSchema<Record<string, unknown>> {
2021
return object({
21-
listen: array().of(string()).test('is multiaddr', validateMultiaddr).optional(),
22-
announce: array().of(string()).test('is multiaddr', validateMultiaddr).optional(),
23-
noAnnounce: array().of(string()).test('is multiaddr', validateMultiaddr).optional()
22+
listen: array().of(string()).test('is multiaddr', validateMultiaddr).default([]),
23+
announce: array().of(string()).test('is multiaddr', validateMultiaddr).default([]),
24+
noAnnounce: array().of(string()).test('is multiaddr', validateMultiaddr).default([]),
25+
announceFilter: mixed().default(() => (addrs: Multiaddr[]): Multiaddr[] => addrs),
2426
})
2527
}

packages/libp2p/src/config/config.ts

+1-8
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import { publicAddressesFirst } from '@libp2p/utils/address-sort'
33
import { dnsaddrResolver } from '@multiformats/multiaddr/resolvers'
44
import mergeOptions from 'merge-options'
55
import type { ServiceMap, RecursivePartial } from '@libp2p/interface'
6-
import type { Multiaddr } from '@multiformats/multiaddr'
76
import type { Libp2pInit, ServiceFactoryMap } from '../index.js'
87
import type { AddressManagerInit } from '../address-manager'
98
import { validateAddressManagerConfig } from '../address-manager/utils.js'
@@ -13,12 +12,6 @@ import type { ConnectionManagerInit } from '../connection-manager/index.js'
1312
import { validateServicesConfig } from './helpers.js'
1413

1514
const DefaultConfig: Partial<Libp2pInit> = {
16-
addresses: {
17-
listen: [],
18-
announce: [],
19-
noAnnounce: [],
20-
announceFilter: (multiaddrs: Multiaddr[]) => multiaddrs
21-
},
2215
connectionManager: {
2316
resolvers: {
2417
dnsaddr: dnsaddrResolver
@@ -33,7 +26,7 @@ const DefaultConfig: Partial<Libp2pInit> = {
3326
export function validateConfig <T extends ServiceMap = Record<string, unknown>> (opts: RecursivePartial<Libp2pInit<T>>): Libp2pInit<T> {
3427
const libp2pConfig = object({
3528
addresses: validateAddressManagerConfig(opts?.addresses as AddressManagerInit),
36-
connectionManager: validateConnectionManagerConfig(opts?.connectionManager as ConnectionManagerInit)
29+
connectionManager: validateConnectionManagerConfig(opts?.connectionManager as ConnectionManagerInit),
3730
})
3831

3932
//@ts-expect-error

packages/libp2p/src/connection-manager/utils.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,6 @@ export const validateConnectionManagerConfig = (opts: ConnectionManagerInit): Ob
9393
allow: array().of(string()).test('is multiaddr', validateMultiaddr).optional(),
9494
deny: array().of(string()).test('is multiaddr', validateMultiaddr).optional(),
9595
inboundConnectionThreshold: number().max(opts?.maxConnections ?? MAX_CONNECTIONS, `inboundConnectionThreshold must be less than the max connections limit: ${opts?.maxConnections}`).integer().default(INBOUND_CONNECTION_THRESHOLD),
96-
maxIncomingPendingConnections: number().integer().max(opts?.maxConnections ?? MAX_CONNECTIONS, `maxIncomingPendingConnections must be less than the max connections limit: ${opts?.maxConnections}`).default(MAX_INCOMING_PENDING_CONNECTIONS)
96+
maxIncomingPendingConnections: number().integer().max(opts?.maxConnections ?? MAX_CONNECTIONS, `maxIncomingPendingConnections must be less than the max connections limit: ${opts?.maxConnections}`).default(MAX_INCOMING_PENDING_CONNECTIONS),
9797
})
9898
}

0 commit comments

Comments
 (0)