alloy_dyn_abi

Struct DynSolError

Source
pub struct DynSolError { /* private fields */ }
Expand description

A dynamic ABI error.

This is a representation of a Solidity error, which can be used to decode error events.

Implementations§

Source§

impl DynSolError

Source

pub fn revert() -> Self

Represents a standard Solidity revert. These are thrown by revert(reason) or require(condition, reason) statements in Solidity.

Note: Usage of this instantiator is not recommended. It is better to use alloy_sol_types::Revert in almost all cases.

Source

pub fn panic() -> Self

A Solidity panic.

Note: Usage of this instantiator is not recommended. It is better to use alloy_sol_types::Panic in almost all cases.

These are thrown by assert(condition) and by internal Solidity checks, such as arithmetic overflow or array bounds checks.

The list of all known panic codes can be found in the PanicKind enum.

Source

pub const fn new_unchecked(selector: Selector, body: DynSolType) -> Self

Creates a new error, without length-checking the body. This allows creation of invalid errors.

Source

pub fn new(selector: Selector, body: DynSolType) -> Option<Self>

Creates a new error from a selector.

Source

pub const fn selector(&self) -> Selector

Error selector is the first 4 bytes of the keccak256 hash of the error declaration.

Source

pub fn body(&self) -> &[DynSolType]

Error body types.

Source

pub fn decode_error(&self, data: &[u8]) -> Result<DecodedError>

Decode the error from the given data.

Trait Implementations§

Source§

impl Clone for DynSolError

Source§

fn clone(&self) -> DynSolError

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for DynSolError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for DynSolError

Source§

fn eq(&self, other: &DynSolError) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Specifier<DynSolError> for Error

Source§

fn resolve(&self) -> Result<DynSolError>

Resolve the type into a value.
Source§

impl StructuralPartialEq for DynSolError

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V