def test_address(self): b32_xprv = bitsv.Bip32(MASTERPRIVATE) b32_xpub = bitsv.Bip32(MASTERPUBLIC) assert b32_xprv.address(use_uncompressed=False) == ADDRESS assert b32_xprv.address(use_uncompressed=True) == ADDRESS_UNCOMPRESSED assert b32_xpub.address(use_uncompressed=False) == ADDRESS assert b32_xpub.address(use_uncompressed=True) == ADDRESS_UNCOMPRESSED
def test_get_children(self): b32_xprv = bitsv.Bip32(MASTERPRIVATE) b32_xpub = bitsv.Bip32(MASTERPUBLIC) # __repr__ not leaking xprv assert b32_xprv.get_children(derivation_path='0', index_start=0, index_end=1)[ 0].__repr__() == XPRV_FIRST_CHILD_REPR assert b32_xprv.get_children(derivation_path='0', index_start=1, index_end=2)[ 0].__repr__() == XPRV_SECOND_CHILD_REPR assert b32_xprv.get_children(derivation_path='0', index_start=2, index_end=3)[ 0].__repr__() == XPRV_THIRD_CHILD_REPR # xpub __repr__ assert b32_xpub.get_children(derivation_path='0', index_start=0, index_end=1)[ 0].__repr__() == XPUB_FIRST_CHILD_REPR assert b32_xpub.get_children(derivation_path='0', index_start=1, index_end=2)[ 0].__repr__() == XPUB_SECOND_CHILD_REPR assert b32_xpub.get_children(derivation_path='0', index_start=2, index_end=3)[ 0].__repr__() == XPUB_THIRD_CHILD_REPR # check that addresses are correct for child xpub and xprv for i, key in enumerate(b32_xprv.get_children(derivation_path='0', index_start=0, index_end=3)): assert CHILD_ADDRESSES[i] == key.address() for i, key in enumerate(b32_xpub.get_children(derivation_path='0', index_start=0, index_end=3)): assert CHILD_ADDRESSES[i] == key.address()
def test_wif(self): b32_xprv = bitsv.Bip32(MASTERPRIVATE) b32_xpub = bitsv.Bip32(MASTERPUBLIC) assert b32_xprv.wif() == MASTERPRIVATEWIF with pytest.raises(ValueError): b32_xpub.wif()
def test_get_xprv(self): b32_xprv = bitsv.Bip32(MASTERPRIVATE) b32_xpub = bitsv.Bip32(MASTERPUBLIC) assert b32_xprv.get_xprv() == MASTERPRIVATE with pytest.raises(ValueError): b32_xpub.get_xprv()
def test_get_xpub(self): b32_xprv = bitsv.Bip32(MASTERPRIVATE) b32_xpub = bitsv.Bip32(MASTERPUBLIC) assert b32_xprv.get_xpub().as_text() == MASTERPUBLIC assert b32_xpub.get_xpub().as_text() == MASTERPUBLIC
def test_init(self): b32 = bitsv.Bip32(MASTERPRIVATE) assert isinstance(b32.node, type(key.Key.from_text(MASTERPRIVATE))) # matches pycoin class assert b32.bitcoinx_key is None # object only created on an as-needed basis and only ever created once