Skip to content

ecRecover stalling over test from Ethereum Execution Spec Test #569

@advaita-saha

Description

@advaita-saha

While integrating constantine as a backend for evm precompiles in nimbus-eth1 it was tested against the latest EEST release. And for a particular test, the eth_evm_ecrecover stalls. More details -> status-im/nimbus-eth1#3587 (comment)

Upon further debugging, the exact input value which was stalling the eth_evm_ecrecover was found to be 18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c000000000000000000000000000000000000000000000000000000000000001c00b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549

A sample test case to re-produce the same

proc testECRecoverStall() =
  echo "Running ecRecover tests for stalling"
  
  let input = "18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c000000000000000000000000000000000000000000000000000000000000001c00b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549"

  var inputbytes = newSeq[byte](input.len div 2)
  inputbytes.fromHex(input)

  var r: array[32, byte]

  let status = eth_evm_ecrecover(r, inputbytes)
  echo "Run Completed"
  echo status

Metadata

Metadata

Assignees

No one assigned

    Labels

    bug 🪲Something isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions