Currently we overwrite truffle's solidity compilation process and run truffle-compile internally within oasis-compile so that we can mark the outputs confidential. This ignores the solc settings inside of truffle-confg.js.
A better solution would be to, instead, let the default truffle-solidity-compiler do its compilation, and then we read that output from build/contracts and then transform that output into confidential contracts.
However, we can't do this in truffle, as is. Specifically truffle processes all its "compilers", i.e., solc, external, and vyper, aynschronously. As a result, if we try the suggested solution above, we will read the build directory before the solc is done (since the external compiler will start concurrently).
As a result, the proposed solution above, probably requires a change to truffle.
Currently we overwrite truffle's solidity compilation process and run
truffle-compileinternally withinoasis-compileso that we can mark the outputs confidential. This ignores the solc settings inside oftruffle-confg.js.A better solution would be to, instead, let the default truffle-solidity-compiler do its compilation, and then we read that output from
build/contractsand then transform that output into confidential contracts.However, we can't do this in
truffle, as is. Specifically truffle processes all its "compilers", i.e., solc, external, and vyper, aynschronously. As a result, if we try the suggested solution above, we will read the build directory before the solc is done (since the external compiler will start concurrently).As a result, the proposed solution above, probably requires a change to truffle.