@ant-design/web3-wagmi 1.2.0 → 2.0.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.
- package/CHANGELOG.md +18 -0
- package/dist/esm/interface.d.ts +5 -4
- package/dist/esm/wagmi-provider/config-provider.d.ts +6 -4
- package/dist/esm/wagmi-provider/config-provider.js +41 -41
- package/dist/esm/wagmi-provider/index.d.ts +8 -5
- package/dist/esm/wagmi-provider/index.js +27 -54
- package/dist/esm/wagmi-provider/methods/addNameToAccount.d.ts +2 -1
- package/dist/esm/wagmi-provider/methods/addNameToAccount.js +4 -4
- package/dist/esm/wagmi-provider/methods/getNFTMetadata.d.ts +2 -1
- package/dist/esm/wagmi-provider/methods/getNFTMetadata.js +3 -3
- package/dist/esm/wallets/coinbase-wallet.d.ts +2 -2
- package/dist/esm/wallets/coinbase-wallet.js +25 -23
- package/dist/esm/wallets/meta-mask.d.ts +2 -2
- package/dist/esm/wallets/meta-mask.js +44 -42
- package/dist/esm/wallets/safeheron.d.ts +2 -2
- package/dist/esm/wallets/safeheron.js +50 -40
- package/dist/esm/wallets/token-pocket.d.ts +2 -2
- package/dist/esm/wallets/token-pocket.js +9 -1
- package/dist/esm/wallets/universal-wallet.d.ts +2 -2
- package/dist/esm/wallets/universal-wallet.js +72 -33
- package/dist/esm/wallets/wallet-connect.d.ts +6 -1
- package/dist/esm/wallets/wallet-connect.js +57 -47
- package/dist/lib/interface.d.ts +5 -4
- package/dist/lib/wagmi-provider/config-provider.d.ts +6 -4
- package/dist/lib/wagmi-provider/config-provider.js +26 -29
- package/dist/lib/wagmi-provider/index.d.ts +8 -5
- package/dist/lib/wagmi-provider/index.js +21 -35
- package/dist/lib/wagmi-provider/methods/addNameToAccount.d.ts +2 -1
- package/dist/lib/wagmi-provider/methods/addNameToAccount.js +2 -2
- package/dist/lib/wagmi-provider/methods/getNFTMetadata.d.ts +2 -1
- package/dist/lib/wagmi-provider/methods/getNFTMetadata.js +2 -2
- package/dist/lib/wallets/coinbase-wallet.d.ts +2 -2
- package/dist/lib/wallets/coinbase-wallet.js +15 -11
- package/dist/lib/wallets/meta-mask.d.ts +2 -2
- package/dist/lib/wallets/meta-mask.js +18 -14
- package/dist/lib/wallets/safeheron.d.ts +2 -2
- package/dist/lib/wallets/safeheron.js +18 -14
- package/dist/lib/wallets/token-pocket.d.ts +2 -2
- package/dist/lib/wallets/token-pocket.js +7 -1
- package/dist/lib/wallets/universal-wallet.d.ts +2 -2
- package/dist/lib/wallets/universal-wallet.js +14 -14
- package/dist/lib/wallets/wallet-connect.d.ts +6 -1
- package/dist/lib/wallets/wallet-connect.js +28 -20
- package/package.json +7 -5
|
@@ -6,57 +6,43 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.WagmiWeb3ConfigProvider = WagmiWeb3ConfigProvider;
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _web3Assets = require("@ant-design/web3-assets");
|
|
9
|
+
var _reactQuery = require("@tanstack/react-query");
|
|
9
10
|
var _wagmi = require("wagmi");
|
|
10
|
-
var _wallets = require("../wallets");
|
|
11
11
|
var _configProvider = require("./config-provider");
|
|
12
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
14
|
// Built in popular chains
|
|
15
15
|
|
|
16
|
-
// MetaMask built-in
|
|
17
|
-
|
|
18
16
|
function WagmiWeb3ConfigProvider({
|
|
19
17
|
children,
|
|
20
|
-
|
|
18
|
+
wallets = [],
|
|
19
|
+
chains = [],
|
|
21
20
|
ens,
|
|
22
21
|
locale,
|
|
23
22
|
balance,
|
|
24
23
|
config,
|
|
24
|
+
queryClient,
|
|
25
25
|
...restProps
|
|
26
26
|
}) {
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
if (chains.find(c => c.id === chain.id)) return;
|
|
33
|
-
chains.push(chain);
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
config.publicClient.chains?.forEach(chain => {
|
|
37
|
-
if (chains.find(c => c.id === chain.id)) return;
|
|
38
|
-
chains.push(chain);
|
|
39
|
-
});
|
|
40
|
-
return chains;
|
|
41
|
-
}, [config]);
|
|
42
|
-
const assetsWithDefault = [...assets, _web3Assets.Mainnet, _web3Assets.Goerli];
|
|
43
|
-
if (!assets.find(item => {
|
|
44
|
-
return item.name === 'MetaMask' || Array.isArray(item.name) && item.name.includes('MetaMask');
|
|
45
|
-
})) {
|
|
46
|
-
// If user not set MetaMask, we will add it to the first
|
|
47
|
-
assetsWithDefault.unshift(_wallets.MetaMask);
|
|
48
|
-
}
|
|
49
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_wagmi.WagmiConfig, {
|
|
27
|
+
const chainAssets = [...chains, _web3Assets.Mainnet];
|
|
28
|
+
const mergedQueryClient = _react.default.useMemo(() => {
|
|
29
|
+
return queryClient ?? new _reactQuery.QueryClient();
|
|
30
|
+
}, [queryClient]);
|
|
31
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_wagmi.WagmiProvider, {
|
|
50
32
|
config: config,
|
|
51
33
|
...restProps,
|
|
52
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
34
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactQuery.QueryClientProvider, {
|
|
35
|
+
client: mergedQueryClient,
|
|
36
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_configProvider.AntDesignWeb3ConfigProvider, {
|
|
37
|
+
locale: locale,
|
|
38
|
+
chainAssets: chainAssets,
|
|
39
|
+
walletFactorys: wallets,
|
|
40
|
+
availableChains: config.chains,
|
|
41
|
+
availableConnectors: config.connectors,
|
|
42
|
+
ens: ens,
|
|
43
|
+
balance: balance,
|
|
44
|
+
children: children
|
|
45
|
+
})
|
|
60
46
|
})
|
|
61
47
|
});
|
|
62
48
|
}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import type { Account } from '@ant-design/web3-common';
|
|
2
|
-
|
|
2
|
+
import { type Config } from '@wagmi/core';
|
|
3
|
+
export declare function addNameToAccount(config: Config, account: Account, chainId?: number): Promise<Account>;
|
|
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.addNameToAccount = addNameToAccount;
|
|
7
7
|
var _core = require("@wagmi/core");
|
|
8
|
-
async function addNameToAccount(account, chainId) {
|
|
9
|
-
const name = await (0, _core.
|
|
8
|
+
async function addNameToAccount(config, account, chainId) {
|
|
9
|
+
const name = await (0, _core.getEnsName)(config, {
|
|
10
10
|
address: account.address,
|
|
11
11
|
chainId
|
|
12
12
|
});
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import { type NFTMetadata } from '@ant-design/web3-common';
|
|
2
|
-
|
|
2
|
+
import { type Config } from '@wagmi/core';
|
|
3
|
+
export declare function getNFTMetadata(config: Config, address: string, tokenId: bigint, chainId?: number): Promise<NFTMetadata>;
|
|
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.getNFTMetadata = getNFTMetadata;
|
|
7
7
|
var _web3Common = require("@ant-design/web3-common");
|
|
8
8
|
var _core = require("@wagmi/core");
|
|
9
|
-
async function getNFTMetadata(address, tokenId, chainId) {
|
|
10
|
-
const tokenURI = await (0, _core.readContract)({
|
|
9
|
+
async function getNFTMetadata(config, address, tokenId, chainId) {
|
|
10
|
+
const tokenURI = await (0, _core.readContract)(config, {
|
|
11
11
|
address: (0, _web3Common.fillAddressWith0x)(address),
|
|
12
12
|
args: [tokenId],
|
|
13
13
|
chainId,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const CoinbaseWallet:
|
|
1
|
+
import type { EthereumWallet } from '../interface';
|
|
2
|
+
export declare const CoinbaseWallet: EthereumWallet;
|
|
@@ -5,14 +5,18 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.CoinbaseWallet = void 0;
|
|
7
7
|
var _web3Assets = require("@ant-design/web3-assets");
|
|
8
|
-
const CoinbaseWallet =
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
};
|
|
8
|
+
const CoinbaseWallet = metadata => {
|
|
9
|
+
return {
|
|
10
|
+
connectors: ['Coinbase Wallet'],
|
|
11
|
+
create: () => {
|
|
12
|
+
return {
|
|
13
|
+
..._web3Assets.metadata_CoinbaseWallet,
|
|
14
|
+
hasWalletReady: async () => {
|
|
15
|
+
return true;
|
|
16
|
+
},
|
|
17
|
+
...metadata
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
exports.CoinbaseWallet = CoinbaseWallet;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const MetaMask:
|
|
1
|
+
import type { EthereumWallet } from '../interface';
|
|
2
|
+
export declare const MetaMask: EthereumWallet;
|
|
@@ -5,17 +5,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.MetaMask = void 0;
|
|
7
7
|
var _web3Assets = require("@ant-design/web3-assets");
|
|
8
|
-
const MetaMask =
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
};
|
|
8
|
+
const MetaMask = metadata => {
|
|
9
|
+
return {
|
|
10
|
+
connectors: ['MetaMask'],
|
|
11
|
+
create: () => {
|
|
12
|
+
return {
|
|
13
|
+
..._web3Assets.metadata_MetaMask,
|
|
14
|
+
hasWalletReady: async () => {
|
|
15
|
+
return !!window.ethereum?.isMetaMask;
|
|
16
|
+
},
|
|
17
|
+
hasExtensionInstalled: async () => {
|
|
18
|
+
return !!window.ethereum?.isMetaMask;
|
|
19
|
+
},
|
|
20
|
+
...metadata
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
exports.MetaMask = MetaMask;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const SafeheronWallet:
|
|
1
|
+
import type { EthereumWallet } from '../interface';
|
|
2
|
+
export declare const SafeheronWallet: EthereumWallet;
|
|
@@ -5,17 +5,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.SafeheronWallet = void 0;
|
|
7
7
|
var _web3Assets = require("@ant-design/web3-assets");
|
|
8
|
-
const SafeheronWallet =
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
};
|
|
8
|
+
const SafeheronWallet = metadata => {
|
|
9
|
+
return {
|
|
10
|
+
connectors: ['Safeheron'],
|
|
11
|
+
create: connectors => {
|
|
12
|
+
return {
|
|
13
|
+
..._web3Assets.metadata_Safeheron,
|
|
14
|
+
hasWalletReady: async () => {
|
|
15
|
+
return !!(await connectors?.[0]?.getProvider());
|
|
16
|
+
},
|
|
17
|
+
hasExtensionInstalled: async () => {
|
|
18
|
+
return !!(await connectors?.[0]?.getProvider());
|
|
19
|
+
},
|
|
20
|
+
...metadata
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
exports.SafeheronWallet = SafeheronWallet;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const TokenPocket:
|
|
1
|
+
import { EthereumWallet } from '../interface';
|
|
2
|
+
export declare const TokenPocket: EthereumWallet;
|
|
@@ -6,4 +6,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.TokenPocket = void 0;
|
|
7
7
|
var _web3Assets = require("@ant-design/web3-assets");
|
|
8
8
|
var _universalWallet = require("./universal-wallet");
|
|
9
|
-
const TokenPocket =
|
|
9
|
+
const TokenPocket = metadata => {
|
|
10
|
+
return new _universalWallet.UniversalWallet({
|
|
11
|
+
..._web3Assets.metadata_TokenPocket,
|
|
12
|
+
...metadata
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
exports.TokenPocket = TokenPocket;
|
|
@@ -3,7 +3,7 @@ import type { Connector } from 'wagmi';
|
|
|
3
3
|
import type { WalletFactory, WalletUseInWagmiAdapter } from '../interface';
|
|
4
4
|
export declare class UniversalWallet implements WalletFactory {
|
|
5
5
|
private wallet;
|
|
6
|
-
|
|
6
|
+
connectors: string[];
|
|
7
7
|
constructor(wallet: WalletMetadata);
|
|
8
|
-
create: (
|
|
8
|
+
create: (connectors?: readonly Connector[]) => WalletUseInWagmiAdapter;
|
|
9
9
|
}
|
|
@@ -5,41 +5,40 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.UniversalWallet = void 0;
|
|
7
7
|
class UniversalWallet {
|
|
8
|
-
|
|
8
|
+
connectors = [];
|
|
9
9
|
constructor(wallet) {
|
|
10
10
|
this.wallet = wallet;
|
|
11
11
|
if (wallet.extensions) {
|
|
12
12
|
// support injected connector
|
|
13
13
|
// https://wagmi.sh/react/connectors/injected
|
|
14
|
-
this.
|
|
14
|
+
this.connectors.push(wallet.name);
|
|
15
15
|
}
|
|
16
16
|
if (wallet.app) {
|
|
17
17
|
// support WalletConnect https://wagmi.sh/react/connectors/walletConnect
|
|
18
|
-
this.
|
|
18
|
+
this.connectors.push('WalletConnect');
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
-
create =
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
const injectedConnector = connectors.find(item => item.name === this.wallet.name);
|
|
21
|
+
create = connectors => {
|
|
22
|
+
const walletConnector = connectors?.find(item => item.name === 'WalletConnect');
|
|
23
|
+
const injectedConnector = connectors?.find(item => item.name === this.wallet.name);
|
|
25
24
|
const getQrCode = async () => {
|
|
26
25
|
const provider = await walletConnector?.getProvider();
|
|
27
26
|
return new Promise(resolve => {
|
|
28
|
-
provider
|
|
27
|
+
provider?.on('display_uri', uri => {
|
|
29
28
|
resolve({
|
|
30
29
|
uri
|
|
31
30
|
});
|
|
32
31
|
});
|
|
33
32
|
});
|
|
34
33
|
};
|
|
35
|
-
const hasExtensionInstalled = () => {
|
|
36
|
-
const provider = injectedConnector?.
|
|
34
|
+
const hasExtensionInstalled = async () => {
|
|
35
|
+
const provider = await injectedConnector?.getProvider();
|
|
37
36
|
return !!provider;
|
|
38
37
|
};
|
|
39
38
|
return {
|
|
40
39
|
...this.wallet,
|
|
41
|
-
getWagmiConnector: () => {
|
|
42
|
-
if (hasExtensionInstalled()) {
|
|
40
|
+
getWagmiConnector: async () => {
|
|
41
|
+
if (await hasExtensionInstalled()) {
|
|
43
42
|
return injectedConnector;
|
|
44
43
|
}
|
|
45
44
|
return walletConnector;
|
|
@@ -48,9 +47,10 @@ class UniversalWallet {
|
|
|
48
47
|
return hasExtensionInstalled();
|
|
49
48
|
},
|
|
50
49
|
hasWalletReady: async () => {
|
|
51
|
-
|
|
50
|
+
const installed = await hasExtensionInstalled();
|
|
51
|
+
return !!(installed || walletConnector);
|
|
52
52
|
},
|
|
53
|
-
getQrCode: walletConnector
|
|
53
|
+
getQrCode: walletConnector ? getQrCode : undefined
|
|
54
54
|
};
|
|
55
55
|
};
|
|
56
56
|
}
|
|
@@ -1,2 +1,7 @@
|
|
|
1
|
+
import { WalletMetadata } from '@ant-design/web3-common';
|
|
1
2
|
import type { WalletFactory } from '../interface';
|
|
2
|
-
|
|
3
|
+
type EthereumWalletConnect = (metadata?: Partial<WalletMetadata> & {
|
|
4
|
+
useWalletConnectOfficialModal?: boolean;
|
|
5
|
+
}) => WalletFactory;
|
|
6
|
+
export declare const WalletConnect: EthereumWalletConnect;
|
|
7
|
+
export {};
|
|
@@ -5,25 +5,33 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.WalletConnect = void 0;
|
|
7
7
|
var _web3Assets = require("@ant-design/web3-assets");
|
|
8
|
-
const WalletConnect =
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
8
|
+
const WalletConnect = metadata => {
|
|
9
|
+
const {
|
|
10
|
+
useWalletConnectOfficialModal = false,
|
|
11
|
+
...rest
|
|
12
|
+
} = metadata || {};
|
|
13
|
+
return {
|
|
14
|
+
connectors: ['WalletConnect'],
|
|
15
|
+
create: connectors => {
|
|
16
|
+
const getQrCode = async () => {
|
|
17
|
+
const provider = await connectors?.[0]?.getProvider();
|
|
18
|
+
return new Promise(resolve => {
|
|
19
|
+
provider?.on('display_uri', uri => {
|
|
20
|
+
resolve({
|
|
21
|
+
uri
|
|
22
|
+
});
|
|
17
23
|
});
|
|
18
24
|
});
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
};
|
|
25
|
+
};
|
|
26
|
+
return {
|
|
27
|
+
..._web3Assets.metadata_WalletConnect,
|
|
28
|
+
hasWalletReady: async () => {
|
|
29
|
+
return true;
|
|
30
|
+
},
|
|
31
|
+
getQrCode: useWalletConnectOfficialModal ? undefined : getQrCode,
|
|
32
|
+
...rest
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
exports.WalletConnect = WalletConnect;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ant-design/web3-wagmi",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"main": "dist/lib/index.js",
|
|
5
5
|
"module": "dist/esm/index.js",
|
|
6
6
|
"typings": "dist/esm/index.d.ts",
|
|
@@ -31,17 +31,19 @@
|
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"debug": "^4.3.4",
|
|
34
|
-
"@
|
|
35
|
-
"
|
|
34
|
+
"@wagmi/core": "^2.0.0",
|
|
35
|
+
"viem": "2.0.0",
|
|
36
|
+
"@tanstack/react-query": "^5.17.0",
|
|
37
|
+
"@ant-design/web3-assets": "1.1.4",
|
|
38
|
+
"@ant-design/web3-common": "1.3.0"
|
|
36
39
|
},
|
|
37
40
|
"devDependencies": {
|
|
38
41
|
"@types/debug": "^4.1.12",
|
|
39
|
-
"@wagmi/core": "^1.4.12",
|
|
40
42
|
"father": "^4.3.8",
|
|
41
43
|
"typescript": "^5.3.3"
|
|
42
44
|
},
|
|
43
45
|
"peerDependencies": {
|
|
44
|
-
"wagmi": "^
|
|
46
|
+
"wagmi": "^2.0.0"
|
|
45
47
|
},
|
|
46
48
|
"publishConfig": {
|
|
47
49
|
"registry": "https://registry.npmjs.org",
|