URI: 
       tcoin selection: use old coins first - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 3333db56c1e841122fd2ff3381a2c714966cb78f
   DIR parent f84b7eb3a89c05e8e5503df32a7fc0d0df426d0d
  HTML Author: thomasv <thomasv@gitorious>
       Date:   Fri, 16 Dec 2011 10:46:25 +0100
       
       coin selection: use old coins first
       
       Diffstat:
         M client/electrum.py                  |      19 +++++++++++++------
       
       1 file changed, 13 insertions(+), 6 deletions(-)
       ---
   DIR diff --git a/client/electrum.py b/client/electrum.py
       t@@ -546,16 +546,23 @@ See the release notes for more information.""",1)
                """ todo: minimize tx size """
                total = 0
                fee = self.fee if fixed_fee is None else fixed_fee
       -        inputs = []
       +
       +        coins = []
                for addr in self.all_addresses():
                    h = self.history.get(addr)
       +            if h is None: continue
                    for item in h:
                        if item.get('raw_scriptPubKey'):
       -                    v = item.get('value')
       -                    total += v
       -                    inputs.append((addr, v, item['tx_hash'], item['pos'], item['raw_scriptPubKey'], None, None) )
       -                    fee = self.fee*len(inputs) if fixed_fee is None else fixed_fee
       -                    if total >= amount + fee: break
       +                    coins.append( (addr,item))
       +
       +        coins = sorted( coins, key = lambda x: x[1]['nTime'] )
       +        inputs = []
       +        for c in coins: 
       +            addr, item = c
       +            v = item.get('value')
       +            total += v
       +            inputs.append((addr, v, item['tx_hash'], item['pos'], item['raw_scriptPubKey'], None, None) )
       +            fee = self.fee*len(inputs) if fixed_fee is None else fixed_fee
                    if total >= amount + fee: break
                else:
                    #print "not enough funds: %d %d"%(total, fee)