diff options
author | Leonid Logvinov <logvinov.leon@gmail.com> | 2018-07-09 16:46:15 +0800 |
---|---|---|
committer | Leonid Logvinov <logvinov.leon@gmail.com> | 2018-07-09 17:13:21 +0800 |
commit | ab1e38701d40692be0f0e3f2939fda90084564af (patch) | |
tree | 3850a764d8b0a3d98a9b75967c88718d12eef302 /packages/contract-wrappers/src/utils/decorators.ts | |
parent | 258fe8ea50f3cf2a78649827c3a7899ebc7a7734 (diff) | |
download | dexon-sol-tools-ab1e38701d40692be0f0e3f2939fda90084564af.tar dexon-sol-tools-ab1e38701d40692be0f0e3f2939fda90084564af.tar.gz dexon-sol-tools-ab1e38701d40692be0f0e3f2939fda90084564af.tar.bz2 dexon-sol-tools-ab1e38701d40692be0f0e3f2939fda90084564af.tar.lz dexon-sol-tools-ab1e38701d40692be0f0e3f2939fda90084564af.tar.xz dexon-sol-tools-ab1e38701d40692be0f0e3f2939fda90084564af.tar.zst dexon-sol-tools-ab1e38701d40692be0f0e3f2939fda90084564af.zip |
Add revert reason parsing to error handling decorator
Diffstat (limited to 'packages/contract-wrappers/src/utils/decorators.ts')
-rw-r--r-- | packages/contract-wrappers/src/utils/decorators.ts | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/packages/contract-wrappers/src/utils/decorators.ts b/packages/contract-wrappers/src/utils/decorators.ts index ccb4c6e11..6e77450e8 100644 --- a/packages/contract-wrappers/src/utils/decorators.ts +++ b/packages/contract-wrappers/src/utils/decorators.ts @@ -1,3 +1,4 @@ +import { RevertReason } from '@0xproject/types'; import * as _ from 'lodash'; import { AsyncMethod, ContractWrappersError, SyncMethod } from '../types'; @@ -13,6 +14,10 @@ const contractCallErrorTransformer = (error: Error) => { if (_.includes(error.message, constants.OUT_OF_GAS_PATTERN)) { return new Error(ContractWrappersError.OutOfGas); } + if (_.includes(error.message, constants.REVERT)) { + const revertReason = error.message.split(constants.REVERT)[1].trim(); + return new Error(revertReason); + } return error; }; |