Skip to content

Conversation

@indanielo
Copy link

Fix: Revert "input" field to "data" in ethclient.go for Smart Contract Calls in v13

The field name change from "data" to "input" in ethclient.go in version 13 has caused Smart Contract calls to not properly receive the data payload. This was not an issue in version 12 where the field was named "data". This commit reverts the field name back to "data" to fix Smart Contract call issues.

Reverting changes from v13 that broke smart contract function calls
@karalabe
Copy link
Member

CC @fjl

@indanielo
Copy link
Author

It's worth noting that this change was flagged as potentially problematic three weeks ago, specifically in relation to its compatibility with Prysm. I am indeed using a setup that involves Erigon + Prysm, and the current "input" naming appears to be incompatible, leading to the issues with Smart Contract calls.

#28078

@fjl
Copy link
Contributor

fjl commented Sep 26, 2023

Geth has supported both names (input and data) for years on the server side. I just checked and erigon supports both too. I wonder which versions of Prysm and Erigon are you running?

@karalabe
Copy link
Member

Please ping the relevant projects that they are not in sync with the spec (6 years out of sync). The simplest thing to do is on server side to accept both, and gradually transition clients to input from data. We kind of allowed 6 years transition period in Geth.

@karalabe karalabe closed this Sep 26, 2023
@indanielo
Copy link
Author

indanielo commented Sep 26, 2023

Geth has supported both names (input and data) for years on the server side. I just checked and erigon supports both too. I wonder which versions of Prysm and Erigon are you running?

indanielo@gpuserver:/mnt/bigdata/erigon$ ./build/bin/erigon --version
erigon version 2.48.0-stable-084acc1a

indanielo@gpuserver:/mnt/bigdata/prysm$ sudo ./prysm.sh validator --version
Latest Prysm version is v4.0.8.
Validator version Prysm/v4.0.8/0ca3644057e27966a446051fe3bc3389a1add54e. Built at: 2023-08-22 18:13:00+00:00

indanielo@gpuserver:/mnt/bigdata/prysm$ sudo ./prysm.sh beacon-chain --version
Latest Prysm version is v4.0.8.
beacon-chain version Prysm/v4.0.8/0ca3644057e27966a446051fe3bc3389a1add54e. Built at: 2023-08-22 18:13:00+00:00

@fjl
Copy link
Contributor

fjl commented Sep 26, 2023

I'll try to reproduce this with erigon, seems maybe they don't fully support the naming. Since there have also been reports about issues, with other tools, we may consider to revert this renaming after all.

@indanielo
Copy link
Author

I'll try to reproduce this with erigon, seems maybe they don't fully support the naming. Since there have also been reports about issues, with other tools, we may consider to revert this renaming after all.

Feel free to ask for any additional information you may need. If required, I can provide a code snippet to reproduce the issue. Thanks for the help!

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.

3 participants