@broxus/evm-connect 1.0.0
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.
- package/LICENSE +21 -0
- package/README.md +182 -0
- package/dist/cjs/components/EvmConnectButton/index.d.ts +21 -0
- package/dist/cjs/components/EvmConnectButton/index.js +52 -0
- package/dist/cjs/components/EvmConnectDialog/index.css +130 -0
- package/dist/cjs/components/EvmConnectDialog/index.d.ts +11 -0
- package/dist/cjs/components/EvmConnectDialog/index.js +65 -0
- package/dist/cjs/components/EvmConnector/index.css +37 -0
- package/dist/cjs/components/EvmConnector/index.d.ts +20 -0
- package/dist/cjs/components/EvmConnector/index.js +97 -0
- package/dist/cjs/components/EvmProvidersDispatcher/ConnectionRequest/index.css +43 -0
- package/dist/cjs/components/EvmProvidersDispatcher/ConnectionRequest/index.d.ts +3 -0
- package/dist/cjs/components/EvmProvidersDispatcher/ConnectionRequest/index.js +65 -0
- package/dist/cjs/components/EvmProvidersDispatcher/ProviderButton/index.css +54 -0
- package/dist/cjs/components/EvmProvidersDispatcher/ProviderButton/index.d.ts +11 -0
- package/dist/cjs/components/EvmProvidersDispatcher/ProviderButton/index.js +93 -0
- package/dist/cjs/components/EvmProvidersDispatcher/index.css +13 -0
- package/dist/cjs/components/EvmProvidersDispatcher/index.d.ts +5 -0
- package/dist/cjs/components/EvmProvidersDispatcher/index.js +49 -0
- package/dist/cjs/components/index.d.ts +4 -0
- package/dist/cjs/components/index.js +20 -0
- package/dist/cjs/constants.d.ts +1 -0
- package/dist/cjs/constants.js +4 -0
- package/dist/cjs/context/EvmWalletProvidersContext.d.ts +20 -0
- package/dist/cjs/context/EvmWalletProvidersContext.js +95 -0
- package/dist/cjs/context/EvmWalletServiceContext.d.ts +10 -0
- package/dist/cjs/context/EvmWalletServiceContext.js +55 -0
- package/dist/cjs/context/index.d.ts +2 -0
- package/dist/cjs/context/index.js +18 -0
- package/dist/cjs/core/EIP6963Connector.d.ts +17 -0
- package/dist/cjs/core/EIP6963Connector.js +127 -0
- package/dist/cjs/core/EthereumConnector.d.ts +43 -0
- package/dist/cjs/core/EthereumConnector.js +190 -0
- package/dist/cjs/core/MetaMask.d.ts +24 -0
- package/dist/cjs/core/MetaMask.js +159 -0
- package/dist/cjs/core/WalletConnect.d.ts +20 -0
- package/dist/cjs/core/WalletConnect.js +141 -0
- package/dist/cjs/core/index.d.ts +4 -0
- package/dist/cjs/core/index.js +20 -0
- package/dist/cjs/hooks/index.d.ts +4 -0
- package/dist/cjs/hooks/index.js +20 -0
- package/dist/cjs/hooks/useEIP6963Connections.d.ts +6 -0
- package/dist/cjs/hooks/useEIP6963Connections.js +47 -0
- package/dist/cjs/hooks/useFilteredConnections.d.ts +2 -0
- package/dist/cjs/hooks/useFilteredConnections.js +7 -0
- package/dist/cjs/hooks/useOrderedConnections.d.ts +2 -0
- package/dist/cjs/hooks/useOrderedConnections.js +41 -0
- package/dist/cjs/hooks/useRecentConnectionMeta.d.ts +15 -0
- package/dist/cjs/hooks/useRecentConnectionMeta.js +80 -0
- package/dist/cjs/index.d.ts +8 -0
- package/dist/cjs/index.js +24 -0
- package/dist/cjs/intl/index.d.ts +107 -0
- package/dist/cjs/intl/index.js +110 -0
- package/dist/cjs/services/EvmWalletService.d.ts +165 -0
- package/dist/cjs/services/EvmWalletService.js +430 -0
- package/dist/cjs/services/index.d.ts +1 -0
- package/dist/cjs/services/index.js +17 -0
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -0
- package/dist/cjs/types.d.ts +47 -0
- package/dist/cjs/types.js +15 -0
- package/dist/cjs/utils/get-evm-provider-platform-link.d.ts +2 -0
- package/dist/cjs/utils/get-evm-provider-platform-link.js +14 -0
- package/dist/cjs/utils/index.d.ts +2 -0
- package/dist/cjs/utils/index.js +18 -0
- package/dist/cjs/utils/parse-chain-id.d.ts +1 -0
- package/dist/cjs/utils/parse-chain-id.js +7 -0
- package/dist/esm/components/EvmConnectButton/index.d.ts +21 -0
- package/dist/esm/components/EvmConnectButton/index.js +26 -0
- package/dist/esm/components/EvmConnectDialog/index.css +130 -0
- package/dist/esm/components/EvmConnectDialog/index.d.ts +11 -0
- package/dist/esm/components/EvmConnectDialog/index.js +36 -0
- package/dist/esm/components/EvmConnector/index.css +37 -0
- package/dist/esm/components/EvmConnector/index.d.ts +20 -0
- package/dist/esm/components/EvmConnector/index.js +68 -0
- package/dist/esm/components/EvmProvidersDispatcher/ConnectionRequest/index.css +43 -0
- package/dist/esm/components/EvmProvidersDispatcher/ConnectionRequest/index.d.ts +3 -0
- package/dist/esm/components/EvmProvidersDispatcher/ConnectionRequest/index.js +35 -0
- package/dist/esm/components/EvmProvidersDispatcher/ProviderButton/index.css +54 -0
- package/dist/esm/components/EvmProvidersDispatcher/ProviderButton/index.d.ts +11 -0
- package/dist/esm/components/EvmProvidersDispatcher/ProviderButton/index.js +64 -0
- package/dist/esm/components/EvmProvidersDispatcher/index.css +13 -0
- package/dist/esm/components/EvmProvidersDispatcher/index.d.ts +5 -0
- package/dist/esm/components/EvmProvidersDispatcher/index.js +23 -0
- package/dist/esm/components/index.d.ts +4 -0
- package/dist/esm/components/index.js +4 -0
- package/dist/esm/constants.d.ts +1 -0
- package/dist/esm/constants.js +1 -0
- package/dist/esm/context/EvmWalletProvidersContext.d.ts +20 -0
- package/dist/esm/context/EvmWalletProvidersContext.js +68 -0
- package/dist/esm/context/EvmWalletServiceContext.d.ts +10 -0
- package/dist/esm/context/EvmWalletServiceContext.js +28 -0
- package/dist/esm/context/index.d.ts +2 -0
- package/dist/esm/context/index.js +2 -0
- package/dist/esm/core/EIP6963Connector.d.ts +17 -0
- package/dist/esm/core/EIP6963Connector.js +123 -0
- package/dist/esm/core/EthereumConnector.d.ts +43 -0
- package/dist/esm/core/EthereumConnector.js +186 -0
- package/dist/esm/core/MetaMask.d.ts +24 -0
- package/dist/esm/core/MetaMask.js +152 -0
- package/dist/esm/core/WalletConnect.d.ts +20 -0
- package/dist/esm/core/WalletConnect.js +134 -0
- package/dist/esm/core/index.d.ts +4 -0
- package/dist/esm/core/index.js +4 -0
- package/dist/esm/hooks/index.d.ts +4 -0
- package/dist/esm/hooks/index.js +4 -0
- package/dist/esm/hooks/useEIP6963Connections.d.ts +6 -0
- package/dist/esm/hooks/useEIP6963Connections.js +20 -0
- package/dist/esm/hooks/useFilteredConnections.d.ts +2 -0
- package/dist/esm/hooks/useFilteredConnections.js +3 -0
- package/dist/esm/hooks/useOrderedConnections.d.ts +2 -0
- package/dist/esm/hooks/useOrderedConnections.js +14 -0
- package/dist/esm/hooks/useRecentConnectionMeta.d.ts +15 -0
- package/dist/esm/hooks/useRecentConnectionMeta.js +51 -0
- package/dist/esm/index.d.ts +8 -0
- package/dist/esm/index.js +8 -0
- package/dist/esm/intl/index.d.ts +107 -0
- package/dist/esm/intl/index.js +108 -0
- package/dist/esm/services/EvmWalletService.d.ts +165 -0
- package/dist/esm/services/EvmWalletService.js +423 -0
- package/dist/esm/services/index.d.ts +1 -0
- package/dist/esm/services/index.js +1 -0
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
- package/dist/esm/types.d.ts +47 -0
- package/dist/esm/types.js +12 -0
- package/dist/esm/utils/get-evm-provider-platform-link.d.ts +2 -0
- package/dist/esm/utils/get-evm-provider-platform-link.js +10 -0
- package/dist/esm/utils/index.d.ts +2 -0
- package/dist/esm/utils/index.js +2 -0
- package/dist/esm/utils/parse-chain-id.d.ts +1 -0
- package/dist/esm/utils/parse-chain-id.js +3 -0
- package/package.json +82 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { type EIP1193Provider, type MetaMaskProvider, type Web3APISpec, type Web3BaseProvider, type Web3EthExecutionAPI } from 'web3-types';
|
|
2
|
+
import { type EthereumConnector } from './core';
|
|
3
|
+
export type SupportedProviders<API extends Web3APISpec = Web3EthExecutionAPI> = EIP1193Provider<API> | Web3BaseProvider<API> | MetaMaskProvider<API>;
|
|
4
|
+
export declare enum ConnectionType {
|
|
5
|
+
INJECTED = "INJECTED",
|
|
6
|
+
COINBASE_WALLET = "COINBASE_WALLET",
|
|
7
|
+
WALLET_CONNECT_V2 = "WALLET_CONNECT_V2",
|
|
8
|
+
EIP_6963_INJECTED = "EIP_6963_INJECTED"
|
|
9
|
+
}
|
|
10
|
+
export declare enum EIP6963Event {
|
|
11
|
+
REQUEST_PROVIDER = "eip6963:requestProvider",
|
|
12
|
+
ANNOUNCE_PROVIDER = "eip6963:announceProvider"
|
|
13
|
+
}
|
|
14
|
+
export interface WatchAssetParameters {
|
|
15
|
+
address: string;
|
|
16
|
+
decimals: number;
|
|
17
|
+
image?: string;
|
|
18
|
+
symbol: string;
|
|
19
|
+
}
|
|
20
|
+
export interface AddEthereumChainParams {
|
|
21
|
+
blockExplorerUrls?: string[];
|
|
22
|
+
chainId: number;
|
|
23
|
+
chainName: string;
|
|
24
|
+
iconUrls?: string[];
|
|
25
|
+
nativeCurrency: {
|
|
26
|
+
decimals: 18;
|
|
27
|
+
name: string;
|
|
28
|
+
symbol: string;
|
|
29
|
+
};
|
|
30
|
+
rpcUrls: string[];
|
|
31
|
+
}
|
|
32
|
+
export type EvmProviderAvailablePlatforms = 'ios' | 'android' | 'chromeExtension' | 'firefoxExtension';
|
|
33
|
+
export type EvmProviderPlatformLinks = Partial<Record<EvmProviderAvailablePlatforms, string>>;
|
|
34
|
+
export interface EvmWalletProviderConfig {
|
|
35
|
+
connector: EthereumConnector;
|
|
36
|
+
id: string;
|
|
37
|
+
info: {
|
|
38
|
+
description?: string;
|
|
39
|
+
icon?: string;
|
|
40
|
+
links?: EvmProviderPlatformLinks & {
|
|
41
|
+
homepage?: string;
|
|
42
|
+
};
|
|
43
|
+
name: string;
|
|
44
|
+
rdns?: string;
|
|
45
|
+
};
|
|
46
|
+
isRecent?: boolean;
|
|
47
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export var ConnectionType;
|
|
2
|
+
(function (ConnectionType) {
|
|
3
|
+
ConnectionType["INJECTED"] = "INJECTED";
|
|
4
|
+
ConnectionType["COINBASE_WALLET"] = "COINBASE_WALLET";
|
|
5
|
+
ConnectionType["WALLET_CONNECT_V2"] = "WALLET_CONNECT_V2";
|
|
6
|
+
ConnectionType["EIP_6963_INJECTED"] = "EIP_6963_INJECTED";
|
|
7
|
+
})(ConnectionType || (ConnectionType = {}));
|
|
8
|
+
export var EIP6963Event;
|
|
9
|
+
(function (EIP6963Event) {
|
|
10
|
+
EIP6963Event["REQUEST_PROVIDER"] = "eip6963:requestProvider";
|
|
11
|
+
EIP6963Event["ANNOUNCE_PROVIDER"] = "eip6963:announceProvider";
|
|
12
|
+
})(EIP6963Event || (EIP6963Event = {}));
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { isAndroid, isBrowser, isChrome, isFirefox, isIos, isMobile } from '@broxus/js-utils';
|
|
2
|
+
export function getEvmProviderPlatformLink(links) {
|
|
3
|
+
const [platform] = Array.from(new Map([
|
|
4
|
+
['android', isMobile(navigator.userAgent) && isAndroid(navigator.userAgent)],
|
|
5
|
+
['ios', isMobile(navigator.userAgent) && isIos(navigator.userAgent)],
|
|
6
|
+
['chromeExtension', isBrowser() && isChrome(navigator.userAgent)],
|
|
7
|
+
['firefoxExtension', isBrowser() && isFirefox(navigator.userAgent)],
|
|
8
|
+
])).find(([, enabled]) => enabled) ?? [];
|
|
9
|
+
return platform ? [platform, links[platform]] : undefined;
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function parseChainId(chainId: string | number): number;
|
package/package.json
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@broxus/evm-connect",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Ethereum wallets connector.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"blockchain",
|
|
8
|
+
"evm",
|
|
9
|
+
"connect",
|
|
10
|
+
"web3"
|
|
11
|
+
],
|
|
12
|
+
"maintainers": [
|
|
13
|
+
{
|
|
14
|
+
"name": "Denis Klimov",
|
|
15
|
+
"url": "https://github.com/JeremiahGeronimo"
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"publishConfig": {
|
|
19
|
+
"access": "public"
|
|
20
|
+
},
|
|
21
|
+
"exports": {
|
|
22
|
+
".": {
|
|
23
|
+
"import": "./dist/esm/index.js",
|
|
24
|
+
"require": "./dist/cjs/index.js"
|
|
25
|
+
},
|
|
26
|
+
"./package.json": "./package.json"
|
|
27
|
+
},
|
|
28
|
+
"files": [
|
|
29
|
+
"dist",
|
|
30
|
+
"LICENSE",
|
|
31
|
+
"README.md"
|
|
32
|
+
],
|
|
33
|
+
"main": "./dist/cjs/index.js",
|
|
34
|
+
"module": "./dist/esm/index.js",
|
|
35
|
+
"types": "./dist/esm/index.d.ts",
|
|
36
|
+
"sideEffects": [
|
|
37
|
+
"*.css"
|
|
38
|
+
],
|
|
39
|
+
"engines": {
|
|
40
|
+
"node": ">=16",
|
|
41
|
+
"npm": ">=8"
|
|
42
|
+
},
|
|
43
|
+
"scripts": {
|
|
44
|
+
"build": "npx yarn build:js && npx yarn styles:copy",
|
|
45
|
+
"build:js": "npx yarn build:cjs & npx yarn build:esm",
|
|
46
|
+
"build:cjs": "tsc -p tsconfig.cjs.json && tsc-alias -p tsconfig.cjs.json",
|
|
47
|
+
"build:esm": "tsc -p tsconfig.esm.json && tsc-alias -p tsconfig.esm.json",
|
|
48
|
+
"styles:copy": "npx yarn styles:cjs:copy & npx yarn styles:esm:copy",
|
|
49
|
+
"styles:cjs:copy": "npx copyfiles \"src/**/*.css\" -u 1 dist/cjs",
|
|
50
|
+
"styles:esm:copy": "npx copyfiles \"src/**/*.css\" -u 1 dist/esm",
|
|
51
|
+
"watch:js": "npx chokidar \"src/**/*.{ts,tsx}\" -c \"npx yarn build:esm\"",
|
|
52
|
+
"watch:styles": "npx chokidar \"src/**/*.css\" -c \"npx yarn styles:esm:copy\"",
|
|
53
|
+
"dev": "npx yarn watch:js & npx yarn watch:styles",
|
|
54
|
+
"lint": "npx eslint src --ext .ts,.tsx",
|
|
55
|
+
"lint:fix": "npx eslint src --ext .ts,.tsx --fix",
|
|
56
|
+
"cleanup": "npx rimraf dist",
|
|
57
|
+
"prepare": "npx yarn cleanup && npx yarn build"
|
|
58
|
+
},
|
|
59
|
+
"dependencies": {
|
|
60
|
+
"@broxus/js-bridge-essentials": "^0.5.0",
|
|
61
|
+
"@broxus/js-core": "^0.13.0",
|
|
62
|
+
"@broxus/js-utils": "^1.3.6",
|
|
63
|
+
"@broxus/react-components": "^0.17.0",
|
|
64
|
+
"@broxus/react-uikit": "^0.11.0",
|
|
65
|
+
"@metamask/detect-provider": "^2.0.0",
|
|
66
|
+
"@walletconnect/ethereum-provider": "^2.12.1",
|
|
67
|
+
"classnames": "^2.5.1"
|
|
68
|
+
},
|
|
69
|
+
"peerDependencies": {
|
|
70
|
+
"mobx": "^6.x",
|
|
71
|
+
"mobx-react-lite": "^3.4.x || ^4.x",
|
|
72
|
+
"react": "^16.8.0 || ^17.x || ^18.x",
|
|
73
|
+
"react-intl": "^6.x",
|
|
74
|
+
"web3": "^4.x",
|
|
75
|
+
"web3-core": "^4.x",
|
|
76
|
+
"web3-eth": "^4.x",
|
|
77
|
+
"web3-eth-contract": "^4.x",
|
|
78
|
+
"web3-types": "^1.x",
|
|
79
|
+
"web3-utils": "^4.x"
|
|
80
|
+
},
|
|
81
|
+
"gitHead": "27e7a7602ee608f65839276c7cd56bed6ffcd205"
|
|
82
|
+
}
|