Complete Transaction class
Fix HMAC miscalculation when passing no data