import { getAddressExplorerUrl, trimAddress } from "./address" describe("trimAddress", () => { it("returns full address if length is less than 11", () => { expect(trimAddress("0x12345")).toBe("0x12345") }) it("returns trimmed address if length is 11 or more", () => { const input = "0x123456789abcdef" const expected = "0x123...bcdef" expect(trimAddress(input)).toBe(expected) }) }) describe("getAddressExplorerUrl", () => { const btcAddress = "bc1qxyz123" const evmAddress = "0x1234567890abcdef" it("returns correct mainnet Bitcoin explorer URL", () => { const url = getAddressExplorerUrl(btcAddress, "bitcoin", false) expect(url).toBe(`https://mempool.space/address/${btcAddress}`) }) it("returns correct testnet Bitcoin explorer URL", () => { const url = getAddressExplorerUrl(btcAddress, "bitcoin", true) expect(url).toBe(`https://mempool.space/testnet/address/${btcAddress}`) }) it("returns correct mainnet EVM explorer URL", () => { const url = getAddressExplorerUrl(evmAddress, "evm", false) expect(url).toBe(`https://etherscan.io/address/${evmAddress}`) }) it("returns correct testnet EVM explorer URL", () => { const url = getAddressExplorerUrl(evmAddress, "evm", true) expect(url).toBe(`https://sepolia.etherscan.io/address/${evmAddress}`) }) it("returns correct mainnet Mezo explorer URL", () => { const url = getAddressExplorerUrl(evmAddress, "mezo", false) expect(url).toBe(`https://explorer.mezo.org/address/${evmAddress}`) }) it("returns correct testnet Mezo explorer URL", () => { const url = getAddressExplorerUrl(evmAddress, "mezo", true) expect(url).toBe(`https://explorer.test.mezo.org/address/${evmAddress}`) }) })