@pushchain/ui-kit 4.1.6 → 5.1.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/CHANGELOG.md +24 -0
- package/package.json +3 -3
- package/src/lib/components/LoginModal/index.js +19 -18
- package/src/lib/components/LoginModal/index.js.map +1 -1
- package/src/lib/components/LoginModal/useSmartModalPosition.js +1 -2
- package/src/lib/components/LoginModal/useSmartModalPosition.js.map +1 -1
- package/src/lib/components/PushUniversalAccountButton/TogglePushWalletButton.js +4 -1
- package/src/lib/components/PushUniversalAccountButton/TogglePushWalletButton.js.map +1 -1
- package/src/lib/components/PushUniversalAccountButton/index.js +9 -8
- package/src/lib/components/PushUniversalAccountButton/index.js.map +1 -1
- package/src/lib/components/PushWalletToast/index.js +4 -4
- package/src/lib/components/PushWalletToast/index.js.map +1 -1
- package/src/lib/components/common/Button.js +1 -4
- package/src/lib/components/common/Button.js.map +1 -1
- package/src/lib/constants/index.js +5 -0
- package/src/lib/constants/index.js.map +1 -1
- package/src/lib/context/WalletContext.js +172 -55
- package/src/lib/context/WalletContext.js.map +1 -1
- package/src/lib/helpers/txnAuthGuard.js +25 -19
- package/src/lib/helpers/txnAuthGuard.js.map +1 -1
- package/src/lib/hooks/useAppMetadata.js +1 -1
- package/src/lib/hooks/useAppMetadata.js.map +1 -1
- package/src/lib/hooks/usePushChainClient.js +22 -18
- package/src/lib/hooks/usePushChainClient.js.map +1 -1
- package/src/lib/providers/PushWalletProvider.js +28 -6
- package/src/lib/providers/PushWalletProvider.js.map +1 -1
- package/src/lib/providers/theme/ThemeContext.js +0 -1
- package/src/lib/providers/walletProviders/WalletProviderRegistry.js +1 -2
- package/src/lib/providers/walletProviders/WalletProviderRegistry.js.map +1 -1
- package/src/lib/providers/walletProviders/ethereum/chains.js +4 -1
- package/src/lib/providers/walletProviders/ethereum/chains.js.map +1 -1
- package/src/lib/providers/walletProviders/ethereum/metamask.js +45 -47
- package/src/lib/providers/walletProviders/ethereum/metamask.js.map +1 -1
- package/src/lib/providers/walletProviders/ethereum/rabby.js +41 -41
- package/src/lib/providers/walletProviders/ethereum/rabby.js.map +1 -1
- package/src/lib/providers/walletProviders/ethereum/walletConnect.js +62 -65
- package/src/lib/providers/walletProviders/ethereum/walletConnect.js.map +1 -1
- package/src/lib/providers/walletProviders/ethereum/zerion.js +41 -41
- package/src/lib/providers/walletProviders/ethereum/zerion.js.map +1 -1
- package/src/lib/providers/walletProviders/solana/phantom.js +56 -60
- package/src/lib/providers/walletProviders/solana/phantom.js.map +1 -1
- package/src/lib/providers/walletProviders/utils/eip6963.js +2 -4
- package/src/lib/providers/walletProviders/utils/eip6963.js.map +1 -1
- package/src/lib/styles/token.js +5 -1
- package/src/lib/styles/token.js.map +1 -1
- package/src/index.d.ts +0 -2
- package/src/lib/components/LoginModal/index.d.ts +0 -23
- package/src/lib/components/LoginModal/useSmartModalPosition.d.ts +0 -6
- package/src/lib/components/PushUniversalAccountButton/ConnectWalletButton.d.ts +0 -11
- package/src/lib/components/PushUniversalAccountButton/TogglePushWalletButton.d.ts +0 -11
- package/src/lib/components/PushUniversalAccountButton/index.d.ts +0 -17
- package/src/lib/components/PushWalletToast/index.d.ts +0 -8
- package/src/lib/components/common/Button.d.ts +0 -23
- package/src/lib/components/common/Spinner.d.ts +0 -6
- package/src/lib/components/common/icons/ArbitrumMonotone.d.ts +0 -2
- package/src/lib/components/common/icons/AvalancheMonotone.d.ts +0 -2
- package/src/lib/components/common/icons/BaseMonotone.d.ts +0 -2
- package/src/lib/components/common/icons/BnbMonotone.d.ts +0 -2
- package/src/lib/components/common/icons/CaretDown.d.ts +0 -6
- package/src/lib/components/common/icons/CaretUp.d.ts +0 -6
- package/src/lib/components/common/icons/CrossIcon.d.ts +0 -6
- package/src/lib/components/common/icons/DashIcon.d.ts +0 -2
- package/src/lib/components/common/icons/EllipseIcon.d.ts +0 -2
- package/src/lib/components/common/icons/EthereumMonotone.d.ts +0 -2
- package/src/lib/components/common/icons/OptimismMonotone.d.ts +0 -2
- package/src/lib/components/common/icons/PolygonMonotone.d.ts +0 -2
- package/src/lib/components/common/icons/PushLogo.d.ts +0 -2
- package/src/lib/components/common/icons/PushMonotone.d.ts +0 -2
- package/src/lib/components/common/icons/SolanaMonotone.d.ts +0 -2
- package/src/lib/components/common/icons/TickIcon.d.ts +0 -2
- package/src/lib/components/common/icons/WarningIcon.d.ts +0 -2
- package/src/lib/components/common/icons/index.d.ts +0 -14
- package/src/lib/components/common/index.d.ts +0 -3
- package/src/lib/constants/environment.d.ts +0 -15
- package/src/lib/constants/index.d.ts +0 -67
- package/src/lib/context/WalletContext.d.ts +0 -40
- package/src/lib/context/WalletContextMap.d.ts +0 -2
- package/src/lib/helpers/index.d.ts +0 -1
- package/src/lib/helpers/txnAuthGuard.d.ts +0 -10
- package/src/lib/helpers/wallet.helpers.d.ts +0 -8
- package/src/lib/hooks/useAppMetadata.d.ts +0 -1
- package/src/lib/hooks/usePushChain.d.ts +0 -4
- package/src/lib/hooks/usePushChainClient.d.ts +0 -6
- package/src/lib/hooks/usePushWallet.d.ts +0 -2
- package/src/lib/index.d.ts +0 -7
- package/src/lib/polyfills/index.d.ts +0 -4
- package/src/lib/providers/PushWalletProvider.d.ts +0 -3
- package/src/lib/providers/theme/ThemeContext.d.ts +0 -0
- package/src/lib/providers/walletProviders/BaseWalletProvider.d.ts +0 -19
- package/src/lib/providers/walletProviders/WalletProviderRegistry.d.ts +0 -13
- package/src/lib/providers/walletProviders/ethereum/chains.d.ts +0 -44
- package/src/lib/providers/walletProviders/ethereum/metamask.d.ts +0 -18
- package/src/lib/providers/walletProviders/ethereum/rabby.d.ts +0 -17
- package/src/lib/providers/walletProviders/ethereum/walletConnect.d.ts +0 -17
- package/src/lib/providers/walletProviders/ethereum/zerion.d.ts +0 -17
- package/src/lib/providers/walletProviders/helpers/address.d.ts +0 -11
- package/src/lib/providers/walletProviders/solana/phantom.d.ts +0 -46
- package/src/lib/providers/walletProviders/utils/eip6963.d.ts +0 -12
- package/src/lib/styles/token.d.ts +0 -76
- package/src/lib/types/PushWalletProvider.types.d.ts +0 -71
- package/src/lib/types/index.d.ts +0 -2
- package/src/lib/types/wallet.types.d.ts +0 -52
- package/src/lib/utils/theme.d.ts +0 -2
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RabbyProvider = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
4
|
const ethers_1 = require("ethers");
|
|
6
5
|
const viem_1 = require("viem");
|
|
7
6
|
const BaseWalletProvider_1 = require("../BaseWalletProvider");
|
|
@@ -17,14 +16,14 @@ class RabbyProvider extends BaseWalletProvider_1.BaseWalletProvider {
|
|
|
17
16
|
wallet_types_1.ChainType.BINANCE,
|
|
18
17
|
wallet_types_1.ChainType.PUSH_WALLET,
|
|
19
18
|
]);
|
|
20
|
-
this.isInstalled = () =>
|
|
19
|
+
this.isInstalled = async () => {
|
|
21
20
|
try {
|
|
22
21
|
return !!this.getProvider();
|
|
23
22
|
}
|
|
24
|
-
catch
|
|
23
|
+
catch {
|
|
25
24
|
return false;
|
|
26
25
|
}
|
|
27
|
-
}
|
|
26
|
+
};
|
|
28
27
|
this.getProvider = () => {
|
|
29
28
|
const provider = (0, eip6963_1.getEIP6963ProviderByRdns)('io.rabby');
|
|
30
29
|
if (!provider) {
|
|
@@ -32,22 +31,22 @@ class RabbyProvider extends BaseWalletProvider_1.BaseWalletProvider {
|
|
|
32
31
|
}
|
|
33
32
|
return provider;
|
|
34
33
|
};
|
|
35
|
-
this.getSigner = () =>
|
|
34
|
+
this.getSigner = async () => {
|
|
36
35
|
const provider = this.getProvider();
|
|
37
36
|
const browserProvider = new ethers_1.BrowserProvider(provider);
|
|
38
|
-
return
|
|
39
|
-
}
|
|
40
|
-
this.getChainId = () =>
|
|
37
|
+
return await browserProvider.getSigner();
|
|
38
|
+
};
|
|
39
|
+
this.getChainId = async () => {
|
|
41
40
|
const provider = this.getProvider();
|
|
42
|
-
const hexChainId =
|
|
41
|
+
const hexChainId = await provider.request({
|
|
43
42
|
method: 'eth_chainId',
|
|
44
43
|
params: [],
|
|
45
44
|
});
|
|
46
45
|
return parseInt(hexChainId.toString(), 16);
|
|
47
|
-
}
|
|
48
|
-
this.connect = (chainType) =>
|
|
46
|
+
};
|
|
47
|
+
this.connect = async (chainType) => {
|
|
49
48
|
const provider = this.getProvider();
|
|
50
|
-
const accounts = (
|
|
49
|
+
const accounts = (await provider.request({
|
|
51
50
|
method: 'eth_requestAccounts',
|
|
52
51
|
params: [],
|
|
53
52
|
}));
|
|
@@ -55,33 +54,32 @@ class RabbyProvider extends BaseWalletProvider_1.BaseWalletProvider {
|
|
|
55
54
|
throw new Error('No Rabby account returned');
|
|
56
55
|
}
|
|
57
56
|
const checksumAddress = (0, ethers_1.getAddress)(accounts[0]);
|
|
58
|
-
|
|
59
|
-
const chainId =
|
|
57
|
+
await this.switchNetwork(chainType);
|
|
58
|
+
const chainId = await this.getChainId();
|
|
60
59
|
const caipAddress = this.formatAddress(checksumAddress, wallet_types_1.ChainType.ETHEREUM, chainId);
|
|
61
60
|
return caipAddress;
|
|
62
|
-
}
|
|
63
|
-
this.switchNetwork = (chainName) =>
|
|
64
|
-
var _a, _b, _c;
|
|
61
|
+
};
|
|
62
|
+
this.switchNetwork = async (chainName) => {
|
|
65
63
|
const network = chains_1.chains[chainName];
|
|
66
64
|
const provider = this.getProvider();
|
|
67
65
|
const hexNetworkId = (0, viem_1.toHex)(network.id);
|
|
68
66
|
try {
|
|
69
|
-
|
|
67
|
+
await provider.request({
|
|
70
68
|
method: 'wallet_switchEthereumChain',
|
|
71
69
|
params: [{ chainId: hexNetworkId }],
|
|
72
70
|
});
|
|
73
71
|
}
|
|
74
72
|
catch (err) {
|
|
75
|
-
const msg = String(
|
|
76
|
-
const needAdd =
|
|
77
|
-
|
|
73
|
+
const msg = String(err?.message ?? '');
|
|
74
|
+
const needAdd = err?.code === 4902 ||
|
|
75
|
+
err?.code === -32603 ||
|
|
78
76
|
msg.includes('Unrecognized chain ID');
|
|
79
77
|
if (!needAdd) {
|
|
80
78
|
console.error('Rabby: error switching network:', err);
|
|
81
79
|
throw err;
|
|
82
80
|
}
|
|
83
81
|
try {
|
|
84
|
-
|
|
82
|
+
await provider.request({
|
|
85
83
|
method: 'wallet_addEthereumChain',
|
|
86
84
|
params: [
|
|
87
85
|
{
|
|
@@ -89,13 +87,13 @@ class RabbyProvider extends BaseWalletProvider_1.BaseWalletProvider {
|
|
|
89
87
|
chainName: network.name,
|
|
90
88
|
rpcUrls: network.rpcUrls.default.http,
|
|
91
89
|
nativeCurrency: network.nativeCurrency,
|
|
92
|
-
blockExplorerUrls:
|
|
90
|
+
blockExplorerUrls: network.blockExplorers?.default?.url
|
|
93
91
|
? [network.blockExplorers.default.url]
|
|
94
92
|
: [],
|
|
95
93
|
},
|
|
96
94
|
],
|
|
97
95
|
});
|
|
98
|
-
|
|
96
|
+
await provider.request({
|
|
99
97
|
method: 'wallet_switchEthereumChain',
|
|
100
98
|
params: [{ chainId: hexNetworkId }],
|
|
101
99
|
});
|
|
@@ -105,10 +103,10 @@ class RabbyProvider extends BaseWalletProvider_1.BaseWalletProvider {
|
|
|
105
103
|
throw addError;
|
|
106
104
|
}
|
|
107
105
|
}
|
|
108
|
-
}
|
|
109
|
-
this.signAndSendTransaction = (txn) =>
|
|
106
|
+
};
|
|
107
|
+
this.signAndSendTransaction = async (txn) => {
|
|
110
108
|
const provider = this.getProvider();
|
|
111
|
-
const accounts = (
|
|
109
|
+
const accounts = (await provider.request({
|
|
112
110
|
method: 'eth_accounts',
|
|
113
111
|
}));
|
|
114
112
|
if (!accounts || accounts.length === 0) {
|
|
@@ -129,30 +127,30 @@ class RabbyProvider extends BaseWalletProvider_1.BaseWalletProvider {
|
|
|
129
127
|
? '0x' + parsed.maxFeePerGas.toString(16)
|
|
130
128
|
: undefined,
|
|
131
129
|
};
|
|
132
|
-
const txHash =
|
|
130
|
+
const txHash = await provider.request({
|
|
133
131
|
method: 'eth_sendTransaction',
|
|
134
132
|
params: [txParams],
|
|
135
133
|
});
|
|
136
134
|
return (0, viem_1.hexToBytes)(txHash);
|
|
137
|
-
}
|
|
138
|
-
this.signMessage = (message) =>
|
|
135
|
+
};
|
|
136
|
+
this.signMessage = async (message) => {
|
|
139
137
|
const provider = this.getProvider();
|
|
140
|
-
const accounts = (
|
|
138
|
+
const accounts = (await provider.request({
|
|
141
139
|
method: 'eth_accounts',
|
|
142
140
|
}));
|
|
143
141
|
if (!accounts || accounts.length === 0) {
|
|
144
142
|
throw new Error('No connected Rabby account');
|
|
145
143
|
}
|
|
146
144
|
const hexMessage = (0, viem_1.bytesToHex)(message);
|
|
147
|
-
const signature =
|
|
145
|
+
const signature = await provider.request({
|
|
148
146
|
method: 'personal_sign',
|
|
149
147
|
params: [hexMessage, accounts[0]],
|
|
150
148
|
});
|
|
151
149
|
return (0, viem_1.hexToBytes)(signature);
|
|
152
|
-
}
|
|
153
|
-
this.signTypedData = (typedData) =>
|
|
150
|
+
};
|
|
151
|
+
this.signTypedData = async (typedData) => {
|
|
154
152
|
const provider = this.getProvider();
|
|
155
|
-
const accounts = (
|
|
153
|
+
const accounts = (await provider.request({
|
|
156
154
|
method: 'eth_accounts',
|
|
157
155
|
}));
|
|
158
156
|
if (!accounts || accounts.length === 0) {
|
|
@@ -164,20 +162,22 @@ class RabbyProvider extends BaseWalletProvider_1.BaseWalletProvider {
|
|
|
164
162
|
{ name: 'chainId', type: 'uint256' },
|
|
165
163
|
{ name: 'verifyingContract', type: 'address' },
|
|
166
164
|
],
|
|
167
|
-
|
|
165
|
+
...(typedData.primaryType === 'MigrationPayload'
|
|
166
|
+
? { MigrationPayload: typedData.types['MigrationPayload'] }
|
|
167
|
+
: { UniversalPayload: typedData.types['UniversalPayload'] }),
|
|
168
168
|
};
|
|
169
169
|
const safeTypedData = JSON.parse(JSON.stringify(typedData, (_key, value) => typeof value === 'bigint' ? value.toString() : value));
|
|
170
|
-
const signature =
|
|
170
|
+
const signature = await provider.request({
|
|
171
171
|
method: 'eth_signTypedData_v4',
|
|
172
172
|
params: [accounts[0], JSON.stringify(safeTypedData)],
|
|
173
173
|
});
|
|
174
174
|
return (0, viem_1.hexToBytes)(signature);
|
|
175
|
-
}
|
|
176
|
-
this.disconnect = () =>
|
|
175
|
+
};
|
|
176
|
+
this.disconnect = async () => {
|
|
177
177
|
const provider = (0, eip6963_1.getEIP6963ProviderByRdns)('io.rabby');
|
|
178
178
|
if (!provider)
|
|
179
179
|
return;
|
|
180
|
-
|
|
180
|
+
await provider.request({
|
|
181
181
|
method: 'wallet_revokePermissions',
|
|
182
182
|
params: [
|
|
183
183
|
{
|
|
@@ -185,7 +185,7 @@ class RabbyProvider extends BaseWalletProvider_1.BaseWalletProvider {
|
|
|
185
185
|
},
|
|
186
186
|
],
|
|
187
187
|
});
|
|
188
|
-
}
|
|
188
|
+
};
|
|
189
189
|
}
|
|
190
190
|
}
|
|
191
191
|
exports.RabbyProvider = RabbyProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rabby.js","sourceRoot":"","sources":["../../../../../../../../packages/ui-kit/src/lib/providers/walletProviders/ethereum/rabby.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rabby.js","sourceRoot":"","sources":["../../../../../../../../packages/ui-kit/src/lib/providers/walletProviders/ethereum/rabby.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,34 +14,34 @@ class WalletConnectProvider extends BaseWalletProvider_1.BaseWalletProvider {
|
|
|
14
14
|
wallet_types_1.ChainType.WALLET_CONNECT,
|
|
15
15
|
]);
|
|
16
16
|
this.provider = null;
|
|
17
|
-
this.isInstalled = () =>
|
|
17
|
+
this.isInstalled = async () => {
|
|
18
18
|
return true; // WalletConnect doesn't require installation
|
|
19
|
-
}
|
|
19
|
+
};
|
|
20
20
|
this.getProvider = () => {
|
|
21
21
|
if (!this.provider) {
|
|
22
22
|
throw new Error('WalletConnect provider not initialized');
|
|
23
23
|
}
|
|
24
24
|
return this.provider;
|
|
25
25
|
};
|
|
26
|
-
this.getChainId = () =>
|
|
26
|
+
this.getChainId = async () => {
|
|
27
27
|
const provider = this.getProvider();
|
|
28
28
|
if (!provider) {
|
|
29
29
|
throw new Error('Provider is undefined');
|
|
30
30
|
}
|
|
31
|
-
const hexChainId = (
|
|
31
|
+
const hexChainId = (await provider.request({
|
|
32
32
|
method: 'eth_chainId',
|
|
33
33
|
params: [],
|
|
34
34
|
}));
|
|
35
35
|
const chainId = parseInt(hexChainId.toString(), 16);
|
|
36
36
|
return chainId;
|
|
37
|
-
}
|
|
38
|
-
this.signAndSendTransaction = (txn) =>
|
|
37
|
+
};
|
|
38
|
+
this.signAndSendTransaction = async (txn) => {
|
|
39
39
|
try {
|
|
40
40
|
const provider = this.getProvider();
|
|
41
41
|
if (!provider) {
|
|
42
42
|
throw new Error('Provider is undefined');
|
|
43
43
|
}
|
|
44
|
-
const accounts = (
|
|
44
|
+
const accounts = (await provider.request({
|
|
45
45
|
method: 'eth_accounts',
|
|
46
46
|
}));
|
|
47
47
|
if (!accounts || accounts.length === 0) {
|
|
@@ -62,7 +62,7 @@ class WalletConnectProvider extends BaseWalletProvider_1.BaseWalletProvider {
|
|
|
62
62
|
? '0x' + parsed.maxFeePerGas.toString(16)
|
|
63
63
|
: undefined,
|
|
64
64
|
};
|
|
65
|
-
const signature =
|
|
65
|
+
const signature = await provider.request({
|
|
66
66
|
method: 'eth_sendTransaction',
|
|
67
67
|
params: [txParams],
|
|
68
68
|
});
|
|
@@ -72,21 +72,21 @@ class WalletConnectProvider extends BaseWalletProvider_1.BaseWalletProvider {
|
|
|
72
72
|
console.error('MetaMask signing error:', error);
|
|
73
73
|
throw error;
|
|
74
74
|
}
|
|
75
|
-
}
|
|
76
|
-
this.signMessage = (message) =>
|
|
75
|
+
};
|
|
76
|
+
this.signMessage = async (message) => {
|
|
77
77
|
try {
|
|
78
78
|
const provider = this.getProvider();
|
|
79
79
|
if (!provider) {
|
|
80
80
|
throw new Error('Provider is undefined');
|
|
81
81
|
}
|
|
82
|
-
const accounts = (
|
|
82
|
+
const accounts = (await provider.request({
|
|
83
83
|
method: 'eth_accounts',
|
|
84
84
|
}));
|
|
85
85
|
if (!accounts || accounts.length === 0) {
|
|
86
86
|
throw new Error('No connected account');
|
|
87
87
|
}
|
|
88
88
|
const hexMessage = (0, viem_1.bytesToHex)(message);
|
|
89
|
-
const signature =
|
|
89
|
+
const signature = await provider.request({
|
|
90
90
|
method: 'personal_sign',
|
|
91
91
|
params: [hexMessage, accounts[0]],
|
|
92
92
|
});
|
|
@@ -96,14 +96,14 @@ class WalletConnectProvider extends BaseWalletProvider_1.BaseWalletProvider {
|
|
|
96
96
|
console.error('MetaMask signing error:', error);
|
|
97
97
|
throw error;
|
|
98
98
|
}
|
|
99
|
-
}
|
|
100
|
-
this.signTypedData = (typedData) =>
|
|
99
|
+
};
|
|
100
|
+
this.signTypedData = async (typedData) => {
|
|
101
101
|
try {
|
|
102
102
|
const provider = this.getProvider();
|
|
103
103
|
if (!provider) {
|
|
104
104
|
throw new Error('Provider is undefined');
|
|
105
105
|
}
|
|
106
|
-
const accounts = (
|
|
106
|
+
const accounts = (await provider.request({
|
|
107
107
|
method: 'eth_accounts',
|
|
108
108
|
}));
|
|
109
109
|
if (!accounts || accounts.length === 0) {
|
|
@@ -115,9 +115,11 @@ class WalletConnectProvider extends BaseWalletProvider_1.BaseWalletProvider {
|
|
|
115
115
|
{ name: 'chainId', type: 'uint256' },
|
|
116
116
|
{ name: 'verifyingContract', type: 'address' },
|
|
117
117
|
],
|
|
118
|
-
|
|
118
|
+
...(typedData.primaryType === 'MigrationPayload'
|
|
119
|
+
? { MigrationPayload: typedData.types['MigrationPayload'] }
|
|
120
|
+
: { UniversalPayload: typedData.types['UniversalPayload'] }),
|
|
119
121
|
};
|
|
120
|
-
const signature =
|
|
122
|
+
const signature = await provider.request({
|
|
121
123
|
method: 'eth_signTypedData_v4',
|
|
122
124
|
params: [accounts[0], JSON.stringify(typedData)],
|
|
123
125
|
});
|
|
@@ -127,63 +129,58 @@ class WalletConnectProvider extends BaseWalletProvider_1.BaseWalletProvider {
|
|
|
127
129
|
console.error('MetaMask signing error:', error);
|
|
128
130
|
throw error;
|
|
129
131
|
}
|
|
130
|
-
}
|
|
131
|
-
this.disconnect = () =>
|
|
132
|
+
};
|
|
133
|
+
this.disconnect = async () => {
|
|
132
134
|
const provider = this.getProvider();
|
|
133
135
|
if (provider && typeof provider.disconnect === 'function') {
|
|
134
|
-
|
|
136
|
+
await provider.disconnect();
|
|
135
137
|
}
|
|
136
138
|
this.provider = null;
|
|
137
|
-
}
|
|
139
|
+
};
|
|
138
140
|
}
|
|
139
|
-
initProvider(chainId) {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
if (hasSession) {
|
|
147
|
-
return;
|
|
148
|
-
}
|
|
149
|
-
yield this.provider.disconnect();
|
|
150
|
-
this.provider = null;
|
|
141
|
+
async initProvider(chainId) {
|
|
142
|
+
console.log('Provder >>', this.provider);
|
|
143
|
+
if (this.provider) {
|
|
144
|
+
const hasSession = this.provider.session
|
|
145
|
+
&& this.provider.session?.topic;
|
|
146
|
+
if (hasSession) {
|
|
147
|
+
return;
|
|
151
148
|
}
|
|
152
|
-
this.provider
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
149
|
+
await this.provider.disconnect();
|
|
150
|
+
this.provider = null;
|
|
151
|
+
}
|
|
152
|
+
this.provider = await ethereum_provider_1.EthereumProvider.init({
|
|
153
|
+
projectId: 'd73cf3ac4a677153d241b2bd5092fb1d',
|
|
154
|
+
chains: [chainId],
|
|
155
|
+
methods: ['eth_sendTransaction', 'personal_sign', 'eth_signTypedData_v4', 'eth_requestAccounts', 'eth_chainId', 'eth_accounts'],
|
|
156
|
+
showQrModal: true,
|
|
157
|
+
rpcMap: {
|
|
158
|
+
'11155111': 'https://sepolia.gateway.tenderly.co/',
|
|
159
|
+
},
|
|
160
|
+
optionalChains: [],
|
|
163
161
|
});
|
|
162
|
+
await this.provider.enable();
|
|
164
163
|
}
|
|
165
|
-
connect() {
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
throw new Error('No connected account');
|
|
176
|
-
}
|
|
177
|
-
const rawAddress = accounts[0];
|
|
178
|
-
const checksumAddress = (0, ethers_1.getAddress)(rawAddress);
|
|
179
|
-
const caipAddress = this.formatAddress(checksumAddress, wallet_types_1.ChainType.ETHEREUM, chainId);
|
|
180
|
-
return caipAddress;
|
|
181
|
-
}
|
|
182
|
-
catch (error) {
|
|
183
|
-
console.error('Failed to connect to MetaMask:', error);
|
|
184
|
-
throw error;
|
|
164
|
+
async connect() {
|
|
165
|
+
try {
|
|
166
|
+
const chain = chains['sepolia'];
|
|
167
|
+
const chainId = chain.id;
|
|
168
|
+
await this.initProvider(chainId);
|
|
169
|
+
const accounts = (await this.provider.request({
|
|
170
|
+
method: 'eth_requestAccounts',
|
|
171
|
+
}));
|
|
172
|
+
if (!accounts || accounts.length === 0) {
|
|
173
|
+
throw new Error('No connected account');
|
|
185
174
|
}
|
|
186
|
-
|
|
175
|
+
const rawAddress = accounts[0];
|
|
176
|
+
const checksumAddress = (0, ethers_1.getAddress)(rawAddress);
|
|
177
|
+
const caipAddress = this.formatAddress(checksumAddress, wallet_types_1.ChainType.ETHEREUM, chainId);
|
|
178
|
+
return caipAddress;
|
|
179
|
+
}
|
|
180
|
+
catch (error) {
|
|
181
|
+
console.error('Failed to connect to MetaMask:', error);
|
|
182
|
+
throw error;
|
|
183
|
+
}
|
|
187
184
|
}
|
|
188
185
|
}
|
|
189
186
|
exports.WalletConnectProvider = WalletConnectProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"walletConnect.js","sourceRoot":"","sources":["../../../../../../../../packages/ui-kit/src/lib/providers/walletProviders/ethereum/walletConnect.ts"],"names":[],"mappings":";;;;AAAA,wEAAoE;AACpE,mCAAoC;AACpC,8DAA2D;AAC3D,8DAAoE;AACpE,4DAAsC;AACtC,+BAAuE;AAGvE,MAAa,qBAAsB,SAAQ,uCAAkB;IAG3D;QACE,KAAK,CAAC,eAAe,EAAE,kDAAkD,EAAE;YACzE,wBAAS,CAAC,cAAc;SACzB,CAAC,CAAC;QALG,aAAQ,GAAiD,IAAI,CAAC;QAQtE,gBAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"walletConnect.js","sourceRoot":"","sources":["../../../../../../../../packages/ui-kit/src/lib/providers/walletProviders/ethereum/walletConnect.ts"],"names":[],"mappings":"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"}
|