Skip to content

ecRecover stalling over test from Ethereum Execution Spec Test #569

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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