aboutsummaryrefslogtreecommitdiffstats
path: root/packages/website/ts/blockchain.ts
diff options
context:
space:
mode:
authorFrancesco Agosti <francesco.agosti93@gmail.com>2018-07-22 18:45:21 +0800
committerGitHub <noreply@github.com>2018-07-22 18:45:21 +0800
commit0e72b67865ce7f891283ed9d21bd36cfaab4e645 (patch)
tree653d1f39f5819e7136f6b673ae75015c09a7aae0 /packages/website/ts/blockchain.ts
parentb987eebf215391a8af9cff995c7f6c4a6e434bd9 (diff)
parentff12aafc0fa30cfbd1c59f9a2fc3491395e2cdab (diff)
downloaddexon-sol-tools-0e72b67865ce7f891283ed9d21bd36cfaab4e645.tar
dexon-sol-tools-0e72b67865ce7f891283ed9d21bd36cfaab4e645.tar.gz
dexon-sol-tools-0e72b67865ce7f891283ed9d21bd36cfaab4e645.tar.bz2
dexon-sol-tools-0e72b67865ce7f891283ed9d21bd36cfaab4e645.tar.lz
dexon-sol-tools-0e72b67865ce7f891283ed9d21bd36cfaab4e645.tar.xz
dexon-sol-tools-0e72b67865ce7f891283ed9d21bd36cfaab4e645.tar.zst
dexon-sol-tools-0e72b67865ce7f891283ed9d21bd36cfaab4e645.zip
Merge pull request #895 from 0xProject/feature/website/send-eth-from-portal
Send Ether from Portal
Diffstat (limited to 'packages/website/ts/blockchain.ts')
-rw-r--r--packages/website/ts/blockchain.ts33
1 files changed, 30 insertions, 3 deletions
diff --git a/packages/website/ts/blockchain.ts b/packages/website/ts/blockchain.ts
index 88461f8a9..45994be5f 100644
--- a/packages/website/ts/blockchain.ts
+++ b/packages/website/ts/blockchain.ts
@@ -35,7 +35,7 @@ import * as moment from 'moment';
import * as React from 'react';
import contract = require('truffle-contract');
import { BlockchainWatcher } from 'ts/blockchain_watcher';
-import { TokenSendCompleted } from 'ts/components/flash_messages/token_send_completed';
+import { AssetSendCompleted } from 'ts/components/flash_messages/asset_send_completed';
import { TransactionSubmitted } from 'ts/components/flash_messages/transaction_submitted';
import { trackedTokenStorage } from 'ts/local_storage/tracked_token_storage';
import { tradeHistoryStorage } from 'ts/local_storage/trade_history_storage';
@@ -276,6 +276,32 @@ export class Blockchain {
);
await this._showEtherScanLinkAndAwaitTransactionMinedAsync(txHash);
}
+ public async sendAsync(toAddress: string, amountInBaseUnits: BigNumber): Promise<void> {
+ utils.assert(this._doesUserAddressExist(), BlockchainCallErrs.UserHasNoAssociatedAddresses);
+ const transaction = {
+ from: this._userAddressIfExists,
+ to: toAddress,
+ value: amountInBaseUnits,
+ gasPrice: this._defaultGasPrice,
+ };
+ this._showFlashMessageIfLedger();
+ const txHash = await this._web3Wrapper.sendTransactionAsync(transaction);
+ await this._showEtherScanLinkAndAwaitTransactionMinedAsync(txHash);
+ const etherScanLinkIfExists = sharedUtils.getEtherScanLinkIfExists(
+ txHash,
+ this.networkId,
+ EtherscanLinkSuffixes.Tx,
+ );
+ this._dispatcher.showFlashMessage(
+ React.createElement(AssetSendCompleted, {
+ etherScanLinkIfExists,
+ toAddress,
+ amountInBaseUnits,
+ decimals: constants.DECIMAL_PLACES_ETH,
+ symbol: constants.ETHER_SYMBOL,
+ }),
+ );
+ }
public async transferAsync(token: Token, toAddress: string, amountInBaseUnits: BigNumber): Promise<void> {
utils.assert(!_.isUndefined(this._contractWrappers), 'ContractWrappers must be instantiated.');
utils.assert(this._doesUserAddressExist(), BlockchainCallErrs.UserHasNoAssociatedAddresses);
@@ -297,11 +323,12 @@ export class Blockchain {
EtherscanLinkSuffixes.Tx,
);
this._dispatcher.showFlashMessage(
- React.createElement(TokenSendCompleted, {
+ React.createElement(AssetSendCompleted, {
etherScanLinkIfExists,
- token,
toAddress,
amountInBaseUnits,
+ decimals: token.decimals,
+ symbol: token.symbol,
}),
);
}