diff --git a/packages/base-contract/src/index.ts b/packages/base-contract/src/index.ts index 832347d637..a730d8a6e0 100644 --- a/packages/base-contract/src/index.ts +++ b/packages/base-contract/src/index.ts @@ -8,6 +8,7 @@ import { decodeThrownErrorAsRevertError, providerUtils, RevertError, + StringRevertError, } from '@0x/utils'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { @@ -128,6 +129,10 @@ export class BaseContract { let revertError: RevertError; try { revertError = decodeThrownErrorAsRevertError(error); + // Re-cast StringRevertErrors as plain Errors for backwards-compatibility. + if (revertError instanceof StringRevertError) { + throw new Error(revertError.values.message as string); + } } catch (err) { // Can't decode it. return;