Block a user
Boolean stack implementation
Here I would prefer to see a boolean stack with 2 elements loaded into the machine. Then we only do the swap op-code. Makes for a cleaner, more isolated test.
Boolean stack implementation
I think in such situations we should pick something the resembles the original instruction, but is easy on the gas. Like you suggested, we could just do a "deep swap". Swap the top element with the one at index.
Boolean stack implementation
Awesome work! The only issue I see, is that in tests we are preparing the stacks using the bytecode. I would prefer we prepare the stacks in the test outside the execution, and only really test the opcode at hand via bytecode. Makes for more isolated and easier to understand tests.
WIP: offchain-start
interpreter-expansion