Before we were using tokio's `spawn_blocking`, which wasn't ideal as this put tasks in a queue to be put on rayon's pool.
Instead, now we create an oneshot and use rayon::spawn.
This means we don't have to rely on people giving the verifier the correct txs for a block.
Also allows some speedup as we can put the fetching of outputs on a different task.