From 2b26520c7aaae14cb09b3627f0ca2285b3841dbd Mon Sep 17 00:00:00 2001 From: Nikita Kuznetsov Date: Mon, 8 Jul 2024 14:19:30 +0200 Subject: [PATCH 1/2] Support wallet v5r1 --- apps/extension/package.json | 2 +- apps/twa/package.json | 2 +- packages/core/package.json | 4 +-- packages/core/src/entries/wallet.ts | 30 ++++++++----------- packages/core/src/service/signerService.ts | 7 +++-- packages/core/src/service/transfer/common.ts | 14 ++------- .../src/service/transfer/multiSendService.ts | 3 +- .../src/service/wallet/contractService.ts | 11 +++++-- packages/core/src/service/walletService.ts | 11 ++++--- packages/uikit/package.json | 4 +-- .../desktop/multi-send/MultiSendTable.tsx | 23 +++++--------- packages/uikit/src/pages/settings/Dev.tsx | 24 +-------------- packages/uikit/src/pages/settings/Version.tsx | 20 +++---------- packages/uikit/src/state/experemental.ts | 21 ------------- yarn.lock | 26 ++++++++-------- 15 files changed, 67 insertions(+), 135 deletions(-) delete mode 100644 packages/uikit/src/state/experemental.ts diff --git a/apps/extension/package.json b/apps/extension/package.json index d8ce448f0..5e9b3f285 100644 --- a/apps/extension/package.json +++ b/apps/extension/package.json @@ -31,7 +31,7 @@ "@testing-library/user-event": "^13.5.0", "@types/fs-extra": "^11.0.4", "@types/jest": "^27.5.2", - "@types/node": "^16.18.6", + "@types/node": "^20.10.3", "@types/react": "^18.0.26", "@types/react-dom": "^18.0.9", "@types/react-is": "^18", diff --git a/apps/twa/package.json b/apps/twa/package.json index 124e14651..f05f1a455 100644 --- a/apps/twa/package.json +++ b/apps/twa/package.json @@ -32,7 +32,7 @@ "@testing-library/user-event": "^13.5.0", "@types/fs-extra": "^11.0.1", "@types/jest": "^27.5.2", - "@types/node": "^16.18.6", + "@types/node": "^20.10.3", "@types/react": "^18.0.26", "@types/react-dom": "^18.0.9", "@types/react-transition-group": "^4.4.5", diff --git a/packages/core/package.json b/packages/core/package.json index 83268a32e..df8504284 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -24,9 +24,9 @@ "@ledgerhq/hw-transport-webhid": "^6.28.6", "@ledgerhq/hw-transport-webusb": "^6.28.6", "@ton-community/ton-ledger": "^7.0.1", - "@ton/core": "0.54.0", + "@ton/core": "0.56.0", "@ton/crypto": "3.2.0", - "@ton/ton": "https://github.com/tonkeeper/tonkeeper-ton#build9", + "@ton/ton": "https://github.com/tonkeeper/tonkeeper-ton#build10", "bignumber.js": "^9.1.1", "ethers": "^6.6.5", "query-string": "^8.1.0", diff --git a/packages/core/src/entries/wallet.ts b/packages/core/src/entries/wallet.ts index 8830246f8..72aa9203a 100644 --- a/packages/core/src/entries/wallet.ts +++ b/packages/core/src/entries/wallet.ts @@ -8,10 +8,17 @@ export enum WalletVersion { V3R2 = 1, V4R1 = 2, V4R2 = 3, - W5 = 4 + V5beta = 4, + V5R1 = 5 } -export const WalletVersions = [WalletVersion.V3R1, WalletVersion.V3R2, WalletVersion.V4R2]; +export const WalletVersions = [ + WalletVersion.V3R1, + WalletVersion.V3R2, + WalletVersion.V4R2, + WalletVersion.V5beta, + WalletVersion.V5R1 +]; export const walletVersionText = (version: WalletVersion) => { switch (version) { @@ -21,28 +28,15 @@ export const walletVersionText = (version: WalletVersion) => { return 'v3R2'; case WalletVersion.V4R2: return 'v4R2'; - case WalletVersion.W5: + case WalletVersion.V5beta: + return 'W5 beta'; + case WalletVersion.V5R1: return 'W5'; default: return String(version); } }; -export const walletVersionFromText = (value: string) => { - switch (value) { - case 'v3R1': - return WalletVersion.V3R1; - case 'v3R2': - return WalletVersion.V3R2; - case 'v4R2': - return WalletVersion.V4R2; - case 'W5': - return WalletVersion.W5; - default: - throw new Error('Unsupported version'); - } -}; - export interface WalletAddress { friendlyAddress: string; rawAddress: string; diff --git a/packages/core/src/service/signerService.ts b/packages/core/src/service/signerService.ts index 34599ca46..c685b87e8 100644 --- a/packages/core/src/service/signerService.ts +++ b/packages/core/src/service/signerService.ts @@ -34,7 +34,7 @@ const walletVersionText = (version: WalletVersion) => { return 'v3r2'; case WalletVersion.V4R2: return 'v4r2'; - case WalletVersion.W5: + case WalletVersion.V5beta: return 'v5r1'; default: return String(version); @@ -77,7 +77,10 @@ export const publishSignerMessage = async ( const message = Cell.fromBase64(messageBase64).asBuilder(); const transfer = beginCell(); - if (walletState.active.version === WalletVersion.W5) { + if ( + walletState.active.version === WalletVersion.V5beta || + walletState.active.version === WalletVersion.V5R1 + ) { transfer.storeBuilder(message).storeBuffer(signature); } else { transfer.storeBuffer(signature).storeBuilder(message); diff --git a/packages/core/src/service/transfer/common.ts b/packages/core/src/service/transfer/common.ts index 91e509695..f9aedc010 100644 --- a/packages/core/src/service/transfer/common.ts +++ b/packages/core/src/service/transfer/common.ts @@ -9,19 +9,15 @@ import { toNano } from '@ton/core'; import { sign } from '@ton/crypto'; -import { WalletContractV3R1 } from '@ton/ton/dist/wallets/WalletContractV3R1'; -import { WalletContractV3R2 } from '@ton/ton/dist/wallets/WalletContractV3R2'; -import { WalletContractV4 } from '@ton/ton/dist/wallets/WalletContractV4'; -import { WalletContractV5 } from '@ton/ton/dist/wallets/WalletContractV5'; import BigNumber from 'bignumber.js'; import nacl from 'tweetnacl'; import { APIConfig } from '../../entries/apis'; import { TonRecipient, TransferEstimationEvent } from '../../entries/send'; import { BaseSigner } from '../../entries/signer'; import { WalletState } from '../../entries/wallet'; -import { Account, AccountsApi, LiteServerApi, WalletApi } from '../../tonApiV2'; -import { walletContractFromState } from '../wallet/contractService'; import { NotEnoughBalanceError } from '../../errors/NotEnoughBalanceError'; +import { Account, AccountsApi, LiteServerApi, WalletApi } from '../../tonApiV2'; +import { WalletContract, walletContractFromState } from '../wallet/contractService'; export enum SendMode { CARRY_ALL_REMAINING_BALANCE = 128, @@ -32,11 +28,7 @@ export enum SendMode { NONE = 0 } -export const externalMessage = ( - contract: WalletContractV3R1 | WalletContractV3R2 | WalletContractV4 | WalletContractV5, - seqno: number, - body: Cell -) => { +export const externalMessage = (contract: WalletContract, seqno: number, body: Cell) => { return beginCell() .storeWritable( storeMessage( diff --git a/packages/core/src/service/transfer/multiSendService.ts b/packages/core/src/service/transfer/multiSendService.ts index 2f104ca75..b949e4d30 100644 --- a/packages/core/src/service/transfer/multiSendService.ts +++ b/packages/core/src/service/transfer/multiSendService.ts @@ -31,7 +31,8 @@ export type TransferMessage = { }; export const MAX_ALLOWED_WALLET_MSGS = { - [WalletVersion.W5]: 255, + [WalletVersion.V5R1]: 255, + [WalletVersion.V5beta]: 255, [WalletVersion.V4R2]: 4, [WalletVersion.V4R1]: 4, [WalletVersion.V3R2]: 4, diff --git a/packages/core/src/service/wallet/contractService.ts b/packages/core/src/service/wallet/contractService.ts index 3b24dd4df..d1894b867 100644 --- a/packages/core/src/service/wallet/contractService.ts +++ b/packages/core/src/service/wallet/contractService.ts @@ -2,7 +2,8 @@ import { beginCell, storeStateInit } from '@ton/core'; import { WalletContractV3R1 } from '@ton/ton/dist/wallets/WalletContractV3R1'; import { WalletContractV3R2 } from '@ton/ton/dist/wallets/WalletContractV3R2'; import { WalletContractV4 } from '@ton/ton/dist/wallets/WalletContractV4'; -import { WalletContractV5 } from '@ton/ton/dist/wallets/WalletContractV5'; +import { WalletContractV5Beta } from '@ton/ton/dist/wallets/WalletContractV5Beta'; +import { WalletContractV5R1 } from '@ton/ton/dist/wallets/WalletContractV5R1'; import { Network } from '../../entries/network'; import { WalletState, WalletVersion } from '../../entries/wallet'; @@ -13,6 +14,8 @@ export const walletContractFromState = (wallet: WalletState) => { const workchain = 0; +export type WalletContract = ReturnType; + export const walletContract = ( publicKey: Buffer, version: WalletVersion, @@ -27,13 +30,15 @@ export const walletContract = ( throw new Error('Unsupported wallet contract version - v4R1'); case WalletVersion.V4R2: return WalletContractV4.create({ workchain, publicKey }); - case WalletVersion.W5: - return WalletContractV5.create({ + case WalletVersion.V5beta: + return WalletContractV5Beta.create({ walletId: { networkGlobalId: network }, publicKey }); + case WalletVersion.V5R1: + return WalletContractV5R1.create({ workChain: workchain, publicKey }); } }; diff --git a/packages/core/src/service/walletService.ts b/packages/core/src/service/walletService.ts index 3ed77d3b2..2e24c047e 100644 --- a/packages/core/src/service/walletService.ts +++ b/packages/core/src/service/walletService.ts @@ -3,6 +3,7 @@ import { parseTonAccount } from '@keystonehq/keystone-sdk/dist/wallet/hdKey'; import { Address } from '@ton/core'; import { mnemonicToPrivateKey } from '@ton/crypto'; import { WalletContractV4 } from '@ton/ton/dist/wallets/WalletContractV4'; +import { WalletContractV5R1 } from '@ton/ton/dist/wallets/WalletContractV5R1'; import queryString from 'query-string'; import { AppKey } from '../Keys'; import { IStorage } from '../Storage'; @@ -42,7 +43,9 @@ export const encryptWalletMnemonic = async (mnemonic: string[], password: string const versionMap: Record = { wallet_v3r1: WalletVersion.V3R1, wallet_v3r2: WalletVersion.V3R2, - wallet_v4r2: WalletVersion.V4R2 + wallet_v4r2: WalletVersion.V4R2, + wallet_v5_beta: WalletVersion.V5beta, + wallet_v5r1: WalletVersion.V5R1 }; const findWalletVersion = (interfaces?: string[]): WalletVersion => { @@ -86,14 +89,14 @@ const findWalletAddress = async (api: APIConfig, publicKey: string) => { console.warn(e); } - const contact = WalletContractV4.create({ - workchain: 0, + const contact = WalletContractV5R1.create({ + workChain: 0, publicKey: Buffer.from(publicKey, 'hex') }); const wallet: WalletAddress = { rawAddress: contact.address.toRawString(), friendlyAddress: contact.address.toString(), - version: WalletVersion.V4R2 + version: WalletVersion.V5R1 }; return wallet; diff --git a/packages/uikit/package.json b/packages/uikit/package.json index e816584b5..5586d9fa9 100644 --- a/packages/uikit/package.json +++ b/packages/uikit/package.json @@ -20,7 +20,7 @@ "@ngraveio/bc-ur": "^1.1.13", "@polkadot/react-qr": "^3.1.1", "@tanstack/react-query": "4.3.4", - "@ton/core": "0.53.0", + "@ton/core": "0.56.0", "@ton/crypto": "3.2.0", "@tonkeeper/core": "0.1.0", "bignumber.js": "^9.1.1", @@ -53,8 +53,6 @@ "@storybook/manager-webpack4": "^6.5.14", "@storybook/react": "^6.5.14", "@storybook/testing-library": "^0.0.13", - "@ton/core": "0.54.0", - "@ton/crypto": "3.2.0", "@types/country-list-js": "^3.1.3", "@types/react": "^18.0.26", "@types/react-beautiful-dnd": "^13.1.3", diff --git a/packages/uikit/src/components/desktop/multi-send/MultiSendTable.tsx b/packages/uikit/src/components/desktop/multi-send/MultiSendTable.tsx index 25700acf5..60b69b378 100644 --- a/packages/uikit/src/components/desktop/multi-send/MultiSendTable.tsx +++ b/packages/uikit/src/components/desktop/multi-send/MultiSendTable.tsx @@ -6,6 +6,8 @@ import { WalletVersion } from '@tonkeeper/core/dist/entries/wallet'; import { arrayToCsvString } from '@tonkeeper/core/dist/service/parserService'; import { MAX_ALLOWED_WALLET_MSGS } from '@tonkeeper/core/dist/service/transfer/multiSendService'; import { shiftedDecimals } from '@tonkeeper/core/dist/utils/balance'; +import { getDecimalSeparator } from '@tonkeeper/core/dist/utils/formatting'; +import { removeGroupSeparator } from '@tonkeeper/core/dist/utils/send'; import BigNumber from 'bignumber.js'; import { FC, useEffect, useState } from 'react'; import { Controller, FormProvider, useFieldArray, useForm, useFormContext } from 'react-hook-form'; @@ -21,7 +23,6 @@ import { } from '../../../hooks/useAsyncValidator'; import { useDisclosure } from '../../../hooks/useDisclosure'; import { AppRoute, WalletSettingsRoute } from '../../../libs/routes'; -import { useEnableW5, useEnableW5Mutation } from '../../../state/experemental'; import { useAssets } from '../../../state/home'; import { useIsActiveWalletLedger } from '../../../state/ledger'; import { @@ -50,8 +51,6 @@ import { SaveListNotification } from './SaveListNotification'; import { UpdateListNotification } from './UpdateListNotification'; import { ImportListNotification } from './import-list/ImportListNotification'; import { getWillBeMultiSendValue } from './utils'; -import { removeGroupSeparator } from '@tonkeeper/core/dist/utils/send'; -import { getDecimalSeparator } from '@tonkeeper/core/dist/utils/formatting'; const FormHeadingWrapper = styled.div` display: flex; @@ -318,8 +317,6 @@ const MultiSendAddMore: FC<{ fieldsNumber: number; }> = ({ onAdd, fieldsNumber }) => { const { t } = useTranslation(); - const { data } = useEnableW5(); - const { mutate } = useEnableW5Mutation(); const wallet = useWalletContext(); @@ -342,23 +339,17 @@ const MultiSendAddMore: FC<{ ); } - const onActivateW5 = () => { - if (!data) { - mutate(); - } - }; - - if (wallet.active.version !== WalletVersion.W5) { + if ( + wallet.active.version !== WalletVersion.V5beta && + wallet.active.version !== WalletVersion.V5R1 + ) { return ( {t('multi_send_maximum_reached')}   ยท   - + {t('multi_send_switch_to_w5')}   diff --git a/packages/uikit/src/pages/settings/Dev.tsx b/packages/uikit/src/pages/settings/Dev.tsx index a44b1ec48..1e94d0234 100644 --- a/packages/uikit/src/pages/settings/Dev.tsx +++ b/packages/uikit/src/pages/settings/Dev.tsx @@ -3,31 +3,10 @@ import React, { useMemo } from 'react'; import { InnerBody } from '../../components/Body'; import { SubHeader } from '../../components/SubHeader'; import { SettingsItem, SettingsList } from '../../components/settings/SettingsList'; -import { useAppContext, useWalletContext } from '../../hooks/appContext'; +import { useWalletContext } from '../../hooks/appContext'; import { useTranslation } from '../../hooks/translation'; -import { useEnableW5, useEnableW5Mutation } from '../../state/experemental'; import { useMutateWalletProperty } from '../../state/wallet'; -const SettingsW5 = () => { - const { experimental } = useAppContext(); - const { data } = useEnableW5(); - const { mutate } = useEnableW5Mutation(); - - const items = useMemo(() => { - return [ - { - name: 'Experimental W5', - icon: data ? 'Active' : 'Inactive', - action: () => mutate() - } - ]; - }, [data, mutate]); - - if (data === undefined || experimental !== true) return null; - - return ; -}; - export const DevSettings = React.memo(() => { const { t } = useTranslation(); @@ -52,7 +31,6 @@ export const DevSettings = React.memo(() => { {/* TODO: ENABLE TRON */} {/* */} - ); diff --git a/packages/uikit/src/pages/settings/Version.tsx b/packages/uikit/src/pages/settings/Version.tsx index 0a6cfe498..10a5b33ff 100644 --- a/packages/uikit/src/pages/settings/Version.tsx +++ b/packages/uikit/src/pages/settings/Version.tsx @@ -1,8 +1,4 @@ -import { - WalletVersion as WalletVersionEnum, - WalletVersions, - walletVersionText -} from '@tonkeeper/core/dist/entries/wallet'; +import { WalletVersions, walletVersionText } from '@tonkeeper/core/dist/entries/wallet'; import { getWalletAddress } from '@tonkeeper/core/dist/service/walletService'; import { toShortValue } from '@tonkeeper/core/dist/utils/common'; import { useMemo } from 'react'; @@ -12,10 +8,9 @@ import { CheckIcon } from '../../components/Icon'; import { SubHeader } from '../../components/SubHeader'; import { Body2 } from '../../components/Text'; import { SettingsItem, SettingsList } from '../../components/settings/SettingsList'; -import { useAppContext, useWalletContext } from '../../hooks/appContext'; +import { useWalletContext } from '../../hooks/appContext'; import { useTranslation } from '../../hooks/translation'; import { useMutateWalletVersion } from '../../state/account'; -import { useEnableW5 } from '../../state/experemental'; import { useIsActiveWalletKeystone } from '../../state/keystone'; import { useIsActiveWalletLedger } from '../../state/ledger'; @@ -26,23 +21,16 @@ const LedgerError = styled(Body2)` export const WalletVersion = () => { const { t } = useTranslation(); - const { experimental } = useAppContext(); const isLedger = useIsActiveWalletLedger(); const isKeystone = useIsActiveWalletKeystone(); - const { data: enableW5 } = useEnableW5(); const wallet = useWalletContext(); const { mutate, isLoading } = useMutateWalletVersion(); const items = useMemo(() => { const publicKey = Buffer.from(wallet.publicKey, 'hex'); - const list = [...WalletVersions]; - if (experimental && enableW5) { - list.push(WalletVersionEnum.W5); - } - - return list.map(item => ({ + return WalletVersions.map(item => ({ name: walletVersionText(item), secondary: toShortValue( getWalletAddress(publicKey, item, wallet.network).friendlyAddress @@ -50,7 +38,7 @@ export const WalletVersion = () => { icon: wallet.active.version === item ? : undefined, action: () => mutate(item) })); - }, [wallet, mutate, experimental, enableW5]); + }, [wallet, mutate]); return ( <> diff --git a/packages/uikit/src/state/experemental.ts b/packages/uikit/src/state/experemental.ts deleted file mode 100644 index 4442551a0..000000000 --- a/packages/uikit/src/state/experemental.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'; -import { useAppSdk } from '../hooks/appSdk'; -import { QueryKey } from '../libs/queryKey'; - -export const useEnableW5 = () => { - const sdk = useAppSdk(); - return useQuery([QueryKey.experimental, 'w5'], async () => { - const state = await sdk.storage.get(`${QueryKey.experimental}_w5`); - return state ?? false; - }); -}; - -export const useEnableW5Mutation = () => { - const sdk = useAppSdk(); - const client = useQueryClient(); - return useMutation(async () => { - const state = await sdk.storage.get(`${QueryKey.experimental}_w5`); - await sdk.storage.set(`${QueryKey.experimental}_w5`, !state); - await client.invalidateQueries([QueryKey.experimental]); - }); -}; diff --git a/yarn.lock b/yarn.lock index ae3a22fe8..a93b53da0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6719,14 +6719,14 @@ __metadata: languageName: node linkType: hard -"@ton/core@npm:0.54.0": - version: 0.54.0 - resolution: "@ton/core@npm:0.54.0" +"@ton/core@npm:0.56.0": + version: 0.56.0 + resolution: "@ton/core@npm:0.56.0" dependencies: symbol.inspect: "npm:1.0.1" peerDependencies: "@ton/crypto": ">=3.2.0" - checksum: 10/2af2f369ed9ce83e985550cdca078c332fa4ac2842d213ed4b9e0615ddba3ce2c9571f5ea99a4f3a9d8d3e3a3df347815b5454cb09c99bca282a5ca7dcf0ab92 + checksum: 10/29ca0f84f4af806004453f81594d09257d32eb89374555604eb53c79123e70be30307307c75802621cb9355b8cc20f0adab27a2e82dba5a0a2c5a0c5065950e1 languageName: node linkType: hard @@ -6750,9 +6750,9 @@ __metadata: languageName: node linkType: hard -"@ton/ton@https://github.com/tonkeeper/tonkeeper-ton#build9": +"@ton/ton@https://github.com/tonkeeper/tonkeeper-ton#build10": version: 13.11.1 - resolution: "@ton/ton@https://github.com/tonkeeper/tonkeeper-ton.git#commit=2379b6373dfddd303831684a4fbff9aade62e6f9" + resolution: "@ton/ton@https://github.com/tonkeeper/tonkeeper-ton.git#commit=0b82d8f6dd324296b1290578f89d0cf1c21e5302" dependencies: axios: "npm:^1.6.7" dataloader: "npm:^2.0.0" @@ -6762,7 +6762,7 @@ __metadata: peerDependencies: "@ton/core": ">=0.56.0" "@ton/crypto": ">=3.2.0" - checksum: 10/6687648d87ddc3c78f4d0709ccfc6083c3eacd20f5a778edad12d2244068f8ef98949f14504f9c03b251b52234a99d41beecbaab0c71a9bc22658d21711f17f9 + checksum: 10/ee56a1391ee844dd169abba21de44112d87e1ae984a1769de655ea6b70918ab2ffe52ea525470ba6f7b4760d2e2050a15208a4679601ffe84b8fba006a6a3f47 languageName: node linkType: hard @@ -6774,9 +6774,9 @@ __metadata: "@ledgerhq/hw-transport-webhid": "npm:^6.28.6" "@ledgerhq/hw-transport-webusb": "npm:^6.28.6" "@ton-community/ton-ledger": "npm:^7.0.1" - "@ton/core": "npm:0.54.0" + "@ton/core": "npm:0.56.0" "@ton/crypto": "npm:3.2.0" - "@ton/ton": "https://github.com/tonkeeper/tonkeeper-ton#build9" + "@ton/ton": "https://github.com/tonkeeper/tonkeeper-ton#build10" bignumber.js: "npm:^9.1.1" ethers: "npm:^6.6.5" npm-run-all: "npm:^4.1.5" @@ -6866,7 +6866,7 @@ __metadata: "@tonkeeper/uikit": "npm:0.1.0" "@types/fs-extra": "npm:^11.0.4" "@types/jest": "npm:^27.5.2" - "@types/node": "npm:^16.18.6" + "@types/node": "npm:^20.10.3" "@types/react": "npm:^18.0.26" "@types/react-dom": "npm:^18.0.9" "@types/react-is": "npm:^18" @@ -6926,7 +6926,7 @@ __metadata: "@tonkeeper/uikit": "npm:0.1.0" "@types/fs-extra": "npm:^11.0.1" "@types/jest": "npm:^27.5.2" - "@types/node": "npm:^16.18.6" + "@types/node": "npm:^20.10.3" "@types/react": "npm:^18.0.26" "@types/react-dom": "npm:^18.0.9" "@types/react-transition-group": "npm:^4.4.5" @@ -6975,7 +6975,7 @@ __metadata: "@storybook/react": "npm:^6.5.14" "@storybook/testing-library": "npm:^0.0.13" "@tanstack/react-query": "npm:4.3.4" - "@ton/core": "npm:0.54.0" + "@ton/core": "npm:0.56.0" "@ton/crypto": "npm:3.2.0" "@tonkeeper/core": "npm:0.1.0" "@types/country-list-js": "npm:^3.1.3" @@ -7630,7 +7630,7 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^14.0.10 || ^16.0.0, @types/node@npm:^14.14.20 || ^16.0.0, @types/node@npm:^16.18.6": +"@types/node@npm:^14.0.10 || ^16.0.0, @types/node@npm:^14.14.20 || ^16.0.0": version: 16.18.68 resolution: "@types/node@npm:16.18.68" checksum: 10/a7df7d5761ec339aff812929fa7ab3f1b3951b2372fda7eeedf8bba134c52cbea9fb721ae99f3f1427f782094bffa0d85509b15bfe426858dd04f12c71d55988 From 256ac61e04f8ec6a83c1b0291bf42f7470676e0d Mon Sep 17 00:00:00 2001 From: Nikita Kuznetsov Date: Mon, 8 Jul 2024 14:24:11 +0200 Subject: [PATCH 2/2] Add to signer w5 switch --- packages/core/src/service/signerService.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/core/src/service/signerService.ts b/packages/core/src/service/signerService.ts index c685b87e8..ace204e9b 100644 --- a/packages/core/src/service/signerService.ts +++ b/packages/core/src/service/signerService.ts @@ -35,6 +35,8 @@ const walletVersionText = (version: WalletVersion) => { case WalletVersion.V4R2: return 'v4r2'; case WalletVersion.V5beta: + return 'v5beta'; + case WalletVersion.V5R1: return 'v5r1'; default: return String(version);