Skip to content

Commit b5d4ef7

Browse files
committed
Revert "feat: add Paper Wallet [LW-8901] (#1332)"
This reverts commit eefeb92.
1 parent eefeb92 commit b5d4ef7

File tree

97 files changed

+405
-3951
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

97 files changed

+405
-3951
lines changed

apps/browser-extension-wallet/package.json

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@
5656
"@lace/core": "0.1.0",
5757
"@lace/staking": "0.1.0",
5858
"@lace/translation": "0.1.0",
59-
"@pdfme/generator": "^4.0.2",
6059
"@react-rxjs/core": "^0.9.8",
6160
"@react-rxjs/utils": "^0.9.5",
6261
"@vespaiach/axios-fetch-adapter": "^0.3.0",
@@ -74,15 +73,12 @@
7473
"graphql-tag": "2.12.5",
7574
"i18next": "^22.5.1",
7675
"intersection-observer-polyfill": "0.1.0",
77-
"jsqr": "^1.4.0",
7876
"lodash": "4.17.21",
7977
"node-abort-controller": "^3.1.1",
80-
"openpgp": "^5.11.2",
8178
"p-debounce": "^4.0.0",
8279
"pluralize": "^8.0.0",
8380
"posthog-js": "^1.68.4",
8481
"process": "^0.11.10",
85-
"qrcode": "^1.5.3",
8682
"react": "17.0.2",
8783
"react-dom": "17.0.2",
8884
"react-i18next": "^12.3.1",
@@ -97,14 +93,9 @@
9793
"devDependencies": {
9894
"@cardano-sdk/hardware-ledger": "0.11.0",
9995
"@emurgo/cardano-message-signing-asmjs": "1.0.1",
100-
"@openpgp/web-stream-tools": "0.0.11-patch-0",
101-
"@pdfme/common": "^4.0.2",
102-
"@pdfme/schemas": "^4.0.2",
10396
"@types/dotenv-webpack": "7.0.3",
10497
"@types/pluralize": "^0.0.29",
105-
"@types/qrcode": "^1",
10698
"@types/react-lottie": "^1.2.6",
107-
"@types/text-encoding-utf-8": "^1",
10899
"@types/uuid": "^8.3.4",
109100
"@types/w3c-web-hid": "^1.0.3",
110101
"@types/webextension-polyfill": "0.8.0",
@@ -114,7 +105,6 @@
114105
"fake-indexeddb": "3.1.3",
115106
"fork-ts-checker-webpack-plugin": "^7.2.1",
116107
"jest-webextension-mock": "^3.7.19",
117-
"text-encoding-utf-8": "^1.0.2",
118108
"tsconfig-paths-webpack-plugin": "3.5.2",
119109
"webassembly-loader-sw": "^1.1.0"
120110
}

apps/browser-extension-wallet/src/lib/scripts/types/storage.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import { AuthorizedDappStorage } from '@src/types/dappConnector';
22
import type { Message } from './background-service';
33
import { ADAPrices } from './prices';
4-
import { ExperimentName } from '@providers/ExperimentsProvider/types';
54

65
export interface PendingMigrationState {
76
from: string;
@@ -29,7 +28,7 @@ export interface BackgroundStorage {
2928
fiatPrices?: { prices: ADAPrices; timestamp: number };
3029
userId?: string;
3130
usePersistentUserId?: boolean;
32-
experimentsConfiguration?: Record<ExperimentName, string | boolean>;
31+
experimentsConfiguration?: Record<string, string | boolean>;
3332
customSubmitTxUrl?: string;
3433
}
3534

apps/browser-extension-wallet/src/providers/AnalyticsProvider/analyticsTracker/events/multi-wallet.ts

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -9,25 +9,9 @@ const makeMultiWalletRestoreEvent = <E extends string>(eventSuffix: E) =>
99
`multiwallet | restore wallet revamp | ${eventSuffix}` as const;
1010
const makeMultiWalletHardwareEvent = <E extends string>(eventSuffix: E) =>
1111
`multiwallet | hardware wallet revamp | ${eventSuffix}` as const;
12-
const makePaperWalletOnboardingCreateEvent = <E extends string>(eventSuffix: E) =>
13-
`onboarding | new wallet revamp paper wallet | ${eventSuffix}` as const;
14-
const makePaperWalletOnboardingRestoreEvent = <E extends string>(eventSuffix: E) =>
15-
`onboarding | restore wallet revamp paper wallet | ${eventSuffix}` as const;
1612

1713
const multiWalletActions = {
1814
create: {
19-
CHOOSE_RECOVERY_MODE_MNEMONIC_CLICK: makePaperWalletOnboardingCreateEvent('choose mode | recovery phrase | click'),
20-
CHOOSE_RECOVERY_MODE_PAPER_CLICK: makePaperWalletOnboardingCreateEvent('choose mode | paper wallet | click'),
21-
CHOOSE_RECOVERY_MODE_NEXT_CLICK: makePaperWalletOnboardingCreateEvent('choose mode | next | click'),
22-
PGP_PUBLIC_KEY_PAGE_VIEW: makePaperWalletOnboardingCreateEvent('step: pgp key | pageview'),
23-
PGP_PUBLIC_KEY_NEXT_CLICK: makePaperWalletOnboardingCreateEvent('step: pgp key | next | click'),
24-
WALLET_SETUP_GENERATE_PAPER_WALLET_CLICK: makePaperWalletOnboardingCreateEvent(
25-
'step: wallet info | Generate paper wallet | click'
26-
),
27-
PAPER_WALLET_DOWNLOAD_PAGEVIEW: makePaperWalletOnboardingCreateEvent('step: download pdf | pageview'),
28-
DOWNLOAD_PAPER_WALLET_CLICK: makePaperWalletOnboardingCreateEvent('download pdf | download pdf | click'),
29-
PRINT_PAPER_WALLET_CLICK: makePaperWalletOnboardingCreateEvent('print pdf | print pdf | click'),
30-
PAPER_WALLET_COMPLETE_CLICK: makePaperWalletOnboardingCreateEvent('open wallet | open wallet | click'),
3115
SETUP_OPTION_CLICK: makeMultiWalletCreateEvent('create | click'),
3216
SAVE_RECOVERY_PHRASE_NEXT_CLICK: makeMultiWalletCreateEvent('save your recovery phrase | next | click'),
3317
ENTER_RECOVERY_PHRASE_NEXT_CLICK: makeMultiWalletCreateEvent('enter your recovery phrase | next | click'),
@@ -51,18 +35,6 @@ const multiWalletActions = {
5135
WALLET_ADDED: makeMultiWalletCreateEvent('added')
5236
},
5337
restore: {
54-
WALLET_SETUP_PAGEVIEW: makePaperWalletOnboardingCreateEvent('step: wallet info | pageview'),
55-
CHOOSE_RECOVERY_MODE_MNEMONIC_CLICK: makePaperWalletOnboardingRestoreEvent('choose mode | recovery phrase | click'),
56-
CHOOSE_RECOVERY_MODE_PAPER_CLICK: makePaperWalletOnboardingRestoreEvent('choose mode | paper wallet | click'),
57-
CHOOSE_RECOVERY_MODE_NEXT_CLICK: makePaperWalletOnboardingRestoreEvent('choose mode | next | click'),
58-
SCAN_QR_CODE_PAGEVIEW: makePaperWalletOnboardingRestoreEvent('step: scan qr code | pageview'),
59-
SCAN_QR_CODE_CAMERA_OK: makePaperWalletOnboardingRestoreEvent('step: scan qr code | camera ok'),
60-
SCAN_QR_CODE_CAMERA_ERROR: makePaperWalletOnboardingRestoreEvent('step: scan qr code | camera error'),
61-
SCAN_QR_CODE_READ_SUCCESS: makePaperWalletOnboardingRestoreEvent('step: scan qr code | read success'),
62-
SCAN_QR_CODE_READ_ERROR: makePaperWalletOnboardingRestoreEvent('step: scan qr code | read error'),
63-
WALLET_OVERVIEW_NEXT_CLICK: makePaperWalletOnboardingRestoreEvent('step: wallet overview | next | click'),
64-
ENTER_PGP_PRIVATE_KEY_PAGE_VIEW: makePaperWalletOnboardingRestoreEvent('step: pgp private key | pageview'),
65-
ENTER_PGP_PRIVATE_KEY_NEXT_CLICK: makePaperWalletOnboardingRestoreEvent('step: pgp private key | next | click'),
6638
SETUP_OPTION_CLICK: makeMultiWalletRestoreEvent('restore | click'),
6739
ENTER_WALLET: makeMultiWalletRestoreEvent("let's set up your new wallet | enter wallet | click"),
6840
ENTER_RECOVERY_PHRASE_NEXT_CLICK: makeMultiWalletRestoreEvent(' enter your recovery phrase | next | click'),

apps/browser-extension-wallet/src/providers/AnalyticsProvider/analyticsTracker/events/onboarding.ts

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,6 @@ const makeOnboardingHardwareEvent = <E extends string>(eventSuffix: E) =>
1313
`onboarding | hardware wallet revamp | ${eventSuffix}` as const;
1414
const makeForgotPasswordEvent = <E extends string>(eventSuffix: E) =>
1515
`unlock wallet | forgot password? | ${eventSuffix}` as const;
16-
const makePaperWalletOnboardingCreateEvent = <E extends string>(eventSuffix: E) =>
17-
`onboarding | new wallet revamp paper wallet | ${eventSuffix}` as const;
18-
const makePaperWalletOnboardingRestoreEvent = <E extends string>(eventSuffix: E) =>
19-
`onboarding | restore wallet revamp paper wallet | ${eventSuffix}` as const;
2016

2117
const onboardingActions = {
2218
onboarding: {
@@ -27,18 +23,6 @@ const onboardingActions = {
2723
PIN_EXTENSION_CLICK: makeOnboardingEvent('lace main view | pin the wallet extension | click')
2824
},
2925
create: {
30-
CHOOSE_RECOVERY_MODE_MNEMONIC_CLICK: makePaperWalletOnboardingCreateEvent('choose mode | recovery phrase | click'),
31-
CHOOSE_RECOVERY_MODE_PAPER_CLICK: makePaperWalletOnboardingCreateEvent('choose mode | paper wallet | click'),
32-
CHOOSE_RECOVERY_MODE_NEXT_CLICK: makePaperWalletOnboardingCreateEvent('choose mode | next | click'),
33-
PGP_PUBLIC_KEY_PAGE_VIEW: makePaperWalletOnboardingCreateEvent('step: pgp key | pageview'),
34-
PGP_PUBLIC_KEY_NEXT_CLICK: makePaperWalletOnboardingCreateEvent('step: pgp key | next | click'),
35-
WALLET_SETUP_GENERATE_PAPER_WALLET_CLICK: makePaperWalletOnboardingCreateEvent(
36-
'step: wallet info | Generate paper wallet | click'
37-
),
38-
PAPER_WALLET_DOWNLOAD_PAGEVIEW: makePaperWalletOnboardingCreateEvent('step: download pdf | pageview'),
39-
DOWNLOAD_PAPER_WALLET_CLICK: makePaperWalletOnboardingCreateEvent('download pdf | download pdf | click'),
40-
PRINT_PAPER_WALLET_CLICK: makePaperWalletOnboardingCreateEvent('print pdf | print pdf | click'),
41-
PAPER_WALLET_COMPLETE_CLICK: makePaperWalletOnboardingCreateEvent('open wallet | open wallet | click'),
4226
SETUP_OPTION_CLICK: makeOnboardingCreateEvent('create | click'),
4327
SAVE_RECOVERY_PHRASE_NEXT_CLICK: makeOnboardingCreateEvent('save your recovery phrase | next | click'),
4428
ENTER_RECOVERY_PHRASE_NEXT_CLICK: makeOnboardingCreateEvent('enter your recovery phrase | next | click'),
@@ -62,18 +46,6 @@ const onboardingActions = {
6246
WALLET_ADDED: makeOnboardingCreateEvent('added')
6347
},
6448
restore: {
65-
WALLET_SETUP_PAGEVIEW: makePaperWalletOnboardingCreateEvent('step: wallet info | pageview'),
66-
CHOOSE_RECOVERY_MODE_MNEMONIC_CLICK: makePaperWalletOnboardingRestoreEvent('choose mode | recovery phrase | click'),
67-
CHOOSE_RECOVERY_MODE_PAPER_CLICK: makePaperWalletOnboardingRestoreEvent('choose mode | paper wallet | click'),
68-
CHOOSE_RECOVERY_MODE_NEXT_CLICK: makePaperWalletOnboardingRestoreEvent('choose mode | next | click'),
69-
SCAN_QR_CODE_PAGEVIEW: makePaperWalletOnboardingRestoreEvent('step: scan qr code | pageview'),
70-
SCAN_QR_CODE_CAMERA_OK: makePaperWalletOnboardingRestoreEvent('step: scan qr code | camera ok'),
71-
SCAN_QR_CODE_CAMERA_ERROR: makePaperWalletOnboardingRestoreEvent('step: scan qr code | camera error'),
72-
SCAN_QR_CODE_READ_SUCCESS: makePaperWalletOnboardingRestoreEvent('step: scan qr code | read success'),
73-
SCAN_QR_CODE_READ_ERROR: makePaperWalletOnboardingRestoreEvent('step: scan qr code | read error'),
74-
WALLET_OVERVIEW_NEXT_CLICK: makePaperWalletOnboardingRestoreEvent('step: wallet overview | next | click'),
75-
ENTER_PGP_PRIVATE_KEY_PAGE_VIEW: makePaperWalletOnboardingRestoreEvent('step: pgp private key | pageview'),
76-
ENTER_PGP_PRIVATE_KEY_NEXT_CLICK: makePaperWalletOnboardingRestoreEvent('step: pgp private key | next | click'),
7749
SETUP_OPTION_CLICK: makeOnboardingRestoreEvent('restore | click'),
7850
ENTER_WALLET: makeOnboardingRestoreEvent("let's set up your new wallet | enter wallet | click"),
7951
ENTER_RECOVERY_PHRASE_NEXT_CLICK: makeOnboardingRestoreEvent(' enter your recovery phrase | next | click'),

apps/browser-extension-wallet/src/providers/AnalyticsProvider/analyticsTracker/events/types.ts

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -9,32 +9,10 @@ export type CreateFlowActions = Record<
99
| 'RECOVERY_PHRASE_PASTE_FROM_CLIPBOARD_CLICK'
1010
| 'RECOVERY_PHRASE_COPY_READ_MORE_CLICK'
1111
| 'RECOVERY_PHRASE_PASTE_READ_MORE_CLICK'
12-
| 'WALLET_ADDED'
13-
| 'CHOOSE_RECOVERY_MODE_MNEMONIC_CLICK'
14-
| 'CHOOSE_RECOVERY_MODE_PAPER_CLICK'
15-
| 'CHOOSE_RECOVERY_MODE_NEXT_CLICK'
16-
| 'PGP_PUBLIC_KEY_PAGE_VIEW'
17-
| 'PGP_PUBLIC_KEY_NEXT_CLICK'
18-
| 'WALLET_SETUP_GENERATE_PAPER_WALLET_CLICK'
19-
| 'PAPER_WALLET_DOWNLOAD_PAGEVIEW'
20-
| 'DOWNLOAD_PAPER_WALLET_CLICK'
21-
| 'PRINT_PAPER_WALLET_CLICK'
22-
| 'PAPER_WALLET_COMPLETE_CLICK',
12+
| 'WALLET_ADDED',
2313
string
2414
>;
2515
export type RestoreFlowActions = Record<
26-
| 'WALLET_SETUP_PAGEVIEW'
27-
| 'CHOOSE_RECOVERY_MODE_MNEMONIC_CLICK'
28-
| 'CHOOSE_RECOVERY_MODE_PAPER_CLICK'
29-
| 'CHOOSE_RECOVERY_MODE_NEXT_CLICK'
30-
| 'SCAN_QR_CODE_PAGEVIEW'
31-
| 'SCAN_QR_CODE_CAMERA_OK'
32-
| 'SCAN_QR_CODE_CAMERA_ERROR'
33-
| 'SCAN_QR_CODE_READ_SUCCESS'
34-
| 'SCAN_QR_CODE_READ_ERROR'
35-
| 'WALLET_OVERVIEW_NEXT_CLICK'
36-
| 'ENTER_PGP_PRIVATE_KEY_PAGE_VIEW'
37-
| 'ENTER_PGP_PRIVATE_KEY_NEXT_CLICK'
3816
| 'SETUP_OPTION_CLICK'
3917
| 'ENTER_RECOVERY_PHRASE_NEXT_CLICK'
4018
| 'ENTER_WALLET'
Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,12 @@
11
import { ExperimentName, ExperimentsConfig, FallbackConfiguration } from './types';
22

33
export const fallbackConfiguration: FallbackConfiguration = {
4-
[ExperimentName.COMBINED_NAME_PASSWORD_ONBOARDING_SCREEN]: 'control',
5-
[ExperimentName.CREATE_PAPER_WALLET]: false,
6-
[ExperimentName.RESTORE_PAPER_WALLET]: false
4+
[ExperimentName.COMBINED_NAME_PASSWORD_ONBOARDING_SCREEN]: 'control'
75
};
86

97
export const experiments: ExperimentsConfig = {
108
[ExperimentName.COMBINED_NAME_PASSWORD_ONBOARDING_SCREEN]: {
119
variants: ['control', 'test'],
12-
default: 'control'
13-
},
14-
[ExperimentName.CREATE_PAPER_WALLET]: {
15-
value: false,
16-
default: false
17-
},
18-
[ExperimentName.RESTORE_PAPER_WALLET]: {
19-
value: false,
20-
default: false
10+
defaultVariant: 'control'
2111
}
2212
};

apps/browser-extension-wallet/src/providers/ExperimentsProvider/context.tsx

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React, { createContext, useCallback, useContext, useEffect, useMemo, useState } from 'react';
1+
import React, { createContext, useCallback, useEffect, useMemo, useState } from 'react';
22
import { usePostHogClientContext } from '@providers/PostHogClientProvider';
33
import { ExperimentName, ExperimentsConfigStatus } from './types';
44

@@ -15,12 +15,6 @@ interface ExperimentsProviderProps {
1515
children: React.ReactNode;
1616
}
1717

18-
export const useExperimentsContext = (): ExperimentsContext => {
19-
const experiementsContext = useContext(ExperimentsContext);
20-
if (experiementsContext === null) throw new Error('ExperimentsContext not defined');
21-
return experiementsContext;
22-
};
23-
2418
export const ExperimentsProvider = ({ children }: ExperimentsProviderProps): React.ReactElement => {
2519
const postHogClient = usePostHogClientContext();
2620
const [experimentsConfigStatus, setExperimentsConfigStatus] = useState(ExperimentsConfigStatus.IDLE);

apps/browser-extension-wallet/src/providers/ExperimentsProvider/types.ts

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,14 @@ export enum ExperimentsConfigStatus {
66
}
77

88
export enum ExperimentName {
9-
COMBINED_NAME_PASSWORD_ONBOARDING_SCREEN = 'combined-setup-name-password',
10-
CREATE_PAPER_WALLET = 'create-paper-wallet',
11-
RESTORE_PAPER_WALLET = 'restore-paper-wallet'
12-
}
13-
14-
interface FeatureFlag {
15-
value: boolean;
16-
default: boolean;
17-
}
18-
19-
type Variant = ReadonlyArray<string>;
20-
21-
interface ExperiementVariant {
22-
variants: Variant;
23-
default: string;
9+
COMBINED_NAME_PASSWORD_ONBOARDING_SCREEN = 'combined-setup-name-password'
2410
}
2511

2612
export type CombinedSetupNamePasswordVariants = readonly ['control', 'test'];
27-
2813
export type ExperimentsConfig = {
29-
[key in ExperimentName]: FeatureFlag | ExperiementVariant;
14+
[ExperimentName.COMBINED_NAME_PASSWORD_ONBOARDING_SCREEN]: {
15+
variants: CombinedSetupNamePasswordVariants;
16+
defaultVariant: string;
17+
};
3018
};
31-
export type FallbackConfiguration = Record<ExperimentName, 'control' | boolean>;
19+
export type FallbackConfiguration = Record<ExperimentName, 'control'>;

apps/browser-extension-wallet/src/providers/PostHogClientProvider/client/PostHogClient.ts

Lines changed: 9 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@ import { ExperimentName } from '@providers/ExperimentsProvider/types';
2323
import { Subscription, BehaviorSubject } from 'rxjs';
2424
import { PostHogAction, PostHogProperties } from '@lace/common';
2525

26-
type FeatureFlags = 'create-paper-wallet' | 'restore-paper-wallet';
27-
2826
/**
2927
* PostHog API reference:
3028
* https://posthog.com/docs/libraries/js
@@ -36,9 +34,7 @@ export class PostHogClient<Action extends string = string> {
3634
private hasPostHogInitialized$: BehaviorSubject<boolean>;
3735
private subscription: Subscription;
3836
private initSuccess: Promise<boolean>;
39-
featureFlags: {
40-
[key in FeatureFlags]: string | boolean;
41-
};
37+
4238
constructor(
4339
private chain: Wallet.Cardano.ChainId,
4440
private userIdService: UserIdService,
@@ -86,7 +82,6 @@ export class PostHogClient<Action extends string = string> {
8682
});
8783

8884
this.subscribeToDistinctIdUpdate();
89-
this.loadExperiments();
9085
}
9186

9287
static getInstance(
@@ -123,6 +118,10 @@ export class PostHogClient<Action extends string = string> {
123118
posthog.register({
124119
distinct_id: id
125120
});
121+
122+
if (type === UserTrackingType.Enhanced && !this.hasPostHogInitialized$.value) {
123+
this.loadExperiments();
124+
}
126125
}
127126
});
128127
}
@@ -195,38 +194,27 @@ export class PostHogClient<Action extends string = string> {
195194
posthog.featureFlags.override(flags);
196195
}
197196

198-
async getExperimentVariant(key: ExperimentName): Promise<string | boolean> {
197+
async getExperimentVariant(key: ExperimentName): Promise<string> {
199198
const variant = posthog?.getFeatureFlag(key, {
200199
send_event: false
201200
});
202201
// if we get a type of boolean means that the experiment is not running, so we return the fallback variant
203202
if (typeof variant === 'boolean') {
204-
return experiments[key].default;
203+
return experiments[key].defaultVariant;
205204
}
206205

207206
// if the variant does not exist, we need to check for out cache
208207
if (!variant) {
209208
const backgroundStorage = await this.backgroundServiceUtils.getBackgroundStorage();
210-
return (backgroundStorage?.experimentsConfiguration?.[key] as string) || experiments[key].default;
209+
return (backgroundStorage?.experimentsConfiguration?.[key] as string) || experiments[key].defaultVariant;
211210
}
212211

213212
return variant;
214213
}
215214

216-
isFeatureEnabled(key: ExperimentName | string): boolean {
217-
try {
218-
const isEnabled = posthog.isFeatureEnabled(key);
219-
return isEnabled || false;
220-
} catch {
221-
return false;
222-
}
223-
}
224-
225215
protected loadExperiments(): void {
226216
posthog.onFeatureFlags(async () => {
227-
const postHogExperimentConfiguration: Record<ExperimentName, string | boolean> =
228-
posthog.featureFlags.getFlagVariants();
229-
this.featureFlags = postHogExperimentConfiguration;
217+
const postHogExperimentConfiguration = posthog.featureFlags.getFlagVariants();
230218
const backgroundStorage = await this.backgroundServiceUtils.getBackgroundStorage();
231219
if (!backgroundStorage?.experimentsConfiguration && postHogExperimentConfiguration) {
232220
// save current posthog config in background storage

apps/browser-extension-wallet/src/types/index.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,3 @@ export * from './activity-detail';
88
export * from './dappConnector';
99
export * from './ui';
1010
export * from './side-menu';
11-
export * from './pgp';
12-
export * from './paperWallet';

0 commit comments

Comments
 (0)