mktx: send change to one of the accounts involved in the tx
authorecdsa <ecdsa@github>
Mon, 8 Apr 2013 14:18:40 +0000 (16:18 +0200)
committerecdsa <ecdsa@github>
Mon, 8 Apr 2013 14:18:40 +0000 (16:18 +0200)
lib/wallet.py

index eab1a6b..7d7151f 100644 (file)
@@ -594,10 +594,14 @@ class Wallet:
         change_amount = total - ( amount + fee )
         if change_amount != 0:
             if not change_addr:
+                if account is None: 
+                    # send change to one of the accounts involved in the tx
+                    address = inputs[0].get('address')
+                    account, _ = self.get_address_index(address)
+
                 if not self.use_change or account == -1:
                     change_addr = inputs[-1]['address']
                 else:
-                    if account is None: account = 0
                     change_addr = self.accounts[account][1][-self.gap_limit_for_change]
 
             # Insert the change output at a random position in the outputs