filecoin-project / ref-fvm

Reference implementation of the Filecoin Virtual Machine
https://fvm.filecoin.io/
Other
383 stars 138 forks source link

FEVM | Eth Compliance Test | "failed to create the new actor" #1438

Open shamb0 opened 1 year ago

shamb0 commented 1 year ago

Hit with error "failed to create the new actor :: cannot create address with a reserved prefix".

Have to check validity of eth address in the below test suites.

Skip ID Test Suites
ID-0008 stBadOpcode/undefinedOpcodeFirstByte.json
ID-0056 stCreate2/Create2OOGFromCallRefunds.json
ID-0061 stCreateTest/CreateOOGFromCallRefunds.json
ID-0081 stExtCodeHash/extCodeHashDynamicArgument.json
ID-0092 stPreCompiledContracts2/modexp_0_0_0_20500.json
ID-0093 stPreCompiledContracts2/modexp_0_0_0_22000.json
ID-0094 stPreCompiledContracts2/modexp_0_0_0_25000.json
ID-0095 stPreCompiledContracts2/modexp_0_0_0_35000.json
shamb0 commented 1 year ago

Copying @raulk comments here

image

Stebalien commented 1 year ago

It's the opposite. This was happening because the test code previously used the "create account" method on the EAM and the EAM refused to deploy code to some of our reserved addresses.

As far as I can tell, these tests now work.

Stebalien commented 1 year ago

As of https://github.com/shamb0/fevm-eth-compliance-test/pull/1.

Stebalien commented 1 year ago

Er, well, no. The first one is passing. The second one is failing with:

02: f01107 (method 2) -- can only resurrect a dead contract (18)

Stebalien commented 1 year ago

Ok, so, yeah. Everything but ID-0056 passes.

shamb0 commented 1 year ago

@Stebalien, tested with your Patch. All the use-cases looks fine for me under WASM context. Added Trace file for reference.

Issue can be closed after acceptance review.

ID Use-Case Status Trace
TID-04-121 stBadOpcode/undefinedOpcodeFirstByte OK Trace
TID-13-34 stCreate2/Create2OOGFromCallRefunds OK Trace
TID-14-37 stCreateTest/CreateOOGFromCallRefunds OK Trace
TID-23-21 stExtCodeHash/extCodeHashDynamicArgument OK Trace
TID-31-098 stPreCompiledContracts2/modexp_0_0_0_20500 OK Trace
TID-31-099 stPreCompiledContracts2/modexp_0_0_0_22000 OK Trace
TID-31-100 stPreCompiledContracts2/modexp_0_0_0_25000 OK Trace
TID-31-101 stPreCompiledContracts2/modexp_0_0_0_35000 OK Trace
Stebalien commented 1 year ago

In:

stCreate2/Create2OOGFromCallRefunds

I'm seeing a lot of failures. Are those expected?