@@ -404,7 +404,7 @@ TEST(instructions, cancun_hard_fork)
404404
405405 for (int op = 0x00 ; op <= 0xff ; ++op)
406406 {
407- if (op == OP_RJUMP || op == OP_RJUMPI )
407+ if (op == OP_RJUMP || op == OP_RJUMPI || op == OP_CALLF || op == OP_RETF )
408408 continue ;
409409 EXPECT_EQ (c[op], s[op]) << op;
410410 EXPECT_STREQ (cn[op], sn[op]) << op;
@@ -423,4 +423,18 @@ TEST(instructions, cancun_hard_fork)
423423 EXPECT_EQ (s[OP_RJUMPI ].gas_cost , 0 );
424424 EXPECT_EQ (cn[OP_RJUMPI ], std::string{" RJUMPI" });
425425 EXPECT_TRUE (sn[OP_RJUMPI ] == nullptr );
426+
427+ // EIP-4750: EOF Functions
428+ EXPECT_EQ (c[OP_CALLF ].gas_cost , 8 );
429+ EXPECT_EQ (c[OP_CALLF ].stack_height_required , 0 );
430+ EXPECT_EQ (c[OP_CALLF ].stack_height_change , 0 );
431+ EXPECT_EQ (s[OP_CALLF ].gas_cost , 0 );
432+ EXPECT_EQ (cn[OP_CALLF ], std::string{" CALLF" });
433+ EXPECT_TRUE (sn[OP_CALLF ] == nullptr );
434+ EXPECT_EQ (c[OP_RETF ].gas_cost , 8 );
435+ EXPECT_EQ (c[OP_RETF ].stack_height_required , 0 );
436+ EXPECT_EQ (c[OP_RETF ].stack_height_change , 0 );
437+ EXPECT_EQ (s[OP_RETF ].gas_cost , 0 );
438+ EXPECT_EQ (cn[OP_RETF ], std::string{" RETF" });
439+ EXPECT_TRUE (sn[OP_RETF ] == nullptr );
426440}
0 commit comments