@l2-technology/sensei-client
Advanced tools
Comparing version 0.1.17 to 0.1.18
{ | ||
"name": "@l2-technology/sensei-client", | ||
"version": "0.1.17", | ||
"version": "0.1.18", | ||
"description": "A javascript client for the Sensei HTTP API", | ||
@@ -5,0 +5,0 @@ "main": "src/index.js", |
@@ -229,2 +229,20 @@ export interface SenseiClientConfig { | ||
} | ||
export interface NetworkGraphInfo { | ||
numChannels: number; | ||
numNodes: number; | ||
numKnownEdgePolicies: number; | ||
} | ||
export interface KnownPeer { | ||
pubkey: string; | ||
label?: string; | ||
zeroConf: boolean; | ||
} | ||
export interface GetKnownPeersResponse { | ||
peers: KnownPeer[]; | ||
pagination: PaginationResponse; | ||
} | ||
export declare type ListParams = PaginationParams & SearchableParams; | ||
@@ -278,3 +296,7 @@ | ||
verifyMessage(message: string, signature: string): Promise<VerifyMessageResponse>; | ||
networkGraphInfo(): Promise<NetworkGraphInfo>; | ||
getKnownPeers({ page, searchTerm, take }: ListParams): Promise<GetKnownPeersResponse>; | ||
addKnownPeer(pubkey: string, label: string, zeroConf: boolean): Promise<void>; | ||
removeKnownPeer(pubkey: string): Promise<void>; | ||
} | ||
export default SenseiClient; |
@@ -481,4 +481,47 @@ class SenseiClient { | ||
} | ||
async networkGraphInfo() { | ||
const { num_channels, num_nodes, num_known_edge_policies } = await this.get( | ||
`${this.basePath}/v1/node/network-graph/info`, | ||
); | ||
return { | ||
numChannels: num_channels, | ||
numNodes: num_nodes, | ||
numKnownEdgePolicies: num_known_edge_policies, | ||
}; | ||
} | ||
async getKnownPeers({ page, searchTerm, take }) { | ||
const { peers, pagination } = await this.get( | ||
`${this.basePath}/v1/node/known-peers?page=${page}&take=${take}&query=${searchTerm}`, | ||
); | ||
return { | ||
peers: peers.map((peer) => { | ||
return { | ||
pubkey: peer.pubkey, | ||
label: peer.label || '', | ||
zeroConf: peer.zero_conf, | ||
}; | ||
}), | ||
pagination: { | ||
...pagination, | ||
hasMore: pagination.has_more, | ||
}, | ||
}; | ||
} | ||
async addKnownPeer(pubkey, label, zeroConf) { | ||
return this.post(`${this.basePath}/v1/node/known-peers`, { | ||
pubkey, | ||
label, | ||
zero_conf: zeroConf, | ||
}); | ||
} | ||
async removeKnownPeer(pubkey) { | ||
return this.delete(`${this.basePath}/v1/node/known-peers`, { pubkey }); | ||
} | ||
} | ||
module.exports = SenseiClient; |
25831
755