Compare commits
2 Commits
fix/new-na
...
feat/metad
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ebb4f105f9 | ||
| e3067c3404 |
@@ -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
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
@@ -153,6 +154,15 @@ export class Libp2pComponent implements ILibp2pComponent {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Multiaddresses changed event
|
||||||
|
this.eventEmitter.addListener('onMultiaddressesChanged', ({ multiaddrs }: { multiaddrs: string[] }) => {
|
||||||
|
logger.debug('[Libp2pComponent] Multiaddresses changed:', multiaddrs);
|
||||||
|
this._multiaddrs = multiaddrs.map((addr: string) => new SimpleMultiaddr(addr));
|
||||||
|
this.emit('multiaddresses:changed', {
|
||||||
|
multiaddrs: this._multiaddrs,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
// Connection events
|
// Connection events
|
||||||
this.eventEmitter.addListener(
|
this.eventEmitter.addListener(
|
||||||
'onConnectionStatus',
|
'onConnectionStatus',
|
||||||
|
|||||||
@@ -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 {
|
||||||
@@ -78,6 +84,7 @@ export interface Libp2pEvents {
|
|||||||
'connection:open': CustomEvent<Connection>;
|
'connection:open': CustomEvent<Connection>;
|
||||||
'connection:close': CustomEvent<Connection>;
|
'connection:close': CustomEvent<Connection>;
|
||||||
'self:peer:update': CustomEvent<{ peerId: PeerId; multiaddrs: Multiaddr[] }>;
|
'self:peer:update': CustomEvent<{ peerId: PeerId; multiaddrs: Multiaddr[] }>;
|
||||||
|
'multiaddresses:changed': CustomEvent<{ multiaddrs: Multiaddr[] }>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface Libp2pOptions {
|
export interface Libp2pOptions {
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user