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
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 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement EIP-7069 Revamped CALL instructions (as part of EOF)

5 participants