I asked yesterday if it is possible to have a tx from A to B and B to C in the same block. The second tx consumes the first UTXO (B’s initial balance is 0).
Apparently it is: Can two related “spends” be in the same block?
But now I’m trying to test this with bitcoinlib in Python. My code is:
wallet = Wallet.create('MyWallet',
keys = seed_phrase,
witness_type = "segwit")
address = wallet.get_key(0).address
address2 = wallet.get_key(1).address
address3 = wallet.get_key(2).address
wallet.transactions_update()
fee = 1_000
send_value = wallet.balance() - fee
tx = wallet.send( ((address2, send_value)),
fee = fee,
offline = True)
wallet.transaction_import(tx)
send_value2 = send_value - fee
tx2 = wallet.send( ((address3, send_value2)),
account_id = 1,
fee = fee,
offline = True)
The first tx works fine since the first address has a balance, but the second address fails with:
WalletError: Create transaction: No unspent transaction outputs found or no key available for UTXO's
The problem seems to be getting the first tx for the wallet.
Any ideas on how to fix this? thank you