no event.parsedAddress

This commit is contained in:
Andre Staltz 2024-01-12 17:10:04 +02:00
parent c499e0f945
commit c62e7fc3bf
No known key found for this signature in database
GPG Key ID: 9EDE23EA7E8A4890
1 changed files with 13 additions and 10 deletions

View File

@ -10,13 +10,16 @@ const { muxrpcMissing } = require('./utils')
*/ */
/** /**
* @param {Array<[any, any]>} parsedAddress * @param {string} addresses
* @returns {string | undefined} * @returns {string | undefined}
*/ */
function extractSHSEPubkey(parsedAddress) { function extractSHSEPubkey(addresses) {
for (const [transport, transform] of parsedAddress) { for (const address of addresses.split(';')) {
if (transform.name === 'shse') { for (const [transport, transform] of address.split('~')) {
return bs58.encode(transform.pubkey) const [name, pubkey, extra] = transform.split(':')
if (name === 'shse') {
return pubkey
}
} }
} }
} }
@ -42,8 +45,8 @@ const makeTunnelPlugin = (hubs, peer) => (/** @type {any}} */ msConfig) => {
pull( pull(
peer.net.listen(), peer.net.listen(),
pull.filter(({ type }) => type === 'connected'), pull.filter(({ type }) => type === 'connected'),
pull.drain(async ({ address, parsedAddress, details }) => { pull.drain(async ({ address, details }) => {
const pubkey = extractSHSEPubkey(parsedAddress) const pubkey = extractSHSEPubkey(address)
if (!pubkey) return if (!pubkey) return
if (hubs.has(pubkey)) return if (hubs.has(pubkey)) return
if (!details?.rpc) return if (!details?.rpc) return
@ -69,8 +72,8 @@ const makeTunnelPlugin = (hubs, peer) => (/** @type {any}} */ msConfig) => {
pull( pull(
peer.net.listen(), peer.net.listen(),
pull.filter(({ type }) => type === 'disconnected'), pull.filter(({ type }) => type === 'disconnected'),
pull.drain(({ parsedAddress }) => { pull.drain(({ address }) => {
const pubkey = extractSHSEPubkey(parsedAddress) const pubkey = extractSHSEPubkey(address)
if (!pubkey) return if (!pubkey) return
if (!hubs.has(pubkey)) return if (!hubs.has(pubkey)) return
hubs.get(pubkey)?.close() hubs.get(pubkey)?.close()
@ -107,7 +110,7 @@ const makeTunnelPlugin = (hubs, peer) => (/** @type {any}} */ msConfig) => {
// If no hub found, wait a second and try again // If no hub found, wait a second and try again
if (!hubRPC) { if (!hubRPC) {
await new Promise(resolve => setTimeout(resolve, 1000)) await new Promise((resolve) => setTimeout(resolve, 1000))
hubRPC = hubs.get(hub)?.rpc hubRPC = hubs.get(hub)?.rpc
} }