Switch transaction to using an options object for all arguments