aboutsummaryrefslogtreecommitdiffstats
path: root/packages/contract-wrappers/src/utils/decorators.ts
diff options
context:
space:
mode:
authorLeonid Logvinov <logvinov.leon@gmail.com>2018-07-09 16:46:15 +0800
committerLeonid Logvinov <logvinov.leon@gmail.com>2018-07-09 17:13:21 +0800
commitab1e38701d40692be0f0e3f2939fda90084564af (patch)
tree3850a764d8b0a3d98a9b75967c88718d12eef302 /packages/contract-wrappers/src/utils/decorators.ts
parent258fe8ea50f3cf2a78649827c3a7899ebc7a7734 (diff)
downloaddexon-0x-contracts-ab1e38701d40692be0f0e3f2939fda90084564af.tar
dexon-0x-contracts-ab1e38701d40692be0f0e3f2939fda90084564af.tar.gz
dexon-0x-contracts-ab1e38701d40692be0f0e3f2939fda90084564af.tar.bz2
dexon-0x-contracts-ab1e38701d40692be0f0e3f2939fda90084564af.tar.lz
dexon-0x-contracts-ab1e38701d40692be0f0e3f2939fda90084564af.tar.xz
dexon-0x-contracts-ab1e38701d40692be0f0e3f2939fda90084564af.tar.zst
dexon-0x-contracts-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.ts5
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;
};