Skip to content

Commit

Permalink
feat: checking env conditionally
Browse files Browse the repository at this point in the history
  • Loading branch information
matiasbn committed Jun 17, 2021
1 parent 6227714 commit 57cff26
Show file tree
Hide file tree
Showing 14 changed files with 183 additions and 245 deletions.
158 changes: 18 additions & 140 deletions configurations/develop.config.ts
Original file line number Diff line number Diff line change
@@ -1,33 +1,29 @@
import Joi from 'joi';
import {
appRoot,
CONTRACT_NAMES,
PERIOD_TYPE,
SENetworkNames,
SENetworkNamesBytes32,
SENetworks,
SLO_TYPE,
TOKEN_NAMES,
USE_CASES,
} from '../constants';
import { EthereumERC20__factory } from '../typechain';
import { NetworkUserConfig } from 'hardhat/types';
//
// const schema = Joi.object({
// DEVELOP_MNEMONIC: Joi.string().required(),
// DEVELOP_URI: Joi.string().required(),
// DEVELOP_WS_URI: Joi.string().required(),
// }).unknown();
//
// const { error, value } = schema.validate(process.env);
//
// if (error) {
// throw new Error(
// `.env file validation error for network develop: ${error.message}`
// );
// } else {
// process.env = value;
// }
import { scripts } from './scripts.config';

import Joi from 'joi';

const schema = Joi.object({
DEVELOP_MNEMONIC: Joi.string().required(),
DEVELOP_URI: Joi.string().required(),
DEVELOP_WS_URI: Joi.string().required(),
}).unknown();

const { error, value } = schema.validate(process.env);

if (error) {
throw new Error(`.env file validation error: ${error.message}`);
} else {
process.env = value;
}

export const develop: NetworkUserConfig = {
chainId: 1337,
Expand Down Expand Up @@ -103,124 +99,6 @@ export const develop: NetworkUserConfig = {
],
},
},
scripts: {
deploy_sla: [
{
sloValue: 50 * 10 ** 3,
sloType: SLO_TYPE.GreaterThan,
whitelisted: false,
periodType: PERIOD_TYPE.WEEKLY,
initialPeriodId: 0,
finalPeriodId: 10,
extraData: [SENetworkNamesBytes32[SENetworks.ONE]],
initialTokenSupply: '10000000',
initialTokenSupplyDivisor: 100,
deployerStakeTimes: 100,
notDeployerStakeTimes: 2,
leverage: 50,
serviceMetadata: {
serviceName: 'P-OPS',
serviceDescription: 'Official bDSLA Beta Partner.',
serviceImage:
'https://storage.googleapis.com/bdsla-incentivized-beta/validators/chainode.svg',
serviceURL: 'https://bdslaToken.network',
serviceAddress: 'one1kf42rl6yg2avkjsu34ch2jn8yjs64ycn4n9wdj',
serviceTicker: SENetworkNames[SENetworks.ONE],
},
},
{
sloValue: 15 * 10 ** 3,
sloType: SLO_TYPE.GreaterThan,
whitelisted: false,
periodType: PERIOD_TYPE.WEEKLY,
initialPeriodId: 10,
finalPeriodId: 30,
extraData: [SENetworkNamesBytes32[SENetworks.ONE]],
initialTokenSupply: '10000000',
initialTokenSupplyDivisor: 100,
deployerStakeTimes: 100,
notDeployerStakeTimes: 2,
leverage: 50,
serviceMetadata: {
serviceName: 'P-OPS',
serviceDescription: 'Official bDSLA Beta Partner.',
serviceImage:
'https://storage.googleapis.com/bdsla-incentivized-beta/validators/chainode.svg',
serviceURL: 'https://bdslaToken.network',
serviceAddress: 'one1kf42rl6yg2avkjsu34ch2jn8yjs64ycn4n9wdj',
serviceTicker: SENetworkNames[SENetworks.ONE],
},
},
{
sloValue: 20 * 10 ** 3,
sloType: SLO_TYPE.GreaterThan,
whitelisted: false,
periodType: PERIOD_TYPE.WEEKLY,
initialPeriodId: 10,
finalPeriodId: 30,
extraData: [SENetworkNamesBytes32[SENetworks.ONE]],
initialTokenSupply: '10000000',
initialTokenSupplyDivisor: 100,
deployerStakeTimes: 100,
notDeployerStakeTimes: 2,
leverage: 50,
serviceMetadata: {
serviceName: 'P-OPS',
serviceDescription: 'Official bDSLA Beta Partner.',
serviceImage:
'https://storage.googleapis.com/bdsla-incentivized-beta/validators/chainode.svg',
serviceURL: 'https://bdslaToken.network',
serviceAddress: 'one1kf42rl6yg2avkjsu34ch2jn8yjs64ycn4n9wdj',
serviceTicker: SENetworkNames[SENetworks.ONE],
},
},
{
sloValue: 25 * 10 ** 3,
sloType: SLO_TYPE.GreaterThan,
whitelisted: false,
periodType: PERIOD_TYPE.WEEKLY,
initialPeriodId: 10,
finalPeriodId: 30,
extraData: [SENetworkNamesBytes32[SENetworks.ONE]],
initialTokenSupply: '10000000',
initialTokenSupplyDivisor: 100,
deployerStakeTimes: 100,
notDeployerStakeTimes: 2,
leverage: 50,
serviceMetadata: {
serviceName: 'P-OPS',
serviceDescription: 'Official bDSLA Beta Partner.',
serviceImage:
'https://storage.googleapis.com/bdsla-incentivized-beta/validators/chainode.svg',
serviceURL: 'https://bdslaToken.network',
serviceAddress: 'one1kf42rl6yg2avkjsu34ch2jn8yjs64ycn4n9wdj',
serviceTicker: SENetworkNames[SENetworks.ONE],
},
},
{
sloValue: 40 * 10 ** 3,
sloType: SLO_TYPE.GreaterThan,
whitelisted: false,
periodType: PERIOD_TYPE.WEEKLY,
initialPeriodId: 10,
finalPeriodId: 30,
extraData: [SENetworkNamesBytes32[SENetworks.ONE]],
initialTokenSupply: '10000000',
initialTokenSupplyDivisor: 100,
deployerStakeTimes: 100,
notDeployerStakeTimes: 2,
leverage: 50,
serviceMetadata: {
serviceName: 'P-OPS',
serviceDescription: 'Official bDSLA Beta Partner.',
serviceImage:
'https://storage.googleapis.com/bdsla-incentivized-beta/validators/chainode.svg',
serviceURL: 'https://bdslaToken.network',
serviceAddress: 'one1kf42rl6yg2avkjsu34ch2jn8yjs64ycn4n9wdj',
serviceTicker: SENetworkNames[SENetworks.ONE],
},
},
],
},
scripts: scripts,
},
};
28 changes: 13 additions & 15 deletions configurations/ethereum.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,21 +10,19 @@ import { NetworkUserConfig } from 'hardhat/types';
import { scripts } from './scripts.config';
import Joi from 'joi';

// const schema = Joi.object({
// MAINNET_MNEMONIC: Joi.string().required(),
// ETHEREUM_URI: Joi.string().required(),
// ETHEREUM_WS_URI: Joi.string().required(),
// }).unknown();
//
// const { error, value } = schema.validate(process.env);
//
// if (error) {
// throw new Error(
// `.env file validation error for network ethereum: ${error.message}`
// );
// } else {
// process.env = value;
// }
const schema = Joi.object({
MAINNET_MNEMONIC: Joi.string().required(),
ETHEREUM_URI: Joi.string().required(),
ETHEREUM_WS_URI: Joi.string().required(),
}).unknown();

const { error, value } = schema.validate(process.env);

if (error) {
throw new Error(`.env file validation error: ${error.message}`);
} else {
process.env = value;
}

export const ethereum: NetworkUserConfig = {
chainId: 1,
Expand Down
28 changes: 13 additions & 15 deletions configurations/harmony.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,21 +10,19 @@ import { NetworkUserConfig } from 'hardhat/types';
import { scripts } from './scripts.config';
import Joi from 'joi';

// const schema = Joi.object({
// DEVELOP_MNEMONIC: Joi.string().required(),
// DEVELOP_URI: Joi.string().required(),
// DEVELOP_WS_URI: Joi.string().required(),
// }).unknown();
//
// const { error, value } = schema.validate(process.env);
//
// if (error) {
// throw new Error(
// `.env file validation error for network develop: ${error.message}`
// );
// } else {
// process.env = value;
// }
const schema = Joi.object({
MAINNET_MNEMONIC: Joi.string().required(),
HARMONY_URI: Joi.string().required(),
HARMONY_WS_URI: Joi.string().required(),
}).unknown();

const { error, value } = schema.validate(process.env);

if (error) {
throw new Error(`.env file validation error: ${error.message}`);
} else {
process.env = value;
}

export const harmony: NetworkUserConfig = {
chainId: 1666600000,
Expand Down
16 changes: 16 additions & 0 deletions configurations/harmonytestnet.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,22 @@ import { EthereumERC20__factory } from '../typechain';
import { NetworkUserConfig } from 'hardhat/types';
import { scripts } from './scripts.config';

import Joi from 'joi';

const schema = Joi.object({
TESTNET_MNEMONIC: Joi.string().required(),
HARMONYTESTNET_URI: Joi.string().required(),
HARMONYTESTNET_WS_URI: Joi.string().required(),
}).unknown();

const { error, value } = schema.validate(process.env);

if (error) {
throw new Error(`.env file validation error: ${error.message}`);
} else {
process.env = value;
}

export const harmonytestnet: NetworkUserConfig = {
chainId: 1666700000,
gas: 12000000,
Expand Down
16 changes: 16 additions & 0 deletions configurations/kovan.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,22 @@ import { EthereumERC20__factory } from '../typechain';
import { NetworkUserConfig } from 'hardhat/types';
import { scripts } from './scripts.config';

import Joi from 'joi';

const schema = Joi.object({
TESTNET_MNEMONIC: Joi.string().required(),
KOVAN_URI: Joi.string().required(),
KOVAN_WS_URI: Joi.string().required(),
}).unknown();

const { error, value } = schema.validate(process.env);

if (error) {
throw new Error(`.env file validation error: ${error.message}`);
} else {
process.env = value;
}

export const kovan: NetworkUserConfig = {
chainId: 42,
accounts: {
Expand Down
16 changes: 16 additions & 0 deletions configurations/mumbai.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,22 @@ import { EthereumERC20__factory } from '../typechain';
import { NetworkUserConfig } from 'hardhat/types';
import { scripts } from './scripts.config';

import Joi from 'joi';

const schema = Joi.object({
TESTNET_MNEMONIC: Joi.string().required(),
MUMBAI_URI: Joi.string().required(),
MUMBAI_WS_URI: Joi.string().required(),
}).unknown();

const { error, value } = schema.validate(process.env);

if (error) {
throw new Error(`.env file validation error: ${error.message}`);
} else {
process.env = value;
}

export const mumbai: NetworkUserConfig = {
chainId: 80001,
gas: 19000000,
Expand Down
16 changes: 16 additions & 0 deletions configurations/polygon.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,22 @@ import { PolygonERC20__factory } from '../typechain';
import { NetworkUserConfig } from 'hardhat/types';
import { scripts } from './scripts.config';

import Joi from 'joi';

const schema = Joi.object({
MAINNET_MNEMONIC: Joi.string().required(),
POLYGON_URI: Joi.string().required(),
POLYGON_WS_URI: Joi.string().required(),
}).unknown();

const { error, value } = schema.validate(process.env);

if (error) {
throw new Error(`.env file validation error: ${error.message}`);
} else {
process.env = value;
}

export const polygon: NetworkUserConfig = {
chainId: 137,
gas: 19000000,
Expand Down
21 changes: 1 addition & 20 deletions dtk-env-validation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,31 +3,12 @@ require('dotenv').config();

const schema = Joi.object({
IPFS_URI: Joi.string().required(),

MAINNET_MNEMONIC: Joi.string().required(),
TESTNET_MNEMONIC: Joi.string().required(),
DEVELOP_MNEMONIC: Joi.string().required(),

MUMBAI_URI: Joi.string().required(),
MUMBAI_WS_URI: Joi.string().required(),
POLYGON_URI: Joi.string().required(),
POLYGON_WS_URI: Joi.string().required(),
HARMONYTESTNET_URI: Joi.string().required(),
HARMONYTESTNET_WS_URI: Joi.string().required(),
HARMONY_URI: Joi.string().required(),
HARMONY_WS_URI: Joi.string().required(),
DEVELOP_URI: Joi.string().required(),
DEVELOP_WS_URI: Joi.string().required(),
ETHEREUM_URI: Joi.string().required(),
ETHEREUM_WS_URI: Joi.string().required(),
KOVAN_URI: Joi.string().required(),
KOVAN_WS_URI: Joi.string().required(),
}).unknown();

const { error, value } = schema.validate(process.env);

if (error) {
throw new Error(`.env file validation error: ${error.message}`);
throw new Error(`global .env file validation error: ${error.message}`);
} else {
process.env = value;
}
19 changes: 0 additions & 19 deletions env-example

This file was deleted.

Loading

0 comments on commit 57cff26

Please sign in to comment.