aboutsummaryrefslogtreecommitdiffstats
path: root/src/web3_wrapper.ts
diff options
context:
space:
mode:
authorFabio Berger <me@fabioberger.com>2017-06-03 01:45:57 +0800
committerFabio Berger <me@fabioberger.com>2017-06-03 01:45:57 +0800
commit1443c0838cbd795ae8e6273b1d7659c8e449f2eb (patch)
tree531df9d489dd4c5ce15623bee0beeae3ad58ccd4 /src/web3_wrapper.ts
parent3de655954743db4e2b9d02f5ac1243855b909236 (diff)
parentd4320fec724c5bf34e7dcd006cba8ffe7a3c76d1 (diff)
downloaddexon-sol-tools-1443c0838cbd795ae8e6273b1d7659c8e449f2eb.tar
dexon-sol-tools-1443c0838cbd795ae8e6273b1d7659c8e449f2eb.tar.gz
dexon-sol-tools-1443c0838cbd795ae8e6273b1d7659c8e449f2eb.tar.bz2
dexon-sol-tools-1443c0838cbd795ae8e6273b1d7659c8e449f2eb.tar.lz
dexon-sol-tools-1443c0838cbd795ae8e6273b1d7659c8e449f2eb.tar.xz
dexon-sol-tools-1443c0838cbd795ae8e6273b1d7659c8e449f2eb.tar.zst
dexon-sol-tools-1443c0838cbd795ae8e6273b1d7659c8e449f2eb.zip
Merge branch 'master' into remainingTokenMethods
# Conflicts: # src/types.ts # src/web3_wrapper.ts
Diffstat (limited to 'src/web3_wrapper.ts')
-rw-r--r--src/web3_wrapper.ts27
1 files changed, 20 insertions, 7 deletions
diff --git a/src/web3_wrapper.ts b/src/web3_wrapper.ts
index 93203ff38..625a1dead 100644
--- a/src/web3_wrapper.ts
+++ b/src/web3_wrapper.ts
@@ -2,6 +2,8 @@ import * as _ from 'lodash';
import * as Web3 from 'web3';
import * as BigNumber from 'bignumber.js';
import promisify = require('es6-promisify');
+import {ZeroExError} from './types';
+import {assert} from './utils/assert';
export class Web3Wrapper {
private web3: Web3;
@@ -15,13 +17,16 @@ export class Web3Wrapper {
public isAddress(address: string): boolean {
return this.web3.isAddress(address);
}
- public async getSenderAddressIfExistsAsync(): Promise<string|undefined> {
- const defaultAccount = this.web3.eth.defaultAccount;
- if (!_.isUndefined(defaultAccount)) {
- return defaultAccount;
- }
- const firstAccount = await this.getFirstAddressIfExistsAsync();
- return firstAccount;
+ public getDefaultAccount(): string {
+ return this.web3.eth.defaultAccount;
+ }
+ public setDefaultAccount(address: string): void {
+ this.web3.eth.defaultAccount = address;
+ }
+ public async getSenderAddressOrThrowAsync(): Promise<string> {
+ const senderAddressIfExists = await this.getSenderAddressIfExistsAsync();
+ assert.assert(!_.isUndefined(senderAddressIfExists), ZeroExError.USER_HAS_NO_ASSOCIATED_ADDRESSES);
+ return senderAddressIfExists as string;
}
public async getFirstAddressIfExistsAsync(): Promise<string|undefined> {
const addresses = await this.getAvailableSenderAddressesAsync();
@@ -68,6 +73,14 @@ export class Web3Wrapper {
const {timestamp} = await promisify(this.web3.eth.getBlock)(blockHash);
return timestamp;
}
+ public async getSenderAddressIfExistsAsync(): Promise<string|undefined> {
+ const defaultAccount = this.web3.eth.defaultAccount;
+ if (!_.isUndefined(defaultAccount)) {
+ return defaultAccount;
+ }
+ const firstAccount = await this.getFirstAddressIfExistsAsync();
+ return firstAccount;
+ }
private async getAvailableSenderAddressesAsync(): Promise<string[]> {
const addresses: string[] = await promisify(this.web3.eth.getAccounts)();
return addresses;