diff --git a/packages/web3-core-helpers/src/Formatters.js b/packages/web3-core-helpers/src/Formatters.js index 82867a45b29..2b7b5105653 100644 --- a/packages/web3-core-helpers/src/Formatters.js +++ b/packages/web3-core-helpers/src/Formatters.js @@ -259,10 +259,6 @@ export const outputTransactionFormatter = (receipt) => { * @returns {Object} */ export const outputTransactionReceiptFormatter = (receipt) => { - if (typeof receipt !== 'object') { - throw new TypeError(`Received receipt is invalid: ${receipt}`); - } - if (receipt.blockNumber !== null) { receipt.blockNumber = Utils.hexToNumber(receipt.blockNumber); } diff --git a/packages/web3-core-helpers/tests/src/Formatters/OutputTransactionReceiptFormatterTest.js b/packages/web3-core-helpers/tests/src/Formatters/OutputTransactionReceiptFormatterTest.js index 2f1159b695b..f384c834412 100644 --- a/packages/web3-core-helpers/tests/src/Formatters/OutputTransactionReceiptFormatterTest.js +++ b/packages/web3-core-helpers/tests/src/Formatters/OutputTransactionReceiptFormatterTest.js @@ -76,10 +76,4 @@ describe('OutputTransactionReceiptFormatterTest', () => { ] }); }); - - it('call outputTransactionReceiptFormatter with invalid argument', () => { - expect(() => { - outputTransactionReceiptFormatter('STRING'); - }).toThrow('Received receipt is invalid: STRING'); - }); }); diff --git a/packages/web3-core-method/src/methods/transaction/GetTransactionReceiptMethod.js b/packages/web3-core-method/src/methods/transaction/GetTransactionReceiptMethod.js index 841cb0bd58f..15939c46643 100644 --- a/packages/web3-core-method/src/methods/transaction/GetTransactionReceiptMethod.js +++ b/packages/web3-core-method/src/methods/transaction/GetTransactionReceiptMethod.js @@ -44,7 +44,7 @@ export default class GetTransactionReceiptMethod extends AbstractCallMethod { */ afterExecution(response) { if (response !== null) { - return this.formatters.outputTransactionFormatter(response); + return this.formatters.outputTransactionReceiptFormatter(response); } return response; diff --git a/packages/web3-core-method/src/validators/TransactionReceiptValidator.js b/packages/web3-core-method/src/validators/TransactionReceiptValidator.js index 5f28b09625a..c5699f1a872 100644 --- a/packages/web3-core-method/src/validators/TransactionReceiptValidator.js +++ b/packages/web3-core-method/src/validators/TransactionReceiptValidator.js @@ -55,7 +55,7 @@ export default class TransactionReceiptValidator { * @returns {Boolean} */ isValidReceiptStatus(receipt) { - return receipt.status === true || receipt.status === '0x1' || typeof receipt.status === 'undefined'; + return receipt.status === true || typeof receipt.status === 'undefined'; } /** diff --git a/packages/web3-core-method/tests/src/methods/transaction/GetTransactionReceiptMethodTest.js b/packages/web3-core-method/tests/src/methods/transaction/GetTransactionReceiptMethodTest.js index 6749e046841..770c361f60d 100644 --- a/packages/web3-core-method/tests/src/methods/transaction/GetTransactionReceiptMethodTest.js +++ b/packages/web3-core-method/tests/src/methods/transaction/GetTransactionReceiptMethodTest.js @@ -28,11 +28,11 @@ describe('GetTransactionReceiptMethodTest', () => { }); it('afterExecution should map the response', () => { - formatters.outputTransactionFormatter.mockReturnValueOnce({empty: false}); + formatters.outputTransactionReceiptFormatter.mockReturnValueOnce({empty: false}); expect(method.afterExecution({})).toHaveProperty('empty', false); - expect(formatters.outputTransactionFormatter).toHaveBeenCalledWith({}); + expect(formatters.outputTransactionReceiptFormatter).toHaveBeenCalledWith({}); }); it('afterExecution should return null', () => { diff --git a/packages/web3-core-method/tests/src/validators/TransactionReceiptValidatorTest.js b/packages/web3-core-method/tests/src/validators/TransactionReceiptValidatorTest.js index 279f25cf634..0769d128b9e 100644 --- a/packages/web3-core-method/tests/src/validators/TransactionReceiptValidatorTest.js +++ b/packages/web3-core-method/tests/src/validators/TransactionReceiptValidatorTest.js @@ -37,6 +37,22 @@ describe('TransactionReceiptValidatorTest', () => { expect(Utils.hexToNumber).toHaveBeenCalledWith(110); }); + it('calls validate and returns true with undefined status property', () => { + delete receipt.status; + + Utils.hexToNumber.mockReturnValueOnce(110); + + method.parameters = [ + { + gas: 110 + } + ]; + + expect(transactionReceiptValidator.validate(receipt, method)).toEqual(true); + + expect(Utils.hexToNumber).toHaveBeenCalledWith(110); + }); + it('calls validate and returns error because of invalid gasUsage', () => { Utils.hexToNumber.mockReturnValueOnce(100);