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

22 lines
497 B
TypeScript
Raw Normal View History

2022-06-23 15:37:30 +10:00
import { 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
export function mulitaddrFromFields(
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-06-23 15:51:15 +10:00
let ma = new Multiaddr(
"/" + ipFamily + "/" + convertToString(ipFamily, ipBytes)
);
2022-06-23 15:37:30 +10:00
2022-06-23 15:51:15 +10:00
ma = ma.encapsulate(
new Multiaddr(
"/" + protocol + "/" + convertToString(protocol, protocolBytes)
)
);
2022-06-23 15:37:30 +10:00
return ma;
}