empyrealapp / eth-packages

A collection of packages for interacting with EVM smart contracts using pydantic for type safety
MIT License
6 stars 0 forks source link

Types does not recognize IndexAssetInfo type #70

Open centerpeas opened 2 weeks ago

centerpeas commented 2 weeks ago

When loading all weighted indexes, after making the multicall to get all data it then tries to transform each type in this function:

https://github.com/empyrealapp/eth-packages/blob/main/packages/eth_rpc/src/eth_rpc/utils/types.py#L26

While iterating over, it tries to process:

list[eth_typeshed.peapods.weighted_index.IndexAssetInfo]

which it catches as a list and tries to then process the IndexAssetInfo class

https://github.com/empyrealapp/eth-packages/blob/main/packages/eth_typeshed/src/eth_typeshed/peapods/weighted_index.py#L10

but the transform function gets stuck in an infinite loop as it does not appear to have a catch for IndexAssetInfo's type

johnny-emp commented 1 week ago

hey sorry for the delay! thanks for pointing this out, we need to migrate this from a NamedTuple to a Struct. Let me take a look at this and i'll get back to you. Do you think you could provide a minimal reproducible example of how you're running this? A gist or something simple would be really helpful