Skip to content

Commit 5440052

Browse files
committed
Add more validations
1 parent 7638551 commit 5440052

17 files changed

+329
-287
lines changed

checkContract.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ const web3 = require('web3');
33
const path = require('path');
44
const contractsDirectory = './src/contracts';
55
const validate = require('validate.js');
6+
const validateObject = require('./validateObject');
7+
68
const constraints = {
79
name: {
810
presence: {
@@ -34,9 +36,9 @@ function checkContract() {
3436
path.extname(file) === '.json' &&
3537
web3.utils.isAddress(file.replace('.json', ''))
3638
) {
37-
const obj = JSON.parse(
38-
fs.readFileSync(`${contractsDirectory}/${folder}/${file}`, 'utf8')
39-
);
39+
const fullPath = `${contractsDirectory}/${folder}/${file}`;
40+
const obj = JSON.parse(fs.readFileSync(fullPath, 'utf8'));
41+
validateObject(constraints, obj, fullPath);
4042
if (validate(obj, constraints) !== undefined) {
4143
const errs = validate(obj, constraints);
4244
Object.keys(errs).forEach(key => {

checkDirectory.js

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
const fs = require('fs');
2+
const whitelist = [
3+
'.git',
4+
'.gitignore',
5+
'.prettierignore',
6+
'.prettierrc',
7+
'.travis.yml',
8+
'LICENSE',
9+
'README.md',
10+
'checkContract.js',
11+
'checkDirectory.js',
12+
'checkToken.js',
13+
'compile.js',
14+
'createFiles.js',
15+
'dist',
16+
'node_modules',
17+
'package-lock.json',
18+
'package.json',
19+
'recreateFiles.js',
20+
'renameToChecksum.js',
21+
'src',
22+
'validateObject.js'
23+
];
24+
25+
function checkDirectory() {
26+
const currentContent = fs.readdirSync('./');
27+
whitelist.forEach((file, idx) => {
28+
if (currentContent[idx] !== file) {
29+
console.log(`Move ${currentContent[idx]} to proper folder or delete it.`);
30+
process.exit(1);
31+
}
32+
});
33+
}
34+
35+
module.exports = checkDirectory;

checkToken.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ const tokensDirectory = './src/tokens';
33
const web3 = require('web3');
44
const path = require('path');
55
const validate = require('validate.js');
6+
const validateObject = require('./validateObject');
67

78
const constraints = {
89
symbol: {
@@ -114,9 +115,9 @@ function checkToken() {
114115
path.extname(file) === '.json' &&
115116
web3.utils.isAddress(file.replace('.json', ''))
116117
) {
117-
const obj = JSON.parse(
118-
fs.readFileSync(`${tokensDirectory}/${folder}/${file}`, 'utf8')
119-
);
118+
const fullPath = `${tokensDirectory}/${folder}/${file}`;
119+
const obj = JSON.parse(fs.readFileSync(fullPath, 'utf8'));
120+
validateObject(constraints, obj, fullPath);
120121
if (validate(obj, constraints) !== undefined) {
121122
const errs = validate(obj, constraints);
122123
Object.keys(errs).forEach(key => {

compile.js

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,23 @@
1-
const recreateFiles = require('./recreateFiles');
2-
const createFiles = require('./createFiles');
31
const checkContract = require('./checkContract');
2+
const checkDirectory = require('./checkDirectory');
43
const checkToken = require('./checkToken');
4+
const createFiles = require('./createFiles');
5+
const recreateFiles = require('./recreateFiles');
6+
const renameToChecksum = require('./renameToChecksum');
57

68
function compile() {
7-
recreateFiles();
9+
checkDirectory();
10+
console.log('Directory is clean!');
811
createFiles();
9-
checkToken();
12+
console.log('Created files!');
13+
recreateFiles();
14+
console.log('Recreated files!');
15+
renameToChecksum();
16+
console.log('Rename files to checksum!');
1017
checkContract();
18+
console.log('Contracts are fine!');
19+
checkToken();
20+
console.log('Tokens are fine!');
1121
}
1222

1323
compile();

0 commit comments

Comments
 (0)