Implementors are called when the contents of the wallet changes, for instance due to receiving/sending money
or a block chain re-organize. It may be convenient to derive from AbstractWalletEventListener instead.

Method Detail

onCoinsSent

This is called when a transaction is seen that sends coins from this wallet, either
because it was broadcast across the network or because a block was received. This may at first glance seem
useless, because in the common case you already know about such transactions because you created them with
the Wallets createSend/sendCoins methods. However when you have a wallet containing only keys, and you wish
to replay the block chain to fill it with transactions, it's useful to find out when a transaction is discovered
that sends coins from the wallet.

It's safe to modify the wallet from inside this callback, but if you're replaying the block chain you should
be careful to avoid such modifications. Otherwise your changes may be overridden by new data from the chain.

Parameters:

wallet - The wallet object that this callback relates to (that sent the coins).

tx - The transaction that sent the coins to someone else.

prevBalance - The wallets balance before this transaction was seen.

newBalance - The wallets balance after this transaction was seen. This is the 'estimated' balance.