vue-blocklink
Version:
Vue support for the Blockchain Link browser extension
290 lines (260 loc) • 8.62 kB
text/typescript
import { OrderStatus } from '../../../0xtypes';
import * as _ from 'lodash';
import { BigNumber, B } from '../../configured_bignumber';
import { RevertError } from '../../revert_error';
// tslint:disable:max-classes-per-file
export enum BatchMatchOrdersErrorCodes {
ZeroLeftOrders,
ZeroRightOrders,
InvalidLengthLeftSignatures,
InvalidLengthRightSignatures,
}
export enum ExchangeContextErrorCodes {
InvalidMaker,
InvalidTaker,
InvalidSender,
}
export enum FillErrorCode {
InvalidTakerAmount,
TakerOverpay,
Overfill,
InvalidFillPrice,
}
export enum SignatureErrorCode {
BadOrderSignature,
BadTransactionSignature,
InvalidLength,
Unsupported,
Illegal,
InappropriateSignatureType,
InvalidSigner,
}
export enum AssetProxyDispatchErrorCode {
InvalidAssetDataLength,
UnknownAssetProxy,
}
export enum TransactionErrorCode {
AlreadyExecuted,
Expired,
}
export enum IncompleteFillErrorCode {
IncompleteMarketBuyOrders,
IncompleteMarketSellOrders,
IncompleteFillOrder,
}
export class BatchMatchOrdersError extends RevertError {
constructor(error?: BatchMatchOrdersErrorCodes) {
super('BatchMatchOrdersError', 'BatchMatchOrdersError(uint8 error)', { error });
}
}
export class SignatureError extends RevertError {
constructor(error?: SignatureErrorCode, hash?: string, signer?: string, signature?: string) {
super('SignatureError', 'SignatureError(uint8 error, bytes32 hash, address signer, bytes signature)', {
error,
hash,
signer,
signature,
});
}
}
export class SignatureValidatorNotApprovedError extends RevertError {
constructor(signer?: string, validator?: string) {
super(
'SignatureValidatorNotApprovedError',
'SignatureValidatorNotApprovedError(address signer, address validator)',
{
signer,
validator,
},
);
}
}
export class SignatureWalletError extends RevertError {
constructor(hash?: string, wallet?: string, signature?: string, errorData?: string) {
super(
'SignatureWalletError',
'SignatureWalletError(bytes32 hash, address wallet, bytes signature, bytes errorData)',
{
hash,
wallet,
signature,
errorData,
},
);
}
}
export class EIP1271SignatureError extends RevertError {
constructor(verifyingContract?: string, data?: string, signature?: string, errorData?: string) {
super(
'EIP1271SignatureError',
'EIP1271SignatureError(address verifyingContract, bytes data, bytes signature, bytes errorData)',
{
verifyingContract,
data,
signature,
errorData,
},
);
}
}
export class OrderStatusError extends RevertError {
constructor(orderHash?: string, status?: OrderStatus) {
super('OrderStatusError', 'OrderStatusError(bytes32 orderHash, uint8 status)', { orderHash, status });
}
}
export class FillError extends RevertError {
constructor(error?: FillErrorCode, orderHash?: string) {
super('FillError', 'FillError(uint8 error, bytes32 orderHash)', { error, orderHash });
}
}
export class OrderEpochError extends RevertError {
constructor(maker?: string, sender?: string, currentEpoch?: BigNumber) {
super('OrderEpochError', 'OrderEpochError(address maker, address sender, uint256 currentEpoch)', {
maker,
sender,
currentEpoch,
});
}
}
export class AssetProxyExistsError extends RevertError {
constructor(assetProxyId?: string, assetProxy?: string) {
super('AssetProxyExistsError', 'AssetProxyExistsError(bytes4 assetProxyId, address assetProxy)', {
assetProxyId,
assetProxy,
});
}
}
export class AssetProxyDispatchError extends RevertError {
constructor(error?: AssetProxyDispatchErrorCode, orderHash?: string, assetData?: string) {
super('AssetProxyDispatchError', 'AssetProxyDispatchError(uint8 error, bytes32 orderHash, bytes assetData)', {
error,
orderHash,
assetData,
});
}
}
export class AssetProxyTransferError extends RevertError {
constructor(orderHash?: string, assetData?: string, errorData?: string) {
super(
'AssetProxyTransferError',
'AssetProxyTransferError(bytes32 orderHash, bytes assetData, bytes errorData)',
{
orderHash,
assetData,
errorData,
},
);
}
}
export class NegativeSpreadError extends RevertError {
constructor(leftOrderHash?: string, rightOrderHash?: string) {
super('NegativeSpreadError', 'NegativeSpreadError(bytes32 leftOrderHash, bytes32 rightOrderHash)', {
leftOrderHash,
rightOrderHash,
});
}
}
export class TransactionError extends RevertError {
constructor(error?: TransactionErrorCode, transactionHash?: string) {
super('TransactionError', 'TransactionError(uint8 error, bytes32 transactionHash)', { error, transactionHash });
}
}
export class TransactionExecutionError extends RevertError {
constructor(transactionHash?: string, errorData?: string) {
super('TransactionExecutionError', 'TransactionExecutionError(bytes32 transactionHash, bytes errorData)', {
transactionHash,
errorData,
});
}
}
export class TransactionGasPriceError extends RevertError {
constructor(transactionHash?: string, actualGasPrice?: BigNumber, requiredGasPrice?: BigNumber) {
super(
'TransactionGasPriceError',
'TransactionGasPriceError(bytes32 transactionHash, uint256 actualGasPrice, uint256 requiredGasPrice)',
{
transactionHash,
actualGasPrice,
requiredGasPrice,
},
);
}
}
export class TransactionInvalidContextError extends RevertError {
constructor(transactionHash?: string, currentContextAddress?: string) {
super(
'TransactionInvalidContextError',
'TransactionInvalidContextError(bytes32 transactionHash, address currentContextAddress)',
{
transactionHash,
currentContextAddress,
},
);
}
}
export class IncompleteFillError extends RevertError {
constructor(
error?: IncompleteFillErrorCode,
expectedAssetFillAmount?: BigNumber,
actualAssetFillAmount?: BigNumber,
) {
super(
'IncompleteFillError',
'IncompleteFillError(uint8 error, uint256 expectedAssetFillAmount, uint256 actualAssetFillAmount)',
{
error,
expectedAssetFillAmount,
actualAssetFillAmount,
},
);
}
}
export class ExchangeInvalidContextError extends RevertError {
constructor(error?: ExchangeContextErrorCodes, orderHash?: string, contextAddress?: string) {
super(
'ExchangeInvalidContextError',
'ExchangeInvalidContextError(uint8 error, bytes32 orderHash, address contextAddress)',
{ error, orderHash, contextAddress },
);
}
}
export class PayProtocolFeeError extends RevertError {
constructor(
orderHash?: string,
protocolFee?: BigNumber,
makerAddress?: string,
takerAddress?: string,
errorData?: string,
) {
super(
'PayProtocolFeeError',
'PayProtocolFeeError(bytes32 orderHash, uint256 protocolFee, address makerAddress, address takerAddress, bytes errorData)',
{ orderHash, protocolFee, makerAddress, takerAddress, errorData },
);
}
}
const types = [
AssetProxyExistsError,
AssetProxyDispatchError,
AssetProxyTransferError,
BatchMatchOrdersError,
EIP1271SignatureError,
ExchangeInvalidContextError,
FillError,
IncompleteFillError,
NegativeSpreadError,
OrderEpochError,
OrderStatusError,
PayProtocolFeeError,
SignatureError,
SignatureValidatorNotApprovedError,
SignatureWalletError,
TransactionError,
TransactionExecutionError,
TransactionGasPriceError,
TransactionInvalidContextError,
];
// Register the types we've defined.
for (const type of types) {
RevertError.registerType(type);
}