2022-10-30 21:32:24 +11:00
|
|
|
import { multiaddr } from "@multiformats/multiaddr";
|
|
|
|
|
import type { Multiaddr } from "@multiformats/multiaddr";
|
2022-06-23 15:51:15 +10:00
|
|
|
import { convertToString } from "@multiformats/multiaddr/convert";
|
2022-06-23 15:37:30 +10:00
|
|
|
|
2022-06-23 15:52:12 +10:00
|
|
|
export function multiaddrFromFields(
|
2022-06-23 15:51:15 +10:00
|
|
|
ipFamily: string,
|
2022-06-23 15:37:30 +10:00
|
|
|
protocol: string,
|
|
|
|
|
ipBytes: Uint8Array,
|
2022-06-23 15:51:15 +10:00
|
|
|
protocolBytes: Uint8Array
|
2022-06-23 15:37:30 +10:00
|
|
|
): Multiaddr {
|
2022-10-30 21:32:24 +11:00
|
|
|
let ma = multiaddr("/" + ipFamily + "/" + convertToString(ipFamily, ipBytes));
|
2022-06-23 15:37:30 +10:00
|
|
|
|
2022-06-23 15:51:15 +10:00
|
|
|
ma = ma.encapsulate(
|
2022-10-30 21:32:24 +11:00
|
|
|
multiaddr("/" + protocol + "/" + convertToString(protocol, protocolBytes))
|
2022-06-23 15:51:15 +10:00
|
|
|
);
|
2022-06-23 15:37:30 +10:00
|
|
|
|
|
|
|
|
return ma;
|
|
|
|
|
}
|