Expand description
Custom precompiles to be used by EVM engine.
Try to execute the code address as precompile. If the code address is not
a precompile or the precompile is not yet available, return None
.
Otherwise, calculate the amount of gas needed with given input
and
target_gas
. Return Some(Ok(status, output, gas_used))
if the execution
is successful. Otherwise return Some(Err(_))
.
impl<TupleElement0, TupleElement1, TupleElement2, TupleElement3> PrecompileSet for (TupleElement0, TupleElement1, TupleElement2, TupleElement3) where
TupleElement0: Precompile,
TupleElement1: Precompile,
TupleElement2: Precompile,
TupleElement3: Precompile,
impl<TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13> PrecompileSet for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13) where
TupleElement0: Precompile,
TupleElement1: Precompile,
TupleElement2: Precompile,
TupleElement3: Precompile,
TupleElement4: Precompile,
TupleElement5: Precompile,
TupleElement6: Precompile,
TupleElement7: Precompile,
TupleElement8: Precompile,
TupleElement9: Precompile,
TupleElement10: Precompile,
TupleElement11: Precompile,
TupleElement12: Precompile,
TupleElement13: Precompile,
impl<TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8> PrecompileSet for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8) where
TupleElement0: Precompile,
TupleElement1: Precompile,
TupleElement2: Precompile,
TupleElement3: Precompile,
TupleElement4: Precompile,
TupleElement5: Precompile,
TupleElement6: Precompile,
TupleElement7: Precompile,
TupleElement8: Precompile,
impl<TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7> PrecompileSet for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7) where
TupleElement0: Precompile,
TupleElement1: Precompile,
TupleElement2: Precompile,
TupleElement3: Precompile,
TupleElement4: Precompile,
TupleElement5: Precompile,
TupleElement6: Precompile,
TupleElement7: Precompile,
impl<TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14> PrecompileSet for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14) where
TupleElement0: Precompile,
TupleElement1: Precompile,
TupleElement2: Precompile,
TupleElement3: Precompile,
TupleElement4: Precompile,
TupleElement5: Precompile,
TupleElement6: Precompile,
TupleElement7: Precompile,
TupleElement8: Precompile,
TupleElement9: Precompile,
TupleElement10: Precompile,
TupleElement11: Precompile,
TupleElement12: Precompile,
TupleElement13: Precompile,
TupleElement14: Precompile,
impl<TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6> PrecompileSet for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6) where
TupleElement0: Precompile,
TupleElement1: Precompile,
TupleElement2: Precompile,
TupleElement3: Precompile,
TupleElement4: Precompile,
TupleElement5: Precompile,
TupleElement6: Precompile,
impl<TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12> PrecompileSet for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12) where
TupleElement0: Precompile,
TupleElement1: Precompile,
TupleElement2: Precompile,
TupleElement3: Precompile,
TupleElement4: Precompile,
TupleElement5: Precompile,
TupleElement6: Precompile,
TupleElement7: Precompile,
TupleElement8: Precompile,
TupleElement9: Precompile,
TupleElement10: Precompile,
TupleElement11: Precompile,
TupleElement12: Precompile,
impl<TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15> PrecompileSet for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15) where
TupleElement0: Precompile,
TupleElement1: Precompile,
TupleElement2: Precompile,
TupleElement3: Precompile,
TupleElement4: Precompile,
TupleElement5: Precompile,
TupleElement6: Precompile,
TupleElement7: Precompile,
TupleElement8: Precompile,
TupleElement9: Precompile,
TupleElement10: Precompile,
TupleElement11: Precompile,
TupleElement12: Precompile,
TupleElement13: Precompile,
TupleElement14: Precompile,
TupleElement15: Precompile,
impl<TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10> PrecompileSet for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10) where
TupleElement0: Precompile,
TupleElement1: Precompile,
TupleElement2: Precompile,
TupleElement3: Precompile,
TupleElement4: Precompile,
TupleElement5: Precompile,
TupleElement6: Precompile,
TupleElement7: Precompile,
TupleElement8: Precompile,
TupleElement9: Precompile,
TupleElement10: Precompile,
impl<TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5> PrecompileSet for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5) where
TupleElement0: Precompile,
TupleElement1: Precompile,
TupleElement2: Precompile,
TupleElement3: Precompile,
TupleElement4: Precompile,
TupleElement5: Precompile,
impl<TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9> PrecompileSet for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9) where
TupleElement0: Precompile,
TupleElement1: Precompile,
TupleElement2: Precompile,
TupleElement3: Precompile,
TupleElement4: Precompile,
TupleElement5: Precompile,
TupleElement6: Precompile,
TupleElement7: Precompile,
TupleElement8: Precompile,
TupleElement9: Precompile,
impl<TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11> PrecompileSet for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11) where
TupleElement0: Precompile,
TupleElement1: Precompile,
TupleElement2: Precompile,
TupleElement3: Precompile,
TupleElement4: Precompile,
TupleElement5: Precompile,
TupleElement6: Precompile,
TupleElement7: Precompile,
TupleElement8: Precompile,
TupleElement9: Precompile,
TupleElement10: Precompile,
TupleElement11: Precompile,
impl<TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4> PrecompileSet for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4) where
TupleElement0: Precompile,
TupleElement1: Precompile,
TupleElement2: Precompile,
TupleElement3: Precompile,
TupleElement4: Precompile,