UNPKG

@pharosnames/address-encoder

Version:

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

23 lines 804 B
import { sha512_256 } from "@noble/hashes/sha512"; import { utils } from "@scure/base"; import { base32UnpaddedDecode, base32UnpaddedEncode } from "../utils/base32.js"; const name = "algo"; const coinType = 283; const algoChecksum = utils.checksum(4, (data) => sha512_256(data).slice(-4)); export const encodeAlgoAddress = (source) => { const checksum = algoChecksum.encode(source); return base32UnpaddedEncode(checksum); }; export const decodeAlgoAddress = (source) => { const decoded = base32UnpaddedDecode(source); if (decoded.length !== 36) throw new Error("Unrecognised address format"); return algoChecksum.decode(decoded); }; export const algo = { name, coinType, encode: encodeAlgoAddress, decode: decodeAlgoAddress, }; //# sourceMappingURL=algo.js.map