@ant-design/web3-wagmi 0.0.0-alpha-20260209094036

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 (90) hide show
  1. package/CHANGELOG.md +517 -0
  2. package/LICENSE +21 -0
  3. package/README.md +3 -0
  4. package/dist/esm/chains.d.ts +16 -0
  5. package/dist/esm/chains.js +83 -0
  6. package/dist/esm/global.d.ts +3 -0
  7. package/dist/esm/index.d.ts +6 -0
  8. package/dist/esm/index.js +6 -0
  9. package/dist/esm/interface.d.ts +26 -0
  10. package/dist/esm/interface.js +1 -0
  11. package/dist/esm/utils.d.ts +3 -0
  12. package/dist/esm/utils.js +8 -0
  13. package/dist/esm/wagmi-provider/__mocks__/wagmiBaseMock.d.ts +76 -0
  14. package/dist/esm/wagmi-provider/__mocks__/wagmiBaseMock.js +36 -0
  15. package/dist/esm/wagmi-provider/config-provider.d.ts +23 -0
  16. package/dist/esm/wagmi-provider/config-provider.js +243 -0
  17. package/dist/esm/wagmi-provider/index.d.ts +32 -0
  18. package/dist/esm/wagmi-provider/index.js +102 -0
  19. package/dist/esm/wagmi-provider/methods/getNFTMetadata.d.ts +3 -0
  20. package/dist/esm/wagmi-provider/methods/getNFTMetadata.js +25 -0
  21. package/dist/esm/wagmi-provider/methods/index.d.ts +1 -0
  22. package/dist/esm/wagmi-provider/methods/index.js +1 -0
  23. package/dist/esm/wallets/coinbase-wallet.d.ts +4 -0
  24. package/dist/esm/wallets/coinbase-wallet.js +19 -0
  25. package/dist/esm/wallets/eip6963.d.ts +3 -0
  26. package/dist/esm/wallets/eip6963.js +27 -0
  27. package/dist/esm/wallets/im-token.d.ts +2 -0
  28. package/dist/esm/wallets/im-token.js +11 -0
  29. package/dist/esm/wallets/index.d.ts +10 -0
  30. package/dist/esm/wallets/index.js +10 -0
  31. package/dist/esm/wallets/meta-mask.d.ts +2 -0
  32. package/dist/esm/wallets/meta-mask.js +11 -0
  33. package/dist/esm/wallets/mobile-wallet.d.ts +2 -0
  34. package/dist/esm/wallets/mobile-wallet.js +8 -0
  35. package/dist/esm/wallets/okx-wallet.d.ts +2 -0
  36. package/dist/esm/wallets/okx-wallet.js +11 -0
  37. package/dist/esm/wallets/rainbow-wallet.d.ts +2 -0
  38. package/dist/esm/wallets/rainbow-wallet.js +11 -0
  39. package/dist/esm/wallets/safeheron.d.ts +2 -0
  40. package/dist/esm/wallets/safeheron.js +19 -0
  41. package/dist/esm/wallets/token-pocket.d.ts +2 -0
  42. package/dist/esm/wallets/token-pocket.js +13 -0
  43. package/dist/esm/wallets/universal-wallet.d.ts +11 -0
  44. package/dist/esm/wallets/universal-wallet.js +66 -0
  45. package/dist/esm/wallets/wallet-connect.d.ts +6 -0
  46. package/dist/esm/wallets/wallet-connect.js +42 -0
  47. package/dist/lib/chains.d.ts +16 -0
  48. package/dist/lib/chains.js +89 -0
  49. package/dist/lib/global.d.ts +3 -0
  50. package/dist/lib/index.d.ts +6 -0
  51. package/dist/lib/index.js +71 -0
  52. package/dist/lib/interface.d.ts +26 -0
  53. package/dist/lib/interface.js +5 -0
  54. package/dist/lib/utils.d.ts +3 -0
  55. package/dist/lib/utils.js +14 -0
  56. package/dist/lib/wagmi-provider/__mocks__/wagmiBaseMock.d.ts +76 -0
  57. package/dist/lib/wagmi-provider/__mocks__/wagmiBaseMock.js +42 -0
  58. package/dist/lib/wagmi-provider/config-provider.d.ts +23 -0
  59. package/dist/lib/wagmi-provider/config-provider.js +251 -0
  60. package/dist/lib/wagmi-provider/index.d.ts +32 -0
  61. package/dist/lib/wagmi-provider/index.js +110 -0
  62. package/dist/lib/wagmi-provider/methods/getNFTMetadata.d.ts +3 -0
  63. package/dist/lib/wagmi-provider/methods/getNFTMetadata.js +31 -0
  64. package/dist/lib/wagmi-provider/methods/index.d.ts +1 -0
  65. package/dist/lib/wagmi-provider/methods/index.js +16 -0
  66. package/dist/lib/wallets/coinbase-wallet.d.ts +4 -0
  67. package/dist/lib/wallets/coinbase-wallet.js +26 -0
  68. package/dist/lib/wallets/eip6963.d.ts +3 -0
  69. package/dist/lib/wallets/eip6963.js +34 -0
  70. package/dist/lib/wallets/im-token.d.ts +2 -0
  71. package/dist/lib/wallets/im-token.js +18 -0
  72. package/dist/lib/wallets/index.d.ts +10 -0
  73. package/dist/lib/wallets/index.js +115 -0
  74. package/dist/lib/wallets/meta-mask.d.ts +2 -0
  75. package/dist/lib/wallets/meta-mask.js +18 -0
  76. package/dist/lib/wallets/mobile-wallet.d.ts +2 -0
  77. package/dist/lib/wallets/mobile-wallet.js +15 -0
  78. package/dist/lib/wallets/okx-wallet.d.ts +2 -0
  79. package/dist/lib/wallets/okx-wallet.js +18 -0
  80. package/dist/lib/wallets/rainbow-wallet.d.ts +2 -0
  81. package/dist/lib/wallets/rainbow-wallet.js +18 -0
  82. package/dist/lib/wallets/safeheron.d.ts +2 -0
  83. package/dist/lib/wallets/safeheron.js +27 -0
  84. package/dist/lib/wallets/token-pocket.d.ts +2 -0
  85. package/dist/lib/wallets/token-pocket.js +20 -0
  86. package/dist/lib/wallets/universal-wallet.d.ts +11 -0
  87. package/dist/lib/wallets/universal-wallet.js +73 -0
  88. package/dist/lib/wallets/wallet-connect.d.ts +6 -0
  89. package/dist/lib/wallets/wallet-connect.js +49 -0
  90. package/package.json +73 -0
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MetaMask = void 0;
7
+ var _web3Assets = require("@ant-design/web3-assets");
8
+ var _connectors = require("wagmi/connectors");
9
+ var _universalWallet = require("./universal-wallet");
10
+ const MetaMask = metadata => {
11
+ return new _universalWallet.UniversalWallet({
12
+ ..._web3Assets.metadata_MetaMask,
13
+ ...metadata
14
+ }, () => (0, _connectors.injected)({
15
+ target: 'metaMask'
16
+ }));
17
+ };
18
+ exports.MetaMask = MetaMask;
@@ -0,0 +1,2 @@
1
+ import { type EthereumWalletConnect } from './wallet-connect';
2
+ export declare const MobileWallet: EthereumWalletConnect;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MobileWallet = void 0;
7
+ var _web3Assets = require("@ant-design/web3-assets");
8
+ var _walletConnect = require("./wallet-connect");
9
+ const MobileWallet = metadata => {
10
+ return (0, _walletConnect.WalletConnect)({
11
+ ..._web3Assets.metadata_MobileConnect,
12
+ ...metadata
13
+ });
14
+ };
15
+ exports.MobileWallet = MobileWallet;
@@ -0,0 +1,2 @@
1
+ import type { EthereumWallet } from '../interface';
2
+ export declare const OkxWallet: EthereumWallet;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.OkxWallet = void 0;
7
+ var _web3Assets = require("@ant-design/web3-assets");
8
+ var _connectors = require("wagmi/connectors");
9
+ var _universalWallet = require("./universal-wallet");
10
+ const OkxWallet = metadata => {
11
+ return new _universalWallet.UniversalWallet({
12
+ ..._web3Assets.metadata_OkxWallet,
13
+ ...metadata
14
+ }, () => (0, _connectors.injected)({
15
+ target: 'okxWallet'
16
+ }));
17
+ };
18
+ exports.OkxWallet = OkxWallet;
@@ -0,0 +1,2 @@
1
+ import type { EthereumWallet } from '../interface';
2
+ export declare const RainbowWallet: EthereumWallet;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.RainbowWallet = void 0;
7
+ var _web3Assets = require("@ant-design/web3-assets");
8
+ var _connectors = require("wagmi/connectors");
9
+ var _universalWallet = require("./universal-wallet");
10
+ const RainbowWallet = metadata => {
11
+ return new _universalWallet.UniversalWallet({
12
+ ..._web3Assets.metadata_RainbowWallet,
13
+ ...metadata
14
+ }, () => (0, _connectors.injected)({
15
+ target: 'rainbow'
16
+ }));
17
+ };
18
+ exports.RainbowWallet = RainbowWallet;
@@ -0,0 +1,2 @@
1
+ import type { EthereumWallet } from '../interface';
2
+ export declare const SafeheronWallet: EthereumWallet;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SafeheronWallet = void 0;
7
+ var _web3Assets = require("@ant-design/web3-assets");
8
+ /* v8 ignore start */
9
+
10
+ const SafeheronWallet = metadata => {
11
+ return {
12
+ connectors: ['Safeheron'],
13
+ create: connectors => {
14
+ return {
15
+ ..._web3Assets.metadata_Safeheron,
16
+ hasWalletReady: async () => {
17
+ return !!(await connectors?.[0]?.getProvider());
18
+ },
19
+ hasExtensionInstalled: async () => {
20
+ return !!(await connectors?.[0]?.getProvider());
21
+ },
22
+ ...metadata
23
+ };
24
+ }
25
+ };
26
+ };
27
+ exports.SafeheronWallet = SafeheronWallet;
@@ -0,0 +1,2 @@
1
+ import type { EthereumWallet } from '../interface';
2
+ export declare const TokenPocket: EthereumWallet;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TokenPocket = void 0;
7
+ var _web3Assets = require("@ant-design/web3-assets");
8
+ var _connectors = require("wagmi/connectors");
9
+ var _universalWallet = require("./universal-wallet");
10
+ const TokenPocket = metadata => {
11
+ return new _universalWallet.UniversalWallet({
12
+ ..._web3Assets.metadata_TokenPocket,
13
+ ...metadata
14
+ }, () => {
15
+ return (0, _connectors.injected)({
16
+ target: 'tokenPocket'
17
+ });
18
+ });
19
+ };
20
+ exports.TokenPocket = TokenPocket;
@@ -0,0 +1,11 @@
1
+ import type { WalletMetadata } from '@ant-design/web3-common';
2
+ import type { Connector, CreateConnectorFn } from 'wagmi';
3
+ import type { CreateWalletOptions, WalletFactory, WalletUseInWagmiAdapter } from '../interface';
4
+ export declare class UniversalWallet implements WalletFactory {
5
+ private wallet;
6
+ name?: string;
7
+ createWagmiConnector?: () => CreateConnectorFn;
8
+ connectors: string[];
9
+ constructor(wallet: WalletMetadata, createWagmiConnector?: () => CreateConnectorFn);
10
+ create: (connectors?: readonly Connector[], options?: CreateWalletOptions) => WalletUseInWagmiAdapter;
11
+ }
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.UniversalWallet = void 0;
7
+ class UniversalWallet {
8
+ name;
9
+ createWagmiConnector;
10
+ connectors = [];
11
+ constructor(wallet, createWagmiConnector) {
12
+ this.wallet = wallet;
13
+ this.name = wallet.name;
14
+ this.createWagmiConnector = createWagmiConnector;
15
+ if (wallet.extensions) {
16
+ // support injected connector
17
+ // https://wagmi.sh/react/connectors/injected
18
+ this.connectors.push(wallet.name);
19
+ }
20
+ if (wallet.app) {
21
+ // support WalletConnect https://wagmi.sh/react/connectors/walletConnect
22
+ this.connectors.push('WalletConnect');
23
+ }
24
+ }
25
+ create = (connectors, options) => {
26
+ const walletConnector = connectors?.find(item => item.name === 'WalletConnect');
27
+ const injectedConnector = connectors?.find(item => item.name === this.wallet.name);
28
+ let qrCodeUri = undefined;
29
+ const getQrCode = async () => {
30
+ const provider = await walletConnector?.getProvider();
31
+ return new Promise(resolve => {
32
+ if (qrCodeUri) {
33
+ resolve({
34
+ uri: qrCodeUri
35
+ });
36
+ return;
37
+ }
38
+ provider?.on('display_uri', uri => {
39
+ qrCodeUri = uri;
40
+ resolve({
41
+ uri
42
+ });
43
+ });
44
+ });
45
+ };
46
+ const hasExtensionInstalled = async () => {
47
+ const provider = await injectedConnector?.getProvider?.();
48
+ return !!provider;
49
+ };
50
+ return {
51
+ ...this.wallet,
52
+ getWagmiConnector: async connectOptions => {
53
+ if (connectOptions?.connectType === 'qrCode') {
54
+ return walletConnector;
55
+ }
56
+ if (await hasExtensionInstalled()) {
57
+ return injectedConnector;
58
+ }
59
+ return walletConnector;
60
+ },
61
+ hasExtensionInstalled: async () => {
62
+ return hasExtensionInstalled();
63
+ },
64
+ hasWalletReady: async () => {
65
+ const installed = await hasExtensionInstalled();
66
+ return !!(installed || walletConnector);
67
+ },
68
+ customQrCodePanel: options?.useWalletConnectOfficialModal,
69
+ getQrCode: walletConnector ? getQrCode : undefined
70
+ };
71
+ };
72
+ }
73
+ exports.UniversalWallet = UniversalWallet;
@@ -0,0 +1,6 @@
1
+ import type { WalletMetadata } from '@ant-design/web3-common';
2
+ import type { WalletFactory } from '../interface';
3
+ export type EthereumWalletConnect = (metadata?: Partial<WalletMetadata> & {
4
+ useWalletConnectOfficialModal?: boolean;
5
+ }) => WalletFactory;
6
+ export declare const WalletConnect: EthereumWalletConnect;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.WalletConnect = void 0;
7
+ var _web3Assets = require("@ant-design/web3-assets");
8
+ const WalletConnect = metadata => {
9
+ const {
10
+ useWalletConnectOfficialModal = false,
11
+ ...rest
12
+ } = metadata || {};
13
+ return {
14
+ connectors: ['WalletConnect'],
15
+ create: (connectors, options = {}) => {
16
+ let qrCodeUri = undefined;
17
+ const getQrCode = async () => {
18
+ const provider = await connectors?.[0]?.getProvider();
19
+ return new Promise(resolve => {
20
+ if (qrCodeUri) {
21
+ resolve({
22
+ uri: qrCodeUri
23
+ });
24
+ return;
25
+ }
26
+ provider?.on('display_uri', uri => {
27
+ qrCodeUri = uri;
28
+ resolve({
29
+ uri
30
+ });
31
+ });
32
+ });
33
+ };
34
+ return {
35
+ ..._web3Assets.metadata_WalletConnect,
36
+ getWagmiConnector: async () => {
37
+ return connectors?.[0];
38
+ },
39
+ hasWalletReady: async () => {
40
+ return true;
41
+ },
42
+ getQrCode: getQrCode,
43
+ customQrCodePanel: useWalletConnectOfficialModal || options.useWalletConnectOfficialModal,
44
+ ...rest
45
+ };
46
+ }
47
+ };
48
+ };
49
+ exports.WalletConnect = WalletConnect;
package/package.json ADDED
@@ -0,0 +1,73 @@
1
+ {
2
+ "name": "@ant-design/web3-wagmi",
3
+ "version": "0.0.0-alpha-20260209094036",
4
+ "type": "module",
5
+ "main": "dist/esm/index.js",
6
+ "module": "dist/esm/index.js",
7
+ "typings": "dist/esm/index.d.ts",
8
+ "exports": {
9
+ "import": "./dist/esm/index.js",
10
+ "require": "./dist/lib/index.js",
11
+ "types": "./dist/esm/index.d.ts"
12
+ },
13
+ "sideEffects": false,
14
+ "files": [
15
+ "dist",
16
+ "CHANGELOG.md",
17
+ "README.md"
18
+ ],
19
+ "keywords": [
20
+ "ant",
21
+ "design",
22
+ "web3",
23
+ "antd",
24
+ "component",
25
+ "components",
26
+ "framework",
27
+ "frontend",
28
+ "react",
29
+ "react-component",
30
+ "ui",
31
+ "web3"
32
+ ],
33
+ "homepage": "https://web3.ant.design",
34
+ "bugs": {
35
+ "url": "https://github.com/ant-design/ant-design-web3/issues"
36
+ },
37
+ "repository": {
38
+ "type": "git",
39
+ "url": "https://github.com/ant-design/ant-design-web3"
40
+ },
41
+ "dependencies": {
42
+ "debug": "^4.4.0",
43
+ "@ant-design/web3-assets": "0.0.0-alpha-20260209094036",
44
+ "@ant-design/web3-common": "0.0.0-alpha-20260209094036"
45
+ },
46
+ "devDependencies": {
47
+ "@tanstack/react-query": "^5.51.11",
48
+ "@types/debug": "^4.1.12",
49
+ "father": "^4.6.2",
50
+ "typescript": "^5.6.2",
51
+ "viem": "^2.33.2",
52
+ "wagmi": "^2.14.16"
53
+ },
54
+ "peerDependencies": {
55
+ "@tanstack/react-query": "^5.51.11",
56
+ "viem": ">=2.0.0",
57
+ "wagmi": "^2.12.13"
58
+ },
59
+ "publishConfig": {
60
+ "registry": "https://registry.npmjs.org",
61
+ "access": "public"
62
+ },
63
+ "browserslist": [
64
+ "last 2 versions",
65
+ "Firefox ESR",
66
+ "> 1%",
67
+ "ie >= 11"
68
+ ],
69
+ "scripts": {
70
+ "dev": "father dev",
71
+ "build": "father build"
72
+ }
73
+ }