Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revert "feat: export all accounts as json (#1786)" #1800

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions apps/extension/src/ui/api/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -147,8 +147,6 @@ export const api: MessageTypes = {
messageService.sendMessage("pri(accounts.export)", { address, password, exportPw }),
accountExportPrivateKey: (address, password) =>
messageService.sendMessage("pri(accounts.export.pk)", { address, password }),
accountExportAll: (password, exportPw) =>
messageService.sendMessage("pri(accounts.export.all)", { password, exportPw }),
accountRename: (address, name) =>
messageService.sendMessage("pri(accounts.rename)", { address, name }),
accountExternalSetIsPortfolio: (address, isPortfolio) =>
Expand Down
7 changes: 1 addition & 6 deletions apps/extension/src/ui/api/types.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import type { KeyringPair$Json } from "@polkadot/keyring/types"
import type { KeyringPairs$Json } from "@polkadot/ui-keyring/types"
import type { KeypairType } from "@polkadot/util-crypto/types"
import type { HexString } from "@polkadot/util/types"
import { KeypairType } from "@polkadot/util-crypto/types"
import { BalanceJson } from "@talismn/balances"
import {
Chain,
Expand Down Expand Up @@ -171,10 +170,6 @@ export default interface MessageTypes {
password: string,
exportPw: string,
) => Promise<{ exportedJson: KeyringPair$Json }>
accountExportAll: (
password: string,
exportPw: string,
) => Promise<{ exportedJson: KeyringPairs$Json }>
accountExportPrivateKey: (address: string, password: string) => Promise<string>
accountRename: (address: string, name: string) => Promise<boolean>
validateDerivationPath: (derivationPath: string, type: AccountAddressType) => Promise<boolean>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ export const DashboardLayout: FC<{
</Suspense>
</div>
{/* Main area */}
<div className="flex grow flex-col items-center overflow-hidden pb-20">
<div className="flex grow flex-col items-center pb-20">
<div className="flex h-48 w-full shrink-0 items-center justify-center">
<HorizontalNav />
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ const Content = () => {

return (
<>
<HeaderBlock title={t("Manage Accounts")} text={t("Organise and sort your accounts")} />
<HeaderBlock title={t("Accounts")} text={t("Organise and sort your accounts")} />
<Spacer large />
<ManageAccountsProvider>
<ManageAccountsToolbar analytics={ANALYTICS_PAGE} />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,14 +52,8 @@ const JsonAccount: FC<{ account: JsonImportAccount; onSelect: (select: boolean)
genesisHash={account.genesisHash}
/>
<div className="flex grow flex-col gap-2 overflow-hidden">
<div className="flex w-full items-center gap-1 overflow-hidden text-base">
<div className="truncate">{account.name}</div>
<div className="shrink-0">
<AccountTypeIcon
className="text-primary inline-block"
origin={account.origin as AccountType}
/>
</div>
<div className="overflow-hidden text-ellipsis whitespace-nowrap text-base">
{account.name} <AccountTypeIcon origin={account.origin as AccountType} />
</div>
<div className="text-body-secondary text-sm">{shortenAddress(account.address)}</div>
</div>
Expand Down
164 changes: 0 additions & 164 deletions apps/extension/src/ui/domains/Account/ExportAllAccountsModal.tsx

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,28 +1,17 @@
import { FolderPlusIcon, MoreHorizontalIcon, PlusIcon } from "@talismn/icons"
import { FolderPlusIcon, PlusIcon } from "@talismn/icons"
import { classNames } from "@talismn/util"
import { FC, ReactNode, useCallback } from "react"
import { useTranslation } from "react-i18next"
import { useNavigate } from "react-router-dom"
import {
ContextMenu,
ContextMenuContent,
ContextMenuItem,
ContextMenuTrigger,
Tooltip,
TooltipContent,
TooltipTrigger,
useOpenClose,
} from "talisman-ui"
import { Tooltip, TooltipContent, TooltipTrigger } from "talisman-ui"

import { SearchInput } from "@talisman/components/SearchInput"
import { api } from "@ui/api"
import { AnalyticsPage } from "@ui/api/analytics"
import { useNewFolderModal } from "@ui/domains/Account/NewFolderModal"
import { PortfolioToolbarButton } from "@ui/domains/Portfolio/PortfolioToolbarButton"
import { useAccounts } from "@ui/state"
import { IS_POPUP } from "@ui/util/constants"

import { ExportAllAccountsModal } from "../ExportAllAccountsModal"
import { useManageAccounts } from "./ManageAccountsProvider"

export const ManageAccountsToolbar: FC<{
Expand Down Expand Up @@ -65,7 +54,6 @@ export const ManageAccountsToolbar: FC<{
</div>
<ToolbarButton icon={FolderPlusIcon} onClick={openNewFolderModal} label={t("Add Folder")} />
<ToolbarButton icon={PlusIcon} onClick={addNewAccountClick} label={t("Add Account")} />
<AccountsContextMenu />
</div>
)
}
Expand All @@ -91,31 +79,3 @@ const ToolbarButton: FC<{
{IS_POPUP && !label && <TooltipContent>{label}</TooltipContent>}
</Tooltip>
)

const AccountsContextMenu = () => {
const { t } = useTranslation()
const accounts = useAccounts()
const { isOpen: isOpenExportAll, open: openExportAll, close: closeExportAll } = useOpenClose()

if (!accounts.length) return null

return (
<>
<ContextMenu placement="bottom-end">
<ContextMenuTrigger
className={classNames(
"bg-grey-900 hover:bg-grey-800 text-body-secondary border-content flex items-center justify-center rounded-sm",
"focus-visible:border-grey-700 border border-transparent ring-transparent",
"@2xl:size-[4.4rem] size-[3.6rem]",
)}
>
<MoreHorizontalIcon />
</ContextMenuTrigger>
<ContextMenuContent>
<ContextMenuItem onClick={openExportAll}>{t("Export all")}</ContextMenuItem>
</ContextMenuContent>
</ContextMenu>
<ExportAllAccountsModal isOpen={isOpenExportAll} onClose={closeExportAll} />
</>
)
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ export const PortfolioToolbarButton = forwardRef<
type="button"
{...props}
className={classNames(
"bg-grey-900 hover:bg-grey-800 text-body-secondary border-content flex items-center justify-center rounded-sm",
"focus-visible:border-grey-700 size-16 border border-transparent ring-transparent",
"bg-grey-900 hover:bg-grey-800 text-body-secondary flex items-center justify-center rounded-sm",
"border-grey-700 size-16 ring-transparent focus-visible:border",
props.className,
)}
/>
Expand Down
17 changes: 0 additions & 17 deletions packages/extension-core/src/domains/accounts/handler.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import { ResponseAccountsExport } from "@polkadot/extension-base/background/types"
import { createPair, encodeAddress } from "@polkadot/keyring"
import { KeyringPair$Meta } from "@polkadot/keyring/types"
import keyring from "@polkadot/ui-keyring"
Expand All @@ -20,7 +19,6 @@ import type {
RequestAccountCreateSignet,
RequestAccountCreateWatched,
RequestAccountExport,
RequestAccountExportAll,
RequestAccountExportPrivateKey,
RequestAccountExternalSetIsPortfolio,
RequestAccountForget,
Expand Down Expand Up @@ -510,19 +508,6 @@ export default class AccountsHandler extends ExtensionHandler {
return val
}

private async accountExportAll({
password,
exportPw,
}: RequestAccountExportAll): Promise<ResponseAccountsExport> {
await this.stores.password.checkPassword(password)

const addresses = keyring.getPairs().map(({ address }) => address)

const exportedJson = await keyring.backupAccounts(addresses, exportPw)

return { exportedJson }
}

private async accountExportPrivateKey({
address,
password,
Expand Down Expand Up @@ -673,8 +658,6 @@ export default class AccountsHandler extends ExtensionHandler {
return this.accountForget(request as RequestAccountForget)
case "pri(accounts.export)":
return this.accountExport(request as RequestAccountExport)
case "pri(accounts.export.all)":
return this.accountExportAll(request as RequestAccountExportAll)
case "pri(accounts.export.pk)":
return this.accountExportPrivateKey(request as RequestAccountExportPrivateKey)
case "pri(accounts.rename)":
Expand Down
19 changes: 11 additions & 8 deletions packages/extension-core/src/domains/accounts/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import type {
RequestAccountCreateHardware,
RequestAccountSubscribe,
ResponseAccountExport,
ResponseAccountsExport,
} from "@polkadot/extension-base/background/types"
import { KeyringPair$Json } from "@polkadot/keyring/types"
import { KeypairType } from "@polkadot/util-crypto/types"
Expand All @@ -16,7 +15,17 @@ import { Address } from "../../types/base"
export type { ResponseAccountExport, AccountJson }
export type { RequestAccountsCatalogAction } from "./helpers.catalog"

export type { RequestAccountList } from "@polkadot/extension-base/background/types"
export type {
RequestAccountList,
RequestAccountBatchExport,
RequestAccountChangePassword,
RequestAccountCreateSuri,
RequestAccountEdit,
RequestAccountShow,
RequestAccountTie,
RequestAccountValidate,
ResponseJsonGetAccountInfo,
} from "@polkadot/extension-base/background/types"

// account types ----------------------------------

Expand Down Expand Up @@ -200,11 +209,6 @@ export interface RequestAccountExport {
exportPw: string
}

export interface RequestAccountExportAll {
password: string
exportPw: string
}

export interface RequestAccountExportPrivateKey {
address: string
password: string
Expand Down Expand Up @@ -270,7 +274,6 @@ export interface AccountsMessages {
"pri(accounts.create.signet)": [RequestAccountCreateSignet, string]
"pri(accounts.forget)": [RequestAccountForget, boolean]
"pri(accounts.export)": [RequestAccountExport, ResponseAccountExport]
"pri(accounts.export.all)": [RequestAccountExportAll, ResponseAccountsExport]
"pri(accounts.export.pk)": [RequestAccountExportPrivateKey, string]
"pri(accounts.rename)": [RequestAccountRename, boolean]
"pri(accounts.external.setIsPortfolio)": [RequestAccountExternalSetIsPortfolio, boolean]
Expand Down
Loading