From d42bcbde80925a4329c2637cd6676e992e55074f Mon Sep 17 00:00:00 2001 From: DMY <147dmy@gmail.com> Date: Tue, 2 Sep 2025 22:48:13 +0800 Subject: [PATCH] fix: conflict between session and speedup/cancel (#3145) --- src/background/controller/provider/controller.ts | 11 ++++++----- src/ui/utils/sendTransaction.ts | 8 +++++++- src/ui/views/Approval/components/MiniSignTx/index.tsx | 2 +- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/background/controller/provider/controller.ts b/src/background/controller/provider/controller.ts index f65a0c1fe..d85017181 100644 --- a/src/background/controller/provider/controller.ts +++ b/src/background/controller/provider/controller.ts @@ -511,11 +511,12 @@ class ProviderController extends BaseController { console.log(e); } } - const chain = permissionService.isInternalOrigin(origin) - ? (findChain({ - id: approvalRes.chainId, - })?.enum as CHAINS_ENUM) - : permissionService.getConnectedSite(origin)!.chain; + const chain = + permissionService.isInternalOrigin(origin) || isSpeedUp || isCancel + ? (findChain({ + id: approvalRes.chainId, + })?.enum as CHAINS_ENUM) + : permissionService.getConnectedSite(origin)!.chain; const approvingTx = transactionHistoryService.getSigningTx(signingTxId!); diff --git a/src/ui/utils/sendTransaction.ts b/src/ui/utils/sendTransaction.ts index d0e096382..e89392faf 100644 --- a/src/ui/utils/sendTransaction.ts +++ b/src/ui/utils/sendTransaction.ts @@ -513,7 +513,13 @@ export const sendTransaction = async ({ $ctx: { ga, }, - params: [transaction], + params: [ + { + ...transaction, + isSpeedUp: (tx as any)?.isSpeedUp, + isCancel: (tx as any)?.isCancel, + }, + ], }, session: session || INTERNAL_REQUEST_SESSION, approvalRes: { diff --git a/src/ui/views/Approval/components/MiniSignTx/index.tsx b/src/ui/views/Approval/components/MiniSignTx/index.tsx index 4dba1924b..41abcdae9 100644 --- a/src/ui/views/Approval/components/MiniSignTx/index.tsx +++ b/src/ui/views/Approval/components/MiniSignTx/index.tsx @@ -414,7 +414,7 @@ export const MiniSignTx = ({ task.init( txsResult.map((item) => { return { - tx: item.tx, + tx: { ...item.tx, isSpeedUp, isCancel }, options: { chainServerId: chain.serverId, gasLevel: selectedGas || undefined,