aboutsummaryrefslogtreecommitdiffstats
path: root/src/0x.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/0x.ts')
-rw-r--r--src/0x.ts14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/0x.ts b/src/0x.ts
index 3cf672a1b..e92c92e1f 100644
--- a/src/0x.ts
+++ b/src/0x.ts
@@ -1,5 +1,6 @@
import * as _ from 'lodash';
import * as BigNumber from 'bignumber.js';
+import * as Web3 from 'web3';
import {SchemaValidator, schemas} from '0x-json-schemas';
import {bigNumberConfigs} from './bignumber_config';
import * as ethUtil from 'ethereumjs-util';
@@ -248,4 +249,17 @@ export class ZeroEx {
throw new Error(ZeroExError.InvalidSignature);
}
+ public async awaitTransactionMined(txHash: string,
+ pollingIntervalMs: number = 500): Promise<Web3.TransactionReceipt> {
+ const txReceiptPromise = new Promise((resolve: (receipt: Web3.TransactionReceipt) => void, reject) => {
+ const intervalId = setInterval(async () => {
+ const transactionReceipt = await this._web3Wrapper.getTransactionReceiptAsync(txHash);
+ if (!_.isNull(transactionReceipt)) {
+ clearInterval(intervalId);
+ resolve(transactionReceipt);
+ }
+ }, pollingIntervalMs);
+ });
+ return txReceiptPromise;
+ }
}