1 Commits

Author SHA1 Message Date
Chris Daßler
ebb4f105f9 feat: Add metadata support for peer discovery events
- Add metadata field to PeerDiscoveredEvent interface
- Add metadata field to PeerInfo interface
- Update event handler to forward metadata from native events
- Enables proper user identification in discovery

🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-29 11:40:36 +02:00
4 changed files with 16 additions and 3 deletions

View File

@@ -135,13 +135,14 @@ export class Libp2pComponent implements ILibp2pComponent {
// Peer discovery // Peer discovery
this.eventEmitter.addListener( this.eventEmitter.addListener(
'onPeerDiscovered', 'onPeerDiscovered',
({ peerId, addresses, multiaddrs }: PeerDiscoveredEvent) => { ({ peerId, addresses, multiaddrs, metadata }: PeerDiscoveredEvent) => {
const addrs = (multiaddrs || addresses || []).map( const addrs = (multiaddrs || addresses || []).map(
(addr: string) => new SimpleMultiaddr(addr), (addr: string) => new SimpleMultiaddr(addr),
); );
this.emit('peer:discovery', { this.emit('peer:discovery', {
id: new SimplePeerId(peerId), id: new SimplePeerId(peerId),
multiaddrs: addrs, multiaddrs: addrs,
metadata: metadata, // Pass metadata through
}); });
}, },
); );

View File

@@ -33,6 +33,12 @@ export interface Connection {
export interface PeerInfo { export interface PeerInfo {
id: PeerId; id: PeerId;
multiaddrs: Multiaddr[]; multiaddrs: Multiaddr[];
metadata?: {
userId?: string;
deviceName?: string;
source?: string;
[key: string]: any;
};
} }
export interface ProtocolHandler { export interface ProtocolHandler {

View File

@@ -1,11 +1,11 @@
{ {
"name": "@metatrom/libp2p-native-bridge", "name": "@metatrom/libp2p-native-bridge",
"version": "1.0.0", "version": "1.2.0-beta.1",
"main": "index.ts", "main": "index.ts",
"type": "module", "type": "module",
"description": "Native libp2p bridge for React Native applications", "description": "Native libp2p bridge for React Native applications",
"metatrom": { "metatrom": {
"ior": "com.metatrom.libp2p-native-bridge@1.0.0", "ior": "com.metatrom.libp2p-native-bridge@1.2.0-beta.1",
"capabilities": { "capabilities": {
"p2p": true, "p2p": true,
"contracts": false, "contracts": false,

View File

@@ -32,6 +32,12 @@ export interface PeerDiscoveredEvent {
peerId: string; peerId: string;
addresses?: string[]; addresses?: string[];
multiaddrs?: string[]; multiaddrs?: string[];
metadata?: {
userId?: string;
deviceName?: string;
source?: string;
[key: string]: any;
};
} }
export interface PeerLostEvent { export interface PeerLostEvent {