pub struct CallFlags { /* private fields */ }
Expand description
The flags used to change the behavior of a contract call.
Implementations
Forwards the input for the current function to the callee.
Note
A forwarding call will consume the current contracts input. Any attempt to
access the input after this call returns (e.g. by trying another forwarding call)
will lead to a contract revert.
Consider using Self::set_clone_input
in order to preserve the input.
Identical to Self::set_forward_input
but without consuming the input.
This adds some additional weight costs to the call.
Note
This implies Self::set_forward_input
and takes precedence when both are set.
Do not return from the call but rather return the result of the callee to the callers caller.
Note
This makes the current contract completely transparent to its caller by replacing this contracts potential output with the callee ones. Any code after the contract calls has been invoked can be safely considered unreachable.
Allow the callee to reenter into the current contract.
Without this flag any reentrancy into the current contract that originates from the callee (or any of its callees) is denied. This includes the first callee: You cannot call into yourself with this flag set.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for CallFlags
impl UnwindSafe for CallFlags
Blanket Implementations
Mutably borrows from an owned value. Read more