pub enum CallError {
WrongContract {
expected: ContractId,
found: ContractId,
},
NotFound(u16),
NoReadOnceInput(CellAddr),
NoImmutableInput(CellAddr),
Lock(Option<fe256>),
Script(fe256),
ScriptUnspecified,
}
Expand description
Contract operation verification errors returned by Codex::verify
.
The name of the error type is chosen so since the operation “calls” a contract method, and the codex verification verifies the integrity of the call.
Variants§
WrongContract
operation doesn’t belong to the current contract.
Fields
expected: ContractId
Expected contract id.
found: ContractId
The actual contract id of the operation.
NotFound(u16)
operation verifier {0} is not present in the codex.
NoReadOnceInput(CellAddr)
operation references destructible memory cell which was not defined.
NoImmutableInput(CellAddr)
operation references immutable memory cell which was not defined. operation references immutable memory cell {0} which was not defined.
Lock(Option<fe256>)
operation input access conditions are unsatisfied.
Script(fe256)
verification script failure with status code {0}.
ScriptUnspecified
verification script failure (no status code is returned from the verification script).
Trait Implementations§
Source§impl Error for CallError
impl Error for CallError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
impl Copy for CallError
impl Eq for CallError
impl StructuralPartialEq for CallError
Auto Trait Implementations§
impl Freeze for CallError
impl RefUnwindSafe for CallError
impl Send for CallError
impl Sync for CallError
impl Unpin for CallError
impl UnwindSafe for CallError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.