Generate (complete) solidity docs (#2391)
* `@0x/sol-doc`: New doc generator. * `@0x/sol-compiler`: Be more tolerant of AST-only compilation targets. * `@0x/contracts-exchange`: Add more devdoc comments. `@0x/contracts-exchange-libs`: Add more devdoc comments. * `@0x/sol-doc`: Update package script. * `@0x/sol-doc`: Remove unused files and update package scripts to be easier to configure. * Add more devdocs to contracts. * `@0x/sol-doc`: Remove doc artifacts. * `@0x/sol-doc`: Add `.gitignore` and `.npmignore`. * `@0x/contracts-exchange`: Fix compilation errors. * Fix more broken contracts. * `@0x/contracts-erc20-bridge-sampler`: Fix failing tests. * `@0x/contracts-asset-proxy`: Remove accidentally introduced hackathion file (lol). * `@0x/sol-doc`: Prevent some inherited contracts from being included in docs unintentionally. * `@0x/sol-doc`: Rename test file. * `@0x/contracts-exchange`: Update `orderEpoch` devdoc. * `@0x/sol-doc`: Tweak event and function docs. * Update CODEOWNERS. * `@0x/sol-doc` Tweak function md generation. * `@0x/sol-doc`: add `transformDocs()` tests. * `@0x/sol-doc`: add `extract_docs` tests. * `@0x/sol-doc` Fix linter errors. * `@0x/contracts-erc20-bridge-sampler`: Fix broken `ERC20BridgeSampler.sol` compile. * `@0x/sol-doc` Fix mismatched `dev-utils` dep version. * `@0x/sol-doc`: Add `gen_md` tests. * `@0x/sol-doc`: Remove `fs.promises` calls. * `@0x/sol-doc`: Fix linter errors. * `@0x/sol-doc`: Export all relevant types and functions. Co-authored-by: Lawrence Forman <me@merklejerk.com>
This commit is contained in:
@@ -325,20 +325,21 @@ export class Compiler {
|
||||
|
||||
for (const contractPath of input.contractsToCompile) {
|
||||
const contractName = contractPathToData[contractPath].contractName;
|
||||
|
||||
const compiledContract = compilerOutput.contracts[contractPath][contractName];
|
||||
if (compiledContract === undefined) {
|
||||
throw new Error(
|
||||
`Contract ${contractName} not found in ${contractPath}. Please make sure your contract has the same name as it's file name`,
|
||||
);
|
||||
if (compilerOutput.contracts[contractPath] !== undefined) {
|
||||
const compiledContract = compilerOutput.contracts[contractPath][contractName];
|
||||
if (compiledContract === undefined) {
|
||||
throw new Error(
|
||||
`Contract ${contractName} not found in ${contractPath}. Please make sure your contract has the same name as it's file name`,
|
||||
);
|
||||
}
|
||||
if (this._shouldSaveStandardInput) {
|
||||
await fsWrapper.writeFileAsync(
|
||||
`${this._artifactsDir}/${contractName}.input.json`,
|
||||
utils.stringifyWithFormatting(input.standardInput),
|
||||
);
|
||||
}
|
||||
addHexPrefixToContractBytecode(compiledContract);
|
||||
}
|
||||
if (this._shouldSaveStandardInput) {
|
||||
await fsWrapper.writeFileAsync(
|
||||
`${this._artifactsDir}/${contractName}.input.json`,
|
||||
utils.stringifyWithFormatting(input.standardInput),
|
||||
);
|
||||
}
|
||||
addHexPrefixToContractBytecode(compiledContract);
|
||||
|
||||
if (shouldPersist) {
|
||||
await this._persistCompiledContractAsync(
|
||||
|
Reference in New Issue
Block a user