From b07fc95c81da7471d4dcd4e261c1675110eba98a Mon Sep 17 00:00:00 2001 From: Lawrence Forman Date: Wed, 4 Sep 2019 05:15:12 -0400 Subject: [PATCH] `@0x/utils`: Add docstring for `raw` constructor parameter in `RevertError`. `@0x/utils`: Use `...is.instanceof()` pattern in `RevertError` tests. --- packages/utils/CHANGELOG.json | 4 ++++ packages/utils/src/revert_error.ts | 3 +++ packages/utils/test/revert_error_test.ts | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/utils/CHANGELOG.json b/packages/utils/CHANGELOG.json index 1819c8d729..596d1cfdec 100644 --- a/packages/utils/CHANGELOG.json +++ b/packages/utils/CHANGELOG.json @@ -14,6 +14,10 @@ "note": "Add `LibFixedMath` `RevertError` types.", "pr": 2109 }, + { + "note": "Add `RawRevertError` `RevertError` type.", + "pr": 2109 + }, { "note": "Make `RevertError.decode()` optionally return a `RawRevertError` if the selector is unknown.", "pr": 2109 diff --git a/packages/utils/src/revert_error.ts b/packages/utils/src/revert_error.ts index 8073036563..0df9302a59 100644 --- a/packages/utils/src/revert_error.ts +++ b/packages/utils/src/revert_error.ts @@ -145,6 +145,9 @@ export abstract class RevertError extends Error { * Parameters that are left undefined will not be tested in equality checks. * @param declaration Function-style declaration of the revert (e.g., Error(string message)) * @param values Optional mapping of parameters to values. + * @param raw Optional encoded form of the revert error. If supplied, this + * instance will be treated as a `RawRevertError`, meaning it can only + * match other `RawRevertError` types with the same encoded payload. */ protected constructor(name: string, declaration?: string, values?: ValueMap, raw?: string) { super(createErrorMessage(name, values)); diff --git a/packages/utils/test/revert_error_test.ts b/packages/utils/test/revert_error_test.ts index bdf87961b8..efb86453de 100644 --- a/packages/utils/test/revert_error_test.ts +++ b/packages/utils/test/revert_error_test.ts @@ -146,7 +146,7 @@ describe('RevertError', () => { it('should decode an unknown selector as a `RawRevertError`', () => { const _encoded = encoded.substr(0, 2) + '00' + encoded.substr(4); const decoded = RevertError.decode(_encoded, true); - expect(decoded instanceof RawRevertError).to.be.true(); + expect(decoded).is.instanceof(RawRevertError); }); it('should fail to decode a malformed ABI encoded revert error', () => { const _encoded = encoded.substr(0, encoded.length - 1);