Throw if tx reverts

This commit is contained in:
Fabio Berger
2018-05-11 15:23:34 +02:00
parent a7daea1728
commit 461e74d8be

View File

@@ -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}`);
}
}
}