From c14469ca0a1b9346389f71d64767df4f757234bb Mon Sep 17 00:00:00 2001 From: Mpendulo Ndlovu Date: Fri, 13 Oct 2023 13:30:22 +0200 Subject: [PATCH] Accounts handling --- .../androidsdk/CommunicationClient.kt | 9 +------ .../java/io/metamask/androidsdk/Ethereum.kt | 25 ++----------------- .../java/io/metamask/androidsdk/SDKInfo.kt | 2 +- 3 files changed, 4 insertions(+), 32 deletions(-) diff --git a/metamask-android-sdk/src/main/java/io/metamask/androidsdk/CommunicationClient.kt b/metamask-android-sdk/src/main/java/io/metamask/androidsdk/CommunicationClient.kt index 2b0f5f53..e6b73fc0 100644 --- a/metamask-android-sdk/src/main/java/io/metamask/androidsdk/CommunicationClient.kt +++ b/metamask-android-sdk/src/main/java/io/metamask/androidsdk/CommunicationClient.kt @@ -118,7 +118,6 @@ internal class CommunicationClient(context: Context, callback: EthereumEventCall private fun handleMessage(message: String) { val jsonString = keyExchange.decrypt(message) - Logger.log("CommunicationClient:: Got message: $jsonString") val json = JSONObject(jsonString) when (json.optString(MessageType.TYPE.value)) { @@ -140,7 +139,6 @@ internal class CommunicationClient(context: Context, callback: EthereumEventCall val data = json.optString(MessageType.DATA.value) if (data.isNotEmpty()) { - Logger.log("CommunicationClient:: Received data $json") val dataJson = JSONObject(data) val id = dataJson.optString(MessageType.ID.value) @@ -150,7 +148,6 @@ internal class CommunicationClient(context: Context, callback: EthereumEventCall handleError(dataJson.optString(MessageType.ERROR.value), "") sentOriginatorInfo = false // connection request rejected } else { - Logger.log("CommunicationClient:: Received event $json") handleEvent(dataJson) } } else { @@ -184,7 +181,6 @@ internal class CommunicationClient(context: Context, callback: EthereumEventCall } private fun handleResponse(id: String, data: JSONObject) { - Logger.log("CommunicationClient:: handleResponse $data") val error = data.optString("error") if (handleError(error, id)) { @@ -192,7 +188,7 @@ internal class CommunicationClient(context: Context, callback: EthereumEventCall } val request = submittedRequests[id]?.request - Logger.log("CommunicationClient:: Response for request ${request?.method}") + Logger.log("CommunicationClient:: Response for rpc request ${request?.method}") val isResultMethod = EthereumMethod.isResultMethod(request?.method ?: "") if (!isResultMethod) { @@ -314,7 +310,6 @@ internal class CommunicationClient(context: Context, callback: EthereumEventCall EthereumMethod.METAMASK_ACCOUNTS_CHANGED.value -> { val accountsJson = event.optString("params") val accounts: List = Gson().fromJson(accountsJson, object : TypeToken>() {}.type) - accounts.getOrNull(0)?.let { account -> updateAccount(account) } @@ -334,13 +329,11 @@ internal class CommunicationClient(context: Context, callback: EthereumEventCall } private fun updateAccount(account: String) { - Logger.log("CommunicationClient:: Received account changed event: $account") val callback = ethereumEventCallbackRef.get() callback?.updateAccount(account) } private fun updateChainId(chainId: String) { - Logger.log("CommunicationClient:: Received chain changed event: $chainId") val callback = ethereumEventCallbackRef.get() callback?.updateChainId(chainId) } diff --git a/metamask-android-sdk/src/main/java/io/metamask/androidsdk/Ethereum.kt b/metamask-android-sdk/src/main/java/io/metamask/androidsdk/Ethereum.kt index 9eab4811..a35e0205 100644 --- a/metamask-android-sdk/src/main/java/io/metamask/androidsdk/Ethereum.kt +++ b/metamask-android-sdk/src/main/java/io/metamask/androidsdk/Ethereum.kt @@ -42,7 +42,7 @@ class Ethereum @Inject constructor (private val repository: ApplicationRepositor private var sessionDuration: Long = DEFAULT_SESSION_DURATION override fun updateAccount(account: String) { - Logger.log("Ethereum:: Selected account changed") + Logger.log("Ethereum:: Selected account changed: $account") _ethereumState.postValue( _ethereumState.value?.copy( selectedAddress = account @@ -114,30 +114,9 @@ class Ethereum @Inject constructor (private val repository: ApplicationRepositor private fun requestAccounts(callback: ((Any?) -> Unit)? = null) { Logger.log("Ethereum:: Requesting ethereum accounts") - val providerStateRequest = EthereumRequest( - UUID.randomUUID().toString(), - EthereumMethod.GET_METAMASK_PROVIDER_STATE.value, - "" - ) - sendRequest(providerStateRequest) { result -> - if (result is RequestError) { - Logger.error("Ethereum:: Provider Connection request failed ${result.message}") - communicationClient?.trackEvent(Event.SDK_CONNECTION_FAILED, null) - - if (result.code == ErrorType.USER_REJECTED_REQUEST.code) { - Logger.error("Ethereum:: Provider Connection request rejected") - communicationClient?.trackEvent(Event.SDK_CONNECTION_REJECTED, null) - } - } else { - communicationClient?.trackEvent(Event.SDK_CONNECTION_AUTHORIZED, null) - updateSessionDuration() - } - } - val accountsRequest = EthereumRequest( UUID.randomUUID().toString(), - EthereumMethod.ETH_REQUEST_ACCOUNTS.value, - "" + EthereumMethod.ETH_REQUEST_ACCOUNTS.value ) sendRequest(accountsRequest) { result -> if (result is RequestError) { diff --git a/metamask-android-sdk/src/main/java/io/metamask/androidsdk/SDKInfo.kt b/metamask-android-sdk/src/main/java/io/metamask/androidsdk/SDKInfo.kt index a44acf9f..c17f4b09 100644 --- a/metamask-android-sdk/src/main/java/io/metamask/androidsdk/SDKInfo.kt +++ b/metamask-android-sdk/src/main/java/io/metamask/androidsdk/SDKInfo.kt @@ -1,6 +1,6 @@ package io.metamask.androidsdk object SDKInfo { - const val VERSION = "0.1.0" + const val VERSION = "0.2.0" const val PLATFORM = "android" } \ No newline at end of file