UNPKG

@pharosnames/address-encoder

Version:

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

26 lines 975 B
import { blake2b } from "@noble/hashes/blake2b"; import { keccak_256 } from "@noble/hashes/sha3"; import { utils } from "@scure/base"; import { base58UncheckedDecode, base58UncheckedEncode, } from "../utils/base58.js"; const name = "waves"; const coinType = 5741564; const checksumFn = (source) => keccak_256(blake2b(source, { dkLen: 32 })); const checksumLength = 4; const wavesChecksum = utils.checksum(checksumLength, checksumFn); export const encodeWavesAddress = base58UncheckedEncode; export const decodeWavesAddress = (source) => { const decoded = base58UncheckedDecode(source); if (decoded[0] !== 1) throw new Error("Invalid address format"); if (decoded[1] !== 87 || decoded.length !== 26) throw new Error("Invalid address format"); wavesChecksum.decode(decoded); return decoded; }; export const waves = { name, coinType, encode: encodeWavesAddress, decode: decodeWavesAddress, }; //# sourceMappingURL=waves.js.map