/// Creates context for the `make_child_call` invocation.
///
/// `fallthrough_auth` defines the rules of the caller authority for child calls:
///
/// - `true` means that caller does not authorize the request; caller field for child calls
///   will not be changed.
/// - `false` value means that caller authorizes themselves as initiator of child call;
///   caller field will be changed to the initiator of this call.
Creates context for the `make_child_call` invocation.
`fallthrough_auth` defines the rules of the caller authority for child calls.

`true` means that caller does not authorize the request; caller field for child calls
will not be changed.
`false` value means that caller authorizes themselves as initiator of child call;
caller field will be changed to the initiator of this call.
Creates context for the ` make_child_call ` invocation . ` fallthrough_auth ` defines the rules of the caller authority for child calls . ` true ` means that caller does not authorize the request ; caller field for child calls will not be changed . ` false ` value means that caller authorizes themselves as initiator of child call ; caller field will be changed to the initiator of this call .
fn child_context<'s>(
        &'s mut self,
        interface_name: &'s str,
        instance: InstanceDescriptor,
        fallthrough_auth: bool,
    ) -> ExecutionContext<'s> {
        if *self.has_child_call_error {
            panic!(ACCESS_ERROR_STR);
        }
        let caller = if fallthrough_auth {
            self.caller.clone()
        } else {
            Caller::Service {
                instance_id: self.instance.id,
            }
        };
        ExecutionContext {
            caller,
            transaction_hash: self.transaction_hash,
            dispatcher: self.dispatcher,
            instance,
            fork: &mut *self.fork,
            interface_name,
            call_stack_depth: self.call_stack_depth + 1,
            has_child_call_error: self.has_child_call_error,
        }
    }
fn child_context < ' s > ( & ' s mut self , interface_name : & ' s str , instance : InstanceDescriptor , fallthrough_auth : bool , ) -> ExecutionContext < ' s > { if * self . has_child_call_error { panic ! ( ACCESS_ERROR_STR ) ; } let caller = if fallthrough_auth { self . caller . clone ( ) } else { Caller :: Service { instance_id : self . instance . id , } } ; ExecutionContext { caller , transaction_hash : self . transaction_hash , dispatcher : self . dispatcher , instance , fork : & mut * self . fork , interface_name , call_stack_depth : self . call_stack_depth + 1 , has_child_call_error : self . has_child_call_error , } }
Creates context for the `make_child_call` invocation.
Creates context for the ` make_child_call ` invocation .
&'s mut self
interface_name
&'s str
instance
InstanceDescriptor
fallthrough_auth
bool