logos-messaging-js/packages/enr/src/multiaddr_from_fields.ts

19 lines
527 B
TypeScript
Raw Normal View History

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 {
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(
multiaddr("/" + protocol + "/" + convertToString(protocol, protocolBytes))
2022-06-23 15:51:15 +10:00
);
2022-06-23 15:37:30 +10:00
return ma;
}