From a266c10173317b9d197eb8e2a2e83521f2474f40 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 18 Mar 2026 19:31:55 +0000 Subject: [PATCH 1/2] Initial plan From fa3ca592d4b5d4b8fd70294a183efbfc69e0455a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 18 Mar 2026 19:34:00 +0000 Subject: [PATCH 2/2] Fix: catch Exception instead of Throwable in all suspend APIs to preserve coroutine cancellation Co-authored-by: mocolicious <6373607+mocolicious@users.noreply.github.com> --- .../main/java/com/altude/gasstation/Altude.kt | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/gasstation/src/main/java/com/altude/gasstation/Altude.kt b/gasstation/src/main/java/com/altude/gasstation/Altude.kt index 934dd0e..b0e3cc3 100644 --- a/gasstation/src/main/java/com/altude/gasstation/Altude.kt +++ b/gasstation/src/main/java/com/altude/gasstation/Altude.kt @@ -114,7 +114,7 @@ object Altude { val res = service.sendTransaction(request).await() Result.success(deCodeJson(res)) - } catch (e: Throwable) { + } catch (e: Exception) { Result.failure(Exception(e.message ?: e.javaClass.simpleName, e)) } } @@ -135,7 +135,7 @@ object Altude { val res = service.sendBatchTransaction(request).await() Result.success(deCodeJson(res)) - } catch (e: Throwable) { + } catch (e: Exception) { return@withContext Result.failure(Exception(e.message ?: e.javaClass.simpleName, e)) } } @@ -156,7 +156,7 @@ object Altude { val res = service.createAccount(request).await() Result.success(deCodeJson(res)) - } catch (e: Throwable) { + } catch (e: Exception) { return@withContext Result.failure(Exception(e.message ?: e.javaClass.simpleName, e)) } } @@ -176,7 +176,7 @@ object Altude { val res = service.closeAccount(request).await() Result.success(deCodeJson(res)) - } catch (e: Throwable) { + } catch (e: Exception) { return@withContext Result.failure(Exception(e.message ?: e.javaClass.simpleName, e)) } } @@ -200,7 +200,7 @@ object Altude { closeAccount(CloseAccountOption(options.account, listOf(Token.SOL.mint(), options.inputMint).distinct()), signer).getOrNull() Result.success(deCodeJson(res)) - } catch (e: Throwable) { + } catch (e: Exception) { return@withContext Result.failure(Exception(e.message ?: e.javaClass.simpleName, e)) } } @@ -222,7 +222,7 @@ object Altude { val res = service.swapTransaction(request).await() Result.success(deCodeJson(res)) - } catch (e: Throwable) { + } catch (e: Exception) { return@withContext Result.failure(Exception(e.message ?: e.javaClass.simpleName, e)) } } @@ -237,7 +237,7 @@ object Altude { if (result.isFailure) return@withContext Result.failure(result.exceptionOrNull()!!) Result.success(result.getOrThrow()) - } catch (e: Throwable) { + } catch (e: Exception) { return@withContext Result.failure(Exception(e.message ?: e.javaClass.simpleName, e)) } } @@ -253,7 +253,7 @@ object Altude { val res = service.getHistory(options.offset.toString(), options.limit.toString(), account).await() Result.success(deCodeJson(res)) - } catch (e: Throwable) { + } catch (e: Exception) { return@withContext Result.failure(Exception(e.message ?: e.javaClass.simpleName, e)) } } @@ -276,7 +276,7 @@ object Altude { val res = service.getBalance(request).await() Result.success(deCodeJson(res)) - } catch (e: Throwable) { + } catch (e: Exception) { return@withContext Result.failure(Exception(e.message ?: e.javaClass.simpleName, e)) } } @@ -291,7 +291,7 @@ object Altude { val res = service.getAccountInfo(request).await() Result.success(deCodeJson(res)) - } catch (e: Throwable) { + } catch (e: Exception) { return@withContext Result.failure(Exception(e.message ?: e.javaClass.simpleName, e)) } } @@ -349,7 +349,7 @@ object Altude { attestationId = schemaId ) ) - } catch (e: Throwable) { + } catch (e: Exception) { Result.failure(Exception(e.message ?: e.javaClass.simpleName, e)) } } @@ -415,7 +415,7 @@ object Altude { attestationId = attestationId ) ) - } catch (e: Throwable) { + } catch (e: Exception) { Result.failure(Exception(e.message ?: e.javaClass.simpleName, e)) } } @@ -458,7 +458,7 @@ object Altude { Signature = txResponse.Signature ) ) - } catch (e: Throwable) { + } catch (e: Exception) { Result.failure(Exception(e.message ?: e.javaClass.simpleName, e)) } }