UNPKG

bitcoin-tx-lib

Version:

A Typescript library for building and signing Bitcoin transactions

54 lines 2.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const address_1 = require("./address"); describe("address functions", () => { test("generate address from pubkey", () => { let ripemd160 = "a8439c50793b033df810de257b313144a8f7edc9"; // P2WPKH let address = address_1.Address.fromHash({ ripemd160, network: "testnet" }); expect(address).toBe("tb1q4ppec5re8vpnm7qsmcjhkvf3gj500mwfw0yxaj"); // P2PKH address = address_1.Address.fromHash({ ripemd160, network: "testnet", type: "p2pkh" }); expect(address).toBe("mvreowyGk1qR31K8JjL1kErvULiPP3sVfm"); }); test("generate address from ripemd160", () => { let pubkey = "0333b81ed541c4beee28783890c013f1e5dd4eb38f60b78a4d30b5cad26996217f"; // P2WPKH let address = address_1.Address.fromPubkey({ pubkey, network: "testnet" }); expect(address).toBe("tb1q4ppec5re8vpnm7qsmcjhkvf3gj500mwfw0yxaj"); // P2PKH address = address_1.Address.fromPubkey({ pubkey, network: "testnet", type: "p2pkh" }); expect(address).toBe("mvreowyGk1qR31K8JjL1kErvULiPP3sVfm"); }); test("get scriptPubkey", () => { // P2WPKH let scriptPubkey = address_1.Address.getScriptPubkey("tb1q4ppec5re8vpnm7qsmcjhkvf3gj500mwfw0yxaj"); expect(scriptPubkey).toBe("0014a8439c50793b033df810de257b313144a8f7edc9"); //P2PKH scriptPubkey = address_1.Address.getScriptPubkey("mvreowyGk1qR31K8JjL1kErvULiPP3sVfm"); expect(scriptPubkey).toBe("76a914a8439c50793b033df810de257b313144a8f7edc988ac"); }); test("address is valid", () => { // valid P2WPKH let isValid = address_1.Address.isValid("tb1q4ppec5re8vpnm7qsmcjhkvf3gj500mwfw0yxaj"); expect(isValid).toBe(true); // invalid P2WPKH isValid = address_1.Address.isValid("tb1q4ppec5re8fgnm7qsmcjhkvf3gj500mwfw0yxaj"); expect(isValid).toBe(false); // valid P2PKH isValid = address_1.Address.isValid("mvreowyGk1qR31K8JjL1kErvULiPP3sVfm"); expect(isValid).toBe(true); // invalid P2PKH isValid = address_1.Address.isValid("mvrUomyGLk1qR31K8JjL1kErvULiPP3sVfm"); expect(isValid).toBe(false); }); test("get ripemd160 from address", () => { // valid P2WPKH let hash = address_1.Address.getRipemd160("tb1q4ppec5re8vpnm7qsmcjhkvf3gj500mwfw0yxaj"); expect(hash).toBe("a8439c50793b033df810de257b313144a8f7edc9"); // valid P2PKH hash = address_1.Address.getRipemd160("mvreowyGk1qR31K8JjL1kErvULiPP3sVfm"); expect(hash).toBe("a8439c50793b033df810de257b313144a8f7edc9"); }); }); //# sourceMappingURL=address.test.js.map