UNPKG

@pharosnames/address-encoder

Version:

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

30 lines (23 loc) 686 B
import type { CheckedCoin } from "../types.js"; import { createBech32Decoder, createBech32Encoder } from "../utils/bech32.js"; const name = "avax"; const coinType = 9000; const hrp = "avax"; const decodeBech32 = createBech32Decoder(hrp); export const encodeAvaxAddress = createBech32Encoder(hrp); export const decodeAvaxAddress = (source: string): Uint8Array => { let address; const [id, possibleAddr] = source.split("-"); if (!possibleAddr) { address = id; } else { address = possibleAddr; } return decodeBech32(address); }; export const avax = { name, coinType, encode: encodeAvaxAddress, decode: decodeAvaxAddress, } as const satisfies CheckedCoin;