aboutsummaryrefslogtreecommitdiffstats
path: root/packages/instant/src/components/buy_button.tsx
diff options
context:
space:
mode:
authorSteve Klebanoff <steve.klebanoff@gmail.com>2018-10-31 07:40:51 +0800
committerSteve Klebanoff <steve.klebanoff@gmail.com>2018-10-31 07:40:51 +0800
commit1c0569cfc61d7b166d79d2d73e9bbc6d11a5b4e8 (patch)
treef777e047a103bcd124cf28a3ce2be30167f8a104 /packages/instant/src/components/buy_button.tsx
parent9cc82308e504a62a2bd3b16e79173a98279fdb66 (diff)
downloaddexon-sol-tools-1c0569cfc61d7b166d79d2d73e9bbc6d11a5b4e8.tar
dexon-sol-tools-1c0569cfc61d7b166d79d2d73e9bbc6d11a5b4e8.tar.gz
dexon-sol-tools-1c0569cfc61d7b166d79d2d73e9bbc6d11a5b4e8.tar.bz2
dexon-sol-tools-1c0569cfc61d7b166d79d2d73e9bbc6d11a5b4e8.tar.lz
dexon-sol-tools-1c0569cfc61d7b166d79d2d73e9bbc6d11a5b4e8.tar.xz
dexon-sol-tools-1c0569cfc61d7b166d79d2d73e9bbc6d11a5b4e8.tar.zst
dexon-sol-tools-1c0569cfc61d7b166d79d2d73e9bbc6d11a5b4e8.zip
Use simulated progress bar for txn
Diffstat (limited to 'packages/instant/src/components/buy_button.tsx')
-rw-r--r--packages/instant/src/components/buy_button.tsx14
1 files changed, 8 insertions, 6 deletions
diff --git a/packages/instant/src/components/buy_button.tsx b/packages/instant/src/components/buy_button.tsx
index ec1010fe9..d10936d05 100644
--- a/packages/instant/src/components/buy_button.tsx
+++ b/packages/instant/src/components/buy_button.tsx
@@ -19,9 +19,9 @@ export interface BuyButtonProps {
onValidationPending: (buyQuote: BuyQuote) => void;
onValidationFail: (buyQuote: BuyQuote, errorMessage: AssetBuyerError | ZeroExInstantError) => void;
onSignatureDenied: (buyQuote: BuyQuote) => void;
- onBuyProcessing: (buyQuote: BuyQuote, txHash: string, estimatedTimeMs?: number) => void;
- onBuySuccess: (buyQuote: BuyQuote, txHash: string) => void;
- onBuyFailure: (buyQuote: BuyQuote, txHash: string) => void;
+ onBuyProcessing: (buyQuote: BuyQuote, txHash: string, startTimeUnix: number, expectedEndTimeUnix: number) => void;
+ onBuySuccess: (buyQuote: BuyQuote, txHash: string, startTimeUnix: number, expectedEndTimeUnix: number) => void;
+ onBuyFailure: (buyQuote: BuyQuote, txHash: string, startTimeUnix: number, expectedEndTimeUnix: number) => void;
}
export class BuyButton extends React.Component<BuyButtonProps> {
@@ -73,16 +73,18 @@ export class BuyButton extends React.Component<BuyButtonProps> {
throw e;
}
- this.props.onBuyProcessing(buyQuote, txHash, gasInfo.estimatedTimeMs);
+ const startTimeUnix = new Date().getTime();
+ const expectedEndTimeUnix = startTimeUnix + gasInfo.estimatedTimeMs;
+ this.props.onBuyProcessing(buyQuote, txHash, startTimeUnix, expectedEndTimeUnix);
try {
await web3Wrapper.awaitTransactionSuccessAsync(txHash);
} catch (e) {
if (e instanceof Error && e.message.startsWith(WEB_3_WRAPPER_TRANSACTION_FAILED_ERROR_MSG_PREFIX)) {
- this.props.onBuyFailure(buyQuote, txHash);
+ this.props.onBuyFailure(buyQuote, txHash, startTimeUnix, expectedEndTimeUnix);
return;
}
throw e;
}
- this.props.onBuySuccess(buyQuote, txHash);
+ this.props.onBuySuccess(buyQuote, txHash, startTimeUnix, expectedEndTimeUnix);
};
}