aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFabio Berger <me@fabioberger.com>2018-05-11 21:23:34 +0800
committerFabio Berger <me@fabioberger.com>2018-05-11 21:23:34 +0800
commit461e74d8be17b0a1582e7c11de01b43a45399fcc (patch)
tree4171e1ff8bc11b200bb1e40470b86e507bab626b
parenta7daea172865b099e4e457f91602eeec767b231f (diff)
downloaddexon-sol-tools-461e74d8be17b0a1582e7c11de01b43a45399fcc.tar
dexon-sol-tools-461e74d8be17b0a1582e7c11de01b43a45399fcc.tar.gz
dexon-sol-tools-461e74d8be17b0a1582e7c11de01b43a45399fcc.tar.bz2
dexon-sol-tools-461e74d8be17b0a1582e7c11de01b43a45399fcc.tar.lz
dexon-sol-tools-461e74d8be17b0a1582e7c11de01b43a45399fcc.tar.xz
dexon-sol-tools-461e74d8be17b0a1582e7c11de01b43a45399fcc.tar.zst
dexon-sol-tools-461e74d8be17b0a1582e7c11de01b43a45399fcc.zip
Throw if tx reverts
-rw-r--r--packages/fill-scenarios/src/index.ts18
1 files changed, 15 insertions, 3 deletions
diff --git a/packages/fill-scenarios/src/index.ts b/packages/fill-scenarios/src/index.ts
index 14d5a2614..0c62ef410 100644
--- a/packages/fill-scenarios/src/index.ts
+++ b/packages/fill-scenarios/src/index.ts
@@ -146,7 +146,7 @@ export class FillScenarios {
const [orderAddresses, orderValues] = formatters.getOrderAddressesAndValues(signedOrder);
- await exchangeInstance.fillOrder.sendTransactionAsync(
+ const txHash = await exchangeInstance.fillOrder.sendTransactionAsync(
orderAddresses,
orderValues,
partialFillAmount,
@@ -156,6 +156,10 @@ export class FillScenarios {
signedOrder.ecSignature.s,
{ from: takerAddress },
);
+ const txReceipt = await this._web3Wrapper.awaitTransactionMinedAsync(txHash);
+ if (txReceipt.status !== 1) {
+ throw new Error(`FillOrder tx reverted. TxHash: ${txReceipt.transactionHash}`);
+ }
return signedOrder;
}
private async _createAsymmetricFillableSignedOrderWithFeesAsync(
@@ -215,9 +219,13 @@ export class FillScenarios {
this._web3Wrapper.getProvider(),
this._web3Wrapper.getContractDefaults(),
);
- await token.transfer.sendTransactionAsync(address, amount, {
+ const txHash = await token.transfer.sendTransactionAsync(address, amount, {
from: this._coinbase,
});
+ const txReceipt = await this._web3Wrapper.awaitTransactionMinedAsync(txHash);
+ if (txReceipt.status !== 1) {
+ throw new Error(`Transfer tx reverted. TxHash: ${txReceipt.transactionHash}`);
+ }
}
private async _increaseAllowanceAsync(tokenAddress: string, address: string, amount: BigNumber): Promise<void> {
const tokenInstance = new TokenContract(
@@ -234,8 +242,12 @@ export class FillScenarios {
const oldMakerAllowance = await tokenInstance.allowance.callAsync(address, proxyAddress);
const newMakerAllowance = oldMakerAllowance.plus(amount);
- await tokenInstance.approve.sendTransactionAsync(proxyAddress, newMakerAllowance, {
+ const txHash = await tokenInstance.approve.sendTransactionAsync(proxyAddress, newMakerAllowance, {
from: address,
});
+ const txReceipt = await this._web3Wrapper.awaitTransactionMinedAsync(txHash);
+ if (txReceipt.status !== 1) {
+ throw new Error(`Approve tx reverted. TxHash: ${txReceipt.transactionHash}`);
+ }
}
}