@reown/appkit-ethers-react-native 1.0.1 → 1.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/lib/commonjs/client.js +156 -24
- package/lib/commonjs/client.js.map +1 -1
- package/lib/module/client.js +151 -19
- package/lib/module/client.js.map +1 -1
- package/lib/typescript/client.d.ts +4 -1
- package/lib/typescript/client.d.ts.map +1 -1
- package/package.json +9 -9
- package/readme.md +1 -1
- package/src/client.ts +180 -18
package/lib/commonjs/client.js
CHANGED
|
@@ -8,6 +8,7 @@ var _ethers = require("ethers");
|
|
|
8
8
|
var _appkitScaffoldReactNative = require("@reown/appkit-scaffold-react-native");
|
|
9
9
|
var _appkitCommonReactNative = require("@reown/appkit-common-react-native");
|
|
10
10
|
var _appkitScaffoldUtilsReactNative = require("@reown/appkit-scaffold-utils-react-native");
|
|
11
|
+
var _appkitSiweReactNative = require("@reown/appkit-siwe-react-native");
|
|
11
12
|
var _ethereumProvider = _interopRequireWildcard(require("@walletconnect/ethereum-provider"));
|
|
12
13
|
var _helpers = require("./utils/helpers");
|
|
13
14
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
@@ -35,7 +36,7 @@ class AppKit extends _appkitScaffoldReactNative.AppKitScaffold {
|
|
|
35
36
|
throw new Error('appkit:constructor - config is undefined');
|
|
36
37
|
}
|
|
37
38
|
if (!appKitOptions.projectId) {
|
|
38
|
-
throw new Error(
|
|
39
|
+
throw new Error(_appkitCommonReactNative.ErrorUtil.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED.shortMessage);
|
|
39
40
|
}
|
|
40
41
|
const networkControllerClient = {
|
|
41
42
|
switchCaipNetwork: async caipNetwork => {
|
|
@@ -87,11 +88,6 @@ class AppKit extends _appkitScaffoldReactNative.AppKitScaffold {
|
|
|
87
88
|
// SIWE
|
|
88
89
|
const params = await siweConfig?.getMessageParams?.();
|
|
89
90
|
if (siweConfig?.options?.enabled && params && Object.keys(params).length > 0) {
|
|
90
|
-
const {
|
|
91
|
-
SIWEController,
|
|
92
|
-
getDidChainId,
|
|
93
|
-
getDidAddress
|
|
94
|
-
} = await Promise.resolve().then(() => _interopRequireWildcard(require('@reown/appkit-siwe-react-native')));
|
|
95
91
|
const result = await WalletConnectProvider.authenticate({
|
|
96
92
|
nonce: await siweConfig.getNonce(),
|
|
97
93
|
methods: _ethereumProvider.OPTIONAL_METHODS,
|
|
@@ -104,15 +100,15 @@ class AppKit extends _appkitScaffoldReactNative.AppKitScaffold {
|
|
|
104
100
|
p,
|
|
105
101
|
s
|
|
106
102
|
} = signedCacao;
|
|
107
|
-
const chainId = getDidChainId(p.iss);
|
|
108
|
-
const address = getDidAddress(p.iss);
|
|
103
|
+
const chainId = (0, _appkitSiweReactNative.getDidChainId)(p.iss);
|
|
104
|
+
const address = (0, _appkitSiweReactNative.getDidAddress)(p.iss);
|
|
109
105
|
try {
|
|
110
106
|
// Kicks off verifyMessage and populates external states
|
|
111
107
|
const message = WalletConnectProvider.signer.client.formatAuthMessage({
|
|
112
108
|
request: p,
|
|
113
109
|
iss: p.iss
|
|
114
110
|
});
|
|
115
|
-
await SIWEController.verifyMessage({
|
|
111
|
+
await _appkitSiweReactNative.SIWEController.verifyMessage({
|
|
116
112
|
message,
|
|
117
113
|
signature: s.s,
|
|
118
114
|
cacao: signedCacao
|
|
@@ -122,8 +118,8 @@ class AppKit extends _appkitScaffoldReactNative.AppKitScaffold {
|
|
|
122
118
|
address,
|
|
123
119
|
chainId: parseInt(chainId, 10)
|
|
124
120
|
};
|
|
125
|
-
SIWEController.setSession(session);
|
|
126
|
-
SIWEController.onSignIn?.(session);
|
|
121
|
+
_appkitSiweReactNative.SIWEController.setSession(session);
|
|
122
|
+
_appkitSiweReactNative.SIWEController.onSignIn?.(session);
|
|
127
123
|
}
|
|
128
124
|
} catch (error) {
|
|
129
125
|
// eslint-disable-next-line no-console
|
|
@@ -131,7 +127,7 @@ class AppKit extends _appkitScaffoldReactNative.AppKitScaffold {
|
|
|
131
127
|
// eslint-disable-next-line no-console
|
|
132
128
|
await WalletConnectProvider.disconnect().catch(console.error);
|
|
133
129
|
// eslint-disable-next-line no-console
|
|
134
|
-
await SIWEController.signOut().catch(console.error);
|
|
130
|
+
await _appkitSiweReactNative.SIWEController.signOut().catch(console.error);
|
|
135
131
|
throw error;
|
|
136
132
|
}
|
|
137
133
|
}
|
|
@@ -169,10 +165,7 @@ class AppKit extends _appkitScaffoldReactNative.AppKitScaffold {
|
|
|
169
165
|
const walletConnectType = _appkitScaffoldUtilsReactNative.PresetsUtil.ConnectorTypesMap[_appkitScaffoldUtilsReactNative.ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID];
|
|
170
166
|
const authType = _appkitScaffoldUtilsReactNative.PresetsUtil.ConnectorTypesMap[_appkitScaffoldUtilsReactNative.ConstantsUtil.AUTH_CONNECTOR_ID];
|
|
171
167
|
if (siweConfig?.options?.signOutOnDisconnect) {
|
|
172
|
-
|
|
173
|
-
SIWEController
|
|
174
|
-
} = await Promise.resolve().then(() => _interopRequireWildcard(require('@reown/appkit-siwe-react-native')));
|
|
175
|
-
await SIWEController.signOut();
|
|
168
|
+
await _appkitSiweReactNative.SIWEController.signOut();
|
|
176
169
|
}
|
|
177
170
|
if (providerType === walletConnectType) {
|
|
178
171
|
const WalletConnectProvider = provider;
|
|
@@ -197,6 +190,87 @@ class AppKit extends _appkitScaffoldReactNative.AppKitScaffold {
|
|
|
197
190
|
params: [hexMessage, this.getAddress()]
|
|
198
191
|
});
|
|
199
192
|
return signature;
|
|
193
|
+
},
|
|
194
|
+
parseUnits: (value, decimals) => (0, _ethers.parseUnits)(value, decimals),
|
|
195
|
+
formatUnits: (value, decimals) => (0, _ethers.formatUnits)(value, decimals),
|
|
196
|
+
sendTransaction: async data => {
|
|
197
|
+
const {
|
|
198
|
+
chainId,
|
|
199
|
+
provider,
|
|
200
|
+
address
|
|
201
|
+
} = _appkitScaffoldUtilsReactNative.EthersStoreUtil.state;
|
|
202
|
+
if (!provider) {
|
|
203
|
+
throw new Error('ethersClient:sendTransaction - provider is undefined');
|
|
204
|
+
}
|
|
205
|
+
if (!address) {
|
|
206
|
+
throw new Error('ethersClient:sendTransaction - address is undefined');
|
|
207
|
+
}
|
|
208
|
+
const txParams = {
|
|
209
|
+
to: data.to,
|
|
210
|
+
value: data.value,
|
|
211
|
+
gasLimit: data.gas,
|
|
212
|
+
gasPrice: data.gasPrice,
|
|
213
|
+
data: data.data,
|
|
214
|
+
type: 0
|
|
215
|
+
};
|
|
216
|
+
const browserProvider = new _ethers.BrowserProvider(provider, chainId);
|
|
217
|
+
const signer = new _ethers.JsonRpcSigner(browserProvider, address);
|
|
218
|
+
const txResponse = await signer.sendTransaction(txParams);
|
|
219
|
+
const txReceipt = await txResponse.wait();
|
|
220
|
+
return txReceipt?.hash || null;
|
|
221
|
+
},
|
|
222
|
+
writeContract: async data => {
|
|
223
|
+
const {
|
|
224
|
+
chainId,
|
|
225
|
+
provider,
|
|
226
|
+
address
|
|
227
|
+
} = _appkitScaffoldUtilsReactNative.EthersStoreUtil.state;
|
|
228
|
+
if (!provider) {
|
|
229
|
+
throw new Error('ethersClient:writeContract - provider is undefined');
|
|
230
|
+
}
|
|
231
|
+
if (!address) {
|
|
232
|
+
throw new Error('ethersClient:writeContract - address is undefined');
|
|
233
|
+
}
|
|
234
|
+
const browserProvider = new _ethers.BrowserProvider(provider, chainId);
|
|
235
|
+
const signer = new _ethers.JsonRpcSigner(browserProvider, address);
|
|
236
|
+
const contract = new _ethers.Contract(data.tokenAddress, data.abi, signer);
|
|
237
|
+
if (!contract || !data.method) {
|
|
238
|
+
throw new Error('Contract method is undefined');
|
|
239
|
+
}
|
|
240
|
+
const method = contract[data.method];
|
|
241
|
+
if (method) {
|
|
242
|
+
const tx = await method(data.receiverAddress, data.tokenAmount);
|
|
243
|
+
return tx;
|
|
244
|
+
}
|
|
245
|
+
throw new Error('Contract method is undefined');
|
|
246
|
+
},
|
|
247
|
+
getEnsAddress: async value => {
|
|
248
|
+
try {
|
|
249
|
+
const chainId = Number(this.getCaipNetwork()?.id);
|
|
250
|
+
let ensName = null;
|
|
251
|
+
let wcName = false;
|
|
252
|
+
if (_appkitCommonReactNative.NamesUtil.isReownName(value)) {
|
|
253
|
+
wcName = (await this?.resolveReownName(value)) || false;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
// If on mainnet, fetch from ENS
|
|
257
|
+
if (chainId === 1) {
|
|
258
|
+
const ensProvider = new _ethers.InfuraProvider('mainnet');
|
|
259
|
+
ensName = await ensProvider.resolveName(value);
|
|
260
|
+
}
|
|
261
|
+
return ensName || wcName || false;
|
|
262
|
+
} catch {
|
|
263
|
+
return false;
|
|
264
|
+
}
|
|
265
|
+
},
|
|
266
|
+
getEnsAvatar: async value => {
|
|
267
|
+
const chainId = Number(_appkitCommonReactNative.NetworkUtil.caipNetworkIdToNumber(this.getCaipNetwork()?.id));
|
|
268
|
+
if (chainId === 1) {
|
|
269
|
+
const ensProvider = new _ethers.InfuraProvider('mainnet');
|
|
270
|
+
const avatar = await ensProvider.getAvatar(value);
|
|
271
|
+
return avatar || false;
|
|
272
|
+
}
|
|
273
|
+
return false;
|
|
200
274
|
}
|
|
201
275
|
};
|
|
202
276
|
super({
|
|
@@ -213,8 +287,10 @@ class AppKit extends _appkitScaffoldReactNative.AppKitScaffold {
|
|
|
213
287
|
this.projectId = appKitOptions.projectId;
|
|
214
288
|
this.chains = chains;
|
|
215
289
|
this.createProvider();
|
|
216
|
-
_appkitScaffoldUtilsReactNative.EthersStoreUtil.subscribeKey('address',
|
|
217
|
-
this.syncAccount(
|
|
290
|
+
_appkitScaffoldUtilsReactNative.EthersStoreUtil.subscribeKey('address', address => {
|
|
291
|
+
this.syncAccount({
|
|
292
|
+
address
|
|
293
|
+
});
|
|
218
294
|
});
|
|
219
295
|
_appkitScaffoldUtilsReactNative.EthersStoreUtil.subscribeKey('chainId', () => {
|
|
220
296
|
this.syncNetwork(chainImages);
|
|
@@ -300,6 +376,7 @@ class AppKit extends _appkitScaffoldReactNative.AppKitScaffold {
|
|
|
300
376
|
metadata: this.metadata
|
|
301
377
|
};
|
|
302
378
|
this.walletConnectProvider = await _ethereumProvider.default.init(walletConnectProviderOptions);
|
|
379
|
+
this.addWalletConnectListeners(this.walletConnectProvider);
|
|
303
380
|
await this.checkActiveWalletConnectProvider();
|
|
304
381
|
}
|
|
305
382
|
async getWalletConnectProvider() {
|
|
@@ -448,11 +525,11 @@ class AppKit extends _appkitScaffoldReactNative.AppKitScaffold {
|
|
|
448
525
|
provider.on('chainChanged', chainChangedHandler);
|
|
449
526
|
}
|
|
450
527
|
}
|
|
451
|
-
async syncAccount(
|
|
452
|
-
|
|
528
|
+
async syncAccount({
|
|
529
|
+
address
|
|
530
|
+
}) {
|
|
453
531
|
const chainId = _appkitScaffoldUtilsReactNative.EthersStoreUtil.state.chainId;
|
|
454
532
|
const isConnected = _appkitScaffoldUtilsReactNative.EthersStoreUtil.state.isConnected;
|
|
455
|
-
this.resetAccount();
|
|
456
533
|
if (isConnected && address && chainId) {
|
|
457
534
|
const caipAddress = `${_appkitScaffoldUtilsReactNative.ConstantsUtil.EIP155}:${chainId}:${address}`;
|
|
458
535
|
this.setIsConnected(isConnected);
|
|
@@ -460,6 +537,8 @@ class AppKit extends _appkitScaffoldReactNative.AppKitScaffold {
|
|
|
460
537
|
await Promise.all([this.syncProfile(address), this.syncBalance(address), this.getApprovedCaipNetworksData()]);
|
|
461
538
|
this.hasSyncedConnectedAccount = true;
|
|
462
539
|
} else if (!isConnected && this.hasSyncedConnectedAccount) {
|
|
540
|
+
this.close();
|
|
541
|
+
this.resetAccount();
|
|
463
542
|
this.resetWcConnection();
|
|
464
543
|
this.resetNetwork();
|
|
465
544
|
}
|
|
@@ -526,15 +605,28 @@ class AppKit extends _appkitScaffoldReactNative.AppKitScaffold {
|
|
|
526
605
|
const chainId = _appkitScaffoldUtilsReactNative.EthersStoreUtil.state.chainId;
|
|
527
606
|
if (chainId && this.chains) {
|
|
528
607
|
const chain = this.chains.find(c => c.chainId === chainId);
|
|
608
|
+
const token = this.options?.tokens?.[chainId];
|
|
529
609
|
if (chain) {
|
|
530
610
|
const jsonRpcProvider = new _ethers.JsonRpcProvider(chain.rpcUrl, {
|
|
531
611
|
chainId,
|
|
532
612
|
name: chain.name
|
|
533
613
|
});
|
|
534
614
|
if (jsonRpcProvider) {
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
615
|
+
if (token) {
|
|
616
|
+
// Get balance from custom token address
|
|
617
|
+
const erc20 = new _ethers.Contract(token.address, _appkitCommonReactNative.erc20ABI, jsonRpcProvider);
|
|
618
|
+
// @ts-expect-error
|
|
619
|
+
const decimals = await erc20.decimals();
|
|
620
|
+
// @ts-expect-error
|
|
621
|
+
const symbol = await erc20.symbol();
|
|
622
|
+
// @ts-expect-error
|
|
623
|
+
const balanceOf = await erc20.balanceOf(address);
|
|
624
|
+
this.setBalance((0, _ethers.formatUnits)(balanceOf, decimals), symbol);
|
|
625
|
+
} else {
|
|
626
|
+
const balance = await jsonRpcProvider.getBalance(address);
|
|
627
|
+
const formattedBalance = (0, _ethers.formatEther)(balance);
|
|
628
|
+
this.setBalance(formattedBalance, chain.currency);
|
|
629
|
+
}
|
|
538
630
|
}
|
|
539
631
|
}
|
|
540
632
|
}
|
|
@@ -597,6 +689,19 @@ class AppKit extends _appkitScaffoldReactNative.AppKitScaffold {
|
|
|
597
689
|
}
|
|
598
690
|
}
|
|
599
691
|
}
|
|
692
|
+
async handleAuthSetPreferredAccount(address, type) {
|
|
693
|
+
if (!address) {
|
|
694
|
+
return;
|
|
695
|
+
}
|
|
696
|
+
const chainId = this.getCaipNetwork()?.id;
|
|
697
|
+
const caipAddress = `${_appkitScaffoldUtilsReactNative.ConstantsUtil.EIP155}:${chainId}:${address}`;
|
|
698
|
+
this.setCaipAddress(caipAddress);
|
|
699
|
+
this.setPreferredAccountType(type);
|
|
700
|
+
await this.syncAccount({
|
|
701
|
+
address: address
|
|
702
|
+
});
|
|
703
|
+
this.setLoading(false);
|
|
704
|
+
}
|
|
600
705
|
syncConnectors(config) {
|
|
601
706
|
const _connectors = [];
|
|
602
707
|
const EXCLUDED_CONNECTORS = [_appkitScaffoldUtilsReactNative.ConstantsUtil.AUTH_CONNECTOR_ID];
|
|
@@ -645,6 +750,7 @@ class AppKit extends _appkitScaffoldReactNative.AppKitScaffold {
|
|
|
645
750
|
});
|
|
646
751
|
const connectedConnector = await _appkitScaffoldUtilsReactNative.StorageUtil.getItem('@w3m/connected_connector');
|
|
647
752
|
if (connectedConnector === 'AUTH') {
|
|
753
|
+
// Set loader until it reconnects
|
|
648
754
|
this.setLoading(true);
|
|
649
755
|
}
|
|
650
756
|
const {
|
|
@@ -653,6 +759,32 @@ class AppKit extends _appkitScaffoldReactNative.AppKitScaffold {
|
|
|
653
759
|
if (isConnected) {
|
|
654
760
|
this.setAuthProvider();
|
|
655
761
|
}
|
|
762
|
+
this.addAuthListeners(this.authProvider);
|
|
763
|
+
}
|
|
764
|
+
async addAuthListeners(authProvider) {
|
|
765
|
+
authProvider.onSetPreferredAccount(async ({
|
|
766
|
+
address,
|
|
767
|
+
type
|
|
768
|
+
}) => {
|
|
769
|
+
if (address) {
|
|
770
|
+
await this.handleAuthSetPreferredAccount(address, type);
|
|
771
|
+
}
|
|
772
|
+
this.setLoading(false);
|
|
773
|
+
});
|
|
774
|
+
authProvider.setOnTimeout(async () => {
|
|
775
|
+
this.handleAlertError(_appkitCommonReactNative.ErrorUtil.ALERT_ERRORS.SOCIALS_TIMEOUT);
|
|
776
|
+
});
|
|
777
|
+
}
|
|
778
|
+
async addWalletConnectListeners(provider) {
|
|
779
|
+
if (provider) {
|
|
780
|
+
provider.signer.client.core.relayer.on('relayer_connect', () => {
|
|
781
|
+
provider.signer.client.core.relayer?.provider?.on('payload', payload => {
|
|
782
|
+
if (payload?.error) {
|
|
783
|
+
this.handleAlertError(payload?.error.message);
|
|
784
|
+
}
|
|
785
|
+
});
|
|
786
|
+
});
|
|
787
|
+
}
|
|
656
788
|
}
|
|
657
789
|
}
|
|
658
790
|
exports.AppKit = AppKit;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_ethers","require","_appkitScaffoldReactNative","_appkitCommonReactNative","_appkitScaffoldUtilsReactNative","_ethereumProvider","_interopRequireWildcard","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","AppKit","AppKitScaffold","hasSyncedConnectedAccount","options","undefined","constructor","config","siweConfig","chains","defaultChain","tokens","chainImages","_sdkVersion","appKitOptions","Error","projectId","networkControllerClient","switchCaipNetwork","caipNetwork","chainId","NetworkUtil","caipNetworkIdToNumber","id","switchNetwork","error","EthersStoreUtil","setError","getApprovedCaipNetworksData","Promise","resolve","walletChoice","StorageUtil","getConnectedConnector","walletConnectType","PresetsUtil","ConnectorTypesMap","ConstantsUtil","WALLET_CONNECT_CONNECTOR_ID","authType","AUTH_CONNECTOR_ID","includes","provider","getWalletConnectProvider","result","getWalletConnectCaipNetworks","getAuthCaipNetworks","approvedCaipNetworkIds","supportsAllNetworks","connectionControllerClient","connectWalletConnect","onUri","WalletConnectProvider","on","uri","clientId","signer","client","core","crypto","getClientId","setClientId","params","getMessageParams","enabled","keys","length","SIWEController","getDidChainId","getDidAddress","then","authenticate","nonce","getNonce","methods","OPTIONAL_METHODS","signedCacao","auths","p","s","iss","address","message","formatAuthMessage","request","verifyMessage","signature","cacao","session","parseInt","setSession","onSignIn","console","disconnect","catch","signOut","connect","setWalletConnectProvider","connectExternal","COINBASE_CONNECTOR_ID","coinbaseProvider","extraConnectors","find","connector","method","setCoinbaseProvider","setAuthProvider","state","providerType","signOutOnDisconnect","authProvider","emit","removeItem","EthersConstantsUtil","WALLET_ID","reset","signMessage","hexMessage","isHexString","hexlify","toUtf8Bytes","getAddress","siweControllerClient","EthersHelpersUtil","getCaipDefaultChain","HelpersUtil","getCaipTokens","VERSION","metadata","createProvider","subscribeKey","syncAccount","syncNetwork","syncRequestedNetworks","syncConnectors","syncAuthConnector","getState","selectedNetworkId","subscribeState","callback","setAddress","originalAddress","getError","getChainId","getIsConnected","isConnected","getWalletProvider","getWalletProviderType","subscribeProvider","subscribe","walletConnectProviderInitPromise","initWalletConnectProvider","rpcMap","reduce","map","chain","rpcUrl","walletConnectProviderOptions","showQrModal","optionalChains","walletConnectProvider","EthereumProvider","init","checkActiveWalletConnectProvider","requestedCaipNetworks","EIP155","name","imageId","EIP155NetworkImageIds","imageUrl","setRequestedCaipNetworks","walletId","getItem","checkActiveCoinbaseProvider","CoinbaseProvider","watchCoinbase","setItem","setChainId","setProviderType","setProvider","setIsConnected","accounts","watchWalletConnect","getUserInfo","setLoading","disconnectHandler","removeListener","accountsChangedHandler","chainChangedHandler","hexStringToNumber","Number","resetAccount","caipAddress","setCaipAddress","all","syncProfile","syncBalance","resetWcConnection","resetNetwork","c","caipChainId","setCaipNetwork","explorerUrl","url","setAddressExplorerUrl","response","fetchIdentity","setProfileName","setProfileImage","avatar","ensProvider","InfuraProvider","lookupAddress","getAvatar","jsonRpcProvider","JsonRpcProvider","balance","getBalance","formattedBalance","formatEther","setBalance","currency","coinbaseType","numberToHexString","switchError","test","toLowerCase","addEthereumChain","code","ERROR_CODE_UNRECOGNIZED_CHAIN_ID","ERROR_CODE_DEFAULT","data","originalError","_connectors","EXCLUDED_CONNECTORS","push","explorerId","ConnectorExplorerIds","ConnectorImageIds","connectorImages","ConnectorNamesMap","type","forEach","setConnectors","authConnector","addConnector","connectedConnector","exports"],"sourceRoot":"../../src","sources":["client.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_ethers","require","_appkitScaffoldReactNative","_appkitCommonReactNative","_appkitScaffoldUtilsReactNative","_appkitSiweReactNative","_ethereumProvider","_interopRequireWildcard","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","AppKit","AppKitScaffold","hasSyncedConnectedAccount","options","undefined","constructor","config","siweConfig","chains","defaultChain","tokens","chainImages","_sdkVersion","appKitOptions","Error","projectId","ErrorUtil","ALERT_ERRORS","PROJECT_ID_NOT_CONFIGURED","shortMessage","networkControllerClient","switchCaipNetwork","caipNetwork","chainId","NetworkUtil","caipNetworkIdToNumber","id","switchNetwork","error","EthersStoreUtil","setError","getApprovedCaipNetworksData","Promise","resolve","walletChoice","StorageUtil","getConnectedConnector","walletConnectType","PresetsUtil","ConnectorTypesMap","ConstantsUtil","WALLET_CONNECT_CONNECTOR_ID","authType","AUTH_CONNECTOR_ID","includes","provider","getWalletConnectProvider","result","getWalletConnectCaipNetworks","getAuthCaipNetworks","approvedCaipNetworkIds","supportsAllNetworks","connectionControllerClient","connectWalletConnect","onUri","WalletConnectProvider","on","uri","clientId","signer","client","core","crypto","getClientId","setClientId","params","getMessageParams","enabled","keys","length","authenticate","nonce","getNonce","methods","OPTIONAL_METHODS","signedCacao","auths","p","s","getDidChainId","iss","address","getDidAddress","message","formatAuthMessage","request","SIWEController","verifyMessage","signature","cacao","session","parseInt","setSession","onSignIn","console","disconnect","catch","signOut","connect","setWalletConnectProvider","connectExternal","COINBASE_CONNECTOR_ID","coinbaseProvider","extraConnectors","find","connector","method","setCoinbaseProvider","setAuthProvider","state","providerType","signOutOnDisconnect","authProvider","emit","removeItem","EthersConstantsUtil","WALLET_ID","reset","signMessage","hexMessage","isHexString","hexlify","toUtf8Bytes","getAddress","parseUnits","value","decimals","formatUnits","sendTransaction","data","txParams","to","gasLimit","gas","gasPrice","type","browserProvider","BrowserProvider","JsonRpcSigner","txResponse","txReceipt","wait","hash","writeContract","contract","Contract","tokenAddress","abi","tx","receiverAddress","tokenAmount","getEnsAddress","Number","getCaipNetwork","ensName","wcName","NamesUtil","isReownName","resolveReownName","ensProvider","InfuraProvider","resolveName","getEnsAvatar","avatar","getAvatar","siweControllerClient","EthersHelpersUtil","getCaipDefaultChain","HelpersUtil","getCaipTokens","VERSION","metadata","createProvider","subscribeKey","syncAccount","syncNetwork","syncRequestedNetworks","syncConnectors","syncAuthConnector","getState","selectedNetworkId","subscribeState","callback","setAddress","originalAddress","getError","getChainId","getIsConnected","isConnected","getWalletProvider","getWalletProviderType","subscribeProvider","subscribe","walletConnectProviderInitPromise","initWalletConnectProvider","rpcMap","reduce","map","chain","rpcUrl","walletConnectProviderOptions","showQrModal","optionalChains","walletConnectProvider","EthereumProvider","init","addWalletConnectListeners","checkActiveWalletConnectProvider","requestedCaipNetworks","EIP155","name","imageId","EIP155NetworkImageIds","imageUrl","setRequestedCaipNetworks","walletId","getItem","checkActiveCoinbaseProvider","CoinbaseProvider","watchCoinbase","setItem","setChainId","setProviderType","setProvider","setIsConnected","accounts","watchWalletConnect","getUserInfo","setLoading","disconnectHandler","removeListener","accountsChangedHandler","chainChangedHandler","hexStringToNumber","caipAddress","setCaipAddress","all","syncProfile","syncBalance","close","resetAccount","resetWcConnection","resetNetwork","c","caipChainId","setCaipNetwork","explorerUrl","url","setAddressExplorerUrl","response","fetchIdentity","setProfileName","setProfileImage","lookupAddress","token","jsonRpcProvider","JsonRpcProvider","erc20","erc20ABI","symbol","balanceOf","setBalance","balance","getBalance","formattedBalance","formatEther","currency","coinbaseType","numberToHexString","switchError","test","toLowerCase","addEthereumChain","code","ERROR_CODE_UNRECOGNIZED_CHAIN_ID","ERROR_CODE_DEFAULT","originalError","handleAuthSetPreferredAccount","setPreferredAccountType","_connectors","EXCLUDED_CONNECTORS","push","explorerId","ConnectorExplorerIds","ConnectorImageIds","connectorImages","ConnectorNamesMap","forEach","setConnectors","authConnector","addConnector","connectedConnector","addAuthListeners","onSetPreferredAccount","setOnTimeout","handleAlertError","SOCIALS_TIMEOUT","relayer","payload","exports"],"sourceRoot":"../../src","sources":["client.ts"],"mappings":"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"}
|
package/lib/module/client.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { InfuraProvider, JsonRpcProvider, formatEther, getAddress, hexlify, isHexString, toUtf8Bytes } from 'ethers';
|
|
1
|
+
import { BrowserProvider, Contract, InfuraProvider, JsonRpcProvider, JsonRpcSigner, formatEther, formatUnits, getAddress, hexlify, isHexString, parseUnits, toUtf8Bytes } from 'ethers';
|
|
2
2
|
import { AppKitScaffold } from '@reown/appkit-scaffold-react-native';
|
|
3
|
-
import { NetworkUtil } from '@reown/appkit-common-react-native';
|
|
3
|
+
import { erc20ABI, ErrorUtil, NamesUtil, NetworkUtil } from '@reown/appkit-common-react-native';
|
|
4
4
|
import { ConstantsUtil, PresetsUtil, HelpersUtil, StorageUtil, EthersConstantsUtil, EthersHelpersUtil, EthersStoreUtil } from '@reown/appkit-scaffold-utils-react-native';
|
|
5
|
+
import { SIWEController, getDidChainId, getDidAddress } from '@reown/appkit-siwe-react-native';
|
|
5
6
|
import EthereumProvider, { OPTIONAL_METHODS } from '@walletconnect/ethereum-provider';
|
|
6
7
|
import { getAuthCaipNetworks, getWalletConnectCaipNetworks } from './utils/helpers';
|
|
7
8
|
|
|
@@ -28,7 +29,7 @@ export class AppKit extends AppKitScaffold {
|
|
|
28
29
|
throw new Error('appkit:constructor - config is undefined');
|
|
29
30
|
}
|
|
30
31
|
if (!appKitOptions.projectId) {
|
|
31
|
-
throw new Error(
|
|
32
|
+
throw new Error(ErrorUtil.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED.shortMessage);
|
|
32
33
|
}
|
|
33
34
|
const networkControllerClient = {
|
|
34
35
|
switchCaipNetwork: async caipNetwork => {
|
|
@@ -80,11 +81,6 @@ export class AppKit extends AppKitScaffold {
|
|
|
80
81
|
// SIWE
|
|
81
82
|
const params = await siweConfig?.getMessageParams?.();
|
|
82
83
|
if (siweConfig?.options?.enabled && params && Object.keys(params).length > 0) {
|
|
83
|
-
const {
|
|
84
|
-
SIWEController,
|
|
85
|
-
getDidChainId,
|
|
86
|
-
getDidAddress
|
|
87
|
-
} = await import('@reown/appkit-siwe-react-native');
|
|
88
84
|
const result = await WalletConnectProvider.authenticate({
|
|
89
85
|
nonce: await siweConfig.getNonce(),
|
|
90
86
|
methods: OPTIONAL_METHODS,
|
|
@@ -162,9 +158,6 @@ export class AppKit extends AppKitScaffold {
|
|
|
162
158
|
const walletConnectType = PresetsUtil.ConnectorTypesMap[ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID];
|
|
163
159
|
const authType = PresetsUtil.ConnectorTypesMap[ConstantsUtil.AUTH_CONNECTOR_ID];
|
|
164
160
|
if (siweConfig?.options?.signOutOnDisconnect) {
|
|
165
|
-
const {
|
|
166
|
-
SIWEController
|
|
167
|
-
} = await import('@reown/appkit-siwe-react-native');
|
|
168
161
|
await SIWEController.signOut();
|
|
169
162
|
}
|
|
170
163
|
if (providerType === walletConnectType) {
|
|
@@ -190,6 +183,87 @@ export class AppKit extends AppKitScaffold {
|
|
|
190
183
|
params: [hexMessage, this.getAddress()]
|
|
191
184
|
});
|
|
192
185
|
return signature;
|
|
186
|
+
},
|
|
187
|
+
parseUnits: (value, decimals) => parseUnits(value, decimals),
|
|
188
|
+
formatUnits: (value, decimals) => formatUnits(value, decimals),
|
|
189
|
+
sendTransaction: async data => {
|
|
190
|
+
const {
|
|
191
|
+
chainId,
|
|
192
|
+
provider,
|
|
193
|
+
address
|
|
194
|
+
} = EthersStoreUtil.state;
|
|
195
|
+
if (!provider) {
|
|
196
|
+
throw new Error('ethersClient:sendTransaction - provider is undefined');
|
|
197
|
+
}
|
|
198
|
+
if (!address) {
|
|
199
|
+
throw new Error('ethersClient:sendTransaction - address is undefined');
|
|
200
|
+
}
|
|
201
|
+
const txParams = {
|
|
202
|
+
to: data.to,
|
|
203
|
+
value: data.value,
|
|
204
|
+
gasLimit: data.gas,
|
|
205
|
+
gasPrice: data.gasPrice,
|
|
206
|
+
data: data.data,
|
|
207
|
+
type: 0
|
|
208
|
+
};
|
|
209
|
+
const browserProvider = new BrowserProvider(provider, chainId);
|
|
210
|
+
const signer = new JsonRpcSigner(browserProvider, address);
|
|
211
|
+
const txResponse = await signer.sendTransaction(txParams);
|
|
212
|
+
const txReceipt = await txResponse.wait();
|
|
213
|
+
return txReceipt?.hash || null;
|
|
214
|
+
},
|
|
215
|
+
writeContract: async data => {
|
|
216
|
+
const {
|
|
217
|
+
chainId,
|
|
218
|
+
provider,
|
|
219
|
+
address
|
|
220
|
+
} = EthersStoreUtil.state;
|
|
221
|
+
if (!provider) {
|
|
222
|
+
throw new Error('ethersClient:writeContract - provider is undefined');
|
|
223
|
+
}
|
|
224
|
+
if (!address) {
|
|
225
|
+
throw new Error('ethersClient:writeContract - address is undefined');
|
|
226
|
+
}
|
|
227
|
+
const browserProvider = new BrowserProvider(provider, chainId);
|
|
228
|
+
const signer = new JsonRpcSigner(browserProvider, address);
|
|
229
|
+
const contract = new Contract(data.tokenAddress, data.abi, signer);
|
|
230
|
+
if (!contract || !data.method) {
|
|
231
|
+
throw new Error('Contract method is undefined');
|
|
232
|
+
}
|
|
233
|
+
const method = contract[data.method];
|
|
234
|
+
if (method) {
|
|
235
|
+
const tx = await method(data.receiverAddress, data.tokenAmount);
|
|
236
|
+
return tx;
|
|
237
|
+
}
|
|
238
|
+
throw new Error('Contract method is undefined');
|
|
239
|
+
},
|
|
240
|
+
getEnsAddress: async value => {
|
|
241
|
+
try {
|
|
242
|
+
const chainId = Number(this.getCaipNetwork()?.id);
|
|
243
|
+
let ensName = null;
|
|
244
|
+
let wcName = false;
|
|
245
|
+
if (NamesUtil.isReownName(value)) {
|
|
246
|
+
wcName = (await this?.resolveReownName(value)) || false;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
// If on mainnet, fetch from ENS
|
|
250
|
+
if (chainId === 1) {
|
|
251
|
+
const ensProvider = new InfuraProvider('mainnet');
|
|
252
|
+
ensName = await ensProvider.resolveName(value);
|
|
253
|
+
}
|
|
254
|
+
return ensName || wcName || false;
|
|
255
|
+
} catch {
|
|
256
|
+
return false;
|
|
257
|
+
}
|
|
258
|
+
},
|
|
259
|
+
getEnsAvatar: async value => {
|
|
260
|
+
const chainId = Number(NetworkUtil.caipNetworkIdToNumber(this.getCaipNetwork()?.id));
|
|
261
|
+
if (chainId === 1) {
|
|
262
|
+
const ensProvider = new InfuraProvider('mainnet');
|
|
263
|
+
const avatar = await ensProvider.getAvatar(value);
|
|
264
|
+
return avatar || false;
|
|
265
|
+
}
|
|
266
|
+
return false;
|
|
193
267
|
}
|
|
194
268
|
};
|
|
195
269
|
super({
|
|
@@ -206,8 +280,10 @@ export class AppKit extends AppKitScaffold {
|
|
|
206
280
|
this.projectId = appKitOptions.projectId;
|
|
207
281
|
this.chains = chains;
|
|
208
282
|
this.createProvider();
|
|
209
|
-
EthersStoreUtil.subscribeKey('address',
|
|
210
|
-
this.syncAccount(
|
|
283
|
+
EthersStoreUtil.subscribeKey('address', address => {
|
|
284
|
+
this.syncAccount({
|
|
285
|
+
address
|
|
286
|
+
});
|
|
211
287
|
});
|
|
212
288
|
EthersStoreUtil.subscribeKey('chainId', () => {
|
|
213
289
|
this.syncNetwork(chainImages);
|
|
@@ -293,6 +369,7 @@ export class AppKit extends AppKitScaffold {
|
|
|
293
369
|
metadata: this.metadata
|
|
294
370
|
};
|
|
295
371
|
this.walletConnectProvider = await EthereumProvider.init(walletConnectProviderOptions);
|
|
372
|
+
this.addWalletConnectListeners(this.walletConnectProvider);
|
|
296
373
|
await this.checkActiveWalletConnectProvider();
|
|
297
374
|
}
|
|
298
375
|
async getWalletConnectProvider() {
|
|
@@ -441,11 +518,11 @@ export class AppKit extends AppKitScaffold {
|
|
|
441
518
|
provider.on('chainChanged', chainChangedHandler);
|
|
442
519
|
}
|
|
443
520
|
}
|
|
444
|
-
async syncAccount(
|
|
445
|
-
|
|
521
|
+
async syncAccount({
|
|
522
|
+
address
|
|
523
|
+
}) {
|
|
446
524
|
const chainId = EthersStoreUtil.state.chainId;
|
|
447
525
|
const isConnected = EthersStoreUtil.state.isConnected;
|
|
448
|
-
this.resetAccount();
|
|
449
526
|
if (isConnected && address && chainId) {
|
|
450
527
|
const caipAddress = `${ConstantsUtil.EIP155}:${chainId}:${address}`;
|
|
451
528
|
this.setIsConnected(isConnected);
|
|
@@ -453,6 +530,8 @@ export class AppKit extends AppKitScaffold {
|
|
|
453
530
|
await Promise.all([this.syncProfile(address), this.syncBalance(address), this.getApprovedCaipNetworksData()]);
|
|
454
531
|
this.hasSyncedConnectedAccount = true;
|
|
455
532
|
} else if (!isConnected && this.hasSyncedConnectedAccount) {
|
|
533
|
+
this.close();
|
|
534
|
+
this.resetAccount();
|
|
456
535
|
this.resetWcConnection();
|
|
457
536
|
this.resetNetwork();
|
|
458
537
|
}
|
|
@@ -519,15 +598,28 @@ export class AppKit extends AppKitScaffold {
|
|
|
519
598
|
const chainId = EthersStoreUtil.state.chainId;
|
|
520
599
|
if (chainId && this.chains) {
|
|
521
600
|
const chain = this.chains.find(c => c.chainId === chainId);
|
|
601
|
+
const token = this.options?.tokens?.[chainId];
|
|
522
602
|
if (chain) {
|
|
523
603
|
const jsonRpcProvider = new JsonRpcProvider(chain.rpcUrl, {
|
|
524
604
|
chainId,
|
|
525
605
|
name: chain.name
|
|
526
606
|
});
|
|
527
607
|
if (jsonRpcProvider) {
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
608
|
+
if (token) {
|
|
609
|
+
// Get balance from custom token address
|
|
610
|
+
const erc20 = new Contract(token.address, erc20ABI, jsonRpcProvider);
|
|
611
|
+
// @ts-expect-error
|
|
612
|
+
const decimals = await erc20.decimals();
|
|
613
|
+
// @ts-expect-error
|
|
614
|
+
const symbol = await erc20.symbol();
|
|
615
|
+
// @ts-expect-error
|
|
616
|
+
const balanceOf = await erc20.balanceOf(address);
|
|
617
|
+
this.setBalance(formatUnits(balanceOf, decimals), symbol);
|
|
618
|
+
} else {
|
|
619
|
+
const balance = await jsonRpcProvider.getBalance(address);
|
|
620
|
+
const formattedBalance = formatEther(balance);
|
|
621
|
+
this.setBalance(formattedBalance, chain.currency);
|
|
622
|
+
}
|
|
531
623
|
}
|
|
532
624
|
}
|
|
533
625
|
}
|
|
@@ -590,6 +682,19 @@ export class AppKit extends AppKitScaffold {
|
|
|
590
682
|
}
|
|
591
683
|
}
|
|
592
684
|
}
|
|
685
|
+
async handleAuthSetPreferredAccount(address, type) {
|
|
686
|
+
if (!address) {
|
|
687
|
+
return;
|
|
688
|
+
}
|
|
689
|
+
const chainId = this.getCaipNetwork()?.id;
|
|
690
|
+
const caipAddress = `${ConstantsUtil.EIP155}:${chainId}:${address}`;
|
|
691
|
+
this.setCaipAddress(caipAddress);
|
|
692
|
+
this.setPreferredAccountType(type);
|
|
693
|
+
await this.syncAccount({
|
|
694
|
+
address: address
|
|
695
|
+
});
|
|
696
|
+
this.setLoading(false);
|
|
697
|
+
}
|
|
593
698
|
syncConnectors(config) {
|
|
594
699
|
const _connectors = [];
|
|
595
700
|
const EXCLUDED_CONNECTORS = [ConstantsUtil.AUTH_CONNECTOR_ID];
|
|
@@ -638,6 +743,7 @@ export class AppKit extends AppKitScaffold {
|
|
|
638
743
|
});
|
|
639
744
|
const connectedConnector = await StorageUtil.getItem('@w3m/connected_connector');
|
|
640
745
|
if (connectedConnector === 'AUTH') {
|
|
746
|
+
// Set loader until it reconnects
|
|
641
747
|
this.setLoading(true);
|
|
642
748
|
}
|
|
643
749
|
const {
|
|
@@ -646,6 +752,32 @@ export class AppKit extends AppKitScaffold {
|
|
|
646
752
|
if (isConnected) {
|
|
647
753
|
this.setAuthProvider();
|
|
648
754
|
}
|
|
755
|
+
this.addAuthListeners(this.authProvider);
|
|
756
|
+
}
|
|
757
|
+
async addAuthListeners(authProvider) {
|
|
758
|
+
authProvider.onSetPreferredAccount(async ({
|
|
759
|
+
address,
|
|
760
|
+
type
|
|
761
|
+
}) => {
|
|
762
|
+
if (address) {
|
|
763
|
+
await this.handleAuthSetPreferredAccount(address, type);
|
|
764
|
+
}
|
|
765
|
+
this.setLoading(false);
|
|
766
|
+
});
|
|
767
|
+
authProvider.setOnTimeout(async () => {
|
|
768
|
+
this.handleAlertError(ErrorUtil.ALERT_ERRORS.SOCIALS_TIMEOUT);
|
|
769
|
+
});
|
|
770
|
+
}
|
|
771
|
+
async addWalletConnectListeners(provider) {
|
|
772
|
+
if (provider) {
|
|
773
|
+
provider.signer.client.core.relayer.on('relayer_connect', () => {
|
|
774
|
+
provider.signer.client.core.relayer?.provider?.on('payload', payload => {
|
|
775
|
+
if (payload?.error) {
|
|
776
|
+
this.handleAlertError(payload?.error.message);
|
|
777
|
+
}
|
|
778
|
+
});
|
|
779
|
+
});
|
|
780
|
+
}
|
|
649
781
|
}
|
|
650
782
|
}
|
|
651
783
|
//# sourceMappingURL=client.js.map
|
package/lib/module/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["InfuraProvider","JsonRpcProvider","formatEther","getAddress","hexlify","isHexString","toUtf8Bytes","AppKitScaffold","NetworkUtil","ConstantsUtil","PresetsUtil","HelpersUtil","StorageUtil","EthersConstantsUtil","EthersHelpersUtil","EthersStoreUtil","EthereumProvider","OPTIONAL_METHODS","getAuthCaipNetworks","getWalletConnectCaipNetworks","AppKit","hasSyncedConnectedAccount","options","undefined","constructor","config","siweConfig","chains","defaultChain","tokens","chainImages","_sdkVersion","appKitOptions","Error","projectId","networkControllerClient","switchCaipNetwork","caipNetwork","chainId","caipNetworkIdToNumber","id","switchNetwork","error","setError","getApprovedCaipNetworksData","Promise","resolve","walletChoice","getConnectedConnector","walletConnectType","ConnectorTypesMap","WALLET_CONNECT_CONNECTOR_ID","authType","AUTH_CONNECTOR_ID","includes","provider","getWalletConnectProvider","result","approvedCaipNetworkIds","supportsAllNetworks","connectionControllerClient","connectWalletConnect","onUri","WalletConnectProvider","on","uri","clientId","signer","client","core","crypto","getClientId","setClientId","params","getMessageParams","enabled","Object","keys","length","SIWEController","getDidChainId","getDidAddress","authenticate","nonce","getNonce","methods","signedCacao","auths","p","s","iss","address","message","formatAuthMessage","request","verifyMessage","signature","cacao","session","parseInt","setSession","onSignIn","console","disconnect","catch","signOut","connect","setWalletConnectProvider","connectExternal","COINBASE_CONNECTOR_ID","coinbaseProvider","extraConnectors","find","connector","method","setCoinbaseProvider","setAuthProvider","state","providerType","signOutOnDisconnect","authProvider","emit","removeItem","WALLET_ID","reset","signMessage","hexMessage","siweControllerClient","getCaipDefaultChain","getCaipTokens","VERSION","metadata","createProvider","subscribeKey","syncAccount","syncNetwork","syncRequestedNetworks","syncConnectors","syncAuthConnector","getState","selectedNetworkId","subscribeState","callback","setAddress","originalAddress","getError","getChainId","getIsConnected","isConnected","getWalletProvider","getWalletProviderType","subscribeProvider","subscribe","walletConnectProviderInitPromise","initWalletConnectProvider","rpcMap","reduce","map","chain","rpcUrl","walletConnectProviderOptions","showQrModal","optionalChains","walletConnectProvider","init","checkActiveWalletConnectProvider","requestedCaipNetworks","EIP155","name","imageId","EIP155NetworkImageIds","imageUrl","setRequestedCaipNetworks","walletId","getItem","checkActiveCoinbaseProvider","CoinbaseProvider","watchCoinbase","setItem","setChainId","setProviderType","setProvider","setIsConnected","accounts","watchWalletConnect","getUserInfo","setLoading","disconnectHandler","removeListener","accountsChangedHandler","chainChangedHandler","hexStringToNumber","Number","resetAccount","caipAddress","setCaipAddress","all","syncProfile","syncBalance","resetWcConnection","resetNetwork","c","caipChainId","setCaipNetwork","explorerUrl","url","setAddressExplorerUrl","response","fetchIdentity","setProfileName","setProfileImage","avatar","ensProvider","lookupAddress","getAvatar","jsonRpcProvider","balance","getBalance","formattedBalance","setBalance","currency","coinbaseType","numberToHexString","switchError","test","toLowerCase","addEthereumChain","code","ERROR_CODE_UNRECOGNIZED_CHAIN_ID","ERROR_CODE_DEFAULT","data","originalError","_connectors","EXCLUDED_CONNECTORS","push","explorerId","ConnectorExplorerIds","ConnectorImageIds","connectorImages","ConnectorNamesMap","type","forEach","setConnectors","authConnector","addConnector","connectedConnector"],"sourceRoot":"../../src","sources":["client.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["BrowserProvider","Contract","InfuraProvider","JsonRpcProvider","JsonRpcSigner","formatEther","formatUnits","getAddress","hexlify","isHexString","parseUnits","toUtf8Bytes","AppKitScaffold","erc20ABI","ErrorUtil","NamesUtil","NetworkUtil","ConstantsUtil","PresetsUtil","HelpersUtil","StorageUtil","EthersConstantsUtil","EthersHelpersUtil","EthersStoreUtil","SIWEController","getDidChainId","getDidAddress","EthereumProvider","OPTIONAL_METHODS","getAuthCaipNetworks","getWalletConnectCaipNetworks","AppKit","hasSyncedConnectedAccount","options","undefined","constructor","config","siweConfig","chains","defaultChain","tokens","chainImages","_sdkVersion","appKitOptions","Error","projectId","ALERT_ERRORS","PROJECT_ID_NOT_CONFIGURED","shortMessage","networkControllerClient","switchCaipNetwork","caipNetwork","chainId","caipNetworkIdToNumber","id","switchNetwork","error","setError","getApprovedCaipNetworksData","Promise","resolve","walletChoice","getConnectedConnector","walletConnectType","ConnectorTypesMap","WALLET_CONNECT_CONNECTOR_ID","authType","AUTH_CONNECTOR_ID","includes","provider","getWalletConnectProvider","result","approvedCaipNetworkIds","supportsAllNetworks","connectionControllerClient","connectWalletConnect","onUri","WalletConnectProvider","on","uri","clientId","signer","client","core","crypto","getClientId","setClientId","params","getMessageParams","enabled","Object","keys","length","authenticate","nonce","getNonce","methods","signedCacao","auths","p","s","iss","address","message","formatAuthMessage","request","verifyMessage","signature","cacao","session","parseInt","setSession","onSignIn","console","disconnect","catch","signOut","connect","setWalletConnectProvider","connectExternal","COINBASE_CONNECTOR_ID","coinbaseProvider","extraConnectors","find","connector","method","setCoinbaseProvider","setAuthProvider","state","providerType","signOutOnDisconnect","authProvider","emit","removeItem","WALLET_ID","reset","signMessage","hexMessage","value","decimals","sendTransaction","data","txParams","to","gasLimit","gas","gasPrice","type","browserProvider","txResponse","txReceipt","wait","hash","writeContract","contract","tokenAddress","abi","tx","receiverAddress","tokenAmount","getEnsAddress","Number","getCaipNetwork","ensName","wcName","isReownName","resolveReownName","ensProvider","resolveName","getEnsAvatar","avatar","getAvatar","siweControllerClient","getCaipDefaultChain","getCaipTokens","VERSION","metadata","createProvider","subscribeKey","syncAccount","syncNetwork","syncRequestedNetworks","syncConnectors","syncAuthConnector","getState","selectedNetworkId","subscribeState","callback","setAddress","originalAddress","getError","getChainId","getIsConnected","isConnected","getWalletProvider","getWalletProviderType","subscribeProvider","subscribe","walletConnectProviderInitPromise","initWalletConnectProvider","rpcMap","reduce","map","chain","rpcUrl","walletConnectProviderOptions","showQrModal","optionalChains","walletConnectProvider","init","addWalletConnectListeners","checkActiveWalletConnectProvider","requestedCaipNetworks","EIP155","name","imageId","EIP155NetworkImageIds","imageUrl","setRequestedCaipNetworks","walletId","getItem","checkActiveCoinbaseProvider","CoinbaseProvider","watchCoinbase","setItem","setChainId","setProviderType","setProvider","setIsConnected","accounts","watchWalletConnect","getUserInfo","setLoading","disconnectHandler","removeListener","accountsChangedHandler","chainChangedHandler","hexStringToNumber","caipAddress","setCaipAddress","all","syncProfile","syncBalance","close","resetAccount","resetWcConnection","resetNetwork","c","caipChainId","setCaipNetwork","explorerUrl","url","setAddressExplorerUrl","response","fetchIdentity","setProfileName","setProfileImage","lookupAddress","token","jsonRpcProvider","erc20","symbol","balanceOf","setBalance","balance","getBalance","formattedBalance","currency","coinbaseType","numberToHexString","switchError","test","toLowerCase","addEthereumChain","code","ERROR_CODE_UNRECOGNIZED_CHAIN_ID","ERROR_CODE_DEFAULT","originalError","handleAuthSetPreferredAccount","setPreferredAccountType","_connectors","EXCLUDED_CONNECTORS","push","explorerId","ConnectorExplorerIds","ConnectorImageIds","connectorImages","ConnectorNamesMap","forEach","setConnectors","authConnector","addConnector","connectedConnector","addAuthListeners","onSetPreferredAccount","setOnTimeout","handleAlertError","SOCIALS_TIMEOUT","relayer","payload"],"sourceRoot":"../../src","sources":["client.ts"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type LibraryOptions, type PublicStateControllerState, type Token, AppKitScaffold } from '@reown/appkit-scaffold-react-native';
|
|
2
2
|
import { type ProviderType, type Chain, type Provider, type EthersStoreUtilState } from '@reown/appkit-scaffold-utils-react-native';
|
|
3
|
-
import type
|
|
3
|
+
import { type AppKitSIWEClient } from '@reown/appkit-siwe-react-native';
|
|
4
4
|
export interface AppKitClientOptions extends Omit<LibraryOptions, 'defaultChain' | 'tokens'> {
|
|
5
5
|
config: ProviderType;
|
|
6
6
|
siweConfig?: AppKitSIWEClient;
|
|
@@ -54,8 +54,11 @@ export declare class AppKit extends AppKitScaffold {
|
|
|
54
54
|
private syncProfile;
|
|
55
55
|
private syncBalance;
|
|
56
56
|
private switchNetwork;
|
|
57
|
+
private handleAuthSetPreferredAccount;
|
|
57
58
|
private syncConnectors;
|
|
58
59
|
private syncAuthConnector;
|
|
60
|
+
private addAuthListeners;
|
|
61
|
+
private addWalletConnectListeners;
|
|
59
62
|
}
|
|
60
63
|
export {};
|
|
61
64
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAcA,OAAO,EAML,KAAK,cAAc,EAEnB,KAAK,0BAA0B,EAE/B,KAAK,KAAK,EACV,cAAc,EAGf,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAUL,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,QAAQ,EACb,KAAK,oBAAoB,EAG1B,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,KAAK,gBAAgB,EAItB,MAAM,iCAAiC,CAAC;AAQzC,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,cAAc,EAAE,cAAc,GAAG,QAAQ,CAAC;IAC1F,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAChC;AAED,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;AAGrE,UAAU,WAAY,SAAQ,0BAA0B;IACtD,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC;AAOD,qBAAa,MAAO,SAAQ,cAAc;IACxC,OAAO,CAAC,yBAAyB,CAAS;IAE1C,OAAO,CAAC,qBAAqB,CAAC,CAAmB;IAEjD,OAAO,CAAC,gCAAgC,CAAC,CAAgB;IAEzD,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,MAAM,CAAU;IAExB,OAAO,CAAC,QAAQ,CAAW;IAE3B,OAAO,CAAC,OAAO,CAA8C;IAE7D,OAAO,CAAC,YAAY,CAAC,CAAsB;gBAExB,OAAO,EAAE,mBAAmB;IAiU/B,QAAQ;;;;IAUR,cAAc,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI;IAS9D,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM;IAK3B,UAAU;IAMV,QAAQ;IAIR,UAAU;IAIV,cAAc;IAId,iBAAiB;IAIjB,qBAAqB;IAIrB,iBAAiB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,oBAAoB,KAAK,IAAI;IAI9D,UAAU;IAUvB,OAAO,CAAC,cAAc;YAQR,yBAAyB;YAuBzB,wBAAwB;IAYtC,OAAO,CAAC,qBAAqB;YAgBf,gCAAgC;YAWhC,2BAA2B;YAiB3B,wBAAwB;YAcxB,mBAAmB;YAiBnB,eAAe;YAkBf,kBAAkB;YAgClB,aAAa;YAmCb,WAAW;YAyBX,WAAW;YAkCX,WAAW;YA+BX,WAAW;YAiCX,aAAa;YAsEb,6BAA6B;IAc3C,OAAO,CAAC,cAAc;YAsCR,iBAAiB;YAgCjB,gBAAgB;YAahB,yBAAyB;CAWxC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reown/appkit-ethers-react-native",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"main": "lib/commonjs/index.js",
|
|
5
5
|
"types": "lib/typescript/index.d.ts",
|
|
6
6
|
"module": "lib/module/index.js",
|
|
@@ -26,23 +26,23 @@
|
|
|
26
26
|
"react-native",
|
|
27
27
|
"ethers"
|
|
28
28
|
],
|
|
29
|
-
"repository": "https://github.com/
|
|
29
|
+
"repository": "https://github.com/reown-com/appkit-react-native",
|
|
30
30
|
"author": "Reown <support@reown.com> (https://reown.com)",
|
|
31
|
-
"homepage": "https://
|
|
31
|
+
"homepage": "https://reown.com/appkit",
|
|
32
32
|
"license": "Apache-2.0",
|
|
33
33
|
"bugs": {
|
|
34
|
-
"url": "https://github.com/
|
|
34
|
+
"url": "https://github.com/reown-com/appkit-react-native/issues"
|
|
35
35
|
},
|
|
36
36
|
"publishConfig": {
|
|
37
37
|
"registry": "https://registry.npmjs.org/",
|
|
38
38
|
"access": "public"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@reown/appkit-common-react-native": "1.0
|
|
42
|
-
"@reown/appkit-scaffold-react-native": "1.0
|
|
43
|
-
"@reown/appkit-scaffold-utils-react-native": "1.0
|
|
44
|
-
"@reown/appkit-siwe-react-native": "1.0
|
|
45
|
-
"@walletconnect/ethereum-provider": "2.
|
|
41
|
+
"@reown/appkit-common-react-native": "1.1.0",
|
|
42
|
+
"@reown/appkit-scaffold-react-native": "1.1.0",
|
|
43
|
+
"@reown/appkit-scaffold-utils-react-native": "1.1.0",
|
|
44
|
+
"@reown/appkit-siwe-react-native": "1.1.0",
|
|
45
|
+
"@walletconnect/ethereum-provider": "2.17.3"
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
48
|
"@react-native-async-storage/async-storage": ">=1.17.0",
|
package/readme.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#### 📚 [Documentation](https://docs.reown.com/appkit/react-native/core/installation)
|
|
2
2
|
|
|
3
|
-
#### 🔎 [Examples](https://github.com/
|
|
3
|
+
#### 🔎 [Examples](https://github.com/reown-com/react-native-examples)
|
|
4
4
|
|
|
5
5
|
#### 🔗 [Website](https://reown.com/appkit)
|
|
6
6
|
|
package/src/client.ts
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
|
+
BrowserProvider,
|
|
3
|
+
Contract,
|
|
2
4
|
InfuraProvider,
|
|
3
5
|
JsonRpcProvider,
|
|
6
|
+
JsonRpcSigner,
|
|
4
7
|
formatEther,
|
|
8
|
+
formatUnits,
|
|
5
9
|
getAddress,
|
|
6
10
|
hexlify,
|
|
7
11
|
isHexString,
|
|
12
|
+
parseUnits,
|
|
8
13
|
toUtf8Bytes
|
|
9
14
|
} from 'ethers';
|
|
10
15
|
import {
|
|
@@ -16,10 +21,13 @@ import {
|
|
|
16
21
|
type LibraryOptions,
|
|
17
22
|
type NetworkControllerClient,
|
|
18
23
|
type PublicStateControllerState,
|
|
24
|
+
type SendTransactionArgs,
|
|
19
25
|
type Token,
|
|
20
|
-
AppKitScaffold
|
|
26
|
+
AppKitScaffold,
|
|
27
|
+
type WriteContractArgs,
|
|
28
|
+
type AppKitFrameAccountType
|
|
21
29
|
} from '@reown/appkit-scaffold-react-native';
|
|
22
|
-
import { NetworkUtil } from '@reown/appkit-common-react-native';
|
|
30
|
+
import { erc20ABI, ErrorUtil, NamesUtil, NetworkUtil } from '@reown/appkit-common-react-native';
|
|
23
31
|
import {
|
|
24
32
|
ConstantsUtil,
|
|
25
33
|
PresetsUtil,
|
|
@@ -37,11 +45,17 @@ import {
|
|
|
37
45
|
type CombinedProviderType,
|
|
38
46
|
type AppKitFrameProvider
|
|
39
47
|
} from '@reown/appkit-scaffold-utils-react-native';
|
|
48
|
+
import {
|
|
49
|
+
type AppKitSIWEClient,
|
|
50
|
+
SIWEController,
|
|
51
|
+
getDidChainId,
|
|
52
|
+
getDidAddress
|
|
53
|
+
} from '@reown/appkit-siwe-react-native';
|
|
40
54
|
import EthereumProvider, { OPTIONAL_METHODS } from '@walletconnect/ethereum-provider';
|
|
41
55
|
import type { EthereumProviderOptions } from '@walletconnect/ethereum-provider';
|
|
56
|
+
import { type JsonRpcError } from '@walletconnect/jsonrpc-types';
|
|
42
57
|
|
|
43
58
|
import { getAuthCaipNetworks, getWalletConnectCaipNetworks } from './utils/helpers';
|
|
44
|
-
import type { AppKitSIWEClient } from '@reown/appkit-siwe-react-native';
|
|
45
59
|
|
|
46
60
|
// -- Types ---------------------------------------------------------------------
|
|
47
61
|
export interface AppKitClientOptions extends Omit<LibraryOptions, 'defaultChain' | 'tokens'> {
|
|
@@ -100,7 +114,7 @@ export class AppKit extends AppKitScaffold {
|
|
|
100
114
|
}
|
|
101
115
|
|
|
102
116
|
if (!appKitOptions.projectId) {
|
|
103
|
-
throw new Error(
|
|
117
|
+
throw new Error(ErrorUtil.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED.shortMessage);
|
|
104
118
|
}
|
|
105
119
|
|
|
106
120
|
const networkControllerClient: NetworkControllerClient = {
|
|
@@ -119,9 +133,9 @@ export class AppKit extends AppKitScaffold {
|
|
|
119
133
|
new Promise(async resolve => {
|
|
120
134
|
const walletChoice = await StorageUtil.getConnectedConnector();
|
|
121
135
|
const walletConnectType =
|
|
122
|
-
PresetsUtil.ConnectorTypesMap[ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID]
|
|
136
|
+
PresetsUtil.ConnectorTypesMap[ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID]!;
|
|
123
137
|
|
|
124
|
-
const authType = PresetsUtil.ConnectorTypesMap[ConstantsUtil.AUTH_CONNECTOR_ID]
|
|
138
|
+
const authType = PresetsUtil.ConnectorTypesMap[ConstantsUtil.AUTH_CONNECTOR_ID]!;
|
|
125
139
|
if (walletChoice?.includes(walletConnectType)) {
|
|
126
140
|
const provider = await this.getWalletConnectProvider();
|
|
127
141
|
const result = getWalletConnectCaipNetworks(provider);
|
|
@@ -161,9 +175,6 @@ export class AppKit extends AppKitScaffold {
|
|
|
161
175
|
// SIWE
|
|
162
176
|
const params = await siweConfig?.getMessageParams?.();
|
|
163
177
|
if (siweConfig?.options?.enabled && params && Object.keys(params).length > 0) {
|
|
164
|
-
const { SIWEController, getDidChainId, getDidAddress } = await import(
|
|
165
|
-
'@reown/appkit-siwe-react-native'
|
|
166
|
-
);
|
|
167
178
|
const result = await WalletConnectProvider.authenticate({
|
|
168
179
|
nonce: await siweConfig.getNonce(),
|
|
169
180
|
methods: OPTIONAL_METHODS,
|
|
@@ -246,7 +257,6 @@ export class AppKit extends AppKitScaffold {
|
|
|
246
257
|
const authType = PresetsUtil.ConnectorTypesMap[ConstantsUtil.AUTH_CONNECTOR_ID];
|
|
247
258
|
|
|
248
259
|
if (siweConfig?.options?.signOutOnDisconnect) {
|
|
249
|
-
const { SIWEController } = await import('@reown/appkit-siwe-react-native');
|
|
250
260
|
await SIWEController.signOut();
|
|
251
261
|
}
|
|
252
262
|
|
|
@@ -275,6 +285,101 @@ export class AppKit extends AppKitScaffold {
|
|
|
275
285
|
});
|
|
276
286
|
|
|
277
287
|
return signature as `0x${string}`;
|
|
288
|
+
},
|
|
289
|
+
|
|
290
|
+
parseUnits: (value: string, decimals: number) => parseUnits(value, decimals),
|
|
291
|
+
|
|
292
|
+
formatUnits: (value: bigint, decimals: number) => formatUnits(value, decimals),
|
|
293
|
+
|
|
294
|
+
sendTransaction: async (data: SendTransactionArgs) => {
|
|
295
|
+
const { chainId, provider, address } = EthersStoreUtil.state;
|
|
296
|
+
|
|
297
|
+
if (!provider) {
|
|
298
|
+
throw new Error('ethersClient:sendTransaction - provider is undefined');
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
if (!address) {
|
|
302
|
+
throw new Error('ethersClient:sendTransaction - address is undefined');
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
const txParams = {
|
|
306
|
+
to: data.to,
|
|
307
|
+
value: data.value,
|
|
308
|
+
gasLimit: data.gas,
|
|
309
|
+
gasPrice: data.gasPrice,
|
|
310
|
+
data: data.data,
|
|
311
|
+
type: 0
|
|
312
|
+
};
|
|
313
|
+
|
|
314
|
+
const browserProvider = new BrowserProvider(provider, chainId);
|
|
315
|
+
const signer = new JsonRpcSigner(browserProvider, address);
|
|
316
|
+
const txResponse = await signer.sendTransaction(txParams);
|
|
317
|
+
const txReceipt = await txResponse.wait();
|
|
318
|
+
|
|
319
|
+
return (txReceipt?.hash as `0x${string}`) || null;
|
|
320
|
+
},
|
|
321
|
+
|
|
322
|
+
writeContract: async (data: WriteContractArgs) => {
|
|
323
|
+
const { chainId, provider, address } = EthersStoreUtil.state;
|
|
324
|
+
|
|
325
|
+
if (!provider) {
|
|
326
|
+
throw new Error('ethersClient:writeContract - provider is undefined');
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
if (!address) {
|
|
330
|
+
throw new Error('ethersClient:writeContract - address is undefined');
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
const browserProvider = new BrowserProvider(provider, chainId);
|
|
334
|
+
const signer = new JsonRpcSigner(browserProvider, address);
|
|
335
|
+
const contract = new Contract(data.tokenAddress, data.abi, signer);
|
|
336
|
+
|
|
337
|
+
if (!contract || !data.method) {
|
|
338
|
+
throw new Error('Contract method is undefined');
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
const method = contract[data.method];
|
|
342
|
+
if (method) {
|
|
343
|
+
const tx = await method(data.receiverAddress, data.tokenAmount);
|
|
344
|
+
|
|
345
|
+
return tx;
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
throw new Error('Contract method is undefined');
|
|
349
|
+
},
|
|
350
|
+
|
|
351
|
+
getEnsAddress: async (value: string) => {
|
|
352
|
+
try {
|
|
353
|
+
const chainId = Number(this.getCaipNetwork()?.id);
|
|
354
|
+
let ensName: string | null = null;
|
|
355
|
+
let wcName: boolean | string = false;
|
|
356
|
+
|
|
357
|
+
if (NamesUtil.isReownName(value)) {
|
|
358
|
+
wcName = (await this?.resolveReownName(value)) || false;
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
// If on mainnet, fetch from ENS
|
|
362
|
+
if (chainId === 1) {
|
|
363
|
+
const ensProvider = new InfuraProvider('mainnet');
|
|
364
|
+
ensName = await ensProvider.resolveName(value);
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
return ensName || wcName || false;
|
|
368
|
+
} catch {
|
|
369
|
+
return false;
|
|
370
|
+
}
|
|
371
|
+
},
|
|
372
|
+
|
|
373
|
+
getEnsAvatar: async (value: string) => {
|
|
374
|
+
const chainId = Number(NetworkUtil.caipNetworkIdToNumber(this.getCaipNetwork()?.id));
|
|
375
|
+
if (chainId === 1) {
|
|
376
|
+
const ensProvider = new InfuraProvider('mainnet');
|
|
377
|
+
const avatar = await ensProvider.getAvatar(value);
|
|
378
|
+
|
|
379
|
+
return avatar || false;
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
return false;
|
|
278
383
|
}
|
|
279
384
|
};
|
|
280
385
|
|
|
@@ -297,8 +402,8 @@ export class AppKit extends AppKitScaffold {
|
|
|
297
402
|
|
|
298
403
|
this.createProvider();
|
|
299
404
|
|
|
300
|
-
EthersStoreUtil.subscribeKey('address',
|
|
301
|
-
this.syncAccount();
|
|
405
|
+
EthersStoreUtil.subscribeKey('address', address => {
|
|
406
|
+
this.syncAccount({ address });
|
|
302
407
|
});
|
|
303
408
|
|
|
304
409
|
EthersStoreUtil.subscribeKey('chainId', () => {
|
|
@@ -403,6 +508,7 @@ export class AppKit extends AppKitScaffold {
|
|
|
403
508
|
};
|
|
404
509
|
|
|
405
510
|
this.walletConnectProvider = await EthereumProvider.init(walletConnectProviderOptions);
|
|
511
|
+
this.addWalletConnectListeners(this.walletConnectProvider);
|
|
406
512
|
|
|
407
513
|
await this.checkActiveWalletConnectProvider();
|
|
408
514
|
}
|
|
@@ -579,12 +685,10 @@ export class AppKit extends AppKitScaffold {
|
|
|
579
685
|
}
|
|
580
686
|
}
|
|
581
687
|
|
|
582
|
-
private async syncAccount() {
|
|
583
|
-
const address = EthersStoreUtil.state.address;
|
|
688
|
+
private async syncAccount({ address }: { address?: Address }) {
|
|
584
689
|
const chainId = EthersStoreUtil.state.chainId;
|
|
585
690
|
const isConnected = EthersStoreUtil.state.isConnected;
|
|
586
691
|
|
|
587
|
-
this.resetAccount();
|
|
588
692
|
if (isConnected && address && chainId) {
|
|
589
693
|
const caipAddress: CaipAddress = `${ConstantsUtil.EIP155}:${chainId}:${address}`;
|
|
590
694
|
|
|
@@ -599,6 +703,8 @@ export class AppKit extends AppKitScaffold {
|
|
|
599
703
|
]);
|
|
600
704
|
this.hasSyncedConnectedAccount = true;
|
|
601
705
|
} else if (!isConnected && this.hasSyncedConnectedAccount) {
|
|
706
|
+
this.close();
|
|
707
|
+
this.resetAccount();
|
|
602
708
|
this.resetWcConnection();
|
|
603
709
|
this.resetNetwork();
|
|
604
710
|
}
|
|
@@ -673,16 +779,30 @@ export class AppKit extends AppKitScaffold {
|
|
|
673
779
|
const chainId = EthersStoreUtil.state.chainId;
|
|
674
780
|
if (chainId && this.chains) {
|
|
675
781
|
const chain = this.chains.find(c => c.chainId === chainId);
|
|
782
|
+
const token = this.options?.tokens?.[chainId];
|
|
676
783
|
|
|
677
784
|
if (chain) {
|
|
678
785
|
const jsonRpcProvider = new JsonRpcProvider(chain.rpcUrl, {
|
|
679
786
|
chainId,
|
|
680
787
|
name: chain.name
|
|
681
788
|
});
|
|
789
|
+
|
|
682
790
|
if (jsonRpcProvider) {
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
791
|
+
if (token) {
|
|
792
|
+
// Get balance from custom token address
|
|
793
|
+
const erc20 = new Contract(token.address, erc20ABI, jsonRpcProvider);
|
|
794
|
+
// @ts-expect-error
|
|
795
|
+
const decimals = await erc20.decimals();
|
|
796
|
+
// @ts-expect-error
|
|
797
|
+
const symbol = await erc20.symbol();
|
|
798
|
+
// @ts-expect-error
|
|
799
|
+
const balanceOf = await erc20.balanceOf(address);
|
|
800
|
+
this.setBalance(formatUnits(balanceOf, decimals), symbol);
|
|
801
|
+
} else {
|
|
802
|
+
const balance = await jsonRpcProvider.getBalance(address);
|
|
803
|
+
const formattedBalance = formatEther(balance);
|
|
804
|
+
this.setBalance(formattedBalance, chain.currency);
|
|
805
|
+
}
|
|
686
806
|
}
|
|
687
807
|
}
|
|
688
808
|
}
|
|
@@ -758,6 +878,20 @@ export class AppKit extends AppKitScaffold {
|
|
|
758
878
|
}
|
|
759
879
|
}
|
|
760
880
|
|
|
881
|
+
private async handleAuthSetPreferredAccount(address: string, type: AppKitFrameAccountType) {
|
|
882
|
+
if (!address) {
|
|
883
|
+
return;
|
|
884
|
+
}
|
|
885
|
+
|
|
886
|
+
const chainId = this.getCaipNetwork()?.id;
|
|
887
|
+
const caipAddress: CaipAddress = `${ConstantsUtil.EIP155}:${chainId}:${address}`;
|
|
888
|
+
this.setCaipAddress(caipAddress);
|
|
889
|
+
this.setPreferredAccountType(type);
|
|
890
|
+
|
|
891
|
+
await this.syncAccount({ address: address as Address });
|
|
892
|
+
this.setLoading(false);
|
|
893
|
+
}
|
|
894
|
+
|
|
761
895
|
private syncConnectors(config: ProviderType) {
|
|
762
896
|
const _connectors: Connector[] = [];
|
|
763
897
|
const EXCLUDED_CONNECTORS = [ConstantsUtil.AUTH_CONNECTOR_ID];
|
|
@@ -816,6 +950,7 @@ export class AppKit extends AppKitScaffold {
|
|
|
816
950
|
|
|
817
951
|
const connectedConnector = await StorageUtil.getItem('@w3m/connected_connector');
|
|
818
952
|
if (connectedConnector === 'AUTH') {
|
|
953
|
+
// Set loader until it reconnects
|
|
819
954
|
this.setLoading(true);
|
|
820
955
|
}
|
|
821
956
|
|
|
@@ -823,5 +958,32 @@ export class AppKit extends AppKitScaffold {
|
|
|
823
958
|
if (isConnected) {
|
|
824
959
|
this.setAuthProvider();
|
|
825
960
|
}
|
|
961
|
+
|
|
962
|
+
this.addAuthListeners(this.authProvider);
|
|
963
|
+
}
|
|
964
|
+
|
|
965
|
+
private async addAuthListeners(authProvider: AppKitFrameProvider) {
|
|
966
|
+
authProvider.onSetPreferredAccount(async ({ address, type }) => {
|
|
967
|
+
if (address) {
|
|
968
|
+
await this.handleAuthSetPreferredAccount(address, type);
|
|
969
|
+
}
|
|
970
|
+
this.setLoading(false);
|
|
971
|
+
});
|
|
972
|
+
|
|
973
|
+
authProvider.setOnTimeout(async () => {
|
|
974
|
+
this.handleAlertError(ErrorUtil.ALERT_ERRORS.SOCIALS_TIMEOUT);
|
|
975
|
+
});
|
|
976
|
+
}
|
|
977
|
+
|
|
978
|
+
private async addWalletConnectListeners(provider: EthereumProvider) {
|
|
979
|
+
if (provider) {
|
|
980
|
+
provider.signer.client.core.relayer.on('relayer_connect', () => {
|
|
981
|
+
provider.signer.client.core.relayer?.provider?.on('payload', (payload: JsonRpcError) => {
|
|
982
|
+
if (payload?.error) {
|
|
983
|
+
this.handleAlertError(payload?.error.message);
|
|
984
|
+
}
|
|
985
|
+
});
|
|
986
|
+
});
|
|
987
|
+
}
|
|
826
988
|
}
|
|
827
989
|
}
|