# Android SDK - v7.1.2 to v7.2

> Android SDK - v7.1.2 to v7.2 | Embedded Wallets

# Migration guide from v7.1.2 to v7.2 for Embedded Wallets Android SDK

## Overview

This migration guide provides steps for upgrading from version 7.1.2(v7.1.2) to version 7.2(v7.2) of the Embedded Wallets Android SDK. The guide outlines significant changes and enhancements, including the introduction of new login providers, and `launchWalletServices` updates.

## Changes in detail

### `launchWalletServices` method updates

From v7.2, the `loginParams` is removed from the `launchWalletServices` method. Developers only need to pass the `chainConfig` as the required parameter.

#### Before (v7.1.2)

```kotlin title="Usage"
// focus-start
val launchWalletCompletableFuture = web3Auth.launchWalletServices(
    loginParams = LoginParams(
        selectedLoginProvider,
        extraLoginOptions = null,
        mfaLevel = MFALevel.NONE,
    ),

    chainConfig = ChainConfig(
        chainId = "0x1",
        rpcTarget = "https://mainnet.infura.io/v3/$key",
        ticker = "ETH",
        chainNamespace = ChainNamespace.EIP155
    )
)
// focus-end

launchWalletCompletableFuture.whenComplete { _, error ->
    if (error == null) {
        Log.d("MainActivity_Web3Auth", "Wallet launched successfully")
    } else {
        Log.d("MainActivity_Web3Auth", error.message ?: "Something went wrong")
    }
}
```

#### After (v7.2)

```kotlin title="Usage"

// focus-start
val launchWalletCompletableFuture = web3Auth.launchWalletServices(
    chainConfig = ChainConfig(
        chainId = "0x1",
        rpcTarget = "https://mainnet.infura.io/v3/$key",
        ticker = "ETH",
        chainNamespace = ChainNamespace.EIP155
    )
)
// focus-end

launchWalletCompletableFuture.whenComplete { _, error ->
    if (error == null) {
        Log.d("MainActivity_Web3Auth", "Wallet launched successfully")
    } else {
        Log.d("MainActivity_Web3Auth", error.message ?: "Something went wrong")
    }
}
```

### New Login providers

v4 update brings two new providers. Now developers can use the SMS Passwordless and Farcaster login options.

#### SMS Passwordless

```kotlin

val web3Auth = Web3Auth(
  Web3AuthOptions(
    context = this,
    clientId = "YOUR_WEB3AUTH_CLIENT_ID", // Pass your Web3Auth Client ID, ideally using an environment variable
    network = Network.MAINNET,
    redirectUrl = Uri.parse("{YOUR_APP_PACKAGE_NAME}://auth"),
  )
)

// focus-start
val loginCompletableFuture: CompletableFuture<Web3AuthResponse> = web3Auth.login(
  LoginParams(
    Provider.SMS_PASSWORDLESS,
    extraLoginOptions = ExtraLoginOptions(login_hint = "+91-9911223344")
  )
)
// focus-end

```

#### Farcaster

```kotlin title="Usage"
val loginCompletableFuture: CompletableFuture<Web3AuthResponse> = web3Auth.login(
  LoginParams(
    // focus-next-line
    Provider.farcaster,
  )
)
```
