update compensation to match new state structure
add test for Wallet.Weight()