예제 #1
0
 def test_wallet_multisig_create_2_cosigner_wallets(self):
     if os.path.isfile(DATABASEFILE_UNITTESTS):
         os.remove(DATABASEFILE_UNITTESTS)
     pk_wif1 = 'tprv8ZgxMBicQKsPdvHCP6VxtFgowj2k7nBJnuRiVWE4DReDFojkLjyqdT8mtR6XJK9dRBcaa3RwvqiKFjsEQVhKfQmHZCCY' \
               'f4jRTWvJuVuK67n'
     pk_wif2 = 'tprv8ZgxMBicQKsPdkJVWDkqQQAMVYB2usfVs3VS2tBEsFAzjC84M3TaLMkHyJWjydnJH835KHvksS92ecuwwWFEdLAAccwZ' \
               'KjhcA63NUyvDixB'
     pk1 = HDKey(pk_wif1, network='testnet')
     pk2 = HDKey(pk_wif2, network='testnet')
     wl1 = HDWallet.create_multisig('multisig_test_wallet1',
                                    [pk_wif1, pk2.subkey_for_path("m/45'/1'/0'").wif_public()],
                                    sigs_required=2, network='testnet', databasefile=DATABASEFILE_UNITTESTS)
     wl2 = HDWallet.create_multisig('multisig_test_wallet2',
                                    [pk1.subkey_for_path("m/45'/1'/0'").wif_public(), pk_wif2],
                                    sigs_required=2, network='testnet', databasefile=DATABASEFILE_UNITTESTS)
     wl1_key = wl1.new_key()
     wl2_key = wl2.new_key()
     self.assertEqual(wl1_key.address, wl2_key.address)
        print("waiting for tx broadcast")
        sleep(1)
        if w2.utxos():
            print("Sending transaction from wallet #2 to wallet #3:")
            t2 = w2.send_to(w3_key.address, 15000, fee=5000)
            t2.info()
            break

    while True:
        w3.utxos_update()
        print("waiting for tx broadcast")
        sleep(1)
        if w3.utxos():
            print("Sending transaction from wallet #3 to wallet #4:")
            t3 = w3.send_to(w4_key.address, 10000, fee=5000)
            t3.sign(cowif2.subkey_for_path('0/0'))
            t3.send()
            t3.info()
            break

    while True:
        w4.utxos_update()
        print("waiting for tx broadcast")
        sleep(1)
        if w4.utxos():
            print("Sending transaction from wallet #4 to wallet #1:")
            t4 = w4.send_to(w1_key.address, 5000, fee=5000)
            t4.sign(cowif2.subkey_for_path('0/0'))
            t4.send()
            t4.info()
            break