THROW_ON_REVERT feature

This commit is contained in:
Alexey 2020-11-19 20:33:58 +03:00
parent 6bb265d3b9
commit 8cb2bb0fbe
3 changed files with 5 additions and 8 deletions

View File

@ -1,6 +1,6 @@
{
"name": "tx-manager",
"version": "0.2.5",
"version": "0.2.6",
"description": "",
"main": "index.js",
"scripts": {

View File

@ -175,9 +175,6 @@ class Transaction {
this.currentTxHash = null
continue
}
if (Number(receipt.status) === 0) {
throw new Error('Transaction failed')
}
const currentBlock = await this._provider.getBlockNumber()
const confirmations = Math.max(0, currentBlock - receipt.blockNumber)
@ -185,6 +182,9 @@ class Transaction {
this._emitter.emit('confirmations', confirmations)
if (confirmations >= this.config.CONFIRMATIONS) {
// Tx is mined and has enough confirmations
if (this.config.THROW_ON_REVERT && Number(receipt.status) === 0) {
throw new Error('EVM execution failed, so the transaction was reverted.')
}
return receipt
}
@ -237,10 +237,6 @@ class Transaction {
}
}
if (Number(receipt.status) === 0) {
throw new Error('Transaction failed')
}
this._emitter.emit('mined', receipt)
this.currentTxHash = receipt.transactionHash
}

View File

@ -13,6 +13,7 @@ const defaultConfig = {
POLL_INTERVAL: 5000,
CONFIRMATIONS: 8,
ESTIMATE_GAS: true,
THROW_ON_REVERT: true,
}
class TxManager {