Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace go-ethereum's ABI API #63

Open
Xenomega opened this issue Dec 13, 2022 · 0 comments
Open

Replace go-ethereum's ABI API #63

Xenomega opened this issue Dec 13, 2022 · 0 comments

Comments

@Xenomega
Copy link
Member

Xenomega commented Dec 13, 2022

go-ethereum's ABI API we rely on is meant to parse a full ABI and generate interfaces exactly matching those types, with native Go types. It is not meant to serialize individual ABI values in a human readable way (especially without a method definition) and there is no sensible intermediate representation for argument value representation. As such, the preparation for sequence mutation requires we resolve the abi.Method referenced when we first load a CallSequence from a corpus, so we have the correct provider to pack/unpack. In a future iteration, we should have ABI value types we can just pack directly without a method definition. It also requires type conversions through reflection.

Fixing this will clean up mutations/value generation a lot and strip away use of reflection to convert argument value types/structures.

However, for now we can proceed and can replace this later, so it's not worth detouring from our main objectives/timeline.

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

No branches or pull requests

2 participants