Skip to content

Conversation

@axic
Copy link
Member

@axic axic commented May 4, 2023

Closes #773

Implements EIP-7069, as part of the greater MegaEOF spec

@axic axic force-pushed the new-call branch 6 times, most recently from 388e252 to 8a63492 Compare May 4, 2023 00:54
@codecov
Copy link

codecov bot commented May 4, 2023

Codecov Report

Attention: Patch coverage is 99.90079% with 1 lines in your changes are missing coverage. Please review.

Project coverage is 98.14%. Comparing base (8358ba0) to head (e4fe3ca).

Additional details and impacted files
@@ Coverage Diff @@ ## master #630 +/- ## ========================================== + Coverage 97.99% 98.14% +0.14%  ========================================== Files 121 122 +1 Lines 12091 12982 +891 ========================================== + Hits 11849 12741 +892  + Misses 242 241 -1 
Flag Coverage Δ
blockchaintests 59.11% <3.77%> (-2.10%) ⬇️
statetests 62.36% <77.35%> (+0.45%) ⬆️
statetests-silkpre 21.61% <2.50%> (-1.52%) ⬇️
unittests 96.82% <99.90%> (+0.25%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Coverage Δ
lib/evmone/advanced_instructions.cpp 100.00% <ø> (ø)
lib/evmone/baseline_instruction_table.cpp 100.00% <ø> (ø)
lib/evmone/instructions.hpp 100.00% <ø> (ø)
lib/evmone/instructions_calls.cpp 100.00% <100.00%> (ø)
test/unittests/eof_validation_test.cpp 100.00% <100.00%> (ø)
test/unittests/evm_calls_test.cpp 100.00% <100.00%> (ø)
test/unittests/evm_eof_calls_test.cpp 100.00% <100.00%> (ø)
test/unittests/instructions_test.cpp 89.58% <ø> (ø)
test/unittests/state_transition_call_test.cpp 100.00% <100.00%> (ø)
test/unittests/state_transition_eof_calls_test.cpp 100.00% <100.00%> (ø)
... and 1 more

... and 1 file with indirect coverage changes

@pdobacz pdobacz force-pushed the new-call branch 2 times, most recently from 59bedbf to 2e43e86 Compare February 15, 2024 10:25
@pdobacz
Copy link
Member

pdobacz commented Mar 11, 2024

Uses tests from ethereum/tests#1350, which contains some changes on top of the currently used tag for testing EOF in CI state-tests.

@pdobacz pdobacz requested a review from chfast March 11, 2024 15:13
@pdobacz pdobacz linked an issue Mar 14, 2024 that may be closed by this pull request
@pdobacz
Copy link
Member

pdobacz commented Mar 19, 2024

Mind that I've pushed a test case to directly cover the recently discussed behavior of MIN_CALLEE_GAS here: 11cb4b0.

@pdobacz
Copy link
Member

pdobacz commented Mar 20, 2024

Also mind that the PR has been adjusted to the suggestion from here ethereum/EIPs#8287 (comment)

@pdobacz pdobacz requested a review from chfast March 21, 2024 16:30
const auto value = (Op == OP_EXTSTATICCALL || Op == OP_EXTDELEGATECALL) ? 0 : stack.pop();
const auto has_value = value != 0;

stack.push(2); // Assume (hard) failure.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also I think would be good to have named constants for status codes

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

heh, this invites a heated debate about naming, but let's try. I'll push a suggestion in a sec.

@pdobacz pdobacz requested a review from gumb0 March 25, 2024 11:25
Copy link
Member

@chfast chfast left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should clean the git history and write better PR description

@pdobacz
Copy link
Member

pdobacz commented Mar 26, 2024

You should clean the git history and write better PR description

I don't think the git history is very useful in this case, it's a pretty atomic change, and the individual commits are mostly feedback addressing, renaming, bumps and backandforwards. This looks like a squash merge to me.

@pdobacz pdobacz merged commit 0b87c65 into master Mar 26, 2024
@pdobacz pdobacz deleted the new-call branch March 26, 2024 15:05
chfast pushed a commit that referenced this pull request Mar 26, 2024
Implements [EIP-7069](https://eips.ethereum.org/EIPS/eip-7069),as part of the [MegaEOF spec](https://github.com/ipsilon/eof/blob/main/spec/eof.md). Adds implementation of EXTCALL, EXTDELEGATECALL and EXTSTATICCALL instructions.
chfast pushed a commit that referenced this pull request Mar 26, 2024
Implements [EIP-7069](https://eips.ethereum.org/EIPS/eip-7069),as part of the [MegaEOF spec](https://github.com/ipsilon/eof/blob/main/spec/eof.md). Adds implementation of EXTCALL, EXTDELEGATECALL and EXTSTATICCALL instructions. Co-authored-by: pdobacz <5735525+pdobacz@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

5 participants