aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeonid Logvinov <logvinov.leon@gmail.com>2017-12-02 13:12:19 +0800
committerLeonid Logvinov <logvinov.leon@gmail.com>2017-12-02 13:31:50 +0800
commit78fb8d2bdcc8a8d41dc23dfc29b6858c7658c6b0 (patch)
treef11352d331ec8201f31a3e11b85cbad97f893f22
parent5673b42ec47342a1e4be2dd77a5676407a60e401 (diff)
downloaddexon-sol-tools-78fb8d2bdcc8a8d41dc23dfc29b6858c7658c6b0.tar
dexon-sol-tools-78fb8d2bdcc8a8d41dc23dfc29b6858c7658c6b0.tar.gz
dexon-sol-tools-78fb8d2bdcc8a8d41dc23dfc29b6858c7658c6b0.tar.bz2
dexon-sol-tools-78fb8d2bdcc8a8d41dc23dfc29b6858c7658c6b0.tar.lz
dexon-sol-tools-78fb8d2bdcc8a8d41dc23dfc29b6858c7658c6b0.tar.xz
dexon-sol-tools-78fb8d2bdcc8a8d41dc23dfc29b6858c7658c6b0.tar.zst
dexon-sol-tools-78fb8d2bdcc8a8d41dc23dfc29b6858c7658c6b0.zip
Use our promisify
-rw-r--r--packages/0x.js/src/web3_wrapper.ts23
-rw-r--r--packages/0x.js/test/subscription_test.ts1
-rw-r--r--packages/0x.js/test/token_wrapper_test.ts17
-rw-r--r--packages/typed-contracts-templates/contract.mustache4
4 files changed, 27 insertions, 18 deletions
diff --git a/packages/0x.js/src/web3_wrapper.ts b/packages/0x.js/src/web3_wrapper.ts
index 0f23272a7..6a6b4e760 100644
--- a/packages/0x.js/src/web3_wrapper.ts
+++ b/packages/0x.js/src/web3_wrapper.ts
@@ -1,10 +1,9 @@
import BigNumber from 'bignumber.js';
-import promisify = require('es6-promisify');
import * as _ from 'lodash';
import * as Web3 from 'web3';
-import {Contract} from './contract';
import {Artifact, ArtifactContractName, TransactionReceipt, TxData, ZeroExError} from './types';
+import {promisify} from './utils/promisify';
interface RawLogEntry {
logIndex: string|null;
@@ -59,11 +58,11 @@ export class Web3Wrapper {
return _.includes(addresses, senderAddress);
}
public async getNodeVersionAsync(): Promise<string> {
- const nodeVersion = await promisify(this.web3.version.getNode)();
+ const nodeVersion = await promisify<string>(this.web3.version.getNode)();
return nodeVersion;
}
public async getTransactionReceiptAsync(txHash: string): Promise<TransactionReceipt> {
- const transactionReceipt = await promisify(this.web3.eth.getTransactionReceipt)(txHash);
+ const transactionReceipt = await promisify<TransactionReceipt>(this.web3.eth.getTransactionReceipt)(txHash);
if (!_.isNull(transactionReceipt)) {
transactionReceipt.status = this.normalizeTxReceiptStatus(transactionReceipt.status);
}
@@ -102,26 +101,26 @@ export class Web3Wrapper {
return balanceWei;
}
public async getBalanceInWeiAsync(owner: string): Promise<BigNumber> {
- let balanceInWei = await promisify(this.web3.eth.getBalance)(owner);
+ let balanceInWei = await promisify<BigNumber>(this.web3.eth.getBalance)(owner);
balanceInWei = new BigNumber(balanceInWei);
return balanceInWei;
}
public async doesContractExistAtAddressAsync(address: string): Promise<boolean> {
- const code = await promisify(this.web3.eth.getCode)(address);
+ const code = await promisify<string>(this.web3.eth.getCode)(address);
// Regex matches 0x0, 0x00, 0x in order to accommodate poorly implemented clients
const codeIsEmpty = /^0x0{0,40}$/i.test(code);
return !codeIsEmpty;
}
public async signTransactionAsync(address: string, message: string): Promise<string> {
- const signData = await promisify(this.web3.eth.sign)(address, message);
+ const signData = await promisify<string>(this.web3.eth.sign)(address, message);
return signData;
}
public async getBlockNumberAsync(): Promise<number> {
- const blockNumber = await promisify(this.web3.eth.getBlockNumber)();
+ const blockNumber = await promisify<number>(this.web3.eth.getBlockNumber)();
return blockNumber;
}
public async getBlockAsync(blockParam: string|Web3.BlockParam): Promise<Web3.BlockWithoutTransactionData> {
- const block = await promisify(this.web3.eth.getBlock)(blockParam);
+ const block = await promisify<Web3.BlockWithoutTransactionData>(this.web3.eth.getBlock)(blockParam);
return block;
}
public async getBlockTimestampAsync(blockParam: string|Web3.BlockParam): Promise<number> {
@@ -129,7 +128,7 @@ export class Web3Wrapper {
return timestamp;
}
public async getAvailableAddressesAsync(): Promise<string[]> {
- const addresses: string[] = await promisify(this.web3.eth.getAccounts)();
+ const addresses = await promisify<string[]>(this.web3.eth.getAccounts)();
return addresses;
}
public async getLogsAsync(filter: Web3.FilterObject): Promise<Web3.LogEntry[]> {
@@ -161,12 +160,12 @@ export class Web3Wrapper {
return web3ContractInstance;
}
private async getNetworkAsync(): Promise<number> {
- const networkId = await promisify(this.web3.version.getNetwork)();
+ const networkId = await promisify<number>(this.web3.version.getNetwork)();
return networkId;
}
private async sendRawPayloadAsync<A>(payload: Web3.JSONRPCRequestPayload): Promise<A> {
const sendAsync = this.web3.currentProvider.sendAsync.bind(this.web3.currentProvider);
- const response = await promisify(sendAsync)(payload);
+ const response = await promisify<Web3.JSONRPCResponsePayload>(sendAsync)(payload);
const result = response.result;
return result;
}
diff --git a/packages/0x.js/test/subscription_test.ts b/packages/0x.js/test/subscription_test.ts
index e3b15808b..3aeeaa109 100644
--- a/packages/0x.js/test/subscription_test.ts
+++ b/packages/0x.js/test/subscription_test.ts
@@ -1,6 +1,5 @@
import BigNumber from 'bignumber.js';
import * as chai from 'chai';
-import promisify = require('es6-promisify');
import * as _ from 'lodash';
import 'mocha';
import * as Sinon from 'sinon';
diff --git a/packages/0x.js/test/token_wrapper_test.ts b/packages/0x.js/test/token_wrapper_test.ts
index c853fe0c2..421bd0a8c 100644
--- a/packages/0x.js/test/token_wrapper_test.ts
+++ b/packages/0x.js/test/token_wrapper_test.ts
@@ -1,6 +1,5 @@
import BigNumber from 'bignumber.js';
import * as chai from 'chai';
-import promisify = require('es6-promisify');
import 'mocha';
import * as Web3 from 'web3';
@@ -19,6 +18,8 @@ import {
ZeroExError,
} from '../src';
import {BlockParamLiteral, DoneCallback} from '../src/types';
+import {promisify} from '../src/utils/promisify';
+import {Web3Wrapper} from '../src/web3_wrapper';
import {BlockchainLifecycle} from './utils/blockchain_lifecycle';
import {chaiSetup} from './utils/chai_setup';
@@ -38,12 +39,14 @@ describe('TokenWrapper', () => {
let tokenUtils: TokenUtils;
let coinbase: string;
let addressWithoutFunds: string;
+ let web3Wrapper: Web3Wrapper;
const config = {
networkId: constants.TESTRPC_NETWORK_ID,
};
before(async () => {
web3 = web3Factory.create();
zeroEx = new ZeroEx(web3.currentProvider, config);
+ web3Wrapper = new Web3Wrapper(web3.currentProvider, config.networkId);
userAddresses = await zeroEx.getAvailableAddressesAsync();
tokens = await zeroEx.tokenRegistry.getTokensAsync();
tokenUtils = new TokenUtils(tokens);
@@ -237,8 +240,10 @@ describe('TokenWrapper', () => {
await zeroEx.token.setAllowanceAsync(zrx.address, coinbase, userWithNormalAllowance, transferAmount);
await zeroEx.token.setUnlimitedAllowanceAsync(zrx.address, coinbase, userWithUnlimitedAllowance);
- const initBalanceWithNormalAllowance = await promisify(web3.eth.getBalance)(userWithNormalAllowance);
- const initBalanceWithUnlimitedAllowance = await promisify(web3.eth.getBalance)(userWithUnlimitedAllowance);
+ const initBalanceWithNormalAllowance = await web3Wrapper.getBalanceInWeiAsync(userWithNormalAllowance);
+ const initBalanceWithUnlimitedAllowance = await web3Wrapper.getBalanceInWeiAsync(
+ userWithUnlimitedAllowance,
+ );
await zeroEx.token.transferFromAsync(
zrx.address, coinbase, userWithNormalAllowance, userWithNormalAllowance, transferAmount,
@@ -247,8 +252,10 @@ describe('TokenWrapper', () => {
zrx.address, coinbase, userWithUnlimitedAllowance, userWithUnlimitedAllowance, transferAmount,
);
- const finalBalanceWithNormalAllowance = await promisify(web3.eth.getBalance)(userWithNormalAllowance);
- const finalBalanceWithUnlimitedAllowance = await promisify(web3.eth.getBalance)(userWithUnlimitedAllowance);
+ const finalBalanceWithNormalAllowance = await web3Wrapper.getBalanceInWeiAsync(userWithNormalAllowance);
+ const finalBalanceWithUnlimitedAllowance = await web3Wrapper.getBalanceInWeiAsync(
+ userWithUnlimitedAllowance,
+ );
const normalGasCost = initBalanceWithNormalAllowance.minus(finalBalanceWithNormalAllowance);
const unlimitedGasCost = initBalanceWithUnlimitedAllowance.minus(finalBalanceWithUnlimitedAllowance);
diff --git a/packages/typed-contracts-templates/contract.mustache b/packages/typed-contracts-templates/contract.mustache
index e37ceb838..a0ddcc093 100644
--- a/packages/typed-contracts-templates/contract.mustache
+++ b/packages/typed-contracts-templates/contract.mustache
@@ -1,3 +1,7 @@
+/**
+ * This file is auto-generated using https://github.com/0xProject/0x.js/tree/development/packages/typed-contracts. Don't edit directly.
+ * Templates can be found at https://github.com/0xProject/0x.js/tree/development/packages/typed-contracts-templates.
+ */
import {BigNumber} from 'bignumber.js';
import * as Web3 from 'web3';