import { handler_0x7D_PUSH30 } from '@tevm/voltaire/evm/stack/handlers';
import { createFrame } from '@tevm/voltaire/evm/Frame';
// Bytecode with PUSH30
const bytecode = new Uint8Array([
0x7D, // PUSH30
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 // 30 bytes: 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e
]);
const frame = createFrame({
bytecode,
pc: 0,
stack: [],
gasRemaining: 1000n
});
const err = handler_0x7D_PUSH30(frame);
console.log(frame.stack); // [0x0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e0000n]
console.log(frame.pc); // 31
console.log(frame.gasRemaining); // 997n (3 gas consumed)