2 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
e3067c3404 Add event for multiaddresses changed (#2)
Co-authored-by: Chris Daßler <chris.dassler@me.com>
Reviewed-on: #2
2025-09-20 02:43:55 +02:00
4 changed files with 16 additions and 3 deletions

View File

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

View File

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

View File

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

View File

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