@ledgerhq/connect-kit 1.1.0-beta.0 → 1.1.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/CHANGELOG.md +3 -1
  2. package/dist/umd/components/ExtensionInstallModal/ExtensionInstallModal.d.ts +4 -0
  3. package/dist/umd/components/ExtensionInstallModal/index.d.ts +1 -0
  4. package/dist/umd/components/Modal/Modal.d.ts +1 -1
  5. package/dist/umd/components/UseLedgerLiveModal/UseLedgerLiveModal.d.ts +8 -0
  6. package/dist/umd/components/UseLedgerLiveModal/index.d.ts +1 -0
  7. package/dist/umd/components/index.d.ts +2 -2
  8. package/dist/umd/index.d.ts +34 -5
  9. package/dist/umd/index.js +307 -41
  10. package/dist/umd/index.js.map +1 -1
  11. package/dist/umd/lib/errors.d.ts +5 -3
  12. package/dist/umd/lib/modal.d.ts +14 -4
  13. package/dist/umd/lib/provider.d.ts +11 -8
  14. package/dist/umd/lib/support.d.ts +9 -13
  15. package/dist/umd/lib/supportOptions.d.ts +40 -0
  16. package/dist/umd/providers/ExtensionEvm.d.ts +46 -0
  17. package/dist/umd/providers/{Solana.d.ts → ExtensionSolana.d.ts} +6 -3
  18. package/dist/umd/providers/WalletConnectEvm.d.ts +13 -0
  19. package/dist/umd/providers/WalletConnectLegacy.d.ts +7 -0
  20. package/dist/umd/support/EthereumProvider/EthereumProvider.d.ts +126 -0
  21. package/dist/umd/support/EthereumProvider/constants/index.d.ts +2 -0
  22. package/dist/umd/support/EthereumProvider/constants/rpc.d.ts +4 -0
  23. package/dist/umd/support/EthereumProvider/constants/values.d.ts +5 -0
  24. package/dist/umd/support/EthereumProvider/types.d.ts +57 -0
  25. package/package.json +20 -13
  26. package/dist/umd/components/ConnectWithLedgerLiveModal/ConnectWithLedgerLiveModal.d.ts +0 -7
  27. package/dist/umd/components/ConnectWithLedgerLiveModal/index.d.ts +0 -1
  28. package/dist/umd/components/ExtensionUnavailableModal/ExtensionUnavailableModal.d.ts +0 -4
  29. package/dist/umd/components/ExtensionUnavailableModal/index.d.ts +0 -1
  30. package/dist/umd/lib/connectSupport.d.ts +0 -2
  31. package/dist/umd/providers/Ethereum.d.ts +0 -21
  32. package/dist/umd/providers/TryConnectEthereum.d.ts +0 -7
  33. package/dist/umd/providers/WalletConnect.d.ts +0 -13
  34. /package/dist/umd/components/{ExtensionUnavailableModal/ExtensionUnavailableModal.styles.d.ts → ExtensionInstallModal/ExtensionInstallModal.styles.d.ts} +0 -0
  35. /package/dist/umd/components/{ConnectWithLedgerLiveModal/ConnectWithLedgerLiveModal.styles.d.ts → UseLedgerLiveModal/UseLedgerLiveModal.styles.d.ts} +0 -0
@@ -5,12 +5,14 @@ export declare class ProviderTypeIsNotSupportedError extends Error {
5
5
  constructor();
6
6
  }
7
7
  export declare class ProviderRpcError extends Error {
8
- code: any;
9
- constructor(code: any, message: string);
8
+ readonly code: number;
9
+ constructor(code: number, message: string);
10
10
  toString(): string;
11
11
  }
12
12
  export declare class UserRejectedRequestError extends Error {
13
- name: string;
14
13
  readonly code: number;
15
14
  constructor();
16
15
  }
16
+ export declare class NoServerSideError extends Error {
17
+ constructor();
18
+ }
@@ -1,5 +1,15 @@
1
- import { ConnectWithLedgerLiveModalProps } from "../components/ConnectWithLedgerLiveModal/ConnectWithLedgerLiveModal";
2
- import { ExtensionUnavailableModalProps } from "../components/ExtensionUnavailableModal/ExtensionUnavailableModal";
3
- type ModalType = 'ConnectWithLedgerLiveModal' | 'PlatformNotSupportedModal' | 'ExtensionUnavailableModal';
4
- export declare function showModal(modalType: ModalType, props?: ExtensionUnavailableModalProps | ConnectWithLedgerLiveModalProps): void;
1
+ import { UseLedgerLiveModalProps } from "../components/UseLedgerLiveModal/UseLedgerLiveModal";
2
+ import { ExtensionInstallModalProps } from "../components/ExtensionInstallModal/ExtensionInstallModal";
3
+ type ModalType = 'UseLedgerLiveModal' | 'PlatformNotSupportedModal' | 'ExtensionInstallModal';
4
+ /**
5
+ * Shows a modal component.
6
+ */
7
+ export declare function showModal(modalType: ModalType, props?: ExtensionInstallModalProps | UseLedgerLiveModalProps): void;
8
+ /**
9
+ * Shows one of two modals depending on if the extension is supported or not.
10
+ */
11
+ export declare function showExtensionOrLLModal(props: {
12
+ uri: string;
13
+ onClose: Function;
14
+ }): void;
5
15
  export {};
@@ -1,10 +1,8 @@
1
- import { EthereumProvider } from "../providers/Ethereum";
2
- import { SolanaProvider } from "../providers/Solana";
3
- export declare enum ConnectSupportedChains {
4
- EthereumMainnet = 1,
5
- Polygon = 137
6
- }
7
- export declare function isChainIdSupported(chainId: number): boolean;
1
+ import { EthereumProvider } from "../providers/ExtensionEvm";
2
+ import { SolanaProvider } from "../providers/ExtensionSolana";
3
+ export declare const DEFAULT_CHAIN_ID: number;
4
+ export declare const DEFAULT_REQUIRED_CHAINS: number[];
5
+ export declare const DEFAULT_WALLETCONNECT_VERSION: number;
8
6
  export declare enum SupportedProviders {
9
7
  Ethereum = "Ethereum",
10
8
  Solana = "Solana"
@@ -14,6 +12,11 @@ export declare enum SupportedProviderImplementations {
14
12
  WalletConnect = "WalletConnect"
15
13
  }
16
14
  export type ProviderResult = EthereumProvider | SolanaProvider;
17
- export declare function setProviderType(providerType: SupportedProviders): void;
15
+ /**
16
+ * Sets the provider implementation to be used by getProvider.
17
+ */
18
18
  export declare function setProviderImplementation(providerImplementation: SupportedProviderImplementations): void;
19
+ /**
20
+ * Gets a provider instance based on the implementation set earlier.
21
+ */
19
22
  export declare function getProvider(): Promise<ProviderResult>;
@@ -1,20 +1,16 @@
1
- import { ConnectSupportedChains, SupportedProviders, SupportedProviderImplementations } from "./provider";
2
- export type CheckSupportOptions = {
3
- providerType: SupportedProviders;
4
- chainId?: number;
5
- bridge?: string;
6
- infuraId?: string;
7
- rpc?: {
8
- [chainId: number]: string;
9
- };
10
- };
1
+ import { SupportedProviderImplementations } from "./provider";
2
+ import { CheckSupportOptions } from "./supportOptions";
11
3
  export type CheckSupportResult = {
12
4
  isLedgerConnectSupported?: boolean;
13
5
  isLedgerConnectEnabled?: boolean;
14
6
  isChainIdSupported?: boolean;
15
7
  providerImplementation: SupportedProviderImplementations;
16
8
  };
9
+ /**
10
+ * Check support for user's platform.
11
+ */
17
12
  export declare function checkSupport(options: CheckSupportOptions): CheckSupportResult;
18
- export type CheckEthereumSupportOptions = CheckSupportOptions & {
19
- chainId: ConnectSupportedChains;
20
- };
13
+ /**
14
+ * Gets support results.
15
+ */
16
+ export declare function getSupportResult(): CheckSupportResult;
@@ -0,0 +1,40 @@
1
+ import type { CoreTypes } from '@walletconnect/types';
2
+ import { WalletConnectProviderOptions } from "../providers/WalletConnectEvm";
3
+ import { WalletConnectLegacyProviderOptions } from '../providers/WalletConnectLegacy';
4
+ import { SupportedProviders } from "./provider";
5
+ type CheckSupportCommonOptions = {
6
+ version?: number;
7
+ providerType: SupportedProviders;
8
+ };
9
+ export type CheckSupportWalletConnectProviderOptions = {
10
+ projectId?: string;
11
+ chains?: number[];
12
+ optionalChains?: number[];
13
+ methods?: string[];
14
+ optionalMethods?: string[];
15
+ events?: string[];
16
+ optionalEvents?: string[];
17
+ rpcMap?: {
18
+ [chainId: string]: string;
19
+ };
20
+ metadata?: CoreTypes.Metadata;
21
+ };
22
+ export type CheckSupportWalletConnectLegacyProviderOptions = {
23
+ chainId?: number;
24
+ bridge?: string;
25
+ infuraId?: string;
26
+ rpc?: {
27
+ [chainId: number]: string;
28
+ };
29
+ };
30
+ export type CheckSupportOptions = CheckSupportCommonOptions & CheckSupportWalletConnectProviderOptions & CheckSupportWalletConnectLegacyProviderOptions;
31
+ export type ValidatedSupportOptions = CheckSupportOptions & WalletConnectProviderOptions & WalletConnectLegacyProviderOptions;
32
+ /**
33
+ * Sets defaults and makes the result available for other modules.
34
+ */
35
+ export declare const setSupportOptions: (options: CheckSupportOptions) => void;
36
+ /**
37
+ * Gets the validated support options.
38
+ */
39
+ export declare const getSupportOptions: () => ValidatedSupportOptions;
40
+ export {};
@@ -0,0 +1,46 @@
1
+ import { Device } from "../lib/browser";
2
+ export declare const EXTENSION_EVM_GLOBAL = "ethereum";
3
+ export declare const EXTENSION_EVM_PROP = "isLedgerConnect";
4
+ export declare enum ExtensionSupportedChains {
5
+ EthereumMainnet = 1,
6
+ Polygon = 137
7
+ }
8
+ /**
9
+ * Checks if the user's platform supports the extension.
10
+ */
11
+ export declare function isExtensionSupported(device: Device): boolean;
12
+ /**
13
+ * Checks if the chain id is supported by the extension.
14
+ */
15
+ export declare function isChainIdSupported(chainId: number): boolean;
16
+ /**
17
+ * Checks if all the chain ids are supported by the extension.
18
+ */
19
+ export declare function areAllRequiredChainsSupported(chains: number[]): boolean;
20
+ export type EthereumRequestPayload = {
21
+ method: string;
22
+ params?: unknown[] | Record<string, unknown> | undefined;
23
+ };
24
+ /**
25
+ * A common interface for all the returned providers.
26
+ */
27
+ export interface EthereumProvider {
28
+ providers?: EthereumProvider[];
29
+ connector?: unknown;
30
+ session?: unknown;
31
+ request<T = unknown>(args: EthereumRequestPayload): Promise<T>;
32
+ disconnect?: {
33
+ (): Promise<void>;
34
+ };
35
+ on(event: any, listener: any): void;
36
+ removeListener(event: string, listener: any): void;
37
+ }
38
+ export interface ExtensionEvmProvider extends EthereumProvider {
39
+ [EXTENSION_EVM_PROP]: boolean;
40
+ chainId: string;
41
+ }
42
+ /**
43
+ * Gets the extension provider. In case it does not exist returns an instance
44
+ * of the install provider.
45
+ */
46
+ export declare function getExtensionProvider(): EthereumProvider;
@@ -1,12 +1,15 @@
1
1
  import { ProviderResult } from "../lib/provider";
2
- export declare const LEDGER_SOLANA_PROVIDER = "solana";
3
- export declare const LEDGER_CONNECT_SOLANA_PROP = "isLedgerConnect";
2
+ export declare const EXTENSION_SOLANA_PROVIDER = "solana";
3
+ export declare const EXTENSION_SOLANA_PROP = "isLedgerConnect";
4
4
  export interface SolanaProvider {
5
- [LEDGER_CONNECT_SOLANA_PROP]: boolean;
5
+ [EXTENSION_SOLANA_PROP]: boolean;
6
6
  signTransaction(...args: unknown[]): Promise<unknown>;
7
7
  signAllTransactions(...args: unknown[]): Promise<unknown>;
8
8
  signAndSendTransaction(...args: unknown[]): Promise<unknown>;
9
9
  connect(): Promise<void>;
10
10
  disconnect(): Promise<void>;
11
11
  }
12
+ /**
13
+ * Gets the Solana provider.
14
+ */
12
15
  export declare function getSolanaProvider(): ProviderResult;
@@ -0,0 +1,13 @@
1
+ import { default as WalletConnectProvider } from '../support/EthereumProvider/EthereumProvider';
2
+ import { CheckSupportWalletConnectProviderOptions } from '../lib/supportOptions';
3
+ /**
4
+ * Specifies the required options for the provider.
5
+ */
6
+ export type WalletConnectProviderOptions = CheckSupportWalletConnectProviderOptions & {
7
+ projectId: string;
8
+ chains: number[];
9
+ };
10
+ /**
11
+ * Gets the WalletConnect provider.
12
+ */
13
+ export declare function getWalletConnectProvider(): Promise<WalletConnectProvider>;
@@ -0,0 +1,7 @@
1
+ import { EthereumProvider } from './ExtensionEvm';
2
+ import { CheckSupportWalletConnectLegacyProviderOptions } from '../lib/supportOptions';
3
+ export type WalletConnectLegacyProviderOptions = CheckSupportWalletConnectLegacyProviderOptions;
4
+ /**
5
+ * Gets the legacy WalletConnect provider.
6
+ */
7
+ export declare function getWalletConnectLegacyProvider(): Promise<EthereumProvider>;
@@ -0,0 +1,126 @@
1
+ /// <reference types="node" />
2
+ import { EventEmitter } from "events";
3
+ import { IEthereumProvider as IProvider, IEthereumProviderEvents, ProviderAccounts, RequestArguments } from "./types";
4
+ import { Metadata, Namespace, UniversalProvider } from "@walletconnect/universal-provider/dist/index.umd.js";
5
+ export type RpcEvent = "accountsChanged" | "chainChanged" | "message" | "disconnect" | "connect";
6
+ export interface EthereumRpcMap {
7
+ [chainId: string]: string;
8
+ }
9
+ export interface SessionEvent {
10
+ event: {
11
+ name: string;
12
+ data: any;
13
+ };
14
+ chainId: string;
15
+ }
16
+ export interface EthereumRpcConfig {
17
+ chains: string[];
18
+ optionalChains?: string[];
19
+ methods: string[];
20
+ optionalMethods?: string[];
21
+ /**
22
+ * @description Events that the wallet MUST support or the connection will be rejected
23
+ */
24
+ events: string[];
25
+ optionalEvents?: string[];
26
+ rpcMap: EthereumRpcMap;
27
+ projectId: string;
28
+ metadata?: Metadata;
29
+ }
30
+ export interface ConnectOps {
31
+ chains?: number[];
32
+ optionalChains?: number[];
33
+ rpcMap?: EthereumRpcMap;
34
+ pairingTopic?: string;
35
+ }
36
+ export interface IEthereumProvider extends IProvider {
37
+ connect(opts?: ConnectOps | undefined): Promise<void>;
38
+ }
39
+ export declare function getRpcUrl(chainId: string, rpc: EthereumRpcConfig): string | undefined;
40
+ export declare function getEthereumChainId(chains: string[]): number;
41
+ export declare function toHexChainId(chainId: number): string;
42
+ export type NamespacesParams = {
43
+ chains: EthereumRpcConfig["chains"];
44
+ optionalChains?: EthereumRpcConfig["optionalChains"];
45
+ methods?: EthereumRpcConfig["methods"];
46
+ optionalMethods?: EthereumRpcConfig["methods"];
47
+ events?: EthereumRpcConfig["events"];
48
+ rpcMap: EthereumRpcConfig["rpcMap"];
49
+ optionalEvents?: EthereumRpcConfig["events"];
50
+ };
51
+ export declare function buildNamespaces(params: NamespacesParams): {
52
+ required: Namespace;
53
+ optional?: Namespace;
54
+ };
55
+ export interface EthereumProviderOptions {
56
+ projectId: string;
57
+ /**
58
+ * @note Chains that your app intents to use and the peer MUST support. If the peer does not support these chains, the connection will be rejected.
59
+ * @default [1]
60
+ * @example [1, 3, 4, 5, 42]
61
+ */
62
+ chains: number[];
63
+ /**
64
+ * @note Optional chains that your app MAY attempt to use and the peer MAY support. If the peer does not support these chains, the connection will still be established.
65
+ * @default [1]
66
+ * @example [1, 3, 4, 5, 42]
67
+ */
68
+ optionalChains?: number[];
69
+ /**
70
+ * @note Methods that your app intents to use and the peer MUST support. If the peer does not support these methods, the connection will be rejected.
71
+ * @default ["eth_sendTransaction", "personal_sign"]
72
+ */
73
+ methods?: string[];
74
+ /**
75
+ * @note Methods that your app MAY attempt to use and the peer MAY support. If the peer does not support these methods, the connection will still be established.
76
+ */
77
+ optionalMethods?: string[];
78
+ events?: string[];
79
+ optionalEvents?: string[];
80
+ rpcMap?: EthereumRpcMap;
81
+ metadata?: Metadata;
82
+ }
83
+ export declare class EthereumProvider implements IEthereumProvider {
84
+ events: EventEmitter;
85
+ namespace: string;
86
+ accounts: string[];
87
+ signer: InstanceType<typeof UniversalProvider>;
88
+ chainId: number;
89
+ private rpc;
90
+ private readonly STORAGE_KEY;
91
+ constructor();
92
+ static init(opts: EthereumProviderOptions): Promise<EthereumProvider>;
93
+ request<T = unknown>(args: RequestArguments): Promise<T>;
94
+ sendAsync(args: RequestArguments, callback: (error: Error | null, response: any) => void): void;
95
+ get connected(): boolean;
96
+ get connecting(): boolean;
97
+ enable(): Promise<ProviderAccounts>;
98
+ connect(opts?: ConnectOps): Promise<void>;
99
+ disconnect(): Promise<void>;
100
+ on: IEthereumProviderEvents["on"];
101
+ once: IEthereumProviderEvents["once"];
102
+ removeListener: IEthereumProviderEvents["removeListener"];
103
+ off: IEthereumProviderEvents["off"];
104
+ get isWalletConnect(): boolean;
105
+ get session(): any;
106
+ private registerEventListeners;
107
+ private setHttpProvider;
108
+ private isCompatibleChainId;
109
+ private formatChainId;
110
+ private parseChainId;
111
+ private setChainIds;
112
+ private setChainId;
113
+ private parseAccountId;
114
+ private setAccounts;
115
+ private getRpcConfig;
116
+ private buildRpcMap;
117
+ private initialize;
118
+ private loadConnectOpts;
119
+ private getRpcUrl;
120
+ private loadPersistedSession;
121
+ private reset;
122
+ private persist;
123
+ private parseAccounts;
124
+ private parseAccount;
125
+ }
126
+ export default EthereumProvider;
@@ -0,0 +1,2 @@
1
+ export * from "./values";
2
+ export * from "./rpc";
@@ -0,0 +1,4 @@
1
+ export declare const REQUIRED_METHODS: string[];
2
+ export declare const OPTIONAL_METHODS: string[];
3
+ export declare const REQUIRED_EVENTS: string[];
4
+ export declare const OPTIONAL_EVENTS: string[];
@@ -0,0 +1,5 @@
1
+ export declare const PROTOCOL = "wc";
2
+ export declare const WC_VERSION = 2;
3
+ export declare const CONTEXT = "ethereum_provider";
4
+ export declare const STORAGE_KEY: string;
5
+ export declare const RPC_URL = "https://rpc.walletconnect.com/v1/";
@@ -0,0 +1,57 @@
1
+ import { SignClientTypes } from "@walletconnect/types";
2
+ import { EthereumProvider } from "./EthereumProvider";
3
+ export interface ProviderRpcError extends Error {
4
+ message: string;
5
+ code: number;
6
+ data?: unknown;
7
+ }
8
+ export interface ProviderMessage {
9
+ type: string;
10
+ data: unknown;
11
+ }
12
+ export interface ProviderInfo {
13
+ chainId: string;
14
+ }
15
+ export interface RequestArguments {
16
+ method: string;
17
+ params?: unknown[] | object;
18
+ }
19
+ export type ProviderChainId = ProviderInfo["chainId"];
20
+ export type ProviderAccounts = string[];
21
+ export interface EIP1102Request extends RequestArguments {
22
+ method: "eth_requestAccounts";
23
+ }
24
+ export declare namespace IProviderEvents {
25
+ type Event = "connect" | "disconnect" | "message" | "chainChanged" | "accountsChanged" | "session_delete" | "session_event" | "session_update" | "display_uri";
26
+ interface EventArguments {
27
+ connect: ProviderInfo;
28
+ disconnect: ProviderRpcError;
29
+ message: ProviderMessage;
30
+ chainChanged: ProviderChainId;
31
+ accountsChanged: ProviderAccounts;
32
+ session_delete: {
33
+ topic: string;
34
+ };
35
+ session_event: SignClientTypes.EventArguments["session_event"];
36
+ session_update: SignClientTypes.EventArguments["session_delete"];
37
+ display_uri: string;
38
+ }
39
+ }
40
+ export interface IEthereumProviderEvents {
41
+ on: <E extends IProviderEvents.Event>(event: E, listener: (args: IProviderEvents.EventArguments[E]) => void) => EthereumProvider;
42
+ once: <E extends IProviderEvents.Event>(event: E, listener: (args: IProviderEvents.EventArguments[E]) => void) => EthereumProvider;
43
+ off: <E extends IProviderEvents.Event>(event: E, listener: (args: IProviderEvents.EventArguments[E]) => void) => EthereumProvider;
44
+ removeListener: <E extends IProviderEvents.Event>(event: E, listener: (args: IProviderEvents.EventArguments[E]) => void) => EthereumProvider;
45
+ emit: <E extends IProviderEvents.Event>(event: E, payload: IProviderEvents.EventArguments[E]) => boolean;
46
+ }
47
+ export interface EIP1193Provider {
48
+ on(event: "connect", listener: (info: ProviderInfo) => void): EthereumProvider;
49
+ on(event: "disconnect", listener: (error: ProviderRpcError) => void): EthereumProvider;
50
+ on(event: "message", listener: (message: ProviderMessage) => void): EthereumProvider;
51
+ on(event: "chainChanged", listener: (chainId: ProviderChainId) => void): EthereumProvider;
52
+ on(event: "accountsChanged", listener: (accounts: ProviderAccounts) => void): EthereumProvider;
53
+ request(args: RequestArguments): Promise<unknown>;
54
+ }
55
+ export interface IEthereumProvider extends EIP1193Provider {
56
+ enable(): Promise<ProviderAccounts>;
57
+ }
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@ledgerhq/connect-kit",
3
- "version": "1.1.0-beta.0",
3
+ "version": "1.1.0-beta.1",
4
4
  "description": "A library for dApps to integrate with the Ledger Extension and Ledger Live",
5
- "author": "Hugo Lopes",
5
+ "author": "Ledger SAS <ledger.com>",
6
6
  "license": "MIT",
7
7
  "main": "dist/umd/index.js",
8
- "module": "dist/umd/index.js",
8
+ "module": "dist/esm/index.js",
9
9
  "files": [
10
10
  "dist"
11
11
  ],
@@ -24,25 +24,32 @@
24
24
  "devDependencies": {
25
25
  "@rollup/plugin-commonjs": "^22.0.0",
26
26
  "@rollup/plugin-image": "^2.1.1",
27
+ "@rollup/plugin-json": "^6.0.0",
27
28
  "@rollup/plugin-node-resolve": "^13.3.0",
28
29
  "@rollup/plugin-replace": "^4.0.0",
29
30
  "@rollup/plugin-typescript": "^8.3.3",
30
- "@types/react": "^18.0.13",
31
- "@types/react-dom": "^18.0.5",
31
+ "@types/react": "^18.0.0",
32
+ "@types/react-dom": "^18.0.0",
32
33
  "@types/styled-components": "^5.1.25",
34
+ "@walletconnect/legacy-provider": "^2.0.0",
35
+ "@walletconnect/types": "^2.8.0",
36
+ "@walletconnect/universal-provider": "^2.8.0",
37
+ "@walletconnect/utils": "^2.8.0",
33
38
  "bowser": "^2.11.0",
39
+ "events": "^3.3.0",
40
+ "qrcode.react": "^3.1.0",
41
+ "react": "^18.0.0",
42
+ "react-dom": "^18.0.0",
34
43
  "rollup": "^2.75.6",
44
+ "rollup-plugin-auto-external": "^2.0.0",
35
45
  "rollup-plugin-dts": "^4.2.2",
46
+ "rollup-plugin-polyfill-node": "^0.12.0",
36
47
  "rollup-plugin-terser": "^7.0.2",
48
+ "rollup-plugin-url-resolve": "^0.2.0",
49
+ "rollup-plugin-worker-factory": "^0.5.7",
50
+ "styled-components": "^5.3.5",
37
51
  "tslib": "^2.4.0",
38
52
  "typescript": "^4.7.3"
39
53
  },
40
- "dependencies": {
41
- "@walletconnect/ethereum-provider": "^1.8.0",
42
- "events": "^3.3.0",
43
- "qrcode.react": "^3.1.0",
44
- "react": "^18.2.0",
45
- "react-dom": "^18.2.0",
46
- "styled-components": "^5.3.5"
47
- }
54
+ "dependencies": {}
48
55
  }
@@ -1,7 +0,0 @@
1
- import { ModalProps } from "../Modal/Modal";
2
- export type ConnectWithLedgerLiveModalProps = {
3
- isDesktop?: boolean;
4
- uri?: string;
5
- } & ModalProps;
6
- declare const ConnectWithLedgerLiveModal: ({ isDesktop, uri, onClose, }: ConnectWithLedgerLiveModalProps) => import("react/jsx-runtime").JSX.Element;
7
- export default ConnectWithLedgerLiveModal;
@@ -1 +0,0 @@
1
- export { default } from "./ConnectWithLedgerLiveModal";
@@ -1,4 +0,0 @@
1
- import { ModalProps } from "../Modal/Modal";
2
- export type ExtensionUnavailableModalProps = ModalProps;
3
- declare const ExtensionUnavailableModal: ({ onClose, }: ExtensionUnavailableModalProps) => import("react/jsx-runtime").JSX.Element;
4
- export default ExtensionUnavailableModal;
@@ -1 +0,0 @@
1
- export { default } from "./ExtensionUnavailableModal";
@@ -1,2 +0,0 @@
1
- import { Device } from "./browser";
2
- export declare function isLedgerConnectSupported(device: Device): boolean;
@@ -1,21 +0,0 @@
1
- export declare const LEDGER_ETHEREUM_PROVIDER = "ethereum";
2
- export declare const LEDGER_CONNECT_ETHEREUM_PROP = "isLedgerConnect";
3
- export type EthereumRequestPayload = {
4
- method: string;
5
- params?: unknown[] | object;
6
- };
7
- export interface EthereumProvider {
8
- providers?: EthereumProvider[];
9
- connector?: unknown;
10
- request<T = unknown>(args: EthereumRequestPayload): Promise<T>;
11
- disconnect?: {
12
- (): Promise<void>;
13
- };
14
- emit(eventName: string | symbol, ...args: any[]): boolean;
15
- on(event: any, listener: any): void;
16
- removeListener(event: string, listener: any): void;
17
- }
18
- export interface LedgerConnectProvider extends EthereumProvider {
19
- [LEDGER_CONNECT_ETHEREUM_PROP]: boolean;
20
- }
21
- export declare function getEthereumProvider(): EthereumProvider;
@@ -1,7 +0,0 @@
1
- /// <reference types="node" />
2
- import EventEmitter from "events";
3
- import { EthereumRequestPayload } from "./Ethereum";
4
- export declare class TryConnectEthereumProvider extends EventEmitter {
5
- constructor();
6
- request(payload: EthereumRequestPayload): never[] | Promise<unknown>;
7
- }
@@ -1,13 +0,0 @@
1
- import { EthereumProvider } from './Ethereum';
2
- export interface initWalletConnectProviderOptions {
3
- chainId?: number;
4
- bridge?: string;
5
- infuraId?: string;
6
- rpc?: {
7
- [chainId: number]: string;
8
- };
9
- }
10
- export declare function setWalletConnectOptions(options: initWalletConnectProviderOptions): void;
11
- export declare function initWalletConnectProvider(): Promise<void>;
12
- export declare function isWalletConnectProviderConnected(): boolean;
13
- export declare function getWalletConnectProvider(): Promise<EthereumProvider>;