previewFederation
previewFederation(inviteCode: string): Promise<PreviewFederation>
Attempts to retrieve federation details before joining a Federation. This allows you to inspect the federation's configuration, endpoints, modules, and metadata without committing to join.
Parameters
inviteCode- The federation invite code to preview
Returns
PreviewFederation - An object containing:
ts
{
config: JsonClientConfig // Detailed federation configuration
federation_id: string // Federation identifier
}The config object includes:
global: Global configuration including:api_endpoints: Record of peer URLs and namesbroadcast_public_keys: Public keys for each peerconsensus_version: The consensus version (major/minor)meta: Metadata including federation name
modules: Record of module configurations (e.g., "ln", "mint", "wallet")
Example
ts
import { WalletDirector } from '@fedimint/core'
import { WasmWorkerTransport } from '@fedimint/transport-web'
const director = new WalletDirector(new WasmWorkerTransport())
const preview = await director.previewFederation('fed123...')
// Access federation details
console.log('Federation ID:', preview.federation_id)
console.log('Federation Name:', preview.config.global.meta.federation_name)
console.log('Consensus Version:', preview.config.global.consensus_version)
// Access API endpoints
Object.entries(preview.config.global.api_endpoints).forEach(
([peerId, peer]) => {
console.log(`Peer ${peerId}: ${peer.name} at ${peer.url}`)
},
)
// Check available modules
console.log('Available modules:', Object.keys(preview.config.modules))