aboutsummaryrefslogtreecommitdiffstats
path: root/packages/sol-compiler/src/compiler.ts
diff options
context:
space:
mode:
authorLeonid Logvinov <logvinov.leon@gmail.com>2018-05-25 07:33:58 +0800
committerLeonid Logvinov <logvinov.leon@gmail.com>2018-05-30 01:09:07 +0800
commit549e6d57c44abcd7e59699f739027d190d4e3bd7 (patch)
treef64917762c334a0979c595caff6f0749939183c6 /packages/sol-compiler/src/compiler.ts
parented5b9c2b56185fc5d8e83c17d85cc8044fee0872 (diff)
downloaddexon-sol-tools-549e6d57c44abcd7e59699f739027d190d4e3bd7.tar.gz
dexon-sol-tools-549e6d57c44abcd7e59699f739027d190d4e3bd7.tar.zst
dexon-sol-tools-549e6d57c44abcd7e59699f739027d190d4e3bd7.zip
Add schema assertions on public methods of @0xproject/sol-compiler
Diffstat (limited to 'packages/sol-compiler/src/compiler.ts')
-rw-r--r--packages/sol-compiler/src/compiler.ts5
1 files changed, 5 insertions, 0 deletions
diff --git a/packages/sol-compiler/src/compiler.ts b/packages/sol-compiler/src/compiler.ts
index 2ebc5228e..d063b27a1 100644
--- a/packages/sol-compiler/src/compiler.ts
+++ b/packages/sol-compiler/src/compiler.ts
@@ -1,3 +1,5 @@
+import { assert } from '@0xproject/assert';
+import { schemas } from '@0xproject/json-schemas';
import {
ContractSource,
ContractSources,
@@ -22,6 +24,7 @@ import * as requireFromString from 'require-from-string';
import * as semver from 'semver';
import solc = require('solc');
+import { compilerOptionsSchema } from './schemas/compiler_options_schema';
import { binPaths } from './solc/bin_paths';
import {
createDirIfDoesNotExistAsync,
@@ -81,10 +84,12 @@ export class Compiler {
* @return An instance of the Compiler class.
*/
constructor(opts: CompilerOptions) {
+ assert.doesConformToSchema('opts', opts, compilerOptionsSchema);
// TODO: Look for config file in parent directories if not found in current directory
const config: CompilerOptions = fs.existsSync(CONFIG_FILE)
? JSON.parse(fs.readFileSync(CONFIG_FILE).toString())
: {};
+ assert.doesConformToSchema('compiler.json', config, compilerOptionsSchema);
this._contractsDir = opts.contractsDir || config.contractsDir || DEFAULT_CONTRACTS_DIR;
this._solcVersionIfExists = opts.solcVersion || config.solcVersion;
this._compilerSettings = opts.compilerSettings || config.compilerSettings || DEFAULT_COMPILER_SETTINGS;