Skip to content

Commit eda6519

Browse files
committed
feat: showWalletUI and request function updates
Signed-off-by: Gaurav Goel <[email protected]>
1 parent 6f684ac commit eda6519

File tree

1 file changed

+33
-19
lines changed

1 file changed

+33
-19
lines changed

core/src/main/java/com/web3auth/core/Web3Auth.kt

Lines changed: 33 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ import com.web3auth.session_manager_android.SessionManager
3939
import kotlinx.coroutines.CoroutineScope
4040
import kotlinx.coroutines.Dispatchers
4141
import kotlinx.coroutines.launch
42+
import org.json.JSONArray
4243
import org.json.JSONObject
4344
import org.torusresearch.fetchnodedetails.FetchNodeDetails
4445
import 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

Comments
 (0)