Consolidate all console.log into the @0xproject/utils package
This commit is contained in:
parent
c2f8858aab
commit
c8a8b851d8
@ -17,10 +17,6 @@ export const utils = {
|
||||
bigNumberToBN(value: BigNumber) {
|
||||
return new BN(value.toString(), 10);
|
||||
},
|
||||
consoleLog(message: string): void {
|
||||
// tslint:disable-next-line: no-console
|
||||
console.log(message);
|
||||
},
|
||||
spawnSwitchErr(name: string, value: any): Error {
|
||||
return new Error(`Unexpected switch value: ${value} encountered for ${name}`);
|
||||
},
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
import { logUtils } from '@0xproject/utils';
|
||||
import chalk from 'chalk';
|
||||
import * as fs from 'fs';
|
||||
import { sync as globSync } from 'glob';
|
||||
@ -62,7 +63,7 @@ const args = yargs
|
||||
|
||||
function registerPartials(partialsGlob: string) {
|
||||
const partialTemplateFileNames = globSync(partialsGlob);
|
||||
utils.log(`Found ${chalk.green(`${partialTemplateFileNames.length}`)} ${chalk.bold('partial')} templates`);
|
||||
logUtils.log(`Found ${chalk.green(`${partialTemplateFileNames.length}`)} ${chalk.bold('partial')} templates`);
|
||||
for (const partialTemplateFileName of partialTemplateFileNames) {
|
||||
const namedContent = utils.getNamedContent(partialTemplateFileName);
|
||||
Handlebars.registerPartial(namedContent.name, namedContent.content);
|
||||
@ -77,7 +78,7 @@ function writeOutputFile(name: string, renderedTsCode: string): void {
|
||||
}
|
||||
const filePath = `${args.output}/${fileName}.ts`;
|
||||
fs.writeFileSync(filePath, renderedTsCode);
|
||||
utils.log(`Created: ${chalk.bold(filePath)}`);
|
||||
logUtils.log(`Created: ${chalk.bold(filePath)}`);
|
||||
}
|
||||
|
||||
Handlebars.registerHelper('parameterType', utils.solTypeToTsType.bind(utils, ParamKind.Input, args.backend));
|
||||
@ -91,17 +92,17 @@ const template = Handlebars.compile<ContextData>(mainTemplate.content);
|
||||
const abiFileNames = globSync(args.abis);
|
||||
|
||||
if (_.isEmpty(abiFileNames)) {
|
||||
utils.log(`${chalk.red(`No ABI files found.`)}`);
|
||||
utils.log(`Please make sure you've passed the correct folder name and that the files have
|
||||
logUtils.log(`${chalk.red(`No ABI files found.`)}`);
|
||||
logUtils.log(`Please make sure you've passed the correct folder name and that the files have
|
||||
${chalk.bold('*.json')} extensions`);
|
||||
process.exit(1);
|
||||
} else {
|
||||
utils.log(`Found ${chalk.green(`${abiFileNames.length}`)} ${chalk.bold('ABI')} files`);
|
||||
logUtils.log(`Found ${chalk.green(`${abiFileNames.length}`)} ${chalk.bold('ABI')} files`);
|
||||
mkdirp.sync(args.output);
|
||||
}
|
||||
for (const abiFileName of abiFileNames) {
|
||||
const namedContent = utils.getNamedContent(abiFileName);
|
||||
utils.log(`Processing: ${chalk.bold(namedContent.name)}...`);
|
||||
logUtils.log(`Processing: ${chalk.bold(namedContent.name)}...`);
|
||||
const parsedContent = JSON.parse(namedContent.content);
|
||||
let ABI;
|
||||
if (_.isArray(parsedContent)) {
|
||||
@ -112,8 +113,8 @@ for (const abiFileName of abiFileNames) {
|
||||
ABI = parsedContent.networks[args.networkId].abi; // 0x contracts package artifact
|
||||
}
|
||||
if (_.isUndefined(ABI)) {
|
||||
utils.log(`${chalk.red(`ABI not found in ${abiFileName}.`)}`);
|
||||
utils.log(
|
||||
logUtils.log(`${chalk.red(`ABI not found in ${abiFileName}.`)}`);
|
||||
logUtils.log(
|
||||
`Please make sure your ABI file is either an array with ABI entries or a truffle artifact or 0x deployer artifact`,
|
||||
);
|
||||
process.exit(1);
|
||||
|
@ -73,9 +73,6 @@ export const utils = {
|
||||
isObjectType(tsType: string): boolean {
|
||||
return /^{.*}$/.test(tsType);
|
||||
},
|
||||
log(...args: any[]): void {
|
||||
console.log(...args); // tslint:disable-line:no-console
|
||||
},
|
||||
getPartialNameFromFileName(filename: string): string {
|
||||
const name = path.parse(filename).name;
|
||||
return name;
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { promisify } from '@0xproject/utils';
|
||||
import { logUtils, promisify } from '@0xproject/utils';
|
||||
import * as ethUtil from 'ethereumjs-util';
|
||||
import * as fs from 'fs';
|
||||
import 'isomorphic-fetch';
|
||||
@ -59,9 +59,9 @@ export class Compiler {
|
||||
};
|
||||
const source = await fsWrapper.readFileAsync(contentPath, opts);
|
||||
sources[fileName] = source;
|
||||
utils.consoleLog(`Reading ${fileName} source...`);
|
||||
logUtils.log(`Reading ${fileName} source...`);
|
||||
} catch (err) {
|
||||
utils.consoleLog(`Could not find file at ${contentPath}`);
|
||||
logUtils.log(`Could not find file at ${contentPath}`);
|
||||
}
|
||||
} else {
|
||||
try {
|
||||
@ -71,7 +71,7 @@ export class Compiler {
|
||||
...nestedSources,
|
||||
};
|
||||
} catch (err) {
|
||||
utils.consoleLog(`${contentPath} is not a directory or ${constants.SOLIDITY_FILE_EXTENSION} file`);
|
||||
logUtils.log(`${contentPath} is not a directory or ${constants.SOLIDITY_FILE_EXTENSION} file`);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -164,7 +164,7 @@ export class Compiler {
|
||||
});
|
||||
await Promise.all(_.map(fileNames, async fileName => this._compileContractAsync(fileName)));
|
||||
this._solcErrors.forEach(errMsg => {
|
||||
utils.consoleLog(errMsg);
|
||||
logUtils.log(errMsg);
|
||||
});
|
||||
}
|
||||
/**
|
||||
@ -195,7 +195,7 @@ export class Compiler {
|
||||
if (isCompilerAvailableLocally) {
|
||||
solcjs = fs.readFileSync(compilerBinFilename).toString();
|
||||
} else {
|
||||
utils.consoleLog(`Downloading ${fullSolcVersion}...`);
|
||||
logUtils.log(`Downloading ${fullSolcVersion}...`);
|
||||
const url = `${constants.BASE_COMPILER_URL}${fullSolcVersion}`;
|
||||
const response = await fetch(url);
|
||||
if (response.status !== 200) {
|
||||
@ -206,7 +206,7 @@ export class Compiler {
|
||||
}
|
||||
const solcInstance = solc.setupMethods(requireFromString(solcjs, compilerBinFilename));
|
||||
|
||||
utils.consoleLog(`Compiling ${fileName}...`);
|
||||
logUtils.log(`Compiling ${fileName}...`);
|
||||
const source = this._contractSources[fileName];
|
||||
const input = {
|
||||
[fileName]: source,
|
||||
@ -270,7 +270,7 @@ export class Compiler {
|
||||
const artifactString = utils.stringifyWithFormatting(newArtifact);
|
||||
const currentArtifactPath = `${this._artifactsDir}/${contractName}.json`;
|
||||
await fsWrapper.writeFileAsync(currentArtifactPath, artifactString);
|
||||
utils.consoleLog(`${fileName} artifact saved!`);
|
||||
logUtils.log(`${fileName} artifact saved!`);
|
||||
}
|
||||
/**
|
||||
* Sets the source tree hash for a file and its dependencies.
|
||||
@ -323,7 +323,7 @@ export class Compiler {
|
||||
*/
|
||||
private async _createArtifactsDirIfDoesNotExistAsync(): Promise<void> {
|
||||
if (!fsWrapper.doesPathExistSync(this._artifactsDir)) {
|
||||
utils.consoleLog('Creating artifacts directory...');
|
||||
logUtils.log('Creating artifacts directory...');
|
||||
await fsWrapper.mkdirAsync(this._artifactsDir);
|
||||
}
|
||||
}
|
||||
@ -344,7 +344,7 @@ export class Compiler {
|
||||
contractArtifact = JSON.parse(contractArtifactString);
|
||||
return contractArtifact;
|
||||
} catch (err) {
|
||||
utils.consoleLog(`Artifact for ${fileName} does not exist`);
|
||||
logUtils.log(`Artifact for ${fileName} does not exist`);
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { AbiType, TxData } from '@0xproject/types';
|
||||
import { logUtils } from '@0xproject/utils';
|
||||
import { Web3Wrapper } from '@0xproject/web3-wrapper';
|
||||
import * as _ from 'lodash';
|
||||
import * as Web3 from 'web3';
|
||||
@ -74,7 +75,7 @@ export class Deployer {
|
||||
);
|
||||
}
|
||||
const web3ContractInstance = await this._deployFromAbiAsync(abi, args, txData);
|
||||
utils.consoleLog(`${contractName}.sol successfully deployed at ${web3ContractInstance.address}`);
|
||||
logUtils.log(`${contractName}.sol successfully deployed at ${web3ContractInstance.address}`);
|
||||
const contractInstance = new Contract(web3ContractInstance, this._defaults);
|
||||
return contractInstance;
|
||||
}
|
||||
@ -107,7 +108,7 @@ export class Deployer {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else if (_.isUndefined(res.address) && !_.isUndefined(res.transactionHash)) {
|
||||
utils.consoleLog(`transactionHash: ${res.transactionHash}`);
|
||||
logUtils.log(`transactionHash: ${res.transactionHash}`);
|
||||
} else {
|
||||
resolve(res);
|
||||
}
|
||||
|
@ -1,9 +1,4 @@
|
||||
export const utils = {
|
||||
consoleLog(message: string): void {
|
||||
/* tslint:disable */
|
||||
console.log(message);
|
||||
/* tslint:enable */
|
||||
},
|
||||
stringifyWithFormatting(obj: any): string {
|
||||
const jsonReplacer: null = null;
|
||||
const numberOfJsonSpaces = 4;
|
||||
|
@ -28,6 +28,7 @@
|
||||
"typescript": "2.7.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@0xproject/utils": "^0.4.1",
|
||||
"chalk": "^2.3.0",
|
||||
"glob": "^7.1.2",
|
||||
"lodash": "^4.17.4"
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
import { logUtils } from '@0xproject/utils';
|
||||
import chalk from 'chalk';
|
||||
import * as fs from 'fs';
|
||||
import { sync as globSync } from 'glob';
|
||||
@ -17,10 +18,6 @@ interface VersionsByDependency {
|
||||
|
||||
const PACKAGE_JSON_GLOB = '../*/package.json';
|
||||
|
||||
function log(...args: any[]) {
|
||||
console.log(...args); // tslint:disable-line:no-console
|
||||
}
|
||||
|
||||
function getDependencies(path: string): Dependencies {
|
||||
const file = fs.readFileSync(path).toString();
|
||||
const parsed = JSON.parse(file);
|
||||
@ -48,9 +45,9 @@ _.map(versionsByDependency, (versions: Versions, depName: string) => {
|
||||
if (_.uniq(_.values(versions)).length === 1) {
|
||||
delete versionsByDependency[depName];
|
||||
} else {
|
||||
log(chalk.bold(depName));
|
||||
logUtils.log(chalk.bold(depName));
|
||||
_.map(versions, (version: string, packageName: string) => {
|
||||
log(`├── ${packageName} -> ${version}`);
|
||||
logUtils.log(`├── ${packageName} -> ${version}`);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
@ -3,5 +3,5 @@
|
||||
"compilerOptions": {
|
||||
"outDir": "lib"
|
||||
},
|
||||
"include": ["./src/**/*"]
|
||||
"include": ["./src/**/*", "../../node_modules/web3-typescript-typings/index.d.ts"]
|
||||
}
|
||||
|
@ -35,6 +35,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@0xproject/react-shared": "^0.0.1",
|
||||
"@0xproject/utils": "^0.4.1",
|
||||
"basscss": "^8.0.3",
|
||||
"compare-versions": "^3.0.1",
|
||||
"lodash": "^4.17.4",
|
||||
|
@ -1,3 +1,4 @@
|
||||
import { logUtils } from '@0xproject/utils';
|
||||
import * as _ from 'lodash';
|
||||
import * as React from 'react';
|
||||
|
||||
@ -16,7 +17,7 @@ export interface CustomEnumProps {
|
||||
export function CustomEnum(props: CustomEnumProps) {
|
||||
const type = props.type;
|
||||
if (!_.startsWith(type.defaultValue, STRING_ENUM_CODE_PREFIX)) {
|
||||
utils.consoleLog('We do not yet support `Variable` types that are not strEnums');
|
||||
logUtils.log('We do not yet support `Variable` types that are not strEnums');
|
||||
return null;
|
||||
}
|
||||
// Remove the prefix and postfix, leaving only the strEnum values without quotes.
|
||||
|
@ -1,9 +1,4 @@
|
||||
export const utils = {
|
||||
consoleLog(message: string) {
|
||||
/* tslint:disable */
|
||||
console.log(message);
|
||||
/* tslint:enable */
|
||||
},
|
||||
spawnSwitchErr(name: string, value: any) {
|
||||
return new Error(`Unexpected switch value: ${value} encountered for ${name}`);
|
||||
},
|
||||
|
@ -9,5 +9,5 @@
|
||||
"*": ["node_modules/@types/*", "*"]
|
||||
}
|
||||
},
|
||||
"include": ["./src/ts/**/*"]
|
||||
"include": ["./src/ts/**/*", "../../node_modules/web3-typescript-typings/index.d.ts"]
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env node
|
||||
import { assert } from '@0xproject/assert';
|
||||
import { Schema, schemas } from '@0xproject/json-schemas';
|
||||
import { promisify } from '@0xproject/utils';
|
||||
import { logUtils, promisify } from '@0xproject/utils';
|
||||
import chalk from 'chalk';
|
||||
import * as _ from 'lodash';
|
||||
import * as newman from 'newman';
|
||||
@ -10,7 +10,6 @@ import * as yargs from 'yargs';
|
||||
import * as sraReportCollectionJSON from '../postman_configs/collections/sra_report.postman_collection.json';
|
||||
|
||||
import { postmanEnvironmentFactory } from './postman_environment_factory';
|
||||
import { utils } from './utils';
|
||||
|
||||
const newmanRunAsync = promisify<void>(newman.run);
|
||||
const DEFAULT_NETWORK_ID = 1;
|
||||
@ -66,12 +65,12 @@ const args = yargs
|
||||
try {
|
||||
assert.isWebUri('args', args.endpointUrl);
|
||||
} catch (err) {
|
||||
utils.log(`${chalk.red(`Invalid url format:`)} ${args.endpointUrl}`);
|
||||
logUtils.log(`${chalk.red(`Invalid url format:`)} ${args.endpointUrl}`);
|
||||
process.exit(1);
|
||||
}
|
||||
if (!_.includes(SUPPORTED_NETWORK_IDS, args.networkId)) {
|
||||
utils.log(`${chalk.red(`Unsupported network id:`)} ${args.networkId}`);
|
||||
utils.log(`${chalk.bold(`Supported network ids:`)} ${SUPPORTED_NETWORK_IDS}`);
|
||||
logUtils.log(`${chalk.red(`Unsupported network id:`)} ${args.networkId}`);
|
||||
logUtils.log(`${chalk.bold(`Supported network ids:`)} ${SUPPORTED_NETWORK_IDS}`);
|
||||
process.exit(1);
|
||||
}
|
||||
const mainAsync = async () => {
|
||||
@ -99,4 +98,4 @@ const mainAsync = async () => {
|
||||
};
|
||||
await newmanRunAsync(newmanRunOptions);
|
||||
};
|
||||
mainAsync().catch(utils.log);
|
||||
mainAsync().catch(logUtils.log);
|
||||
|
@ -1,6 +1,7 @@
|
||||
import { SignedOrder, ZeroEx } from '0x.js';
|
||||
import { HttpClient } from '@0xproject/connect';
|
||||
import { Schema, schemas as schemasByName } from '@0xproject/json-schemas';
|
||||
import { logUtils } from '@0xproject/utils';
|
||||
import chalk from 'chalk';
|
||||
import * as _ from 'lodash';
|
||||
|
||||
@ -8,7 +9,6 @@ import { addresses as kovanAddresses } from './contract_addresses/kovan_addresse
|
||||
import { addresses as mainnetAddresses } from './contract_addresses/mainnet_addresses';
|
||||
import { addresses as rinkebyAddresses } from './contract_addresses/rinkeby_addresses';
|
||||
import { addresses as ropstenAddresses } from './contract_addresses/ropsten_addresses';
|
||||
import { utils } from './utils';
|
||||
|
||||
const ENVIRONMENT_NAME = 'SRA Report';
|
||||
|
||||
@ -81,7 +81,7 @@ async function createOrderEnvironmentValuesAsync(url: string) {
|
||||
createEnvironmentValue('orderHash', ZeroEx.getOrderHashHex(orderIfExists)),
|
||||
];
|
||||
} else {
|
||||
utils.log(`${chalk.red(`No orders from /orders found`)}`);
|
||||
logUtils.log(`${chalk.red(`No orders from /orders found`)}`);
|
||||
return [
|
||||
createEnvironmentValue('order', ''),
|
||||
createEnvironmentValue('orderMaker', ''),
|
||||
|
@ -1,8 +1,7 @@
|
||||
import { intervalUtils } from '@0xproject/utils';
|
||||
import { intervalUtils, logUtils } from '@0xproject/utils';
|
||||
import * as _ from 'lodash';
|
||||
|
||||
import { errorReporter } from './error_reporter';
|
||||
import { utils } from './utils';
|
||||
|
||||
const MAX_QUEUE_SIZE = 500;
|
||||
const DEFAULT_QUEUE_INTERVAL_MS = 1000;
|
||||
@ -45,7 +44,7 @@ export class DispatchQueue {
|
||||
},
|
||||
this._queueIntervalMs,
|
||||
(err: Error) => {
|
||||
utils.consoleLog(`Unexpected err: ${err} - ${JSON.stringify(err)}`);
|
||||
logUtils.log(`Unexpected err: ${err} - ${JSON.stringify(err)}`);
|
||||
// tslint:disable-next-line:no-floating-promises
|
||||
errorReporter.reportAsync(err);
|
||||
},
|
||||
|
@ -1,11 +1,10 @@
|
||||
import { ZeroEx } from '0x.js';
|
||||
import { BigNumber, promisify } from '@0xproject/utils';
|
||||
import { BigNumber, logUtils, promisify } from '@0xproject/utils';
|
||||
import * as _ from 'lodash';
|
||||
import * as Web3 from 'web3';
|
||||
|
||||
import { configs } from './configs';
|
||||
import { errorReporter } from './error_reporter';
|
||||
import { utils } from './utils';
|
||||
|
||||
const DISPENSE_AMOUNT_ETHER = 0.1;
|
||||
const DISPENSE_AMOUNT_TOKEN = 0.1;
|
||||
@ -15,11 +14,11 @@ const DISPENSE_MAX_AMOUNT_ETHER = 2;
|
||||
export const dispenseAssetTasks = {
|
||||
dispenseEtherTask(recipientAddress: string, web3: Web3) {
|
||||
return async () => {
|
||||
utils.consoleLog(`Processing ETH ${recipientAddress}`);
|
||||
logUtils.log(`Processing ETH ${recipientAddress}`);
|
||||
const userBalance = await promisify<BigNumber>(web3.eth.getBalance)(recipientAddress);
|
||||
const maxAmountInWei = new BigNumber(web3.toWei(DISPENSE_MAX_AMOUNT_ETHER, 'ether'));
|
||||
if (userBalance.greaterThanOrEqualTo(maxAmountInWei)) {
|
||||
utils.consoleLog(
|
||||
logUtils.log(
|
||||
`User exceeded ETH balance maximum (${maxAmountInWei}) ${recipientAddress} ${userBalance} `,
|
||||
);
|
||||
return;
|
||||
@ -30,12 +29,12 @@ export const dispenseAssetTasks = {
|
||||
to: recipientAddress,
|
||||
value: web3.toWei(DISPENSE_AMOUNT_ETHER, 'ether'),
|
||||
});
|
||||
utils.consoleLog(`Sent ${DISPENSE_AMOUNT_ETHER} ETH to ${recipientAddress} tx: ${txHash}`);
|
||||
logUtils.log(`Sent ${DISPENSE_AMOUNT_ETHER} ETH to ${recipientAddress} tx: ${txHash}`);
|
||||
};
|
||||
},
|
||||
dispenseTokenTask(recipientAddress: string, tokenSymbol: string, zeroEx: ZeroEx) {
|
||||
return async () => {
|
||||
utils.consoleLog(`Processing ${tokenSymbol} ${recipientAddress}`);
|
||||
logUtils.log(`Processing ${tokenSymbol} ${recipientAddress}`);
|
||||
const amountToDispense = new BigNumber(DISPENSE_AMOUNT_TOKEN);
|
||||
const token = await zeroEx.tokenRegistry.getTokenBySymbolIfExistsAsync(tokenSymbol);
|
||||
if (_.isUndefined(token)) {
|
||||
@ -48,7 +47,7 @@ export const dispenseAssetTasks = {
|
||||
token.decimals,
|
||||
);
|
||||
if (userBalanceBaseUnits.greaterThanOrEqualTo(maxAmountBaseUnits)) {
|
||||
utils.consoleLog(
|
||||
logUtils.log(
|
||||
`User exceeded token balance maximum (${maxAmountBaseUnits}) ${recipientAddress} ${userBalanceBaseUnits} `,
|
||||
);
|
||||
return;
|
||||
@ -59,7 +58,7 @@ export const dispenseAssetTasks = {
|
||||
recipientAddress,
|
||||
baseUnitAmount,
|
||||
);
|
||||
utils.consoleLog(`Sent ${amountToDispense} ZRX to ${recipientAddress} tx: ${txHash}`);
|
||||
logUtils.log(`Sent ${amountToDispense} ZRX to ${recipientAddress} tx: ${txHash}`);
|
||||
};
|
||||
},
|
||||
};
|
||||
|
@ -1,8 +1,8 @@
|
||||
import { logUtils } from '@0xproject/utils';
|
||||
import * as express from 'express';
|
||||
import rollbar = require('rollbar');
|
||||
|
||||
import { configs } from './configs';
|
||||
import { utils } from './utils';
|
||||
|
||||
export const errorReporter = {
|
||||
setup() {
|
||||
@ -11,7 +11,7 @@ export const errorReporter = {
|
||||
});
|
||||
rollbar.handleUncaughtExceptions(configs.ROLLBAR_ACCESS_KEY);
|
||||
process.on('unhandledRejection', async (err: Error) => {
|
||||
utils.consoleLog(`Uncaught exception ${err}. Stack: ${err.stack}`);
|
||||
logUtils.log(`Uncaught exception ${err}. Stack: ${err.stack}`);
|
||||
await this.reportAsync(err);
|
||||
process.exit(1);
|
||||
});
|
||||
@ -23,7 +23,7 @@ export const errorReporter = {
|
||||
return new Promise((resolve, reject) => {
|
||||
rollbar.handleError(err, req, (rollbarErr: Error) => {
|
||||
if (rollbarErr) {
|
||||
utils.consoleLog(`Error reporting to rollbar, ignoring: ${rollbarErr}`);
|
||||
logUtils.log(`Error reporting to rollbar, ignoring: ${rollbarErr}`);
|
||||
reject(rollbarErr);
|
||||
} else {
|
||||
resolve();
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { Order, SignedOrder, ZeroEx } from '0x.js';
|
||||
import { BigNumber } from '@0xproject/utils';
|
||||
import { BigNumber, logUtils } from '@0xproject/utils';
|
||||
import * as express from 'express';
|
||||
import * as _ from 'lodash';
|
||||
import * as Web3 from 'web3';
|
||||
@ -19,7 +19,6 @@ import { DispatchQueue } from './dispatch_queue';
|
||||
import { dispenseAssetTasks } from './dispense_asset_tasks';
|
||||
import { idManagement } from './id_management';
|
||||
import { rpcUrls } from './rpc_urls';
|
||||
import { utils } from './utils';
|
||||
|
||||
interface NetworkConfig {
|
||||
dispatchQueue: DispatchQueue;
|
||||
@ -118,7 +117,7 @@ export class Handler {
|
||||
res.status(503).send('QUEUE_IS_FULL');
|
||||
return;
|
||||
}
|
||||
utils.consoleLog(`Added ${recipient} to queue: ${requestedAssetType} networkId: ${networkId}`);
|
||||
logUtils.log(`Added ${recipient} to queue: ${requestedAssetType} networkId: ${networkId}`);
|
||||
res.status(200).end();
|
||||
}
|
||||
private async _dispenseOrder(req: express.Request, res: express.Response, requestedAssetType: RequestedAssetType) {
|
||||
@ -163,7 +162,7 @@ export class Handler {
|
||||
};
|
||||
const signedOrderHash = ZeroEx.getOrderHashHex(signedOrder);
|
||||
const payload = JSON.stringify(signedOrder);
|
||||
utils.consoleLog(`Dispensed signed order: ${payload}`);
|
||||
logUtils.log(`Dispensed signed order: ${payload}`);
|
||||
res.status(200).send(payload);
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import * as _ from 'lodash';
|
||||
|
||||
import { configs } from './configs';
|
||||
import { rpcUrls } from './rpc_urls';
|
||||
import { utils } from './utils';
|
||||
|
||||
const DEFAULT_NETWORK_ID = 42; // kovan
|
||||
|
||||
|
@ -1,7 +0,0 @@
|
||||
export const utils = {
|
||||
consoleLog(message: string) {
|
||||
/* tslint:disable */
|
||||
console.log(message);
|
||||
/* tslint:enable */
|
||||
},
|
||||
};
|
@ -6,6 +6,7 @@
|
||||
},
|
||||
"include": [
|
||||
"./src/ts/**/*",
|
||||
"../../node_modules/ethers-typescript-typings/index.d.ts",
|
||||
"../../node_modules/types-bn/index.d.ts",
|
||||
"../../node_modules/types-ethereumjs-util/index.d.ts",
|
||||
"../../node_modules/web3-typescript-typings/index.d.ts"
|
||||
|
@ -4,3 +4,4 @@ export { classUtils } from './class_utils';
|
||||
export { intervalUtils } from './interval_utils';
|
||||
export { BigNumber } from './configured_bignumber';
|
||||
export { AbiDecoder } from './abi_decoder';
|
||||
export { logUtils } from './log_utils';
|
||||
|
@ -1,4 +1,4 @@
|
||||
export const utils = {
|
||||
export const logUtils = {
|
||||
log(...args: any[]): void {
|
||||
console.log(...args); // tslint:disable-line:no-console
|
||||
},
|
@ -23,7 +23,7 @@ import {
|
||||
LedgerWalletSubprovider,
|
||||
RedundantRPCSubprovider,
|
||||
} from '@0xproject/subproviders';
|
||||
import { BigNumber, intervalUtils, promisify } from '@0xproject/utils';
|
||||
import { BigNumber, intervalUtils, logUtils, promisify } from '@0xproject/utils';
|
||||
import { Web3Wrapper } from '@0xproject/web3-wrapper';
|
||||
import * as _ from 'lodash';
|
||||
import * as React from 'react';
|
||||
@ -405,7 +405,7 @@ export class Blockchain {
|
||||
},
|
||||
5000,
|
||||
(err: Error) => {
|
||||
utils.consoleLog(`Polling tokenBalance failed: ${err}`);
|
||||
logUtils.log(`Polling tokenBalance failed: ${err}`);
|
||||
intervalUtils.clearAsyncExcludingInterval(tokenPollInterval);
|
||||
reject(err);
|
||||
},
|
||||
@ -822,7 +822,7 @@ export class Blockchain {
|
||||
if (!_.isUndefined(contractAddress)) {
|
||||
const doesContractExist = await this.doesContractExistAtAddressAsync(contractAddress);
|
||||
if (!doesContractExist) {
|
||||
utils.consoleLog(`Contract does not exist: ${artifact.contract_name} at ${contractAddress}`);
|
||||
logUtils.log(`Contract does not exist: ${artifact.contract_name} at ${contractAddress}`);
|
||||
throw new Error(BlockchainCallErrs.ContractDoesNotExist);
|
||||
}
|
||||
}
|
||||
@ -832,7 +832,7 @@ export class Blockchain {
|
||||
return contractInstance;
|
||||
} catch (err) {
|
||||
const errMsg = `${err}`;
|
||||
utils.consoleLog(`Notice: Error encountered: ${err} ${err.stack}`);
|
||||
logUtils.log(`Notice: Error encountered: ${err} ${err.stack}`);
|
||||
if (_.includes(errMsg, 'not been deployed to detected network')) {
|
||||
throw new Error(BlockchainCallErrs.ContractDoesNotExist);
|
||||
} else {
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { BigNumber, intervalUtils, promisify } from '@0xproject/utils';
|
||||
import { BigNumber, intervalUtils, logUtils, promisify } from '@0xproject/utils';
|
||||
import { Web3Wrapper } from '@0xproject/web3-wrapper';
|
||||
import * as _ from 'lodash';
|
||||
import { Dispatcher } from 'ts/redux/dispatcher';
|
||||
@ -87,7 +87,7 @@ export class BlockchainWatcher {
|
||||
},
|
||||
5000,
|
||||
(err: Error) => {
|
||||
utils.consoleLog(`Watching network and balances failed: ${err.stack}`);
|
||||
logUtils.log(`Watching network and balances failed: ${err.stack}`);
|
||||
this._stopEmittingNetworkConnectionAndUserBalanceStateAsync();
|
||||
},
|
||||
);
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { ZeroEx } from '0x.js';
|
||||
import { colors, constants as sharedConstants } from '@0xproject/react-shared';
|
||||
import { BigNumber } from '@0xproject/utils';
|
||||
import { BigNumber, logUtils } from '@0xproject/utils';
|
||||
import * as _ from 'lodash';
|
||||
import Dialog from 'material-ui/Dialog';
|
||||
import FlatButton from 'material-ui/FlatButton';
|
||||
@ -239,7 +239,7 @@ export class LedgerConfigDialog extends React.Component<LedgerConfigDialogProps,
|
||||
addressBalances.push(balanceInWei);
|
||||
}
|
||||
} catch (err) {
|
||||
utils.consoleLog(`Ledger error: ${JSON.stringify(err)}`);
|
||||
logUtils.log(`Ledger error: ${JSON.stringify(err)}`);
|
||||
this.setState({
|
||||
connectionErrMsg: 'Failed to connect. Follow the instructions and try again.',
|
||||
});
|
||||
@ -265,7 +265,7 @@ export class LedgerConfigDialog extends React.Component<LedgerConfigDialogProps,
|
||||
private async _onConnectLedgerClickAsync() {
|
||||
const isU2FSupported = await utils.isU2FSupportedAsync();
|
||||
if (!isU2FSupported) {
|
||||
utils.consoleLog(`U2F not supported in this browser`);
|
||||
logUtils.log(`U2F not supported in this browser`);
|
||||
this.setState({
|
||||
connectionErrMsg: 'U2F not supported by this browser. Try using Chrome.',
|
||||
});
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { ZeroEx } from '0x.js';
|
||||
import { BigNumber } from '@0xproject/utils';
|
||||
import { BigNumber, logUtils } from '@0xproject/utils';
|
||||
import * as _ from 'lodash';
|
||||
import RaisedButton from 'material-ui/RaisedButton';
|
||||
import * as React from 'react';
|
||||
@ -111,8 +111,8 @@ export class EthWethConversionButton extends React.Component<
|
||||
if (_.includes(errMsg, BlockchainCallErrs.UserHasNoAssociatedAddresses)) {
|
||||
this.props.dispatcher.updateShouldBlockchainErrDialogBeOpen(true);
|
||||
} else if (!utils.didUserDenyWeb3Request(errMsg)) {
|
||||
utils.consoleLog(`Unexpected error encountered: ${err}`);
|
||||
utils.consoleLog(err.stack);
|
||||
logUtils.log(`Unexpected error encountered: ${err}`);
|
||||
logUtils.log(err.stack);
|
||||
const errorMsg =
|
||||
direction === Side.Deposit
|
||||
? 'Failed to wrap your ETH. Please try again.'
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { Order as ZeroExOrder, ZeroEx } from '0x.js';
|
||||
import { colors, constants as sharedConstants } from '@0xproject/react-shared';
|
||||
import { BigNumber } from '@0xproject/utils';
|
||||
import { BigNumber, logUtils } from '@0xproject/utils';
|
||||
import * as accounting from 'accounting';
|
||||
import * as _ from 'lodash';
|
||||
import { Card, CardHeader, CardText } from 'material-ui/Card';
|
||||
@ -403,7 +403,7 @@ export class FillOrder extends React.Component<FillOrderProps, FillOrderState> {
|
||||
const validationResult = validator.validate(order, portalOrderSchema);
|
||||
if (validationResult.errors.length > 0) {
|
||||
orderJSONErrMsg = 'Submitted order JSON is not a valid order';
|
||||
utils.consoleLog(`Unexpected order JSON validation error: ${validationResult.errors.join(', ')}`);
|
||||
logUtils.log(`Unexpected order JSON validation error: ${validationResult.errors.join(', ')}`);
|
||||
return;
|
||||
}
|
||||
parsedOrder = order;
|
||||
@ -448,7 +448,7 @@ export class FillOrder extends React.Component<FillOrderProps, FillOrderState> {
|
||||
this.props.dispatcher.updateUserSuppliedOrderCache(parsedOrder);
|
||||
}
|
||||
} catch (err) {
|
||||
utils.consoleLog(`Validate order err: ${err}`);
|
||||
logUtils.log(`Validate order err: ${err}`);
|
||||
if (!_.isEmpty(orderJSON)) {
|
||||
orderJSONErrMsg = 'Submitted order JSON is not valid JSON';
|
||||
}
|
||||
@ -564,7 +564,7 @@ export class FillOrder extends React.Component<FillOrderProps, FillOrderState> {
|
||||
return;
|
||||
}
|
||||
globalErrMsg = 'Failed to fill order, please refresh and try again';
|
||||
utils.consoleLog(`${err}`);
|
||||
logUtils.log(`${err}`);
|
||||
this.setState({
|
||||
globalErrMsg,
|
||||
});
|
||||
@ -635,7 +635,7 @@ export class FillOrder extends React.Component<FillOrderProps, FillOrderState> {
|
||||
}
|
||||
analytics.logEvent('Portal', 'Cancel Order Failure', eventLabel, parsedOrder.signedOrder.makerTokenAmount);
|
||||
globalErrMsg = 'Failed to cancel order, please refresh and try again';
|
||||
utils.consoleLog(`${err}`);
|
||||
logUtils.log(`${err}`);
|
||||
this.setState({
|
||||
globalErrMsg,
|
||||
});
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { ECSignature, Order, ZeroEx } from '0x.js';
|
||||
import { colors, constants as sharedConstants } from '@0xproject/react-shared';
|
||||
import { BigNumber } from '@0xproject/utils';
|
||||
import { BigNumber, logUtils } from '@0xproject/utils';
|
||||
import * as _ from 'lodash';
|
||||
import Dialog from 'material-ui/Dialog';
|
||||
import Divider from 'material-ui/Divider';
|
||||
@ -326,7 +326,7 @@ export class GenerateOrderForm extends React.Component<GenerateOrderFormProps, G
|
||||
const validationResult = validator.validate(order, portalOrderSchema);
|
||||
if (validationResult.errors.length > 0) {
|
||||
globalErrMsg = 'Order signing failed. Please refresh and try again';
|
||||
utils.consoleLog(`Unexpected error occured: Order validation failed:
|
||||
logUtils.log(`Unexpected error occured: Order validation failed:
|
||||
${validationResult.errors}`);
|
||||
}
|
||||
} catch (err) {
|
||||
@ -335,8 +335,8 @@ export class GenerateOrderForm extends React.Component<GenerateOrderFormProps, G
|
||||
globalErrMsg = 'User denied sign request';
|
||||
} else {
|
||||
globalErrMsg = 'An unexpected error occured. Please try refreshing the page';
|
||||
utils.consoleLog(`Unexpected error occured: ${err}`);
|
||||
utils.consoleLog(err.stack);
|
||||
logUtils.log(`Unexpected error occured: ${err}`);
|
||||
logUtils.log(err.stack);
|
||||
await errorReporter.reportAsync(err);
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { constants as sharedConstants } from '@0xproject/react-shared';
|
||||
import { BigNumber } from '@0xproject/utils';
|
||||
import { BigNumber, logUtils } from '@0xproject/utils';
|
||||
import * as _ from 'lodash';
|
||||
import Toggle from 'material-ui/Toggle';
|
||||
import * as React from 'react';
|
||||
@ -93,8 +93,8 @@ export class AllowanceToggle extends React.Component<AllowanceToggleProps, Allow
|
||||
if (utils.didUserDenyWeb3Request(errMsg)) {
|
||||
return;
|
||||
}
|
||||
utils.consoleLog(`Unexpected error encountered: ${err}`);
|
||||
utils.consoleLog(err.stack);
|
||||
logUtils.log(`Unexpected error encountered: ${err}`);
|
||||
logUtils.log(err.stack);
|
||||
this.props.onErrorOccurred(BalanceErrs.allowanceSettingFailed);
|
||||
await errorReporter.reportAsync(err);
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { ECSignature } from '0x.js';
|
||||
import { BigNumber } from '@0xproject/utils';
|
||||
import { BigNumber, logUtils } from '@0xproject/utils';
|
||||
import * as _ from 'lodash';
|
||||
import Paper from 'material-ui/Paper';
|
||||
import TextField from 'material-ui/TextField';
|
||||
@ -153,7 +153,7 @@ You can see and fill it here: ${this.state.shareLink}`);
|
||||
const bodyObj = JSON.parse(responseBody);
|
||||
if (response.status !== 200 || bodyObj.status_code !== 200) {
|
||||
// TODO: Show error message in UI
|
||||
utils.consoleLog(`Unexpected status code: ${response.status} -> ${responseBody}`);
|
||||
logUtils.log(`Unexpected status code: ${response.status} -> ${responseBody}`);
|
||||
await errorReporter.reportAsync(new Error(`Bitly returned non-200: ${JSON.stringify(response)}`));
|
||||
return '';
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { colors } from '@0xproject/react-shared';
|
||||
import { BigNumber } from '@0xproject/utils';
|
||||
import { BigNumber, logUtils } from '@0xproject/utils';
|
||||
import * as _ from 'lodash';
|
||||
import CircularProgress from 'material-ui/CircularProgress';
|
||||
import Paper from 'material-ui/Paper';
|
||||
@ -374,7 +374,7 @@ export class Portal extends React.Component<PortalAllProps, PortalAllState> {
|
||||
const order = JSON.parse(decodeURIComponent(orderPair[1]));
|
||||
const validationResult = validator.validate(order, portalOrderSchema);
|
||||
if (validationResult.errors.length > 0) {
|
||||
utils.consoleLog(`Invalid shared order: ${validationResult.errors}`);
|
||||
logUtils.log(`Invalid shared order: ${validationResult.errors}`);
|
||||
return undefined;
|
||||
}
|
||||
return order;
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { BigNumber } from '@0xproject/utils';
|
||||
import { BigNumber, logUtils } from '@0xproject/utils';
|
||||
import * as _ from 'lodash';
|
||||
import RaisedButton from 'material-ui/RaisedButton';
|
||||
import * as React from 'react';
|
||||
@ -77,8 +77,8 @@ export class SendButton extends React.Component<SendButtonProps, SendButtonState
|
||||
this.props.dispatcher.updateShouldBlockchainErrDialogBeOpen(true);
|
||||
return;
|
||||
} else if (!utils.didUserDenyWeb3Request(errMsg)) {
|
||||
utils.consoleLog(`Unexpected error encountered: ${err}`);
|
||||
utils.consoleLog(err.stack);
|
||||
logUtils.log(`Unexpected error encountered: ${err}`);
|
||||
logUtils.log(err.stack);
|
||||
this.props.onError();
|
||||
await errorReporter.reportAsync(err);
|
||||
}
|
||||
|
@ -7,7 +7,7 @@ import {
|
||||
Styles,
|
||||
utils as sharedUtils,
|
||||
} from '@0xproject/react-shared';
|
||||
import { BigNumber } from '@0xproject/utils';
|
||||
import { BigNumber, logUtils } from '@0xproject/utils';
|
||||
import DharmaLoanFrame from 'dharma-loan-frame';
|
||||
import * as _ from 'lodash';
|
||||
import Dialog from 'material-ui/Dialog';
|
||||
@ -591,8 +591,8 @@ export class TokenBalances extends React.Component<TokenBalancesProps, TokenBala
|
||||
if (utils.didUserDenyWeb3Request(errMsg)) {
|
||||
return false;
|
||||
}
|
||||
utils.consoleLog(`Unexpected error encountered: ${err}`);
|
||||
utils.consoleLog(err.stack);
|
||||
logUtils.log(`Unexpected error encountered: ${err}`);
|
||||
logUtils.log(err.stack);
|
||||
this.setState({
|
||||
errorType: BalanceErrs.mintingFailed,
|
||||
});
|
||||
@ -623,7 +623,7 @@ export class TokenBalances extends React.Component<TokenBalancesProps, TokenBala
|
||||
);
|
||||
const responseBody = await response.text();
|
||||
if (response.status !== constants.SUCCESS_STATUS) {
|
||||
utils.consoleLog(`Unexpected status code: ${response.status} -> ${responseBody}`);
|
||||
logUtils.log(`Unexpected status code: ${response.status} -> ${responseBody}`);
|
||||
const errorType =
|
||||
response.status === constants.UNAVAILABLE_STATUS
|
||||
? BalanceErrs.faucetQueueIsFull
|
||||
|
@ -8,6 +8,7 @@ import {
|
||||
Styles,
|
||||
utils as sharedUtils,
|
||||
} from '@0xproject/react-shared';
|
||||
import { logUtils } from '@0xproject/utils';
|
||||
import * as _ from 'lodash';
|
||||
import CircularProgress from 'material-ui/CircularProgress';
|
||||
import RaisedButton from 'material-ui/RaisedButton';
|
||||
@ -213,7 +214,7 @@ export class Wiki extends React.Component<WikiProps, WikiState> {
|
||||
if (response.status !== 200) {
|
||||
// TODO: Show the user an error message when the wiki fail to load
|
||||
const errMsg = await response.text();
|
||||
utils.consoleLog(`Failed to load wiki: ${response.status} ${errMsg}`);
|
||||
logUtils.log(`Failed to load wiki: ${response.status} ${errMsg}`);
|
||||
return;
|
||||
}
|
||||
const articlesBySection = await response.json();
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { DoxityDocObj, TypeDocNode } from '@0xproject/react-docs';
|
||||
import { logUtils } from '@0xproject/utils';
|
||||
import findVersions = require('find-versions');
|
||||
import * as _ from 'lodash';
|
||||
import { S3FileObject, VersionToFileName } from 'ts/types';
|
||||
@ -20,7 +21,7 @@ export const docUtils = {
|
||||
if (response.status !== 200) {
|
||||
// TODO: Show the user an error message when the docs fail to load
|
||||
const errMsg = await response.text();
|
||||
utils.consoleLog(`Failed to load JSON file list: ${response.status} ${errMsg}`);
|
||||
logUtils.log(`Failed to load JSON file list: ${response.status} ${errMsg}`);
|
||||
throw new Error(errMsg);
|
||||
}
|
||||
const responseXML = await response.text();
|
||||
@ -43,7 +44,7 @@ export const docUtils = {
|
||||
if (response.status !== 200) {
|
||||
// TODO: Show the user an error message when the docs fail to load
|
||||
const errMsg = await response.text();
|
||||
utils.consoleLog(`Failed to load Doc JSON: ${response.status} ${errMsg}`);
|
||||
logUtils.log(`Failed to load Doc JSON: ${response.status} ${errMsg}`);
|
||||
throw new Error(errMsg);
|
||||
}
|
||||
const jsonDocObj = await response.json();
|
||||
|
@ -1,3 +1,4 @@
|
||||
import { logUtils } from '@0xproject/utils';
|
||||
import { Environments } from 'ts/types';
|
||||
import { configs } from 'ts/utils/configs';
|
||||
import { constants } from 'ts/utils/constants';
|
||||
@ -40,7 +41,7 @@ export const errorReporter = {
|
||||
return new Promise((resolve, reject) => {
|
||||
rollbar.error(err, (rollbarErr: Error) => {
|
||||
if (rollbarErr) {
|
||||
utils.consoleLog(`Error reporting to rollbar, ignoring: ${rollbarErr}`);
|
||||
logUtils.log(`Error reporting to rollbar, ignoring: ${rollbarErr}`);
|
||||
// We never want to reject and cause the app to throw because of rollbar
|
||||
resolve();
|
||||
} else {
|
||||
|
@ -95,11 +95,6 @@ export const utils = {
|
||||
};
|
||||
return order;
|
||||
},
|
||||
consoleLog(message: string) {
|
||||
/* tslint:disable */
|
||||
console.log(message);
|
||||
/* tslint:enable */
|
||||
},
|
||||
async sleepAsync(ms: number) {
|
||||
return new Promise(resolve => setTimeout(resolve, ms));
|
||||
},
|
||||
|
Loading…
x
Reference in New Issue
Block a user