From bff49338610bd1a6af685adebb29b681fd5419a0 Mon Sep 17 00:00:00 2001 From: annazhlb Date: Thu, 14 Aug 2025 19:07:08 +0100 Subject: [PATCH 1/3] test: (getAddressType): added tests --- .../core/src/utils/getAddressType.test.ts | 84 +++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 packages/core/src/utils/getAddressType.test.ts diff --git a/packages/core/src/utils/getAddressType.test.ts b/packages/core/src/utils/getAddressType.test.ts new file mode 100644 index 00000000..d2b76b7b --- /dev/null +++ b/packages/core/src/utils/getAddressType.test.ts @@ -0,0 +1,84 @@ +import { describe, expect, it } from "vitest"; +import { getAddressType } from "./getAddressType"; + +describe("core | utils | getAddressType", () => { + it("returns P2WPKH type", () => { + expect(getAddressType("bc1qfh6wbp6cpnfsyn6390fhki84dbkplde28063n")).toBe( + "p2wpkh", + ); + expect(getAddressType("tb1qfnudxj052dbklpoe45vksxp5wa8tdbhops41ho")).toBe( + "p2wpkh", + ); + expect(getAddressType("bcrt1qfr0esii44wxvhipmjhdatecbhfdstriiuytfd")).toBe( + "p2wpkh", + ); + }); + + it("returns P2SH-P2WPKH type", () => { + expect(getAddressType("3844wxvhipmjhdatecbhfdstriifghj")).toBe( + "p2sh_p2wpkh", + ); + expect(getAddressType("244wxvhipmjhdatecbhfdstriiedrtfghbi")).toBe( + "p2sh_p2wpkh", + ); + }); + + it("returns P2TR type", () => { + expect( + getAddressType( + "bc1psdfghjklkdxt67hgfdgchvj56rtyghvvhgyiuhjhklpogfdse4567890", + ), + ).toBe("p2tr"); + expect( + getAddressType( + "tb1psdfghjklkdxt67hgfdgchvj56rtyghvvhgyiuhjhklpogfdse4567890", + ), + ).toBe("p2tr"); + + expect( + getAddressType( + "bcrt1psdfghjklkdxt67hgfdgchvj56rtyghvvhgyiuhjhklpogfdse4567890", + ), + ).toBe("p2tr"); + }); + + it("throws error if enter unknown address type", () => { + expect(() => + getAddressType("0x1234567890abcdef1234567890abcdef12345678"), + ).toThrowError("Unknown address type"); + + expect(() => + getAddressType("bc1sdfghjklkdxt67hgfdgchvj56rtygh"), + ).toThrowError("Unknown address type"); + + expect(() => + getAddressType("b c1qsdfghjklkdxt67hgfdgchvj56rtygh"), + ).toThrowError("Unknown address type"); + + expect(() => + getAddressType("bC1qsdfghjklkdxt67hgfdgchvj56rtygh"), + ).toThrowError("Unknown address type"); + }); + + it("returns correct type if address starts with a space", () => { + expect( + getAddressType( + " bc1psdfghjklkdxt67hgfdgchvj56rtyghvvhgyiuhjhklpogfdse4567890", + ), + ).toBe("p2tr"); + + expect( + getAddressType(" bc1qfh6wbp6cpnfsyn6390fhki84dbkplde28063n"), + ).toBe("p2wpkh"); + + expect(getAddressType(" 3844wxvhipmjhdatecbhfdstriifghj")).toBe( + "p2sh_p2wpkh", + ); + }); + + it("throws error if enter empty string", () => { + expect(() => getAddressType("")).toThrowError("Unknown address type"); + + expect(() => getAddressType(" ")).toThrowError("Unknown address type"); + }); +}); From ac12fba6c834e8738692fc9f3424dbd142d73c14 Mon Sep 17 00:00:00 2001 From: annazhlb Date: Fri, 15 Aug 2025 15:55:36 +0100 Subject: [PATCH 2/3] test(core): add tests for getAddressType --- .../core/src/utils/getAddressType.test.ts | 161 ++++++++++++------ 1 file changed, 108 insertions(+), 53 deletions(-) diff --git a/packages/core/src/utils/getAddressType.test.ts b/packages/core/src/utils/getAddressType.test.ts index d2b76b7b..29274616 100644 --- a/packages/core/src/utils/getAddressType.test.ts +++ b/packages/core/src/utils/getAddressType.test.ts @@ -1,45 +1,122 @@ +import ecc from "@bitcoinerlab/secp256k1"; +import * as bitcoin from "bitcoinjs-lib"; +import ECPairFactory from "ecpair"; import { describe, expect, it } from "vitest"; import { getAddressType } from "./getAddressType"; describe("core | utils | getAddressType", () => { + const ECPair = ECPairFactory(ecc); + bitcoin.initEccLib(ecc); + + const mainnet = bitcoin.networks.bitcoin; + const regtest = bitcoin.networks.regtest; + const testnet = bitcoin.networks.testnet; + + const keyPairMainnet = ECPair.makeRandom({ network: mainnet }); + const keyPairTestnet = ECPair.makeRandom({ network: testnet }); + const keyPairRegtest = ECPair.makeRandom({ network: regtest }); + it("returns P2WPKH type", () => { - expect(getAddressType("bc1qfh6wbp6cpnfsyn6390fhki84dbkplde28063n")).toBe( - "p2wpkh", - ); - expect(getAddressType("tb1qfnudxj052dbklpoe45vksxp5wa8tdbhops41ho")).toBe( - "p2wpkh", - ); - expect(getAddressType("bcrt1qfr0esii44wxvhipmjhdatecbhfdstriiuytfd")).toBe( - "p2wpkh", - ); + const { address: p2wpkhMainnet } = bitcoin.payments.p2wpkh({ + pubkey: keyPairMainnet.publicKey, + network: mainnet, + }); + + const { address: p2wpkhTestnet } = bitcoin.payments.p2wpkh({ + pubkey: keyPairTestnet.publicKey, + network: testnet, + }); + + const { address: p2wpkhRegtest } = bitcoin.payments.p2wpkh({ + pubkey: keyPairRegtest.publicKey, + network: regtest, + }); + // biome-ignore lint/style/noNonNullAssertion: + expect(getAddressType(p2wpkhMainnet!)).toBe("p2wpkh"); + // biome-ignore lint/style/noNonNullAssertion: + expect(getAddressType(p2wpkhTestnet!)).toBe("p2wpkh"); + // biome-ignore lint/style/noNonNullAssertion: + expect(getAddressType(p2wpkhRegtest!)).toBe("p2wpkh"); }); it("returns P2SH-P2WPKH type", () => { - expect(getAddressType("3844wxvhipmjhdatecbhfdstriifghj")).toBe( - "p2sh_p2wpkh", - ); - expect(getAddressType("244wxvhipmjhdatecbhfdstriiedrtfghbi")).toBe( - "p2sh_p2wpkh", - ); + const { address: p2wpkhMainnet } = bitcoin.payments.p2sh({ + redeem: bitcoin.payments.p2wpkh({ + pubkey: keyPairMainnet.publicKey, + network: mainnet, + }), + network: mainnet, + }); + + const { address: p2wpkhTestnet } = bitcoin.payments.p2sh({ + redeem: bitcoin.payments.p2wpkh({ + pubkey: keyPairTestnet.publicKey, + network: testnet, + }), + network: testnet, + }); + + const { address: p2wpkhRegtest } = bitcoin.payments.p2sh({ + redeem: bitcoin.payments.p2wpkh({ + pubkey: keyPairRegtest.publicKey, + network: regtest, + }), + network: regtest, + }); + // biome-ignore lint/style/noNonNullAssertion: + expect(getAddressType(p2wpkhMainnet!)).toBe("p2sh_p2wpkh"); //3 + // biome-ignore lint/style/noNonNullAssertion: + expect(getAddressType(p2wpkhTestnet!)).toBe("p2sh_p2wpkh"); //2 + // biome-ignore lint/style/noNonNullAssertion: + expect(getAddressType(p2wpkhRegtest!)).toBe("p2sh_p2wpkh"); //2 + + console.log(p2wpkhTestnet, p2wpkhMainnet, p2wpkhRegtest); }); it("returns P2TR type", () => { - expect( - getAddressType( - "bc1psdfghjklkdxt67hgfdgchvj56rtyghvvhgyiuhjhklpogfdse4567890", - ), - ).toBe("p2tr"); - expect( - getAddressType( - "tb1psdfghjklkdxt67hgfdgchvj56rtyghvvhgyiuhjhklpogfdse4567890", - ), - ).toBe("p2tr"); - - expect( - getAddressType( - "bcrt1psdfghjklkdxt67hgfdgchvj56rtyghvvhgyiuhjhklpogfdse4567890", - ), - ).toBe("p2tr"); + const { address: p2trMainnet } = bitcoin.payments.p2tr({ + pubkey: keyPairMainnet.publicKey.slice(1, 33), + network: mainnet, + }); + + const { address: p2trTestnet } = bitcoin.payments.p2tr({ + pubkey: keyPairTestnet.publicKey.slice(1, 33), + network: testnet, + }); + + const { address: p2trRegtest } = bitcoin.payments.p2tr({ + pubkey: keyPairRegtest.publicKey.slice(1, 33), + network: regtest, + }); + // biome-ignore lint/style/noNonNullAssertion: + expect(getAddressType(p2trMainnet!)).toBe("p2tr"); + // biome-ignore lint/style/noNonNullAssertion: + expect(getAddressType(p2trTestnet!)).toBe("p2tr"); + // biome-ignore lint/style/noNonNullAssertion: + expect(getAddressType(p2trRegtest!)).toBe("p2tr"); + }); + + it("returns P2PKH type", () => { + const { address: p2pkhMainnet } = bitcoin.payments.p2pkh({ + pubkey: keyPairMainnet.publicKey, + network: mainnet, + }); + + const { address: p2pkhTestnet } = bitcoin.payments.p2pkh({ + pubkey: keyPairTestnet.publicKey, + network: testnet, + }); + + const { address: p2pkhRegtest } = bitcoin.payments.p2pkh({ + pubkey: keyPairRegtest.publicKey, + network: regtest, + }); + // biome-ignore lint/style/noNonNullAssertion: + expect(getAddressType(p2pkhMainnet!)).toBe("p2pkh"); // 1 + // biome-ignore lint/style/noNonNullAssertion: + expect(getAddressType(p2pkhTestnet!)).toBe("p2pkh"); // mx + // biome-ignore lint/style/noNonNullAssertion: + expect(getAddressType(p2pkhRegtest!)).toBe("p2pkh"); // mpx }); it("throws error if enter unknown address type", () => { @@ -59,26 +136,4 @@ describe("core | utils | getAddressType", () => { getAddressType("bC1qsdfghjklkdxt67hgfdgchvj56rtygh"), ).toThrowError("Unknown address type"); }); - - it("returns correct type if address starts with a space", () => { - expect( - getAddressType( - " bc1psdfghjklkdxt67hgfdgchvj56rtyghvvhgyiuhjhklpogfdse4567890", - ), - ).toBe("p2tr"); - - expect( - getAddressType(" bc1qfh6wbp6cpnfsyn6390fhki84dbkplde28063n"), - ).toBe("p2wpkh"); - - expect(getAddressType(" 3844wxvhipmjhdatecbhfdstriifghj")).toBe( - "p2sh_p2wpkh", - ); - }); - - it("throws error if enter empty string", () => { - expect(() => getAddressType("")).toThrowError("Unknown address type"); - - expect(() => getAddressType(" ")).toThrowError("Unknown address type"); - }); }); From b493bb4088403be9b9b98b2383575447c2eea222 Mon Sep 17 00:00:00 2001 From: annazhlb Date: Fri, 22 Aug 2025 14:38:35 +0100 Subject: [PATCH 3/3] test(core): update tests for getAddressType --- .../src/utils/fixtures/getBitcoinAddress.ts | 191 ++++++++++++++++++ packages/core/src/utils/fixtures/index.ts | 1 + .../core/src/utils/getAddressType.test.ts | 118 ++--------- 3 files changed, 205 insertions(+), 105 deletions(-) create mode 100644 packages/core/src/utils/fixtures/getBitcoinAddress.ts create mode 100644 packages/core/src/utils/fixtures/index.ts diff --git a/packages/core/src/utils/fixtures/getBitcoinAddress.ts b/packages/core/src/utils/fixtures/getBitcoinAddress.ts new file mode 100644 index 00000000..f26feec4 --- /dev/null +++ b/packages/core/src/utils/fixtures/getBitcoinAddress.ts @@ -0,0 +1,191 @@ +import ecc from "@bitcoinerlab/secp256k1"; +import * as bitcoin from "bitcoinjs-lib"; +import ECPairFactory from "ecpair"; +import { AddressPurpose, AddressType } from "~/constants"; +import { extractXCoordinate } from "~/utils/extractXCoordinate"; + +export const getBitcoinAddress = () => { + const ECPair = ECPairFactory(ecc); + bitcoin.initEccLib(ecc); + + const mainnetNetwork = bitcoin.networks.bitcoin; + const regtestNetwork = bitcoin.networks.regtest; + const testnetNetwork = bitcoin.networks.testnet; + + const keyPairMainnet = ECPair.makeRandom({ network: mainnetNetwork }); + const keyPairTestnet = ECPair.makeRandom({ network: testnetNetwork }); + const keyPairRegtest = ECPair.makeRandom({ network: regtestNetwork }); + + const p2wpkhMainnet = bitcoin.payments.p2wpkh({ + pubkey: keyPairMainnet.publicKey, + network: mainnetNetwork, + }); + + const accountp2wpkhMainnet = { + address: p2wpkhMainnet.address, + publicKey: keyPairMainnet.publicKey.toString("hex"), + purpose: AddressPurpose.Payment, + addressType: AddressType.P2WPKH, + }; + + const p2wpkhTestnet = bitcoin.payments.p2wpkh({ + pubkey: keyPairTestnet.publicKey, + network: testnetNetwork, + }); + + const accountp2wpkhTestnet = { + address: p2wpkhTestnet.address as string, + publicKey: keyPairTestnet.publicKey, + purpose: AddressPurpose.Payment, + addressType: AddressType.P2WPKH, + }; + + const p2wpkhRegtest = bitcoin.payments.p2wpkh({ + pubkey: keyPairRegtest.publicKey, + network: regtestNetwork, + }); + + const accountp2wpkhRegtest = { + address: p2wpkhRegtest.address as string, + publicKey: keyPairRegtest.publicKey, + purpose: AddressPurpose.Payment, + addressType: AddressType.P2WPKH, + }; + + const p2shMainnet = bitcoin.payments.p2sh({ + redeem: bitcoin.payments.p2wpkh({ + pubkey: keyPairMainnet.publicKey, + network: mainnetNetwork, + }), + network: mainnetNetwork, + }); + + const accountp2shMainnet = { + address: p2shMainnet.address as string, + publicKey: keyPairMainnet.publicKey, + purpose: AddressPurpose.Payment, + addressType: AddressType.P2SH_P2WPKH, + }; + + const p2shTestnet = bitcoin.payments.p2sh({ + redeem: bitcoin.payments.p2wpkh({ + pubkey: keyPairTestnet.publicKey, + network: testnetNetwork, + }), + network: testnetNetwork, + }); + + const accountp2shTestnet = { + address: p2shTestnet.address as string, + publicKey: keyPairTestnet.publicKey.toString("hex"), + purpose: AddressPurpose.Payment, + addressType: AddressType.P2SH_P2WPKH, + }; + + const p2shRegtest = bitcoin.payments.p2sh({ + redeem: bitcoin.payments.p2wpkh({ + pubkey: keyPairRegtest.publicKey, + network: regtestNetwork, + }), + network: regtestNetwork, + }); + + const accountp2shRegtest = { + address: p2shRegtest.address as string, + publicKey: keyPairRegtest.publicKey.toString("hex"), + purpose: AddressPurpose.Payment, + addressType: AddressType.P2SH_P2WPKH, + }; + + const p2trMainnet = bitcoin.payments.p2tr({ + internalPubkey: Buffer.from( + extractXCoordinate(keyPairMainnet.publicKey.slice(1, 33).toString("hex")), + "hex", + ), + network: mainnetNetwork, + }); + + const accountp2trMainnet = { + address: p2trMainnet.address as string, + publicKey: keyPairMainnet.publicKey.slice(1, 33).toString("hex"), + purpose: AddressPurpose.Ordinals, + addressType: AddressType.P2TR, + }; + + const p2trTestnet = bitcoin.payments.p2tr({ + internalPubkey: Buffer.from( + extractXCoordinate(keyPairTestnet.publicKey.slice(1, 33).toString("hex")), + "hex", + ), + network: testnetNetwork, + }); + + const accountp2trTestnet = { + address: p2trTestnet.address, + publicKey: keyPairTestnet.publicKey.slice(1, 33).toString("hex"), + purpose: AddressPurpose.Ordinals, + addressType: AddressType.P2TR, + }; + + const p2trRegtest = bitcoin.payments.p2tr({ + internalPubkey: Buffer.from( + extractXCoordinate(keyPairRegtest.publicKey.slice(1, 33).toString("hex")), + "hex", + ), + network: regtestNetwork, + }); + + const accountp2trRegtest = { + address: p2trRegtest.address as string, + publicKey: keyPairRegtest.publicKey.slice(1, 33).toString("hex"), + purpose: AddressPurpose.Ordinals, + addressType: AddressType.P2TR, + }; + + const incorrectAddressTypeAddressMainnet = bitcoin.payments.p2pkh({ + pubkey: keyPairMainnet.publicKey, + network: mainnetNetwork, + }); + + const incorrectAddressTypeAddressTestnet = bitcoin.payments.p2pkh({ + pubkey: keyPairTestnet.publicKey, + network: testnetNetwork, + }); + + const incorrectAddressTypeAddressRegtest = bitcoin.payments.p2pkh({ + pubkey: keyPairRegtest.publicKey, + network: regtestNetwork, + }); + + const accountIncorrectAddressTypeAddress = { + address: incorrectAddressTypeAddressMainnet.address as string, + publicKey: keyPairMainnet.publicKey.toString("hex"), + purpose: AddressPurpose.Payment, + addressType: undefined as unknown as AddressType, + }; + + return { + accountp2wpkhMainnet, + accountp2wpkhTestnet, + accountp2wpkhRegtest, + accountp2shMainnet, + accountp2shTestnet, + accountp2shRegtest, + accountp2trMainnet, + accountp2trTestnet, + accountp2trRegtest, + accountIncorrectAddressTypeAddress, + p2wpkhMainnet, + p2wpkhTestnet, + p2wpkhRegtest, + p2shMainnet, + p2shTestnet, + p2shRegtest, + p2trMainnet, + p2trTestnet, + p2trRegtest, + incorrectAddressTypeAddressMainnet, + incorrectAddressTypeAddressTestnet, + incorrectAddressTypeAddressRegtest, + }; +}; diff --git a/packages/core/src/utils/fixtures/index.ts b/packages/core/src/utils/fixtures/index.ts new file mode 100644 index 00000000..9e7d5b39 --- /dev/null +++ b/packages/core/src/utils/fixtures/index.ts @@ -0,0 +1 @@ +export * from "./getBitcoinAddress"; diff --git a/packages/core/src/utils/getAddressType.test.ts b/packages/core/src/utils/getAddressType.test.ts index 29274616..2a9bd73d 100644 --- a/packages/core/src/utils/getAddressType.test.ts +++ b/packages/core/src/utils/getAddressType.test.ts @@ -1,122 +1,30 @@ -import ecc from "@bitcoinerlab/secp256k1"; -import * as bitcoin from "bitcoinjs-lib"; -import ECPairFactory from "ecpair"; import { describe, expect, it } from "vitest"; +import { getBitcoinAddress } from "./fixtures"; import { getAddressType } from "./getAddressType"; describe("core | utils | getAddressType", () => { - const ECPair = ECPairFactory(ecc); - bitcoin.initEccLib(ecc); - - const mainnet = bitcoin.networks.bitcoin; - const regtest = bitcoin.networks.regtest; - const testnet = bitcoin.networks.testnet; - - const keyPairMainnet = ECPair.makeRandom({ network: mainnet }); - const keyPairTestnet = ECPair.makeRandom({ network: testnet }); - const keyPairRegtest = ECPair.makeRandom({ network: regtest }); - it("returns P2WPKH type", () => { - const { address: p2wpkhMainnet } = bitcoin.payments.p2wpkh({ - pubkey: keyPairMainnet.publicKey, - network: mainnet, - }); + const { p2wpkhMainnet, p2wpkhTestnet, p2wpkhRegtest } = getBitcoinAddress(); - const { address: p2wpkhTestnet } = bitcoin.payments.p2wpkh({ - pubkey: keyPairTestnet.publicKey, - network: testnet, - }); - - const { address: p2wpkhRegtest } = bitcoin.payments.p2wpkh({ - pubkey: keyPairRegtest.publicKey, - network: regtest, - }); - // biome-ignore lint/style/noNonNullAssertion: - expect(getAddressType(p2wpkhMainnet!)).toBe("p2wpkh"); - // biome-ignore lint/style/noNonNullAssertion: - expect(getAddressType(p2wpkhTestnet!)).toBe("p2wpkh"); - // biome-ignore lint/style/noNonNullAssertion: - expect(getAddressType(p2wpkhRegtest!)).toBe("p2wpkh"); + expect(getAddressType(p2wpkhMainnet.address)).toBe("p2wpkh"); + expect(getAddressType(p2wpkhTestnet.address)).toBe("p2wpkh"); + expect(getAddressType(p2wpkhRegtest.address)).toBe("p2wpkh"); }); it("returns P2SH-P2WPKH type", () => { - const { address: p2wpkhMainnet } = bitcoin.payments.p2sh({ - redeem: bitcoin.payments.p2wpkh({ - pubkey: keyPairMainnet.publicKey, - network: mainnet, - }), - network: mainnet, - }); - - const { address: p2wpkhTestnet } = bitcoin.payments.p2sh({ - redeem: bitcoin.payments.p2wpkh({ - pubkey: keyPairTestnet.publicKey, - network: testnet, - }), - network: testnet, - }); - - const { address: p2wpkhRegtest } = bitcoin.payments.p2sh({ - redeem: bitcoin.payments.p2wpkh({ - pubkey: keyPairRegtest.publicKey, - network: regtest, - }), - network: regtest, - }); - // biome-ignore lint/style/noNonNullAssertion: - expect(getAddressType(p2wpkhMainnet!)).toBe("p2sh_p2wpkh"); //3 - // biome-ignore lint/style/noNonNullAssertion: - expect(getAddressType(p2wpkhTestnet!)).toBe("p2sh_p2wpkh"); //2 - // biome-ignore lint/style/noNonNullAssertion: - expect(getAddressType(p2wpkhRegtest!)).toBe("p2sh_p2wpkh"); //2 + const { p2shMainnet, p2shTestnet, p2shRegtest } = getBitcoinAddress(); - console.log(p2wpkhTestnet, p2wpkhMainnet, p2wpkhRegtest); + expect(getAddressType(p2shMainnet.address)).toBe("p2sh_p2wpkh"); //3 + expect(getAddressType(p2shTestnet.address)).toBe("p2sh_p2wpkh"); //2 + expect(getAddressType(p2shRegtest.address)).toBe("p2sh_p2wpkh"); //2 }); it("returns P2TR type", () => { - const { address: p2trMainnet } = bitcoin.payments.p2tr({ - pubkey: keyPairMainnet.publicKey.slice(1, 33), - network: mainnet, - }); - - const { address: p2trTestnet } = bitcoin.payments.p2tr({ - pubkey: keyPairTestnet.publicKey.slice(1, 33), - network: testnet, - }); - - const { address: p2trRegtest } = bitcoin.payments.p2tr({ - pubkey: keyPairRegtest.publicKey.slice(1, 33), - network: regtest, - }); - // biome-ignore lint/style/noNonNullAssertion: - expect(getAddressType(p2trMainnet!)).toBe("p2tr"); - // biome-ignore lint/style/noNonNullAssertion: - expect(getAddressType(p2trTestnet!)).toBe("p2tr"); - // biome-ignore lint/style/noNonNullAssertion: - expect(getAddressType(p2trRegtest!)).toBe("p2tr"); - }); - - it("returns P2PKH type", () => { - const { address: p2pkhMainnet } = bitcoin.payments.p2pkh({ - pubkey: keyPairMainnet.publicKey, - network: mainnet, - }); - - const { address: p2pkhTestnet } = bitcoin.payments.p2pkh({ - pubkey: keyPairTestnet.publicKey, - network: testnet, - }); + const { p2trMainnet, p2trTestnet, p2trRegtest } = getBitcoinAddress(); - const { address: p2pkhRegtest } = bitcoin.payments.p2pkh({ - pubkey: keyPairRegtest.publicKey, - network: regtest, - }); - // biome-ignore lint/style/noNonNullAssertion: - expect(getAddressType(p2pkhMainnet!)).toBe("p2pkh"); // 1 - // biome-ignore lint/style/noNonNullAssertion: - expect(getAddressType(p2pkhTestnet!)).toBe("p2pkh"); // mx - // biome-ignore lint/style/noNonNullAssertion: - expect(getAddressType(p2pkhRegtest!)).toBe("p2pkh"); // mpx + expect(getAddressType(p2trMainnet.address)).toBe("p2tr"); + expect(getAddressType(p2trTestnet.address)).toBe("p2tr"); + expect(getAddressType(p2trRegtest.address)).toBe("p2tr"); }); it("throws error if enter unknown address type", () => {