Skip to Content

@cfxdevkit/core


@cfxdevkit/core / ClientManager

Class: ClientManager

Defined in: packages/core/src/clients/manager.ts:118

Unified Client Manager

This is the main orchestration layer that manages:

  • Core Space and eSpace client instances
  • Local development server lifecycle
  • Network switching and chain coordination
  • Health monitoring and error recovery
  • Event coordination between components

Key Design Principles:

  1. Dual Chain Support: Manages both Core and eSpace clients simultaneously
  2. Network Awareness: Automatically switches to local chains when dev server runs
  3. Health Monitoring: Continuous health checks with automatic recovery
  4. Event Coordination: Unified event system for all components
  5. Type Safety: Full TypeScript support with proper error handling

Extends

Constructors

Constructor

new ClientManager(config): ClientManager

Defined in: packages/core/src/clients/manager.ts:127

Parameters

config

ClientManagerConfig

Returns

ClientManager

Overrides

EventEmitter<ClientManagerEvents>.constructor

Properties

prefixed

static prefixed: string | boolean

Defined in: node_modules/.pnpm/eventemitter3@5.0.4/node_modules/eventemitter3/index.d.ts:9

Inherited from

EventEmitter.prefixed

Methods

addListener()

addListener<T>(event, fn, context?): this

Defined in: node_modules/.pnpm/eventemitter3@5.0.4/node_modules/eventemitter3/index.d.ts:45

Type Parameters

T

T extends keyof ClientManagerEvents

Parameters

event

T

fn

(…args) => void

context?

any

Returns

this

Inherited from

EventEmitter.addListener


emit()

emit<T>(event, …args): boolean

Defined in: node_modules/.pnpm/eventemitter3@5.0.4/node_modules/eventemitter3/index.d.ts:32

Calls each of the listeners registered for a given event.

Type Parameters

T

T extends keyof ClientManagerEvents

Parameters

event

T

args

ArgumentMap<ClientManagerEvents>[Extract<T, keyof ClientManagerEvents>]

Returns

boolean

Inherited from

EventEmitter.emit


eventNames()

eventNames(): keyof ClientManagerEvents[]

Defined in: node_modules/.pnpm/eventemitter3@5.0.4/node_modules/eventemitter3/index.d.ts:15

Return an array listing the events for which the emitter has registered listeners.

Returns

keyof ClientManagerEvents[]

Inherited from

EventEmitter.eventNames


getCoreClient()

getCoreClient(): CoreClientInstance | null

Defined in: packages/core/src/clients/manager.ts:208

Get current Core Space client

Returns

CoreClientInstance | null


getEvmClient()

getEvmClient(): EspaceClientInstance | null

Defined in: packages/core/src/clients/manager.ts:215

Get current eSpace client

Returns

EspaceClientInstance | null


getStatus()

getStatus(): ClientManagerStatus

Defined in: packages/core/src/clients/manager.ts:222

Get comprehensive status

Returns

ClientManagerStatus


initialize()

initialize(): Promise<void>

Defined in: packages/core/src/clients/manager.ts:141

Initialize the Client Manager Sets up clients, server, and monitoring

Returns

Promise<void>


listenerCount()

listenerCount(event): number

Defined in: node_modules/.pnpm/eventemitter3@5.0.4/node_modules/eventemitter3/index.d.ts:27

Return the number of listeners listening to a given event.

Parameters

event

keyof ClientManagerEvents

Returns

number

Inherited from

EventEmitter.listenerCount


listeners()

listeners<T>(event): (…args) => void[]

Defined in: node_modules/.pnpm/eventemitter3@5.0.4/node_modules/eventemitter3/index.d.ts:20

Return the listeners registered for a given event.

Type Parameters

T

T extends keyof ClientManagerEvents

Parameters

event

T

Returns

(…args) => void[]

Inherited from

EventEmitter.listeners


off()

off<T>(event, fn?, context?, once?): this

Defined in: node_modules/.pnpm/eventemitter3@5.0.4/node_modules/eventemitter3/index.d.ts:69

Type Parameters

T

T extends keyof ClientManagerEvents

Parameters

event

T

fn?

(…args) => void

context?

any

once?

boolean

Returns

this

Inherited from

EventEmitter.off


on()

on<T>(event, fn, context?): this

Defined in: node_modules/.pnpm/eventemitter3@5.0.4/node_modules/eventemitter3/index.d.ts:40

Add a listener for a given event.

Type Parameters

T

T extends keyof ClientManagerEvents

Parameters

event

T

fn

(…args) => void

context?

any

Returns

this

Inherited from

EventEmitter.on


once()

once<T>(event, fn, context?): this

Defined in: node_modules/.pnpm/eventemitter3@5.0.4/node_modules/eventemitter3/index.d.ts:54

Add a one-time listener for a given event.

Type Parameters

T

T extends keyof ClientManagerEvents

Parameters

event

T

fn

(…args) => void

context?

any

Returns

this

Inherited from

EventEmitter.once


removeAllListeners()

removeAllListeners(event?): this

Defined in: node_modules/.pnpm/eventemitter3@5.0.4/node_modules/eventemitter3/index.d.ts:79

Remove all listeners, or those of the specified event.

Parameters

event?

keyof ClientManagerEvents

Returns

this

Inherited from

EventEmitter.removeAllListeners


removeListener()

removeListener<T>(event, fn?, context?, once?): this

Defined in: node_modules/.pnpm/eventemitter3@5.0.4/node_modules/eventemitter3/index.d.ts:63

Remove the listeners of a given event.

Type Parameters

T

T extends keyof ClientManagerEvents

Parameters

event

T

fn?

(…args) => void

context?

any

once?

boolean

Returns

this

Inherited from

EventEmitter.removeListener


shutdown()

shutdown(): Promise<void>

Defined in: packages/core/src/clients/manager.ts:171

Gracefully shutdown the Client Manager

Returns

Promise<void>


switchNetwork()

switchNetwork(chainId, force?): Promise<void>

Defined in: packages/core/src/clients/manager.ts:259

Switch to a specific network

Parameters

chainId

SupportedChainId

Target chain ID

force?

boolean = false

Force switch even if node is running (for wallet operations)

Returns

Promise<void>