import { handler_0x7E_PUSH31 } from '@tevm/voltaire/evm/stack/handlers';
import { createFrame } from '@tevm/voltaire/evm/Frame';
// Bytecode with PUSH31
const bytecode = new Uint8Array([
0x7E, // PUSH31
0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f // 31 bytes: 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
]);
const frame = createFrame({
bytecode,
pc: 0,
stack: [],
gasRemaining: 1000n
});
const err = handler_0x7E_PUSH31(frame);
console.log(frame.stack); // [0x0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f00n]
console.log(frame.pc); // 32
console.log(frame.gasRemaining); // 997n (3 gas consumed)