added reputation changes to transaction
refactored transaction method to accept an array of slots, which are
defined as final variables to make it easier to read