From 0dfc2b5f3b81e034a9c939f667383eb03c9a5561 Mon Sep 17 00:00:00 2001 From: Leonid Logvinov Date: Tue, 6 Jun 2017 14:56:54 +0200 Subject: Add isAnyAddressAvailableAsync --- src/contract_wrappers/exchange_wrapper.ts | 1 + src/contract_wrappers/token_wrapper.ts | 2 ++ src/utils/assert.ts | 4 ++++ src/web3_wrapper.ts | 6 ------ 4 files changed, 7 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/contract_wrappers/exchange_wrapper.ts b/src/contract_wrappers/exchange_wrapper.ts index 08e592729..e885b0e07 100644 --- a/src/contract_wrappers/exchange_wrapper.ts +++ b/src/contract_wrappers/exchange_wrapper.ts @@ -297,6 +297,7 @@ export class ExchangeWrapper extends ContractWrapper { private async isRoundingErrorAsync(takerTokenAmount: BigNumber.BigNumber, fillTakerAmount: BigNumber.BigNumber, makerTokenAmount: BigNumber.BigNumber): Promise { + await assert.isAnyAddressAvailableAsync(this.web3Wrapper); const exchangeInstance = await this.getExchangeContractAsync(); const isRoundingError = await exchangeInstance.isRoundingError.call( takerTokenAmount, fillTakerAmount, makerTokenAmount, diff --git a/src/contract_wrappers/token_wrapper.ts b/src/contract_wrappers/token_wrapper.ts index d30645548..945f5caf1 100644 --- a/src/contract_wrappers/token_wrapper.ts +++ b/src/contract_wrappers/token_wrapper.ts @@ -25,6 +25,7 @@ export class TokenWrapper extends ContractWrapper { public async getBalanceAsync(tokenAddress: string, ownerAddress: string): Promise { assert.isETHAddressHex('ownerAddress', ownerAddress); assert.isETHAddressHex('tokenAddress', tokenAddress); + await assert.isAnyAddressAvailableAsync(this.web3Wrapper); const tokenContract = await this.getTokenContractAsync(tokenAddress); let balance = await tokenContract.balanceOf.call(ownerAddress); @@ -60,6 +61,7 @@ export class TokenWrapper extends ContractWrapper { public async getAllowanceAsync(tokenAddress: string, ownerAddress: string, spenderAddress: string) { assert.isETHAddressHex('ownerAddress', ownerAddress); assert.isETHAddressHex('tokenAddress', tokenAddress); + await assert.isAnyAddressAvailableAsync(this.web3Wrapper); const tokenContract = await this.getTokenContractAsync(tokenAddress); let allowanceInBaseUnits = await tokenContract.allowance.call(ownerAddress, spenderAddress); diff --git a/src/utils/assert.ts b/src/utils/assert.ts index 621c11eda..7ab1b7c62 100644 --- a/src/utils/assert.ts +++ b/src/utils/assert.ts @@ -37,6 +37,10 @@ export const assert = { assert.assert(isSenderAddressAvailable, `Specified ${variableName} ${senderAddressHex} isn't available \ through the supplied web3 instance`); }, + async isAnyAddressAvailableAsync(web3Wrapper: Web3Wrapper): Promise { + const availableAddresses = await web3Wrapper.getAvailableAddressesAsync(); + this.assert(!_.isEmpty(availableAddresses), 'No addresses are available on the provided web3 instance'); + }, isNumber(variableName: string, value: number): void { this.assert(_.isFinite(value), this.typeAssertionMessage(variableName, 'number', value)); }, diff --git a/src/web3_wrapper.ts b/src/web3_wrapper.ts index e1bb29f85..05a8dc063 100644 --- a/src/web3_wrapper.ts +++ b/src/web3_wrapper.ts @@ -17,12 +17,6 @@ export class Web3Wrapper { public isAddress(address: string): boolean { return this.web3.isAddress(address); } - public getDefaultAddress(): string { - return this.web3.eth.defaultAccount; - } - public setDefaultAddress(address: string): void { - this.web3.eth.defaultAccount = address; - } public async isSenderAddressAvailableAsync(senderAddress: string): Promise { const addresses = await this.getAvailableAddressesAsync(); return _.includes(addresses, senderAddress); -- cgit