add
This commit is contained in:
139
ccxt/static_dependencies/ethereum/abi/exceptions.py
Normal file
139
ccxt/static_dependencies/ethereum/abi/exceptions.py
Normal file
@@ -0,0 +1,139 @@
|
||||
from ...parsimonious import (
|
||||
ParseError
|
||||
)
|
||||
|
||||
|
||||
class EncodingError(Exception):
|
||||
"""
|
||||
Base exception for any error that occurs during encoding.
|
||||
"""
|
||||
|
||||
pass
|
||||
|
||||
|
||||
class EncodingTypeError(EncodingError):
|
||||
"""
|
||||
Raised when trying to encode a python value whose type is not supported for
|
||||
the output ABI type.
|
||||
"""
|
||||
|
||||
pass
|
||||
|
||||
|
||||
class IllegalValue(EncodingError):
|
||||
"""
|
||||
Raised when trying to encode a python value with the correct type but with
|
||||
a value that is not considered legal for the output ABI type.
|
||||
|
||||
Example:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
fixed128x19_encoder(Decimal('NaN')) # cannot encode NaN
|
||||
|
||||
"""
|
||||
|
||||
pass
|
||||
|
||||
|
||||
class ValueOutOfBounds(IllegalValue):
|
||||
"""
|
||||
Raised when trying to encode a python value with the correct type but with
|
||||
a value that appears outside the range of valid values for the output ABI
|
||||
type.
|
||||
|
||||
Example:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
ufixed8x1_encoder(Decimal('25.6')) # out of bounds
|
||||
|
||||
"""
|
||||
|
||||
pass
|
||||
|
||||
|
||||
class DecodingError(Exception):
|
||||
"""
|
||||
Base exception for any error that occurs during decoding.
|
||||
"""
|
||||
|
||||
pass
|
||||
|
||||
|
||||
class InsufficientDataBytes(DecodingError):
|
||||
"""
|
||||
Raised when there are insufficient data to decode a value for a given ABI
|
||||
type.
|
||||
"""
|
||||
|
||||
pass
|
||||
|
||||
|
||||
class NonEmptyPaddingBytes(DecodingError):
|
||||
"""
|
||||
Raised when the padding bytes of an ABI value are malformed.
|
||||
"""
|
||||
|
||||
pass
|
||||
|
||||
|
||||
class ParseError(ParseError):
|
||||
"""
|
||||
Raised when an ABI type string cannot be parsed.
|
||||
"""
|
||||
|
||||
def __str__(self):
|
||||
return "Parse error at '{}' (column {}) in type string '{}'".format(
|
||||
self.text[self.pos : self.pos + 5],
|
||||
self.column(),
|
||||
self.text,
|
||||
)
|
||||
|
||||
|
||||
class ABITypeError(ValueError):
|
||||
"""
|
||||
Raised when a parsed ABI type has inconsistent properties; for example,
|
||||
when trying to parse the type string ``'uint7'`` (which has a bit-width
|
||||
that is not congruent with zero modulo eight).
|
||||
"""
|
||||
|
||||
pass
|
||||
|
||||
|
||||
class PredicateMappingError(Exception):
|
||||
"""
|
||||
Raised when an error occurs in a registry's internal mapping.
|
||||
"""
|
||||
|
||||
pass
|
||||
|
||||
|
||||
class NoEntriesFound(ValueError, PredicateMappingError):
|
||||
"""
|
||||
Raised when no registration is found for a type string in a registry's
|
||||
internal mapping.
|
||||
|
||||
.. warning::
|
||||
|
||||
In a future version of ``eth-abi``, this error class will no longer
|
||||
inherit from ``ValueError``.
|
||||
"""
|
||||
|
||||
pass
|
||||
|
||||
|
||||
class MultipleEntriesFound(ValueError, PredicateMappingError):
|
||||
"""
|
||||
Raised when multiple registrations are found for a type string in a
|
||||
registry's internal mapping. This error is non-recoverable and indicates
|
||||
that a registry was configured incorrectly. Registrations are expected to
|
||||
cover completely distinct ranges of type strings.
|
||||
|
||||
.. warning::
|
||||
|
||||
In a future version of ``eth-abi``, this error class will no longer
|
||||
inherit from ``ValueError``.
|
||||
"""
|
||||
|
||||
pass
|
||||
Reference in New Issue
Block a user