diff options
author | Leonid Logvinov <logvinov.leon@gmail.com> | 2017-05-29 17:39:12 +0800 |
---|---|---|
committer | Leonid Logvinov <logvinov.leon@gmail.com> | 2017-05-29 17:39:12 +0800 |
commit | 0848fe96cf09679926d307c86414cfb8b6f16d78 (patch) | |
tree | ec1da9d45a01b846de9b45a2bb57fee8bdb0f23e /src/ts/web3_wrapper.ts | |
parent | 62cc3b919c73b7726793808e3b9631dba41cef28 (diff) | |
download | dexon-sol-tools-0848fe96cf09679926d307c86414cfb8b6f16d78.tar dexon-sol-tools-0848fe96cf09679926d307c86414cfb8b6f16d78.tar.gz dexon-sol-tools-0848fe96cf09679926d307c86414cfb8b6f16d78.tar.bz2 dexon-sol-tools-0848fe96cf09679926d307c86414cfb8b6f16d78.tar.lz dexon-sol-tools-0848fe96cf09679926d307c86414cfb8b6f16d78.tar.xz dexon-sol-tools-0848fe96cf09679926d307c86414cfb8b6f16d78.tar.zst dexon-sol-tools-0848fe96cf09679926d307c86414cfb8b6f16d78.zip |
Move files up and remove ts folder
Diffstat (limited to 'src/ts/web3_wrapper.ts')
-rw-r--r-- | src/ts/web3_wrapper.ts | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/src/ts/web3_wrapper.ts b/src/ts/web3_wrapper.ts deleted file mode 100644 index 3b460e4da..000000000 --- a/src/ts/web3_wrapper.ts +++ /dev/null @@ -1,69 +0,0 @@ -import * as _ from 'lodash'; -import * as Web3 from 'web3'; -import * as BigNumber from 'bignumber.js'; -import promisify = require('es6-promisify'); - -export class Web3Wrapper { - private web3: Web3; - constructor(web3: Web3) { - this.web3 = new Web3(); - this.web3.setProvider(web3.currentProvider); - } - 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 async getFirstAddressIfExistsAsync(): Promise<string|undefined> { - const addresses = await promisify(this.web3.eth.getAccounts)(); - if (_.isEmpty(addresses)) { - return undefined; - } - return (addresses as string[])[0]; - } - public async getNodeVersionAsync(): Promise<string> { - const nodeVersion = await promisify(this.web3.version.getNode)(); - return nodeVersion; - } - public getCurrentProvider(): Web3.Provider { - return this.web3.currentProvider; - } - public async getNetworkIdIfExistsAsync(): Promise<number|undefined> { - try { - const networkId = await this.getNetworkAsync(); - return Number(networkId); - } catch (err) { - return undefined; - } - } - public async getBalanceInEthAsync(owner: string): Promise<BigNumber.BigNumber> { - const balanceInWei = await promisify(this.web3.eth.getBalance)(owner); - const balanceEth = this.web3.fromWei(balanceInWei, 'ether'); - return balanceEth; - } - public async doesContractExistAtAddressAsync(address: string): Promise<boolean> { - const code = await promisify(this.web3.eth.getCode)(address); - // Regex matches 0x0, 0x00, 0x in order to accomodate poorly implemented clients - const zeroHexAddressRegex = /^0x0\{0,40\}$/i; - const didFindCode = _.isNull(code.match(zeroHexAddressRegex)); - return didFindCode; - } - public async signTransactionAsync(address: string, message: string): Promise<string> { - const signData = await promisify(this.web3.eth.sign)(address, message); - return signData; - } - public async getBlockTimestampAsync(blockHash: string): Promise<number> { - const {timestamp} = await promisify(this.web3.eth.getBlock)(blockHash); - return timestamp; - } - private async getNetworkAsync(): Promise<number> { - const networkId = await promisify(this.web3.version.getNetwork)(); - return networkId; - } -} |