sol2uml currently fails to generate diagrams for the Monaco contract that is used in the 0xMonaco on-chain pvp racing game.
The problem is the Monaco.sol file imports the Car.sol file with import "./cars/Car.sol"; and the Cars.sol file has a circular import back to the Monaco.sol file with import "../Monaco.sol";.
sol2uml -b Monaco .
RangeError: Maximum call stack size exceeded
at /workspaces/sol2uml/lib/associations.js:7:36
at Array.find (<anonymous>)
at findAssociatedClass (/workspaces/sol2uml/lib/associations.js:7:31)
at findImplicitImport (/workspaces/sol2uml/lib/associations.js:69:58)
at findAssociatedClass (/workspaces/sol2uml/lib/associations.js:31:12)
at findImplicitImport (/workspaces/sol2uml/lib/associations.js:69:58)
at findAssociatedClass (/workspaces/sol2uml/lib/associations.js:31:12)
at findImplicitImport (/workspaces/sol2uml/lib/associations.js:69:58)
at findAssociatedClass (/workspaces/sol2uml/lib/associations.js:31:12)
at findImplicitImport (/workspaces/sol2uml/lib/associations.js:69:58)
sol2uml currently fails to generate diagrams for the
Monaco
contract that is used in the 0xMonaco on-chain pvp racing game.The problem is the
Monaco.sol
file imports theCar.sol
file withimport "./cars/Car.sol";
and theCars.sol
file has a circular import back to theMonaco.sol
file withimport "../Monaco.sol";
.