Open schmidsi opened 5 years ago
It looks like the nodejs-memory is to low for your contract, maybe because of the amount of imports. Can you increase the memory-size and try again?
Maybe you have an infinite cycle of imports. I think we need something to reproduce this in a simple way, not with 50 contracts importing each other.
I could reproduce this by just making a circular import. @schmidsi do you know if circular imports can be used with solc?
Probably. We used to use dapp tools on this set of contracts for compiling. Because it was so complicated to setup a dev-env, I started to create this JS only solution. Actually, my implementation works, but it is just really slow: https://github.com/melonproject/protocol/blob/develop/bin/compile.ts#L99-L158
So how is this caching working?
I tried to solve the circular imports, but it's not as easy as i thought. Let's wait until this is resolved and then we can switch to resolver-engine for the parsing.
I looked into resolver-engine and it is not useable at the moment. A better approach is to use the remix-parser, when it got splitted out from the project. Related issue
Is there an estimated timeline for this? I'd love to be able to setup compilation for multiple Solidity versions in OpenZeppelin without having to upgrade to truffle 5 (which would also mean updating the whole test suite due to web3 1.0 changes), and this project seems perfect for that.
Thanks!
Hi @nventuro
Sorry but there is no timeline for that on this project. Than plan is to wait for resolver-engine
and remix-parser
to be useable and then switch to one of them.
Hi
I wanted to try out this promising tool on our code base, but it fails with the following error:
If you want to try to reproduce this on your machine, do the following steps (assuming solidity-cli is installed globally):
If you are interested, you can have a look at our current implementation of compiling: https://github.com/melonproject/protocol/blob/develop/bin/compile.ts
It works, but it is slow :(. That's why I'm here. (https://github.com/melonproject/protocol/issues/581)