diff options
author | Fabio Berger <me@fabioberger.com> | 2017-06-01 22:03:09 +0800 |
---|---|---|
committer | Fabio Berger <me@fabioberger.com> | 2017-06-01 22:03:09 +0800 |
commit | 88a70afa70f84efc866ff53121d05a6d8d77bff8 (patch) | |
tree | e90dd32241ac0b50556497cf8761ff2fe6c4c37b | |
parent | a685d7604fcd0854ad49df762c4ed5a51cc86065 (diff) | |
download | dexon-sol-tools-88a70afa70f84efc866ff53121d05a6d8d77bff8.tar dexon-sol-tools-88a70afa70f84efc866ff53121d05a6d8d77bff8.tar.gz dexon-sol-tools-88a70afa70f84efc866ff53121d05a6d8d77bff8.tar.bz2 dexon-sol-tools-88a70afa70f84efc866ff53121d05a6d8d77bff8.tar.lz dexon-sol-tools-88a70afa70f84efc866ff53121d05a6d8d77bff8.tar.xz dexon-sol-tools-88a70afa70f84efc866ff53121d05a6d8d77bff8.tar.zst dexon-sol-tools-88a70afa70f84efc866ff53121d05a6d8d77bff8.zip |
Add ExchangeContractErrs string enum
-rw-r--r-- | src/contract_wrappers/exchange_wrapper.ts | 17 | ||||
-rw-r--r-- | src/types.ts | 8 |
2 files changed, 17 insertions, 8 deletions
diff --git a/src/contract_wrappers/exchange_wrapper.ts b/src/contract_wrappers/exchange_wrapper.ts index bf3f10e28..1232b969b 100644 --- a/src/contract_wrappers/exchange_wrapper.ts +++ b/src/contract_wrappers/exchange_wrapper.ts @@ -4,6 +4,7 @@ import { ECSignature, ExchangeContract, ExchangeContractErrCodes, + ExchangeContractErrs, FillOrderValidationErrs, OrderValues, OrderAddresses, @@ -21,12 +22,12 @@ import {constants} from '../utils/constants'; export class ExchangeWrapper extends ContractWrapper { private exchangeContractErrCodesToMsg = { - [ExchangeContractErrCodes.ERROR_FILL_EXPIRED]: 'The order you attempted to fill is expired', - [ExchangeContractErrCodes.ERROR_CANCEL_EXPIRED]: 'The order you attempted to cancel is expired', - [ExchangeContractErrCodes.ERROR_FILL_NO_VALUE]: 'This order has already been filled or cancelled', - [ExchangeContractErrCodes.ERROR_CANCEL_NO_VALUE]: 'This order has already been filled or cancelled', - [ExchangeContractErrCodes.ERROR_FILL_TRUNCATION]: 'The rounding error was too large when filling this order', - [ExchangeContractErrCodes.ERROR_FILL_BALANCE_ALLOWANCE]: 'Maker or taker has insufficient balance or allowance', + [ExchangeContractErrCodes.ERROR_FILL_EXPIRED]: ExchangeContractErrs.ORDER_EXPIRED, + [ExchangeContractErrCodes.ERROR_CANCEL_EXPIRED]: ExchangeContractErrs.ORDER_EXPIRED, + [ExchangeContractErrCodes.ERROR_FILL_NO_VALUE]: ExchangeContractErrs.ORDER_REMAINING_FILL_AMOUNT_ZERO, + [ExchangeContractErrCodes.ERROR_CANCEL_NO_VALUE]: ExchangeContractErrs.ORDER_REMAINING_FILL_AMOUNT_ZERO, + [ExchangeContractErrCodes.ERROR_FILL_TRUNCATION]: ExchangeContractErrs.ORDER_ROUNDING_ERROR, + [ExchangeContractErrCodes.ERROR_FILL_BALANCE_ALLOWANCE]: ExchangeContractErrs.ORDER_BALANCE_ALLOWANCE_ERROR, }; private exchangeContractIfExists?: ExchangeContract; constructor(web3Wrapper: Web3Wrapper) { @@ -131,8 +132,8 @@ export class ExchangeWrapper extends ContractWrapper { const errEvent = _.find(logs, {event: 'LogError'}); if (!_.isUndefined(errEvent)) { const errCode = errEvent.args.errorId.toNumber(); - const humanReadableErrMessage = this.exchangeContractErrCodesToMsg[errCode]; - throw new Error(humanReadableErrMessage); + const errMessage = this.exchangeContractErrCodesToMsg[errCode]; + throw new Error(errMessage); } } private async getExchangeContractAsync(): Promise<ExchangeContract> { diff --git a/src/types.ts b/src/types.ts index c3a19d3b6..7c5e1825d 100644 --- a/src/types.ts +++ b/src/types.ts @@ -77,6 +77,14 @@ export enum ExchangeContractErrCodes { ERROR_CANCEL_NO_VALUE, // Order has already been fully filled or cancelled } +export const ExchangeContractErrs = strEnum([ + 'ORDER_EXPIRED', + 'ORDER_REMAINING_FILL_AMOUNT_ZERO', + 'ORDER_ROUNDING_ERROR', + 'ORDER_BALANCE_ALLOWANCE_ERROR', +]); +export type ExchangeContractErrs = keyof typeof ExchangeContractErrs; + export const FillOrderValidationErrs = strEnum([ 'FILL_AMOUNT_IS_ZERO', 'NOT_A_TAKER', |