            self
                .emit(
                    CrossChainMsg {
                        cross_chain_settlement_id: cross_chain_settlement_id,
                        from_address: get_tx_info().unbox().account_contract_address,
                        from_chain: from_chain,
                        to_chain: to_chain,
                        from_handler: from_handler,
                        to_handler: to_handler,
                        payload_type: payload_type,
                        payload: payload
                    }
                );
            // Send the cross-chain message
            settlement.send_cross_chain_msg(
                to_chain,
                msg.sender,
                to_handler,
                PayloadType.ERC20,
                cross_chain_msg_bytes
            );
    function send_cross_chain_msg(
        string memory to_chain,
        address from_address,
        uint256 to_handler,
        PayloadType payload_type,
        bytes calldata payload
    ) external {
        //.....
        emit CrossChainMsg(
            txid,
            from_address,
            contract_chain_name,
            to_chain,
            from_handler,
            to_handler,
            payload_type,
            payload
        );
    }
   // This is Bob's contract
   // When Alice transfers NFT to Bob's contract, this function is called.
       fn on_erc721_received(
           self: @ComponentState<TContractState>,
           operator: ContractAddress,
           from: ContractAddress,
           token_id: u256,
           data: Span<felt252>
       ) -> felt252 {
           // Calling `handler_erc20::cross_chain_erc20_settlement`
           //.....
       }
    // This is the target contract
    // This function is called by StarknetOS
    #[l1_handler]
    fn msg_handler_felt(ref self: ContractState, from_address: felt252, my_felt: felt252) {
        // Calling get_caller_address() here returns zero
        // Calling `handler_erc20::cross_chain_erc20_settlement`
        //.....
    }
