UNPKG

@pharosnames/address-encoder

Version:

Encodes and decodes address formats for various cryptocurrencies with Pharos network support

31 lines 998 B
import { equalBytes } from "@noble/curves/abstract/utils"; import { base58CheckDecode, base58CheckEncode } from "../utils/base58.js"; const name = "zen"; const coinType = 121; const validPrefixes = [ new Uint8Array([0x20, 0x89]), new Uint8Array([0x1c, 0xb8]), new Uint8Array([0x20, 0x96]), new Uint8Array([0x1c, 0xbd]), new Uint8Array([0x16, 0x9a]), ]; export const encodeZenAddress = (source) => { const prefix = source.slice(0, 2); if (!validPrefixes.some((x) => equalBytes(x, prefix))) throw new Error("Invalid prefix"); return base58CheckEncode(source); }; export const decodeZenAddress = (source) => { const decoded = base58CheckDecode(source); const prefix = decoded.slice(0, 2); if (!validPrefixes.some((x) => equalBytes(x, prefix))) throw new Error("Invalid prefix"); return decoded; }; export const zen = { name, coinType, encode: encodeZenAddress, decode: decodeZenAddress, }; //# sourceMappingURL=zen.js.map