Skip to content

Commit

Permalink
Add more validations
Browse files Browse the repository at this point in the history
  • Loading branch information
gamalielhere committed Sep 20, 2018
1 parent 7638551 commit 5440052
Show file tree
Hide file tree
Showing 17 changed files with 329 additions and 287 deletions.
8 changes: 5 additions & 3 deletions checkContract.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ const web3 = require('web3');
const path = require('path');
const contractsDirectory = './src/contracts';
const validate = require('validate.js');
const validateObject = require('./validateObject');

const constraints = {
name: {
presence: {
Expand Down Expand Up @@ -34,9 +36,9 @@ function checkContract() {
path.extname(file) === '.json' &&
web3.utils.isAddress(file.replace('.json', ''))
) {
const obj = JSON.parse(
fs.readFileSync(`${contractsDirectory}/${folder}/${file}`, 'utf8')
);
const fullPath = `${contractsDirectory}/${folder}/${file}`;
const obj = JSON.parse(fs.readFileSync(fullPath, 'utf8'));
validateObject(constraints, obj, fullPath);
if (validate(obj, constraints) !== undefined) {
const errs = validate(obj, constraints);
Object.keys(errs).forEach(key => {
Expand Down
35 changes: 35 additions & 0 deletions checkDirectory.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
const fs = require('fs');
const whitelist = [
'.git',
'.gitignore',
'.prettierignore',
'.prettierrc',
'.travis.yml',
'LICENSE',
'README.md',
'checkContract.js',
'checkDirectory.js',
'checkToken.js',
'compile.js',
'createFiles.js',
'dist',
'node_modules',
'package-lock.json',
'package.json',
'recreateFiles.js',
'renameToChecksum.js',
'src',
'validateObject.js'
];

function checkDirectory() {
const currentContent = fs.readdirSync('./');
whitelist.forEach((file, idx) => {
if (currentContent[idx] !== file) {
console.log(`Move ${currentContent[idx]} to proper folder or delete it.`);
process.exit(1);
}
});
}

module.exports = checkDirectory;
7 changes: 4 additions & 3 deletions checkToken.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ const tokensDirectory = './src/tokens';
const web3 = require('web3');
const path = require('path');
const validate = require('validate.js');
const validateObject = require('./validateObject');

const constraints = {
symbol: {
Expand Down Expand Up @@ -114,9 +115,9 @@ function checkToken() {
path.extname(file) === '.json' &&
web3.utils.isAddress(file.replace('.json', ''))
) {
const obj = JSON.parse(
fs.readFileSync(`${tokensDirectory}/${folder}/${file}`, 'utf8')
);
const fullPath = `${tokensDirectory}/${folder}/${file}`;
const obj = JSON.parse(fs.readFileSync(fullPath, 'utf8'));
validateObject(constraints, obj, fullPath);
if (validate(obj, constraints) !== undefined) {
const errs = validate(obj, constraints);
Object.keys(errs).forEach(key => {
Expand Down
18 changes: 14 additions & 4 deletions compile.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,23 @@
const recreateFiles = require('./recreateFiles');
const createFiles = require('./createFiles');
const checkContract = require('./checkContract');
const checkDirectory = require('./checkDirectory');
const checkToken = require('./checkToken');
const createFiles = require('./createFiles');
const recreateFiles = require('./recreateFiles');
const renameToChecksum = require('./renameToChecksum');

function compile() {
recreateFiles();
checkDirectory();
console.log('Directory is clean!');
createFiles();
checkToken();
console.log('Created files!');
recreateFiles();
console.log('Recreated files!');
renameToChecksum();
console.log('Rename files to checksum!');
checkContract();
console.log('Contracts are fine!');
checkToken();
console.log('Tokens are fine!');
}

compile();
Loading

0 comments on commit 5440052

Please sign in to comment.