wevm / abitype

Strict TypeScript types for Ethereum ABIs
https://abitype.dev
MIT License
474 stars 39 forks source link

typing issue with parseAbi(formatAbi(myABI)) : lost of types #243

Closed wighawag closed 2 months ago

wighawag commented 2 months ago

Describe the bug

When formating an abi to human readable format and then parsing it, the types loses some of its field

In the example here the inputs and stateMutabilitiy field resolve to never

Link to Minimal Reproducible Example

https://www.typescriptlang.org/play/?#code/JYWwDg9gTgLgBAbwGbRAQxgQQEbADRxhpQDOApjsAL5xJQQhwDkauMAnmGUwNwBQfMgA9IsOAGMIAOxLxWwOAF44AbT4BIBBvXApYAK4wSALlXbN59ZPDSyUo6bXrnzrS5e6YZKFLQAbABVOMlMmfU8AJgBWADYmPEtnXxAQ5nEAC2I0cS8oAEkAEXjE9Q4uUPD7aLiE93UqWvc3Os9vX0Dgis8YgBZiuvVk1KYpMgB3AAUIEmAYYGl+urLhyphexZcGxOb3Vp9-IPLmVYi+xvch0JENl2WuqrPErbqdj3s2g87jyMeBy+YyJAMjdnHdvg8Qc8miU9u1DitPAAOEGDNApULpMAosFhJGQ86uErWSCjewmMwDCyUnTvfYdI5MTwAZgiKKSaOGQjZpS+jPsLLZUJeJWcsM+DOZrIJFw5oXY3JxksF0sJ1LF9IR9mRKvZ6OYmIVvNW2pFQuhatpcKNeJ1qL1TAA1roACaGhnG5UlAC6KvV8NCsig+hycAA4hyAEpkABuZH8ADoALLSWTeFRRL0o-5MEAp3IkbG8mD6MB+MjpzPSs1UurE2xkxwi167S3izUwE3U7O5mS5PJSZ3CCZ+fQkACMbvbnYG1dVlL91q13OzGBg2QdAGFiM6SABVcjOie2nEenWzmsDBfum0iu3DVfrrdQHf7sjOqW3k83ynn5tvXJWteS62tmg5IHY5BPi+B5Hp+i4dp6lJ-qKrYavcCEgbKzBgRBZBQXuB4ftSX7AaaKo+jCqH+swgbBvA4YpFGsYJgAQquZZZlhTDYOx3AqjixalnxTwEhRLYAW2AYwEGIYMWQTFxn48YAMprl4G6ZFIADmZAFgS2ayBgeGaTpemWAJJYcecQqvFe7bVDcK45PMUg3CRMAOdZ5y2VRvLYBAEB+I5XFQDGZAwAA8lI-bRv4wDOsmsZme4OL+YFGxQmJd5SYCGloNpumLBAhgGA4FJzs4dakmVTjmi0vlAR5sScfaGRZDk3iFIWjWeSJ2yURJaHgmsvx1NmoyTNMswud17brFW0p-nZ6GnC1nJYvx8GrQt-WXg19mjTK9qAhAwKbT1h3ONWS37eh05HcMBrnVO+K7bWDAknYNVNrey3MEqmH2lyx68gDZE-Rag3UXyMACoDwzyiDEr8kRM46shNJQ-B91jVxT1wY1OObOjv23cNRMuNmToDpOd2IXUWXiR8Q1MLRsmRmFCbJr2aYZmtoQ9qmpCzaEgllhWr3CgMVVfeStVS-OZO4qRXZcYLfYDkOI7jrT5P0wre1Y4Ty5cQ+4ibtuBFvrBxHY-rdWG8z0OnreK4wGu5v4a+7668rGHg0hpNGy98OhDhMh4Zb3s25S7kU-UJOQ07duh9hZDgRHXuEb7Ls-uRvpK2z9Ec8xSlse7VklNmPEV8JAwWUJksuIzmPJwyRdhiXikqWpxn5aZwX2m5RaWXXV2NFlhleImhjyH4szsKEBihYsOJIPoUjOQstRbF6cBoCQEh5vwfCSL2++4JgSC5AAYqgGCYAOEzEOQSiEC-FC4AAFCgUDoFg395AAEogEn3kFfW+98sBPw-nAEgGBgAkCQMAXScBlgQCQBfYA-AgA

Steps To Reproduce

https://www.typescriptlang.org/play/?#code/JYWwDg9gTgLgBAbwGbRAQxgQQEbADRxhpQDOApjsAL5xJQQhwDkauMAnmGUwNwBQfMgA9IsOAGMIAOxLxWwOAF44AbT4BIBBvXApYAK4wSALlXbN59ZPDSyUo6bXrnzrS5e6YZKFLQAbABVOMlMmfU8AJgBWADYmPEtnXxAQ5nEAC2I0cS8oAEkAEXjE9Q4uUPD7aLiE93UqWvc3Os9vX0Dgis8YgBZiuvVk1KYpMgB3AAUIEmAYYGl+urLhyphexZcGxOb3Vp9-IPLmVYi+xvch0JENl2WuqrPErbqdj3s2g87jyMeBy+YyJAMjdnHdvg8Qc8miU9u1DitPAAOEGDNApULpMAosFhJGQ86uErWSCjewmMwDCyUnTvfYdI5MTwAZgiKKSaOGQjZpS+jPsLLZUJeJWcsM+DOZrIJFw5oXY3JxksF0sJ1LF9IR9mRKvZ6OYmIVvNW2pFQuhatpcKNeJ1qL1TAA1roACaGhnG5UlAC6KvV8NCsig+hycAA4hyAEpkABuZH8ADoALLSWTeFRRL0o-5MEAp3IkbG8mD6MB+MjpzPSs1UurE2xkxwi167S3izUwE3U7O5mS5PJSZ3CCZ+fQkACMbvbnYG1dVlL91q13OzGBg2QdAGFiM6SABVcjOie2nEenWzmsDBfum0iu3DVfrrdQHf7sjOqW3k83ynn5tvXJWteS62tmg5IHY5BPi+B5Hp+i4dp6lJ-qKrYavcCEgbKzBgRBZBQXuB4ftSX7AaaKo+jCqH+swgbBvA4YpFGsYJgAQquZZZlhTDYOx3AqjixalnxTwEhRLYAW2AYwEGIYMWQTFxn48YAMprl4G6ZFIADmZAFgS2ayBgeGaTpemWAJJYcecQqvFe7bVDcK45PMUg3CRMAOdZ5y2VRvLYBAEB+I5XFQDGZAwAA8lI-bRv4wDOsmsZme4OL+YFGxQmJd5SYCGloNpumLBAhgGA4FJzs4dakmVTjmi0vlAR5sScfaGRZDk3iFIWjWeSJ2yURJaHgmsvx1NmoyTNMswud17brFW0p-nZ6GnC1nJYvx8GrQt-WXg19mjTK9qAhAwKbT1h3ONWS37eh05HcMBrnVO+K7bWDAknYNVNrey3MEqmH2lyx68gDZE-Rag3UXyMACoDwzyiDEr8kRM46shNJQ-B91jVxT1wY1OObOjv23cNRMuNmToDpOd2IXUWXiR8Q1MLRsmRmFCbJr2aYZmtoQ9qmpCzaEgllhWr3CgMVVfeStVS-OZO4qRXZcYLfYDkOI7jrT5P0wre1Y4Ty5cQ+4ibtuBFvrBxHY-rdWG8z0OnreK4wGu5v4a+7668rGHg0hpNGy98OhDhMh4Zb3s25S7kU-UJOQ07duh9hZDgRHXuEb7Ls-uRvpK2z9Ec8xSlse7VklNmPEV8JAwWUJksuIzmPJwyRdhiXikqWpxn5aZwX2m5RaWXXV2NFlhleImhjyH4szsKEBihYsOJIPoUjOQstRbF6cBoCQEh5vwfCSL2++4JgSC5AAYqgGCYAOEzEOQSiEC-FC4AAFCgUDoFg395AAEogEn3kFfW+98sBPw-nAEgGBgAkCQMAXScBlgQCQBfYA-AgA

Package Version

1.04

TypeScript Version

5.5.2

Check existing issues

Anything else?

No response

github-actions[bot] commented 2 months ago

This issue has been locked since it has been closed for more than 14 days.

If you found a concrete bug or regression related to it, please open a new bug report with a reproduction against the latest ABIType version. If you have any questions or comments you can create a new discussion thread.