naddison36 / sol2uml

Solidity contract visualisation tool
MIT License
1.12k stars 257 forks source link

Failed to find user defined type #175

Closed rriescog closed 8 months ago

rriescog commented 8 months ago

Command to reproduce the error:

sol2uml storage 0x8115366Ca7Cf280a760f0bC0F6Db3026e2437115 -v \ --data --storage 0xC13e21B648A5Ee794902342038FF3aDAB66BE987

[...]

sol2uml Found contract "Pool" in lib/aave-v3-core/contracts/protocol/pool/Pool.sol +0ms Error: Failed to find user defined type "DataTypes.ReserveData" in attribute "_reserves" of type "4"" at findTypeClass (/Users/username/.nvm/versions/node/v16.0.0/lib/node_modules/sol2uml/lib/converterClasses2Storage.js:444:15)

You can also test with aave-v3-periphery repo codebase at https://github.com/aave/aave-v3-periphery/:

sol2uml storage ./contracts/ -c RewardsController Error: Failed to find user defined type "RewardsDataTypes.AssetData" in attribute "_assets" of type "4""

naddison36 commented 8 months ago

Thanks for reporting this. I can see what's wrong but the fix is a tricky one.

I'll see what I can do this week.

Nick

naddison36 commented 8 months ago

This has been fixed in v2.5.18

sol2uml storage ./contracts,./node_modules -c RewardsController

RewardsController

sol2uml storage 0x8115366Ca7Cf280a760f0bC0F6Db3026e2437115 -v --data --storage 0xC13e21B648A5Ee794902342038FF3aDAB66BE987

Pool

naddison36 commented 8 months ago

Note you can hide the expanded ______gap array and raw slot values with

sol2uml storage 0x8115366Ca7Cf280a760f0bC0F6Db3026e2437115 -v --data --storage 0xC13e21B648A5Ee794902342038FF3aDAB66BE987 --hideExpand ______gap --hideValues

Pool