@reown/appkit-wagmi-react-native 0.0.0-feat-multichain-phantom-20250606183519 → 0.0.0-feat-multichain-phantom-20250606195341
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/package.json +5 -5
- package/lib/commonjs/adapter.js +0 -143
- package/lib/commonjs/adapter.js.map +0 -1
- package/lib/commonjs/connectors/UniversalConnector.js +0 -214
- package/lib/commonjs/connectors/UniversalConnector.js.map +0 -1
- package/lib/commonjs/index.js +0 -26
- package/lib/commonjs/index.js.map +0 -1
- package/lib/commonjs/utils/helpers.js +0 -35
- package/lib/commonjs/utils/helpers.js.map +0 -1
- package/lib/module/adapter.js +0 -136
- package/lib/module/adapter.js.map +0 -1
- package/lib/module/connectors/UniversalConnector.js +0 -208
- package/lib/module/connectors/UniversalConnector.js.map +0 -1
- package/lib/module/index.js +0 -4
- package/lib/module/index.js.map +0 -1
- package/lib/module/utils/helpers.js +0 -27
- package/lib/module/utils/helpers.js.map +0 -1
- package/lib/typescript/adapter.d.ts +0 -24
- package/lib/typescript/adapter.d.ts.map +0 -1
- package/lib/typescript/connectors/UniversalConnector.d.ts +0 -5
- package/lib/typescript/connectors/UniversalConnector.d.ts.map +0 -1
- package/lib/typescript/index.d.ts +0 -4
- package/lib/typescript/index.d.ts.map +0 -1
- package/lib/typescript/utils/helpers.d.ts +0 -8
- package/lib/typescript/utils/helpers.d.ts.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reown/appkit-wagmi-react-native",
|
|
3
|
-
"version": "0.0.0-feat-multichain-phantom-
|
|
3
|
+
"version": "0.0.0-feat-multichain-phantom-20250606195341",
|
|
4
4
|
"main": "lib/commonjs/index.js",
|
|
5
5
|
"types": "lib/typescript/index.d.ts",
|
|
6
6
|
"module": "lib/module/index.js",
|
|
@@ -39,10 +39,10 @@
|
|
|
39
39
|
"access": "public"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@reown/appkit-common-react-native": "0.0.0-feat-multichain-phantom-
|
|
43
|
-
"@reown/appkit-react-native": "0.0.0-feat-multichain-phantom-
|
|
44
|
-
"@reown/appkit-scaffold-utils-react-native": "0.0.0-feat-multichain-phantom-
|
|
45
|
-
"@reown/appkit-siwe-react-native": "0.0.0-feat-multichain-phantom-
|
|
42
|
+
"@reown/appkit-common-react-native": "0.0.0-feat-multichain-phantom-20250606195341",
|
|
43
|
+
"@reown/appkit-react-native": "0.0.0-feat-multichain-phantom-20250606195341",
|
|
44
|
+
"@reown/appkit-scaffold-utils-react-native": "0.0.0-feat-multichain-phantom-20250606195341",
|
|
45
|
+
"@reown/appkit-siwe-react-native": "0.0.0-feat-multichain-phantom-20250606195341"
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
48
|
"@react-native-async-storage/async-storage": ">=1.17.0",
|
package/lib/commonjs/adapter.js
DELETED
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.WagmiAdapter = void 0;
|
|
7
|
-
var _appkitCommonReactNative = require("@reown/appkit-common-react-native");
|
|
8
|
-
var _core = require("@wagmi/core");
|
|
9
|
-
var _helpers = require("./utils/helpers");
|
|
10
|
-
var _viem = require("viem");
|
|
11
|
-
var _UniversalConnector = require("./connectors/UniversalConnector");
|
|
12
|
-
class WagmiAdapter extends _appkitCommonReactNative.EVMAdapter {
|
|
13
|
-
static supportedNamespace = 'eip155';
|
|
14
|
-
constructor(configParams) {
|
|
15
|
-
super({
|
|
16
|
-
projectId: configParams.projectId,
|
|
17
|
-
supportedNamespace: WagmiAdapter.supportedNamespace
|
|
18
|
-
});
|
|
19
|
-
this.wagmiChains = configParams.networks;
|
|
20
|
-
this.wagmiConfig = this.createWagmiInternalConfig(configParams);
|
|
21
|
-
}
|
|
22
|
-
createWagmiInternalConfig(configParams) {
|
|
23
|
-
// Connectors are typically added via wagmiConfig.connectors, but here AppKit manages the connection.
|
|
24
|
-
// We'll use the `connect` action with our dynamically created connector instance.
|
|
25
|
-
// So, the `connectors` array for createConfig can be empty and is added later.
|
|
26
|
-
const initialConnectors = [];
|
|
27
|
-
const transportsArr = configParams.networks.map(chain => [chain.id, (0, _helpers.getTransport)({
|
|
28
|
-
chainId: chain.id,
|
|
29
|
-
projectId: configParams.projectId
|
|
30
|
-
})]);
|
|
31
|
-
const transports = Object.fromEntries(transportsArr);
|
|
32
|
-
return (0, _core.createConfig)({
|
|
33
|
-
chains: configParams.networks,
|
|
34
|
-
connectors: initialConnectors,
|
|
35
|
-
// Empty, as we connect programmatically
|
|
36
|
-
transports,
|
|
37
|
-
multiInjectedProviderDiscovery: false
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
async switchNetwork(network) {
|
|
41
|
-
if (!this.wagmiConfigConnector) {
|
|
42
|
-
throw new Error('WagmiAdapter: AppKit connector not set or not connected via Wagmi.');
|
|
43
|
-
}
|
|
44
|
-
await (0, _core.switchChain)(this.wagmiConfig, {
|
|
45
|
-
chainId: network.id,
|
|
46
|
-
connector: this.wagmiConfigConnector
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
async getBalance(params) {
|
|
50
|
-
const {
|
|
51
|
-
network,
|
|
52
|
-
address,
|
|
53
|
-
tokens
|
|
54
|
-
} = params;
|
|
55
|
-
if (!this.connector) throw new Error('No active AppKit connector (EVMAdapter.connector)');
|
|
56
|
-
if (!network) throw new Error('No network provided');
|
|
57
|
-
if (!this.wagmiConfigConnector) {
|
|
58
|
-
throw new Error('WagmiAdapter: AppKit connector not properly configured with Wagmi.');
|
|
59
|
-
}
|
|
60
|
-
const balanceAddress = address || this.getAccounts()?.find(acc => acc.includes(network.id.toString()));
|
|
61
|
-
if (!balanceAddress) {
|
|
62
|
-
return Promise.resolve({
|
|
63
|
-
amount: '0.00',
|
|
64
|
-
symbol: network.nativeCurrency.symbol || 'ETH'
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
const accountHex = balanceAddress.split(':')[2];
|
|
68
|
-
const token = network?.caipNetworkId && tokens?.[network.caipNetworkId]?.address;
|
|
69
|
-
const balance = await (0, _core.getBalance)(this.wagmiConfig, {
|
|
70
|
-
address: accountHex,
|
|
71
|
-
chainId: network.id,
|
|
72
|
-
token
|
|
73
|
-
});
|
|
74
|
-
const formattedBalance = {
|
|
75
|
-
amount: (0, _viem.formatUnits)(balance.value, balance.decimals),
|
|
76
|
-
symbol: balance.symbol,
|
|
77
|
-
contractAddress: token ? `${network.caipNetworkId}:${token}` : undefined
|
|
78
|
-
};
|
|
79
|
-
this.emit('balanceChanged', {
|
|
80
|
-
address: balanceAddress,
|
|
81
|
-
balance: formattedBalance
|
|
82
|
-
});
|
|
83
|
-
return Promise.resolve(formattedBalance);
|
|
84
|
-
}
|
|
85
|
-
getAccounts() {
|
|
86
|
-
if (!this.connector) {
|
|
87
|
-
return undefined;
|
|
88
|
-
}
|
|
89
|
-
const namespaces = this.connector.getNamespaces();
|
|
90
|
-
if (!namespaces) {
|
|
91
|
-
return undefined;
|
|
92
|
-
}
|
|
93
|
-
const supportedNamespaceKey = this.getSupportedNamespace();
|
|
94
|
-
const accountsForNamespace = namespaces[supportedNamespaceKey];
|
|
95
|
-
return accountsForNamespace?.accounts;
|
|
96
|
-
}
|
|
97
|
-
async disconnect() {
|
|
98
|
-
if (this.wagmiConfigConnector) {
|
|
99
|
-
await (0, _core.disconnect)(this.wagmiConfig, {
|
|
100
|
-
connector: this.wagmiConfigConnector
|
|
101
|
-
});
|
|
102
|
-
this.wagmiConfigConnector = undefined;
|
|
103
|
-
} else if (this.connector) {
|
|
104
|
-
await this.connector.disconnect();
|
|
105
|
-
this.onDisconnect();
|
|
106
|
-
}
|
|
107
|
-
const evmAdapterInstance = this;
|
|
108
|
-
if ('connector' in evmAdapterInstance) {
|
|
109
|
-
evmAdapterInstance.connector = undefined;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
getSupportedNamespace() {
|
|
113
|
-
return WagmiAdapter.supportedNamespace;
|
|
114
|
-
}
|
|
115
|
-
setConnector(_connector) {
|
|
116
|
-
super.setConnector(_connector);
|
|
117
|
-
if (_connector && this.wagmiChains) {
|
|
118
|
-
if (!this.wagmiConfigConnector) {
|
|
119
|
-
// Manually add the connector to the wagmiConfig
|
|
120
|
-
const connectorInstance = this.wagmiConfig._internal.connectors.setup((0, _UniversalConnector.UniversalConnector)(_connector));
|
|
121
|
-
this.wagmiConfig._internal.connectors.setState(prev => [...prev, connectorInstance]);
|
|
122
|
-
this.wagmiConfigConnector = connectorInstance;
|
|
123
|
-
connectorInstance.emitter.on('message', ({
|
|
124
|
-
type
|
|
125
|
-
}) => {
|
|
126
|
-
if (type === 'externalDisconnect') {
|
|
127
|
-
this.onDisconnect();
|
|
128
|
-
this.wagmiConfigConnector = undefined;
|
|
129
|
-
}
|
|
130
|
-
});
|
|
131
|
-
try {
|
|
132
|
-
(0, _core.connect)(this.wagmiConfig, {
|
|
133
|
-
connector: connectorInstance
|
|
134
|
-
});
|
|
135
|
-
} catch (error) {
|
|
136
|
-
this.wagmiConfigConnector = undefined;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
exports.WagmiAdapter = WagmiAdapter;
|
|
143
|
-
//# sourceMappingURL=adapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_appkitCommonReactNative","require","_core","_helpers","_viem","_UniversalConnector","WagmiAdapter","EVMAdapter","supportedNamespace","constructor","configParams","projectId","wagmiChains","networks","wagmiConfig","createWagmiInternalConfig","initialConnectors","transportsArr","map","chain","id","getTransport","chainId","transports","Object","fromEntries","createConfig","chains","connectors","multiInjectedProviderDiscovery","switchNetwork","network","wagmiConfigConnector","Error","switchChainWagmi","connector","getBalance","params","address","tokens","balanceAddress","getAccounts","find","acc","includes","toString","Promise","resolve","amount","symbol","nativeCurrency","accountHex","split","token","caipNetworkId","balance","getBalanceWagmi","formattedBalance","formatUnits","value","decimals","contractAddress","undefined","emit","namespaces","getNamespaces","supportedNamespaceKey","getSupportedNamespace","accountsForNamespace","accounts","disconnect","disconnectWagmiCore","onDisconnect","evmAdapterInstance","setConnector","_connector","connectorInstance","_internal","setup","UniversalConnector","setState","prev","emitter","on","type","connectWagmi","error","exports"],"sourceRoot":"../../src","sources":["adapter.ts"],"mappings":"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"}
|
|
@@ -1,214 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.UniversalConnector = UniversalConnector;
|
|
7
|
-
var _viem = require("viem");
|
|
8
|
-
var _wagmi = require("wagmi");
|
|
9
|
-
var _helpers = require("../utils/helpers");
|
|
10
|
-
function UniversalConnector(appKitProvidedConnector) {
|
|
11
|
-
let provider;
|
|
12
|
-
let accountsChangedHandler;
|
|
13
|
-
let chainChangedHandler;
|
|
14
|
-
let disconnectHandler;
|
|
15
|
-
return (0, _wagmi.createConnector)(config => ({
|
|
16
|
-
id: 'walletconnect',
|
|
17
|
-
name: 'WalletConnect',
|
|
18
|
-
type: 'walletconnect',
|
|
19
|
-
ready: !!appKitProvidedConnector.getProvider(),
|
|
20
|
-
async setup() {
|
|
21
|
-
provider = appKitProvidedConnector.getProvider();
|
|
22
|
-
if (provider?.on) {
|
|
23
|
-
accountsChangedHandler = accounts => {
|
|
24
|
-
const hexAccounts = accounts.map(acc => (0, _viem.getAddress)(acc));
|
|
25
|
-
config.emitter.emit('change', {
|
|
26
|
-
accounts: hexAccounts
|
|
27
|
-
});
|
|
28
|
-
if (hexAccounts.length === 0) {
|
|
29
|
-
config.emitter.emit('disconnect');
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
chainChangedHandler = chainId => {
|
|
33
|
-
const newChainId = typeof chainId === 'string' ? parseInt(chainId, 10) : chainId;
|
|
34
|
-
config.emitter.emit('change', {
|
|
35
|
-
chainId: newChainId
|
|
36
|
-
});
|
|
37
|
-
};
|
|
38
|
-
disconnectHandler = error => {
|
|
39
|
-
config.emitter.emit('disconnect');
|
|
40
|
-
if (error) config.emitter.emit('error', {
|
|
41
|
-
error
|
|
42
|
-
});
|
|
43
|
-
};
|
|
44
|
-
if (accountsChangedHandler) provider.on('accountsChanged', accountsChangedHandler);
|
|
45
|
-
if (chainChangedHandler) provider.on('chainChanged', chainChangedHandler);
|
|
46
|
-
if (disconnectHandler) provider.on('disconnect', disconnectHandler);
|
|
47
|
-
if (disconnectHandler) provider.on('session_delete', disconnectHandler);
|
|
48
|
-
}
|
|
49
|
-
},
|
|
50
|
-
async connect({
|
|
51
|
-
chainId
|
|
52
|
-
} = {}) {
|
|
53
|
-
try {
|
|
54
|
-
const _provider = await this.getProvider();
|
|
55
|
-
if (!_provider) throw new _wagmi.ProviderNotFoundError();
|
|
56
|
-
|
|
57
|
-
// AppKit connector is already connected or handles its own connection.
|
|
58
|
-
// We just need to sync its state with Wagmi.
|
|
59
|
-
const accountAddresses = await this.getAccounts();
|
|
60
|
-
if (!accountAddresses || accountAddresses.length === 0) {
|
|
61
|
-
throw new _viem.UserRejectedRequestError(new Error('No accounts found or user rejected connection via AppKit.'));
|
|
62
|
-
}
|
|
63
|
-
let currentChainId = await this.getChainId();
|
|
64
|
-
|
|
65
|
-
// Handle chain switching if requested and different
|
|
66
|
-
if (chainId && currentChainId !== chainId) {
|
|
67
|
-
await this.switchChain?.({
|
|
68
|
-
chainId
|
|
69
|
-
});
|
|
70
|
-
currentChainId = chainId;
|
|
71
|
-
}
|
|
72
|
-
this.ready = true;
|
|
73
|
-
return {
|
|
74
|
-
accounts: accountAddresses,
|
|
75
|
-
chainId: currentChainId
|
|
76
|
-
};
|
|
77
|
-
} catch (error) {
|
|
78
|
-
if (error instanceof _viem.UserRejectedRequestError) throw error;
|
|
79
|
-
throw new _viem.UserRejectedRequestError(error); // Generalize other errors as user rejection for simplicity
|
|
80
|
-
}
|
|
81
|
-
},
|
|
82
|
-
|
|
83
|
-
async disconnect() {
|
|
84
|
-
await appKitProvidedConnector.disconnect();
|
|
85
|
-
config.emitter.emit('message', {
|
|
86
|
-
type: 'externalDisconnect'
|
|
87
|
-
});
|
|
88
|
-
if (provider?.off && accountsChangedHandler && chainChangedHandler && disconnectHandler) {
|
|
89
|
-
provider.off('accountsChanged', accountsChangedHandler);
|
|
90
|
-
provider.off('chainChanged', chainChangedHandler);
|
|
91
|
-
provider.off('disconnect', disconnectHandler);
|
|
92
|
-
provider.off('session_delete', disconnectHandler);
|
|
93
|
-
accountsChangedHandler = undefined;
|
|
94
|
-
chainChangedHandler = undefined;
|
|
95
|
-
disconnectHandler = undefined;
|
|
96
|
-
}
|
|
97
|
-
this.ready = false;
|
|
98
|
-
},
|
|
99
|
-
async getAccounts() {
|
|
100
|
-
const namespaces = appKitProvidedConnector.getNamespaces();
|
|
101
|
-
// @ts-ignore
|
|
102
|
-
const eip155Accounts = namespaces?.eip155?.accounts;
|
|
103
|
-
if (!eip155Accounts) return [];
|
|
104
|
-
return eip155Accounts.map(caipAddr => {
|
|
105
|
-
const parts = caipAddr.split(':');
|
|
106
|
-
return parts.length === 3 ? parts[2] : null;
|
|
107
|
-
}).filter(addrPart => !!addrPart).map(addrPart => (0, _viem.getAddress)(addrPart));
|
|
108
|
-
},
|
|
109
|
-
async getChainId() {
|
|
110
|
-
const chainId = appKitProvidedConnector.getChainId('eip155')?.split(':')[1];
|
|
111
|
-
if (chainId) return parseInt(chainId, 10);
|
|
112
|
-
|
|
113
|
-
// Fallback: Try to get from CAIP accounts if available
|
|
114
|
-
const namespaces = appKitProvidedConnector.getNamespaces();
|
|
115
|
-
// @ts-ignore
|
|
116
|
-
const eip155Accounts = namespaces?.eip155?.accounts;
|
|
117
|
-
if (eip155Accounts && eip155Accounts.length > 0) {
|
|
118
|
-
const parts = eip155Accounts[0]?.split(':');
|
|
119
|
-
if (parts && parts.length > 1 && typeof parts[1] === 'string') {
|
|
120
|
-
const chainIdNum = parseInt(parts[1], 10);
|
|
121
|
-
if (!isNaN(chainIdNum)) {
|
|
122
|
-
return chainIdNum;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
if (config.chains && config.chains.length > 0) return config.chains[0].id;
|
|
127
|
-
throw new Error('Unable to determine chainId.');
|
|
128
|
-
},
|
|
129
|
-
async getProvider() {
|
|
130
|
-
if (!provider) {
|
|
131
|
-
provider = appKitProvidedConnector.getProvider();
|
|
132
|
-
}
|
|
133
|
-
const chainId = await this.getChainId();
|
|
134
|
-
|
|
135
|
-
//TODO: Review this with gancho
|
|
136
|
-
const _provider = {
|
|
137
|
-
...provider,
|
|
138
|
-
request: args => {
|
|
139
|
-
return provider?.request(args, `eip155:${chainId}`);
|
|
140
|
-
}
|
|
141
|
-
};
|
|
142
|
-
return Promise.resolve(_provider);
|
|
143
|
-
},
|
|
144
|
-
async isAuthorized() {
|
|
145
|
-
try {
|
|
146
|
-
const accounts = await this.getAccounts();
|
|
147
|
-
return !!(accounts && accounts.length > 0);
|
|
148
|
-
} catch {
|
|
149
|
-
return false;
|
|
150
|
-
}
|
|
151
|
-
},
|
|
152
|
-
async switchChain({
|
|
153
|
-
chainId
|
|
154
|
-
}) {
|
|
155
|
-
const _provider = await this.getProvider();
|
|
156
|
-
if (!_provider) throw new Error('Provider not available for switching chain.');
|
|
157
|
-
const newChain = config.chains.find(c => c.id === chainId);
|
|
158
|
-
if (!newChain) throw new _viem.SwitchChainError(new _wagmi.ChainNotConfiguredError());
|
|
159
|
-
try {
|
|
160
|
-
await _provider.request({
|
|
161
|
-
method: 'wallet_switchEthereumChain',
|
|
162
|
-
params: [{
|
|
163
|
-
chainId: (0, _viem.numberToHex)(chainId)
|
|
164
|
-
}]
|
|
165
|
-
});
|
|
166
|
-
config.emitter.emit('change', {
|
|
167
|
-
chainId
|
|
168
|
-
});
|
|
169
|
-
return newChain;
|
|
170
|
-
} catch (error) {
|
|
171
|
-
// Try to add chain if switch failed (common pattern)
|
|
172
|
-
//4902 in MetaMask: Unrecognized chain ID
|
|
173
|
-
if (error?.code === 4902 || error?.data?.originalError?.code === 4902) {
|
|
174
|
-
try {
|
|
175
|
-
await _provider.request({
|
|
176
|
-
method: 'wallet_addEthereumChain',
|
|
177
|
-
params: [{
|
|
178
|
-
chainId: (0, _viem.numberToHex)(chainId),
|
|
179
|
-
chainName: newChain.name,
|
|
180
|
-
nativeCurrency: newChain.nativeCurrency,
|
|
181
|
-
rpcUrls: [newChain.rpcUrls.default?.http[0] ?? ''],
|
|
182
|
-
// Take first default HTTP RPC URL
|
|
183
|
-
blockExplorerUrls: [newChain.blockExplorers?.default?.url]
|
|
184
|
-
}]
|
|
185
|
-
});
|
|
186
|
-
await appKitProvidedConnector.switchNetwork((0, _helpers.formatNetwork)(newChain));
|
|
187
|
-
config.emitter.emit('change', {
|
|
188
|
-
chainId
|
|
189
|
-
});
|
|
190
|
-
return newChain;
|
|
191
|
-
} catch (addError) {
|
|
192
|
-
throw new _viem.UserRejectedRequestError(addError);
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
throw new _viem.SwitchChainError(error);
|
|
196
|
-
}
|
|
197
|
-
},
|
|
198
|
-
onAccountsChanged(accounts) {
|
|
199
|
-
if (accounts.length === 0) this.onDisconnect();else config.emitter.emit('change', {
|
|
200
|
-
accounts: accounts.map(x => (0, _viem.getAddress)(x))
|
|
201
|
-
});
|
|
202
|
-
},
|
|
203
|
-
onChainChanged(chain) {
|
|
204
|
-
const chainId = Number(chain);
|
|
205
|
-
config.emitter.emit('change', {
|
|
206
|
-
chainId
|
|
207
|
-
});
|
|
208
|
-
},
|
|
209
|
-
onDisconnect: () => {
|
|
210
|
-
config.emitter.emit('disconnect');
|
|
211
|
-
}
|
|
212
|
-
}));
|
|
213
|
-
}
|
|
214
|
-
//# sourceMappingURL=UniversalConnector.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_viem","require","_wagmi","_helpers","UniversalConnector","appKitProvidedConnector","provider","accountsChangedHandler","chainChangedHandler","disconnectHandler","createConnector","config","id","name","type","ready","getProvider","setup","on","accounts","hexAccounts","map","acc","getAddress","emitter","emit","length","chainId","newChainId","parseInt","error","connect","_provider","ProviderNotFoundError","accountAddresses","getAccounts","UserRejectedRequestError","Error","currentChainId","getChainId","switchChain","disconnect","off","undefined","namespaces","getNamespaces","eip155Accounts","eip155","caipAddr","parts","split","filter","addrPart","chainIdNum","isNaN","chains","request","args","Promise","resolve","isAuthorized","newChain","find","c","SwitchChainError","ChainNotConfiguredError","method","params","numberToHex","code","data","originalError","chainName","nativeCurrency","rpcUrls","default","http","blockExplorerUrls","blockExplorers","url","switchNetwork","formatNetwork","addError","onAccountsChanged","onDisconnect","x","onChainChanged","chain","Number"],"sourceRoot":"../../../src","sources":["connectors/UniversalConnector.ts"],"mappings":"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"}
|
package/lib/commonjs/index.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
Object.defineProperty(exports, "WagmiAdapter", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function () {
|
|
9
|
-
return _adapter.WagmiAdapter;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
Object.defineProperty(exports, "formatNetwork", {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function () {
|
|
15
|
-
return _helpers.formatNetwork;
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
Object.defineProperty(exports, "formatNetworks", {
|
|
19
|
-
enumerable: true,
|
|
20
|
-
get: function () {
|
|
21
|
-
return _helpers.formatNetworks;
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
var _adapter = require("./adapter");
|
|
25
|
-
var _helpers = require("./utils/helpers");
|
|
26
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_adapter","require","_helpers"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAGA,IAAAC,QAAA,GAAAD,OAAA"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.formatNetwork = formatNetwork;
|
|
7
|
-
exports.formatNetworks = formatNetworks;
|
|
8
|
-
exports.getTransport = getTransport;
|
|
9
|
-
var _appkitReactNative = require("@reown/appkit-react-native");
|
|
10
|
-
var _appkitCommonReactNative = require("@reown/appkit-common-react-native");
|
|
11
|
-
var _viem = require("viem");
|
|
12
|
-
function getTransport({
|
|
13
|
-
chainId,
|
|
14
|
-
projectId
|
|
15
|
-
}) {
|
|
16
|
-
const RPC_URL = _appkitReactNative.CoreHelperUtil.getBlockchainApiUrl();
|
|
17
|
-
if (!_appkitCommonReactNative.PresetsUtil.RpcChainIds.includes(chainId)) {
|
|
18
|
-
return (0, _viem.http)();
|
|
19
|
-
}
|
|
20
|
-
return (0, _viem.http)(`${RPC_URL}/v1/?chainId=${_appkitCommonReactNative.ConstantsUtil.EIP155}:${chainId}&projectId=${projectId}`);
|
|
21
|
-
}
|
|
22
|
-
function formatNetwork(network) {
|
|
23
|
-
return {
|
|
24
|
-
...network,
|
|
25
|
-
rpcUrls: {
|
|
26
|
-
...network.rpcUrls
|
|
27
|
-
},
|
|
28
|
-
chainNamespace: 'eip155',
|
|
29
|
-
caipNetworkId: `eip155:${network.id}`
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
function formatNetworks(networks) {
|
|
33
|
-
return networks.map(formatNetwork);
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_appkitReactNative","require","_appkitCommonReactNative","_viem","getTransport","chainId","projectId","RPC_URL","CoreHelperUtil","getBlockchainApiUrl","PresetsUtil","RpcChainIds","includes","http","ConstantsUtil","EIP155","formatNetwork","network","rpcUrls","chainNamespace","caipNetworkId","id","formatNetworks","networks","map"],"sourceRoot":"../../../src","sources":["utils/helpers.ts"],"mappings":";;;;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,wBAAA,GAAAD,OAAA;AAMA,IAAAE,KAAA,GAAAF,OAAA;AAEO,SAASG,YAAYA,CAAC;EAAEC,OAAO;EAAEC;AAAkD,CAAC,EAAE;EAC3F,MAAMC,OAAO,GAAGC,iCAAc,CAACC,mBAAmB,CAAC,CAAC;EAEpD,IAAI,CAACC,oCAAW,CAACC,WAAW,CAACC,QAAQ,CAACP,OAAO,CAAC,EAAE;IAC9C,OAAO,IAAAQ,UAAI,EAAC,CAAC;EACf;EAEA,OAAO,IAAAA,UAAI,EAAE,GAAEN,OAAQ,gBAAeO,sCAAa,CAACC,MAAO,IAAGV,OAAQ,cAAaC,SAAU,EAAC,CAAC;AACjG;AAEO,SAASU,aAAaA,CAACC,OAAgB,EAAiB;EAC7D,OAAO;IACL,GAAGA,OAAO;IACVC,OAAO,EAAE;MAAE,GAAGD,OAAO,CAACC;IAAQ,CAAC;IAC/BC,cAAc,EAAE,QAAQ;IACxBC,aAAa,EAAG,UAASH,OAAO,CAACI,EAAG;EACtC,CAAC;AACH;AAEO,SAASC,cAAcA,CAACC,QAAmB,EAAmB;EACnE,OAAOA,QAAQ,CAACC,GAAG,CAACR,aAAa,CAAC;AACpC"}
|
package/lib/module/adapter.js
DELETED
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
import { EVMAdapter } from '@reown/appkit-common-react-native';
|
|
2
|
-
import { createConfig, getBalance as getBalanceWagmi, switchChain as switchChainWagmi, disconnect as disconnectWagmiCore, connect as connectWagmi } from '@wagmi/core';
|
|
3
|
-
import { getTransport } from './utils/helpers';
|
|
4
|
-
import { formatUnits } from 'viem';
|
|
5
|
-
import { UniversalConnector } from './connectors/UniversalConnector';
|
|
6
|
-
export class WagmiAdapter extends EVMAdapter {
|
|
7
|
-
static supportedNamespace = 'eip155';
|
|
8
|
-
constructor(configParams) {
|
|
9
|
-
super({
|
|
10
|
-
projectId: configParams.projectId,
|
|
11
|
-
supportedNamespace: WagmiAdapter.supportedNamespace
|
|
12
|
-
});
|
|
13
|
-
this.wagmiChains = configParams.networks;
|
|
14
|
-
this.wagmiConfig = this.createWagmiInternalConfig(configParams);
|
|
15
|
-
}
|
|
16
|
-
createWagmiInternalConfig(configParams) {
|
|
17
|
-
// Connectors are typically added via wagmiConfig.connectors, but here AppKit manages the connection.
|
|
18
|
-
// We'll use the `connect` action with our dynamically created connector instance.
|
|
19
|
-
// So, the `connectors` array for createConfig can be empty and is added later.
|
|
20
|
-
const initialConnectors = [];
|
|
21
|
-
const transportsArr = configParams.networks.map(chain => [chain.id, getTransport({
|
|
22
|
-
chainId: chain.id,
|
|
23
|
-
projectId: configParams.projectId
|
|
24
|
-
})]);
|
|
25
|
-
const transports = Object.fromEntries(transportsArr);
|
|
26
|
-
return createConfig({
|
|
27
|
-
chains: configParams.networks,
|
|
28
|
-
connectors: initialConnectors,
|
|
29
|
-
// Empty, as we connect programmatically
|
|
30
|
-
transports,
|
|
31
|
-
multiInjectedProviderDiscovery: false
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
async switchNetwork(network) {
|
|
35
|
-
if (!this.wagmiConfigConnector) {
|
|
36
|
-
throw new Error('WagmiAdapter: AppKit connector not set or not connected via Wagmi.');
|
|
37
|
-
}
|
|
38
|
-
await switchChainWagmi(this.wagmiConfig, {
|
|
39
|
-
chainId: network.id,
|
|
40
|
-
connector: this.wagmiConfigConnector
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
async getBalance(params) {
|
|
44
|
-
const {
|
|
45
|
-
network,
|
|
46
|
-
address,
|
|
47
|
-
tokens
|
|
48
|
-
} = params;
|
|
49
|
-
if (!this.connector) throw new Error('No active AppKit connector (EVMAdapter.connector)');
|
|
50
|
-
if (!network) throw new Error('No network provided');
|
|
51
|
-
if (!this.wagmiConfigConnector) {
|
|
52
|
-
throw new Error('WagmiAdapter: AppKit connector not properly configured with Wagmi.');
|
|
53
|
-
}
|
|
54
|
-
const balanceAddress = address || this.getAccounts()?.find(acc => acc.includes(network.id.toString()));
|
|
55
|
-
if (!balanceAddress) {
|
|
56
|
-
return Promise.resolve({
|
|
57
|
-
amount: '0.00',
|
|
58
|
-
symbol: network.nativeCurrency.symbol || 'ETH'
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
const accountHex = balanceAddress.split(':')[2];
|
|
62
|
-
const token = network?.caipNetworkId && tokens?.[network.caipNetworkId]?.address;
|
|
63
|
-
const balance = await getBalanceWagmi(this.wagmiConfig, {
|
|
64
|
-
address: accountHex,
|
|
65
|
-
chainId: network.id,
|
|
66
|
-
token
|
|
67
|
-
});
|
|
68
|
-
const formattedBalance = {
|
|
69
|
-
amount: formatUnits(balance.value, balance.decimals),
|
|
70
|
-
symbol: balance.symbol,
|
|
71
|
-
contractAddress: token ? `${network.caipNetworkId}:${token}` : undefined
|
|
72
|
-
};
|
|
73
|
-
this.emit('balanceChanged', {
|
|
74
|
-
address: balanceAddress,
|
|
75
|
-
balance: formattedBalance
|
|
76
|
-
});
|
|
77
|
-
return Promise.resolve(formattedBalance);
|
|
78
|
-
}
|
|
79
|
-
getAccounts() {
|
|
80
|
-
if (!this.connector) {
|
|
81
|
-
return undefined;
|
|
82
|
-
}
|
|
83
|
-
const namespaces = this.connector.getNamespaces();
|
|
84
|
-
if (!namespaces) {
|
|
85
|
-
return undefined;
|
|
86
|
-
}
|
|
87
|
-
const supportedNamespaceKey = this.getSupportedNamespace();
|
|
88
|
-
const accountsForNamespace = namespaces[supportedNamespaceKey];
|
|
89
|
-
return accountsForNamespace?.accounts;
|
|
90
|
-
}
|
|
91
|
-
async disconnect() {
|
|
92
|
-
if (this.wagmiConfigConnector) {
|
|
93
|
-
await disconnectWagmiCore(this.wagmiConfig, {
|
|
94
|
-
connector: this.wagmiConfigConnector
|
|
95
|
-
});
|
|
96
|
-
this.wagmiConfigConnector = undefined;
|
|
97
|
-
} else if (this.connector) {
|
|
98
|
-
await this.connector.disconnect();
|
|
99
|
-
this.onDisconnect();
|
|
100
|
-
}
|
|
101
|
-
const evmAdapterInstance = this;
|
|
102
|
-
if ('connector' in evmAdapterInstance) {
|
|
103
|
-
evmAdapterInstance.connector = undefined;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
getSupportedNamespace() {
|
|
107
|
-
return WagmiAdapter.supportedNamespace;
|
|
108
|
-
}
|
|
109
|
-
setConnector(_connector) {
|
|
110
|
-
super.setConnector(_connector);
|
|
111
|
-
if (_connector && this.wagmiChains) {
|
|
112
|
-
if (!this.wagmiConfigConnector) {
|
|
113
|
-
// Manually add the connector to the wagmiConfig
|
|
114
|
-
const connectorInstance = this.wagmiConfig._internal.connectors.setup(UniversalConnector(_connector));
|
|
115
|
-
this.wagmiConfig._internal.connectors.setState(prev => [...prev, connectorInstance]);
|
|
116
|
-
this.wagmiConfigConnector = connectorInstance;
|
|
117
|
-
connectorInstance.emitter.on('message', ({
|
|
118
|
-
type
|
|
119
|
-
}) => {
|
|
120
|
-
if (type === 'externalDisconnect') {
|
|
121
|
-
this.onDisconnect();
|
|
122
|
-
this.wagmiConfigConnector = undefined;
|
|
123
|
-
}
|
|
124
|
-
});
|
|
125
|
-
try {
|
|
126
|
-
connectWagmi(this.wagmiConfig, {
|
|
127
|
-
connector: connectorInstance
|
|
128
|
-
});
|
|
129
|
-
} catch (error) {
|
|
130
|
-
this.wagmiConfigConnector = undefined;
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
//# sourceMappingURL=adapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["EVMAdapter","createConfig","getBalance","getBalanceWagmi","switchChain","switchChainWagmi","disconnect","disconnectWagmiCore","connect","connectWagmi","getTransport","formatUnits","UniversalConnector","WagmiAdapter","supportedNamespace","constructor","configParams","projectId","wagmiChains","networks","wagmiConfig","createWagmiInternalConfig","initialConnectors","transportsArr","map","chain","id","chainId","transports","Object","fromEntries","chains","connectors","multiInjectedProviderDiscovery","switchNetwork","network","wagmiConfigConnector","Error","connector","params","address","tokens","balanceAddress","getAccounts","find","acc","includes","toString","Promise","resolve","amount","symbol","nativeCurrency","accountHex","split","token","caipNetworkId","balance","formattedBalance","value","decimals","contractAddress","undefined","emit","namespaces","getNamespaces","supportedNamespaceKey","getSupportedNamespace","accountsForNamespace","accounts","onDisconnect","evmAdapterInstance","setConnector","_connector","connectorInstance","_internal","setup","setState","prev","emitter","on","type","error"],"sourceRoot":"../../src","sources":["adapter.ts"],"mappings":"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"}
|
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
import { getAddress, numberToHex, SwitchChainError, UserRejectedRequestError } from 'viem';
|
|
2
|
-
import { ChainNotConfiguredError, createConnector, ProviderNotFoundError } from 'wagmi';
|
|
3
|
-
import { formatNetwork } from '../utils/helpers';
|
|
4
|
-
export function UniversalConnector(appKitProvidedConnector) {
|
|
5
|
-
let provider;
|
|
6
|
-
let accountsChangedHandler;
|
|
7
|
-
let chainChangedHandler;
|
|
8
|
-
let disconnectHandler;
|
|
9
|
-
return createConnector(config => ({
|
|
10
|
-
id: 'walletconnect',
|
|
11
|
-
name: 'WalletConnect',
|
|
12
|
-
type: 'walletconnect',
|
|
13
|
-
ready: !!appKitProvidedConnector.getProvider(),
|
|
14
|
-
async setup() {
|
|
15
|
-
provider = appKitProvidedConnector.getProvider();
|
|
16
|
-
if (provider?.on) {
|
|
17
|
-
accountsChangedHandler = accounts => {
|
|
18
|
-
const hexAccounts = accounts.map(acc => getAddress(acc));
|
|
19
|
-
config.emitter.emit('change', {
|
|
20
|
-
accounts: hexAccounts
|
|
21
|
-
});
|
|
22
|
-
if (hexAccounts.length === 0) {
|
|
23
|
-
config.emitter.emit('disconnect');
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
chainChangedHandler = chainId => {
|
|
27
|
-
const newChainId = typeof chainId === 'string' ? parseInt(chainId, 10) : chainId;
|
|
28
|
-
config.emitter.emit('change', {
|
|
29
|
-
chainId: newChainId
|
|
30
|
-
});
|
|
31
|
-
};
|
|
32
|
-
disconnectHandler = error => {
|
|
33
|
-
config.emitter.emit('disconnect');
|
|
34
|
-
if (error) config.emitter.emit('error', {
|
|
35
|
-
error
|
|
36
|
-
});
|
|
37
|
-
};
|
|
38
|
-
if (accountsChangedHandler) provider.on('accountsChanged', accountsChangedHandler);
|
|
39
|
-
if (chainChangedHandler) provider.on('chainChanged', chainChangedHandler);
|
|
40
|
-
if (disconnectHandler) provider.on('disconnect', disconnectHandler);
|
|
41
|
-
if (disconnectHandler) provider.on('session_delete', disconnectHandler);
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
|
-
async connect({
|
|
45
|
-
chainId
|
|
46
|
-
} = {}) {
|
|
47
|
-
try {
|
|
48
|
-
const _provider = await this.getProvider();
|
|
49
|
-
if (!_provider) throw new ProviderNotFoundError();
|
|
50
|
-
|
|
51
|
-
// AppKit connector is already connected or handles its own connection.
|
|
52
|
-
// We just need to sync its state with Wagmi.
|
|
53
|
-
const accountAddresses = await this.getAccounts();
|
|
54
|
-
if (!accountAddresses || accountAddresses.length === 0) {
|
|
55
|
-
throw new UserRejectedRequestError(new Error('No accounts found or user rejected connection via AppKit.'));
|
|
56
|
-
}
|
|
57
|
-
let currentChainId = await this.getChainId();
|
|
58
|
-
|
|
59
|
-
// Handle chain switching if requested and different
|
|
60
|
-
if (chainId && currentChainId !== chainId) {
|
|
61
|
-
await this.switchChain?.({
|
|
62
|
-
chainId
|
|
63
|
-
});
|
|
64
|
-
currentChainId = chainId;
|
|
65
|
-
}
|
|
66
|
-
this.ready = true;
|
|
67
|
-
return {
|
|
68
|
-
accounts: accountAddresses,
|
|
69
|
-
chainId: currentChainId
|
|
70
|
-
};
|
|
71
|
-
} catch (error) {
|
|
72
|
-
if (error instanceof UserRejectedRequestError) throw error;
|
|
73
|
-
throw new UserRejectedRequestError(error); // Generalize other errors as user rejection for simplicity
|
|
74
|
-
}
|
|
75
|
-
},
|
|
76
|
-
|
|
77
|
-
async disconnect() {
|
|
78
|
-
await appKitProvidedConnector.disconnect();
|
|
79
|
-
config.emitter.emit('message', {
|
|
80
|
-
type: 'externalDisconnect'
|
|
81
|
-
});
|
|
82
|
-
if (provider?.off && accountsChangedHandler && chainChangedHandler && disconnectHandler) {
|
|
83
|
-
provider.off('accountsChanged', accountsChangedHandler);
|
|
84
|
-
provider.off('chainChanged', chainChangedHandler);
|
|
85
|
-
provider.off('disconnect', disconnectHandler);
|
|
86
|
-
provider.off('session_delete', disconnectHandler);
|
|
87
|
-
accountsChangedHandler = undefined;
|
|
88
|
-
chainChangedHandler = undefined;
|
|
89
|
-
disconnectHandler = undefined;
|
|
90
|
-
}
|
|
91
|
-
this.ready = false;
|
|
92
|
-
},
|
|
93
|
-
async getAccounts() {
|
|
94
|
-
const namespaces = appKitProvidedConnector.getNamespaces();
|
|
95
|
-
// @ts-ignore
|
|
96
|
-
const eip155Accounts = namespaces?.eip155?.accounts;
|
|
97
|
-
if (!eip155Accounts) return [];
|
|
98
|
-
return eip155Accounts.map(caipAddr => {
|
|
99
|
-
const parts = caipAddr.split(':');
|
|
100
|
-
return parts.length === 3 ? parts[2] : null;
|
|
101
|
-
}).filter(addrPart => !!addrPart).map(addrPart => getAddress(addrPart));
|
|
102
|
-
},
|
|
103
|
-
async getChainId() {
|
|
104
|
-
const chainId = appKitProvidedConnector.getChainId('eip155')?.split(':')[1];
|
|
105
|
-
if (chainId) return parseInt(chainId, 10);
|
|
106
|
-
|
|
107
|
-
// Fallback: Try to get from CAIP accounts if available
|
|
108
|
-
const namespaces = appKitProvidedConnector.getNamespaces();
|
|
109
|
-
// @ts-ignore
|
|
110
|
-
const eip155Accounts = namespaces?.eip155?.accounts;
|
|
111
|
-
if (eip155Accounts && eip155Accounts.length > 0) {
|
|
112
|
-
const parts = eip155Accounts[0]?.split(':');
|
|
113
|
-
if (parts && parts.length > 1 && typeof parts[1] === 'string') {
|
|
114
|
-
const chainIdNum = parseInt(parts[1], 10);
|
|
115
|
-
if (!isNaN(chainIdNum)) {
|
|
116
|
-
return chainIdNum;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
if (config.chains && config.chains.length > 0) return config.chains[0].id;
|
|
121
|
-
throw new Error('Unable to determine chainId.');
|
|
122
|
-
},
|
|
123
|
-
async getProvider() {
|
|
124
|
-
if (!provider) {
|
|
125
|
-
provider = appKitProvidedConnector.getProvider();
|
|
126
|
-
}
|
|
127
|
-
const chainId = await this.getChainId();
|
|
128
|
-
|
|
129
|
-
//TODO: Review this with gancho
|
|
130
|
-
const _provider = {
|
|
131
|
-
...provider,
|
|
132
|
-
request: args => {
|
|
133
|
-
return provider?.request(args, `eip155:${chainId}`);
|
|
134
|
-
}
|
|
135
|
-
};
|
|
136
|
-
return Promise.resolve(_provider);
|
|
137
|
-
},
|
|
138
|
-
async isAuthorized() {
|
|
139
|
-
try {
|
|
140
|
-
const accounts = await this.getAccounts();
|
|
141
|
-
return !!(accounts && accounts.length > 0);
|
|
142
|
-
} catch {
|
|
143
|
-
return false;
|
|
144
|
-
}
|
|
145
|
-
},
|
|
146
|
-
async switchChain({
|
|
147
|
-
chainId
|
|
148
|
-
}) {
|
|
149
|
-
const _provider = await this.getProvider();
|
|
150
|
-
if (!_provider) throw new Error('Provider not available for switching chain.');
|
|
151
|
-
const newChain = config.chains.find(c => c.id === chainId);
|
|
152
|
-
if (!newChain) throw new SwitchChainError(new ChainNotConfiguredError());
|
|
153
|
-
try {
|
|
154
|
-
await _provider.request({
|
|
155
|
-
method: 'wallet_switchEthereumChain',
|
|
156
|
-
params: [{
|
|
157
|
-
chainId: numberToHex(chainId)
|
|
158
|
-
}]
|
|
159
|
-
});
|
|
160
|
-
config.emitter.emit('change', {
|
|
161
|
-
chainId
|
|
162
|
-
});
|
|
163
|
-
return newChain;
|
|
164
|
-
} catch (error) {
|
|
165
|
-
// Try to add chain if switch failed (common pattern)
|
|
166
|
-
//4902 in MetaMask: Unrecognized chain ID
|
|
167
|
-
if (error?.code === 4902 || error?.data?.originalError?.code === 4902) {
|
|
168
|
-
try {
|
|
169
|
-
await _provider.request({
|
|
170
|
-
method: 'wallet_addEthereumChain',
|
|
171
|
-
params: [{
|
|
172
|
-
chainId: numberToHex(chainId),
|
|
173
|
-
chainName: newChain.name,
|
|
174
|
-
nativeCurrency: newChain.nativeCurrency,
|
|
175
|
-
rpcUrls: [newChain.rpcUrls.default?.http[0] ?? ''],
|
|
176
|
-
// Take first default HTTP RPC URL
|
|
177
|
-
blockExplorerUrls: [newChain.blockExplorers?.default?.url]
|
|
178
|
-
}]
|
|
179
|
-
});
|
|
180
|
-
await appKitProvidedConnector.switchNetwork(formatNetwork(newChain));
|
|
181
|
-
config.emitter.emit('change', {
|
|
182
|
-
chainId
|
|
183
|
-
});
|
|
184
|
-
return newChain;
|
|
185
|
-
} catch (addError) {
|
|
186
|
-
throw new UserRejectedRequestError(addError);
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
throw new SwitchChainError(error);
|
|
190
|
-
}
|
|
191
|
-
},
|
|
192
|
-
onAccountsChanged(accounts) {
|
|
193
|
-
if (accounts.length === 0) this.onDisconnect();else config.emitter.emit('change', {
|
|
194
|
-
accounts: accounts.map(x => getAddress(x))
|
|
195
|
-
});
|
|
196
|
-
},
|
|
197
|
-
onChainChanged(chain) {
|
|
198
|
-
const chainId = Number(chain);
|
|
199
|
-
config.emitter.emit('change', {
|
|
200
|
-
chainId
|
|
201
|
-
});
|
|
202
|
-
},
|
|
203
|
-
onDisconnect: () => {
|
|
204
|
-
config.emitter.emit('disconnect');
|
|
205
|
-
}
|
|
206
|
-
}));
|
|
207
|
-
}
|
|
208
|
-
//# sourceMappingURL=UniversalConnector.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getAddress","numberToHex","SwitchChainError","UserRejectedRequestError","ChainNotConfiguredError","createConnector","ProviderNotFoundError","formatNetwork","UniversalConnector","appKitProvidedConnector","provider","accountsChangedHandler","chainChangedHandler","disconnectHandler","config","id","name","type","ready","getProvider","setup","on","accounts","hexAccounts","map","acc","emitter","emit","length","chainId","newChainId","parseInt","error","connect","_provider","accountAddresses","getAccounts","Error","currentChainId","getChainId","switchChain","disconnect","off","undefined","namespaces","getNamespaces","eip155Accounts","eip155","caipAddr","parts","split","filter","addrPart","chainIdNum","isNaN","chains","request","args","Promise","resolve","isAuthorized","newChain","find","c","method","params","code","data","originalError","chainName","nativeCurrency","rpcUrls","default","http","blockExplorerUrls","blockExplorers","url","switchNetwork","addError","onAccountsChanged","onDisconnect","x","onChainChanged","chain","Number"],"sourceRoot":"../../../src","sources":["connectors/UniversalConnector.ts"],"mappings":"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"}
|
package/lib/module/index.js
DELETED
package/lib/module/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["WagmiAdapter","formatNetworks","formatNetwork"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,YAAY,QAAQ,WAAW;AAExC,SAASA,YAAY;AACrB,SAASC,cAAc,EAAEC,aAAa,QAAQ,iBAAiB"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { CoreHelperUtil } from '@reown/appkit-react-native';
|
|
2
|
-
import { PresetsUtil, ConstantsUtil } from '@reown/appkit-common-react-native';
|
|
3
|
-
import { http } from 'viem';
|
|
4
|
-
export function getTransport({
|
|
5
|
-
chainId,
|
|
6
|
-
projectId
|
|
7
|
-
}) {
|
|
8
|
-
const RPC_URL = CoreHelperUtil.getBlockchainApiUrl();
|
|
9
|
-
if (!PresetsUtil.RpcChainIds.includes(chainId)) {
|
|
10
|
-
return http();
|
|
11
|
-
}
|
|
12
|
-
return http(`${RPC_URL}/v1/?chainId=${ConstantsUtil.EIP155}:${chainId}&projectId=${projectId}`);
|
|
13
|
-
}
|
|
14
|
-
export function formatNetwork(network) {
|
|
15
|
-
return {
|
|
16
|
-
...network,
|
|
17
|
-
rpcUrls: {
|
|
18
|
-
...network.rpcUrls
|
|
19
|
-
},
|
|
20
|
-
chainNamespace: 'eip155',
|
|
21
|
-
caipNetworkId: `eip155:${network.id}`
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
export function formatNetworks(networks) {
|
|
25
|
-
return networks.map(formatNetwork);
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["CoreHelperUtil","PresetsUtil","ConstantsUtil","http","getTransport","chainId","projectId","RPC_URL","getBlockchainApiUrl","RpcChainIds","includes","EIP155","formatNetwork","network","rpcUrls","chainNamespace","caipNetworkId","id","formatNetworks","networks","map"],"sourceRoot":"../../../src","sources":["utils/helpers.ts"],"mappings":"AAAA,SAASA,cAAc,QAAQ,4BAA4B;AAC3D,SACEC,WAAW,EACXC,aAAa,QAGR,mCAAmC;AAC1C,SAASC,IAAI,QAAQ,MAAM;AAE3B,OAAO,SAASC,YAAYA,CAAC;EAAEC,OAAO;EAAEC;AAAkD,CAAC,EAAE;EAC3F,MAAMC,OAAO,GAAGP,cAAc,CAACQ,mBAAmB,CAAC,CAAC;EAEpD,IAAI,CAACP,WAAW,CAACQ,WAAW,CAACC,QAAQ,CAACL,OAAO,CAAC,EAAE;IAC9C,OAAOF,IAAI,CAAC,CAAC;EACf;EAEA,OAAOA,IAAI,CAAE,GAAEI,OAAQ,gBAAeL,aAAa,CAACS,MAAO,IAAGN,OAAQ,cAAaC,SAAU,EAAC,CAAC;AACjG;AAEA,OAAO,SAASM,aAAaA,CAACC,OAAgB,EAAiB;EAC7D,OAAO;IACL,GAAGA,OAAO;IACVC,OAAO,EAAE;MAAE,GAAGD,OAAO,CAACC;IAAQ,CAAC;IAC/BC,cAAc,EAAE,QAAQ;IACxBC,aAAa,EAAG,UAASH,OAAO,CAACI,EAAG;EACtC,CAAC;AACH;AAEA,OAAO,SAASC,cAAcA,CAACC,QAAmB,EAAmB;EACnE,OAAOA,QAAQ,CAACC,GAAG,CAACR,aAAa,CAAC;AACpC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { EVMAdapter, WalletConnector, type AppKitNetwork, type CaipAddress, type ChainNamespace, type GetBalanceParams, type GetBalanceResponse } from '@reown/appkit-common-react-native';
|
|
2
|
-
import { type Config, type CreateConfigParameters, type Connector } from '@wagmi/core';
|
|
3
|
-
import type { Chain } from 'wagmi/chains';
|
|
4
|
-
type ConfigParams = Partial<CreateConfigParameters> & {
|
|
5
|
-
networks: readonly [Chain, ...Chain[]];
|
|
6
|
-
projectId: string;
|
|
7
|
-
connectors?: Connector[];
|
|
8
|
-
};
|
|
9
|
-
export declare class WagmiAdapter extends EVMAdapter {
|
|
10
|
-
private static supportedNamespace;
|
|
11
|
-
wagmiChains: readonly Chain[] | undefined;
|
|
12
|
-
wagmiConfig: Config;
|
|
13
|
-
private wagmiConfigConnector?;
|
|
14
|
-
constructor(configParams: ConfigParams);
|
|
15
|
-
private createWagmiInternalConfig;
|
|
16
|
-
switchNetwork(network: AppKitNetwork): Promise<void>;
|
|
17
|
-
getBalance(params: GetBalanceParams): Promise<GetBalanceResponse>;
|
|
18
|
-
getAccounts(): CaipAddress[] | undefined;
|
|
19
|
-
disconnect(): Promise<void>;
|
|
20
|
-
getSupportedNamespace(): ChainNamespace;
|
|
21
|
-
setConnector(_connector: WalletConnector): void;
|
|
22
|
-
}
|
|
23
|
-
export {};
|
|
24
|
-
//# sourceMappingURL=adapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACxB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,KAAK,MAAM,EACX,KAAK,sBAAsB,EAM3B,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAK1C,KAAK,YAAY,GAAG,OAAO,CAAC,sBAAsB,CAAC,GAAG;IACpD,QAAQ,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B,CAAC;AAEF,qBAAa,YAAa,SAAQ,UAAU;IAC1C,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAA4B;IACtD,WAAW,EAAE,SAAS,KAAK,EAAE,GAAG,SAAS,CAAC;IAC1C,WAAW,EAAG,MAAM,CAAC;IAC5B,OAAO,CAAC,oBAAoB,CAAC,CAAY;gBAE7B,YAAY,EAAE,YAAY;IAStC,OAAO,CAAC,yBAAyB;IAoB3B,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAWpD,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAuCvE,WAAW,IAAI,WAAW,EAAE,GAAG,SAAS;IAgBlC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAejC,qBAAqB,IAAI,cAAc;IAI9B,YAAY,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI;CA6BzD"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { Provider, WalletConnector } from '@reown/appkit-common-react-native';
|
|
2
|
-
export declare function UniversalConnector(appKitProvidedConnector: WalletConnector): import("wagmi").CreateConnectorFn<Provider, {
|
|
3
|
-
ready: boolean;
|
|
4
|
-
}, Record<string, unknown>>;
|
|
5
|
-
//# sourceMappingURL=UniversalConnector.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UniversalConnector.d.ts","sourceRoot":"","sources":["../../../src/connectors/UniversalConnector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EAER,eAAe,EAChB,MAAM,mCAAmC,CAAC;AAW3C,wBAAgB,kBAAkB,CAAC,uBAAuB,EAAE,eAAe;WAO/B,OAAO;4BA6MlD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { type AppKitNetwork, type Network } from '@reown/appkit-common-react-native';
|
|
2
|
-
export declare function getTransport({ chainId, projectId }: {
|
|
3
|
-
chainId: number;
|
|
4
|
-
projectId: string;
|
|
5
|
-
}): import("viem").HttpTransport<undefined, false>;
|
|
6
|
-
export declare function formatNetwork(network: Network): AppKitNetwork;
|
|
7
|
-
export declare function formatNetworks(networks: Network[]): AppKitNetwork[];
|
|
8
|
-
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,OAAO,EACb,MAAM,mCAAmC,CAAC;AAG3C,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,kDAQ1F;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CAO7D;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,CAEnE"}
|