Skip to content

Commit 05c2262

Browse files
committed
fix(ui): ensure feature key maps to correct RequiredFeatures entry in currentWalletVersionNotSupported
1 parent 13d22bc commit 05c2262

File tree

3 files changed

+18
-6
lines changed

3 files changed

+18
-6
lines changed

packages/sdk/src/utils/feature-support.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,9 @@ export function checkRequiredWalletFeatures(
160160
return false;
161161
}
162162

163-
return feature.versions.v2;
163+
if (!feature.versions.v2) {
164+
return false;
165+
}
164166
}
165167

166168
return true;

packages/ui/src/app/views/modals/wallets-modal/feature-not-supoprt-modal/index.tsx

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ import {
3030
Link,
3131
LinkIcon
3232
} from 'src/app/components';
33-
import { checkRequiredWalletFeatures, Wallet } from '@tonconnect/sdk';
33+
import { checkRequiredWalletFeatures, RequiredFeatures, Wallet } from '@tonconnect/sdk';
3434
import { RestoreInfoModal } from './restore-info-modal';
3535
import { ChooseSupportedFeatureWalletsModal } from 'src/models/wallets-modal';
3636
import { Translation } from 'src/app/components/typography/Translation';
@@ -90,9 +90,16 @@ export const DesktopFeatureNotSupportModal: Component<
9090
}
9191

9292
const requiredFeature = props.walletsModalState.requiredFeature;
93-
const requiredFeatures = requiredFeature
94-
? { [requiredFeature.featureName]: requiredFeature.value }
95-
: {};
93+
94+
const featureNameInCamelCase = requiredFeature
95+
? ((requiredFeature.featureName.charAt(0).toLowerCase() +
96+
requiredFeature.featureName.slice(1)) as keyof RequiredFeatures)
97+
: undefined;
98+
99+
const requiredFeatures: RequiredFeatures =
100+
featureNameInCamelCase !== undefined
101+
? { [featureNameInCamelCase]: requiredFeature!.value }
102+
: {};
96103

97104
const validInList = checkRequiredWalletFeatures(
98105
currentWalletUIVar.features,

packages/ui/src/models/wallets-modal.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,10 @@ export type ChooseSupportedFeatureWalletsModal = {
6666
type: 'wallet-not-support-feature';
6767
requiredFeature: {
6868
featureName: FeatureName;
69-
value?: RequiredFeatures['sendTransaction'];
69+
value?:
70+
| RequiredFeatures['sendTransaction']
71+
| RequiredFeatures['signData']
72+
| RequiredFeatures['subscription'];
7073
};
7174
};
7275

0 commit comments

Comments
 (0)