Skip to content

Commit 8ca12ac

Browse files
authored
fix: earn protocol detail crash OK-32584 (#5904)
1 parent 83ff1ff commit 8ca12ac

File tree

2 files changed

+32
-7
lines changed

2 files changed

+32
-7
lines changed

packages/kit-bg/src/services/ServiceStaking.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -755,6 +755,21 @@ class ServiceStaking extends ServiceBase {
755755
});
756756
return resp.data.data.list;
757757
}
758+
759+
@backgroundMethod()
760+
async buildEarnTx({
761+
accountId,
762+
networkId,
763+
tx,
764+
}: {
765+
accountId: string;
766+
networkId: string;
767+
tx: IStakeTxResponse;
768+
}) {
769+
const vault = await vaultFactory.getVault({ networkId, accountId });
770+
const encodedTx = await vault.buildStakeEncodedTx(tx as any);
771+
return encodedTx;
772+
}
758773
}
759774

760775
export default ServiceStaking;

packages/kit/src/views/Staking/hooks/useUniversalHooks.ts

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import { useCallback } from 'react';
22

33
import backgroundApiProxy from '@onekeyhq/kit/src/background/instance/backgroundApiProxy';
44
import { useSendConfirm } from '@onekeyhq/kit/src/hooks/useSendConfirm';
5-
import { vaultFactory } from '@onekeyhq/kit-bg/src/vaults/factory';
65
import { type IModalSendParamList } from '@onekeyhq/shared/src/routes';
76
import networkUtils from '@onekeyhq/shared/src/utils/networkUtils';
87
import { EAccountSelectorSceneName } from '@onekeyhq/shared/types';
@@ -47,8 +46,13 @@ export function useUniversalStake({
4746
term,
4847
provider,
4948
});
50-
const vault = await vaultFactory.getVault({ networkId, accountId });
51-
const encodedTx = await vault.buildStakeEncodedTx(stakeTx);
49+
50+
const encodedTx = await backgroundApiProxy.serviceStaking.buildEarnTx({
51+
networkId,
52+
accountId,
53+
tx: stakeTx,
54+
});
55+
5256
let useFeeInTx;
5357
let feeInfoEditable;
5458
if (networkUtils.isBTCNetwork(networkId)) {
@@ -153,8 +157,11 @@ export function useUniversalWithdraw({
153157
provider,
154158
});
155159
}
156-
const vault = await vaultFactory.getVault({ networkId, accountId });
157-
const encodedTx = await vault.buildStakeEncodedTx(stakeTx as any);
160+
const encodedTx = await backgroundApiProxy.serviceStaking.buildEarnTx({
161+
networkId,
162+
accountId,
163+
tx: stakeTx,
164+
});
158165
await navigationToSendConfirm({
159166
encodedTx,
160167
stakingInfo,
@@ -219,8 +226,11 @@ export function useUniversalClaim({
219226
amount,
220227
identity,
221228
});
222-
const vault = await vaultFactory.getVault({ networkId, accountId });
223-
const encodedTx = await vault.buildStakeEncodedTx(stakeTx as any);
229+
const encodedTx = await backgroundApiProxy.serviceStaking.buildEarnTx({
230+
networkId,
231+
accountId,
232+
tx: stakeTx,
233+
});
224234
await navigationToSendConfirm({
225235
encodedTx,
226236
stakingInfo,

0 commit comments

Comments
 (0)