@@ -39,6 +39,7 @@ import com.web3auth.session_manager_android.SessionManager
3939import kotlinx.coroutines.CoroutineScope
4040import kotlinx.coroutines.Dispatchers
4141import kotlinx.coroutines.launch
42+ import org.json.JSONArray
4243import org.json.JSONObject
4344import org.torusresearch.fetchnodedetails.FetchNodeDetails
4445import org.torusresearch.fetchnodedetails.types.NodeDetails
@@ -731,17 +732,25 @@ class Web3Auth(web3AuthOptions: Web3AuthOptions, context: Context) : WebViewResu
731732 if (savedSessionId.isNotBlank()) {
732733 val sdkUrl = Uri .parse(web3AuthOption.walletSdkUrl)
733734
734- val initOptions = JSONObject (gson.toJson(web3AuthOption))
735-
736735 // If chains are not present in project config, throw an error
737736 if (projectConfigResponse?.chains == null ) {
738737 throw Exception (Web3AuthError .getError(ErrorCode .PROJECT_CONFIG_NOT_FOUND_ERROR ))
739738 }
740-
741- initOptions.put(
742- " chains" , gson.toJson(projectConfigResponse?.chains)
743- )
744- initOptions.put(" chainId" , web3AuthOption.defaultChainId)
739+ val initOptions = JSONObject (gson.toJson(web3AuthOption)).apply {
740+ put(" network" , web3AuthOption.web3AuthNetwork.toString().lowercase(Locale .ROOT ))
741+ projectConfigResponse?.chains?.let {
742+ put(" chains" , gson.toJson(it))
743+ }
744+ web3AuthOption.defaultChainId?.let {
745+ put(" chainId" , it)
746+ }
747+ projectConfigResponse?.embeddedWalletAuth?.let {
748+ put(" embeddedWalletAuth" , JSONArray (gson.toJson(it)))
749+ }
750+ projectConfigResponse?.smartAccounts?.let {
751+ put(" smartAccounts" , JSONObject (gson.toJson(it)))
752+ }
753+ }
745754
746755 val paramMap = JSONObject ()
747756 paramMap.put(
@@ -801,24 +810,29 @@ class Web3Auth(web3AuthOptions: Web3AuthOptions, context: Context) : WebViewResu
801810 val sessionId = SessionManager .getSessionIdFromStorage()
802811 if (sessionId.isNotBlank()) {
803812 val sdkUrl = Uri .parse(web3AuthOption.walletSdkUrl)
804- val initOptions = JSONObject (gson.toJson(web3AuthOption))
805813
806814 // If chains are not present in project config, throw an error
807815 if (projectConfigResponse?.chains == null ) {
808816 throw Exception (Web3AuthError .getError(ErrorCode .PROJECT_CONFIG_NOT_FOUND_ERROR ))
809817 }
810818
811- initOptions.put(
812- " chains" , gson.toJson(projectConfigResponse?.chains)
813- )
814- initOptions.put(" chainId" , web3AuthOption.defaultChainId)
815- initOptions.put(
816- " smartAccounts" , JSONObject (gson.toJson(projectConfigResponse?.smartAccounts))
817- )
818- initOptions.put(
819- " embeddedWalletAuth" ,
820- JSONObject (gson.toJson(projectConfigResponse?.embeddedWalletAuth))
821- )
819+ val initOptions = JSONObject (gson.toJson(web3AuthOption))
820+ initOptions.apply {
821+ put(" network" , web3AuthOption.web3AuthNetwork.toString().lowercase(Locale .ROOT ))
822+ projectConfigResponse?.chains?.let {
823+ put(" chains" , gson.toJson(it))
824+ }
825+ web3AuthOption.defaultChainId?.let {
826+ put(" chainId" , it)
827+ }
828+ projectConfigResponse?.embeddedWalletAuth?.let {
829+ initOptions.put(" embeddedWalletAuth" , JSONArray (gson.toJson(it)))
830+ }
831+ projectConfigResponse?.smartAccounts?.let {
832+ put(" smartAccounts" , JSONObject (gson.toJson(it)))
833+ }
834+ }
835+
822836 val paramMap = JSONObject ()
823837 paramMap.put(
824838 " options" , initOptions
0 commit comments