@meshconnect/uwc-injected-connector 0.2.4 → 0.2.5

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.
@@ -34,10 +34,6 @@ export interface DetectedWallet {
34
34
  rdns: string;
35
35
  provider: EthereumProvider;
36
36
  }
37
- /**
38
- * Polls for bridge wallets when UWCBridgeInitialized is true
39
- * @returns Promise that resolves to an array of detected wallets from the bridge
40
- */
41
37
  /**
42
38
  * Discovers wallets using EIP-6963 protocol
43
39
  * @returns Promise that resolves to an array of detected wallets
@@ -1 +1 @@
1
- {"version":3,"file":"eip6963-discovery.d.ts","sourceRoot":"","sources":["../src/eip6963-discovery.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,gBAAgB;IAE/B,OAAO,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAA;KAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IAEvE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,KAAK,IAAI,CAAA;IAE/D,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,KAAK,IAAI,CAAA;CAC5E;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,mBAAmB,CAAA;IACzB,QAAQ,EAAE,gBAAgB,CAAA;CAC3B;AAED,MAAM,WAAW,4BAA6B,SAAQ,WAAW;IAC/D,IAAI,EAAE,0BAA0B,CAAA;IAChC,MAAM,EAAE,qBAAqB,CAAA;CAC9B;AAED,MAAM,WAAW,2BAA4B,SAAQ,KAAK;IACxD,IAAI,EAAE,yBAAyB,CAAA;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,gBAAgB,CAAA;CAC3B;AAED;;;GAGG;AAkCH;;;GAGG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAgDjE;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAQrE"}
1
+ {"version":3,"file":"eip6963-discovery.d.ts","sourceRoot":"","sources":["../src/eip6963-discovery.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,gBAAgB;IAE/B,OAAO,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAA;KAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IAEvE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,KAAK,IAAI,CAAA;IAE/D,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,KAAK,IAAI,CAAA;CAC5E;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,mBAAmB,CAAA;IACzB,QAAQ,EAAE,gBAAgB,CAAA;CAC3B;AAED,MAAM,WAAW,4BAA6B,SAAQ,WAAW;IAC/D,IAAI,EAAE,0BAA0B,CAAA;IAChC,MAAM,EAAE,qBAAqB,CAAA;CAC9B;AAED,MAAM,WAAW,2BAA4B,SAAQ,KAAK;IACxD,IAAI,EAAE,yBAAyB,CAAA;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,gBAAgB,CAAA;CAC3B;AAuCD;;;GAGG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAoDjE;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAQrE"}
@@ -6,34 +6,34 @@
6
6
  * Polls for bridge wallets when UWCBridgeInitialized is true
7
7
  * @returns Promise that resolves to an array of detected wallets from the bridge
8
8
  */
9
- // async function pollForBridgeWallets(): Promise<DetectedWallet[]> {
10
- // const pollInterval = 100 // Poll every 100ms
11
- // const maxPollTime = 3000 // Poll for maximum 3 seconds
12
- // const startTime = Date.now()
13
- // return new Promise(resolve => {
14
- // const poll = () => {
15
- // // Check if we've exceeded the max poll time
16
- // if (Date.now() - startTime > maxPollTime) {
17
- // resolve([])
18
- // return
19
- // }
20
- // // Check if window.eip6963Wallets is available
21
- // // eslint-disable-next-line @typescript-eslint/ban-ts-comment
22
- // // @ts-ignore - window.eip6963Wallets is set by the bridge
23
- // if (window.eip6963Wallets && Array.isArray(window.eip6963Wallets)) {
24
- // // eslint-disable-next-line @typescript-eslint/ban-ts-comment
25
- // // @ts-ignore
26
- // const bridgeWallets = window.eip6963Wallets as DetectedWallet[]
27
- // resolve(bridgeWallets)
28
- // return
29
- // }
30
- // // Continue polling
31
- // setTimeout(poll, pollInterval)
32
- // }
33
- // // Start polling
34
- // poll()
35
- // })
36
- // }
9
+ async function pollForBridgeWallets() {
10
+ const pollInterval = 100; // Poll every 100ms
11
+ const maxPollTime = 3000; // Poll for maximum 3 seconds
12
+ const startTime = Date.now();
13
+ return new Promise(resolve => {
14
+ const poll = () => {
15
+ // Check if we've exceeded the max poll time
16
+ if (Date.now() - startTime > maxPollTime) {
17
+ resolve([]);
18
+ return;
19
+ }
20
+ // Check if window.eip6963Wallets is available
21
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
22
+ // @ts-ignore - window.eip6963Wallets is set by the bridge
23
+ if (window.eip6963Wallets && Array.isArray(window.eip6963Wallets)) {
24
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
25
+ // @ts-ignore
26
+ const bridgeWallets = window.eip6963Wallets;
27
+ resolve(bridgeWallets);
28
+ return;
29
+ }
30
+ // Continue polling
31
+ setTimeout(poll, pollInterval);
32
+ };
33
+ // Start polling
34
+ poll();
35
+ });
36
+ }
37
37
  /**
38
38
  * Discovers wallets using EIP-6963 protocol
39
39
  * @returns Promise that resolves to an array of detected wallets
@@ -43,12 +43,15 @@ export async function discoverWallets() {
43
43
  if (typeof window === 'undefined') {
44
44
  return [];
45
45
  }
46
- // Check if UWCBridgeInitialized is true
46
+ // UWCBridgeChildInitialized is only initialized if app runs in an iframe. We can skip checking for bridge proxy providers when it's not necessary.
47
47
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
48
48
  // @ts-ignore - window.UWCBridgeInitialized is set by the bridge
49
- // if (window.UWCBridgeInitialized === true) {
50
- // return pollForBridgeWallets()
51
- // }
49
+ if (window.UWCBridgeChildInitialized === true) {
50
+ const wallets = await pollForBridgeWallets();
51
+ if (wallets.length > 0) {
52
+ return wallets;
53
+ }
54
+ }
52
55
  // Original EIP-6963 discovery
53
56
  return new Promise(resolve => {
54
57
  const detectedWallets = [];
@@ -1 +1 @@
1
- {"version":3,"file":"eip6963-discovery.js","sourceRoot":"","sources":["../src/eip6963-discovery.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwCH;;;GAGG;AACH,qEAAqE;AACrE,iDAAiD;AACjD,2DAA2D;AAC3D,iCAAiC;AAEjC,oCAAoC;AACpC,2BAA2B;AAC3B,qDAAqD;AACrD,oDAAoD;AACpD,sBAAsB;AACtB,iBAAiB;AACjB,UAAU;AAEV,uDAAuD;AACvD,sEAAsE;AACtE,mEAAmE;AACnE,6EAA6E;AAC7E,wEAAwE;AACxE,wBAAwB;AACxB,0EAA0E;AAC1E,iCAAiC;AACjC,iBAAiB;AACjB,UAAU;AAEV,4BAA4B;AAC5B,uCAAuC;AACvC,QAAQ;AAER,uBAAuB;AACvB,aAAa;AACb,OAAO;AACP,IAAI;AAEJ;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,6CAA6C;IAC7C,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO,EAAE,CAAA;IACX,CAAC;IACD,wCAAwC;IACxC,6DAA6D;IAC7D,gEAAgE;IAChE,8CAA8C;IAC9C,kCAAkC;IAClC,IAAI;IAEJ,8BAA8B;IAC9B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,MAAM,eAAe,GAAqB,EAAE,CAAA;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAA,CAAC,8CAA8C;QAEnE,2CAA2C;QAC3C,MAAM,kBAAkB,GAAG,CAAC,KAAY,EAAE,EAAE;YAC1C,MAAM,iBAAiB,GAAG,KAAqC,CAAA;YAC/D,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,iBAAiB,CAAC,MAAM,CAAA;YAEnD,gDAAgD;YAChD,MAAM,aAAa,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAA;YAE1E,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE,CAAC;gBACzB,eAAe,CAAC,IAAI,CAAC;oBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,QAAQ;iBACT,CAAC,CAAA;YACJ,CAAC;QACH,CAAC,CAAA;QAED,kCAAkC;QAClC,MAAM,CAAC,gBAAgB,CAAC,0BAA0B,EAAE,kBAAkB,CAAC,CAAA;QAEvE,yCAAyC;QACzC,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAA;QAE1D,qCAAqC;QACrC,UAAU,CAAC,GAAG,EAAE;YACd,MAAM,CAAC,mBAAmB,CAAC,0BAA0B,EAAE,kBAAkB,CAAC,CAAA;YAC1E,OAAO,CAAC,eAAe,CAAC,CAAA;QAC1B,CAAC,EAAE,OAAO,CAAC,CAAA;IACb,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,eAAe,EAAE,CAAA;QACvC,OAAO,OAAO,CAAA;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,wCAAwC;QACxC,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"eip6963-discovery.js","sourceRoot":"","sources":["../src/eip6963-discovery.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ethereum-transaction-service.d.ts","sourceRoot":"","sources":["../../src/services/ethereum-transaction-service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,EAEV,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,EAC1B,eAAe,EAEhB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AAEhD;;GAEG;AACH,qBAAa,0BAA0B;IAC/B,iBAAiB,CACrB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,kBAAkB,CAAC;IAoDxB,mBAAmB,CACvB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,kBAAkB,CAAC;IA2B9B;;OAEG;IACG,kBAAkB,CACtB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,MAAM,CAAC;IAoBlB;;OAEG;IACG,gBAAgB,CACpB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,MAAM,CAAC;IAoBlB;;OAEG;IACG,SAAS,CACb,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,MAAM,CAAC;IAsElB;;OAEG;IACG,eAAe,CACnB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,eAAe,CAAC;IAS3B;;OAEG;IACH,OAAO,CAAC,eAAe;CAiBxB"}
1
+ {"version":3,"file":"ethereum-transaction-service.d.ts","sourceRoot":"","sources":["../../src/services/ethereum-transaction-service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,EAEV,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,EAC1B,eAAe,EAEhB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AAEhD;;GAEG;AACH,qBAAa,0BAA0B;IAC/B,iBAAiB,CACrB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,kBAAkB,CAAC;IA+CxB,mBAAmB,CACvB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,kBAAkB,CAAC;IA2B9B;;OAEG;IACG,kBAAkB,CACtB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,MAAM,CAAC;IAoBlB;;OAEG;IACG,gBAAgB,CACpB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,MAAM,CAAC;IAoBlB;;OAEG;IACG,SAAS,CACb,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,MAAM,CAAC;IA+ElB;;OAEG;IACG,eAAe,CACnB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,eAAe,CAAC;IAS3B;;OAEG;IACH,OAAO,CAAC,eAAe;CAiBxB"}
@@ -13,14 +13,11 @@ export class EthereumTransactionService {
13
13
  const chainId = parseInt(chainIdHex, 16);
14
14
  // Create ethers provider and signer
15
15
  const ethersProvider = new ethers.BrowserProvider(provider);
16
- const signer = await ethersProvider.getSigner(request.from);
17
16
  // Verify network hasn't changed
18
17
  const network = await ethersProvider.getNetwork();
19
18
  if (Number(network.chainId) !== chainId) {
20
19
  throw new Error('Network changed during transaction setup');
21
20
  }
22
- // Create contract instance
23
- const contract = new ethers.Contract(request.contractAddress, request.abi, signer);
24
21
  // Build transaction options
25
22
  const txOptions = {
26
23
  ...this.formatGasConfig(request.gasConfig)
@@ -29,12 +26,15 @@ export class EthereumTransactionService {
29
26
  if (request.value) {
30
27
  txOptions.value = request.value;
31
28
  }
32
- // Call the contract function
33
- const contractFunction = contract[request.functionName];
34
- if (!contractFunction) {
35
- throw new Error(`Function ${request.functionName} not found in contract`);
36
- }
37
- return (await contractFunction.populateTransaction(...request.args, txOptions));
29
+ const iface = new ethers.Interface(request.abi);
30
+ const data = iface.encodeFunctionData(request.functionName, request.args || []);
31
+ const txRequest = {
32
+ to: request.contractAddress,
33
+ data,
34
+ value: request.value ?? 0n,
35
+ ...txOptions
36
+ };
37
+ return txRequest;
38
38
  }
39
39
  catch (error) {
40
40
  parseError(error);
@@ -113,11 +113,20 @@ export class EthereumTransactionService {
113
113
  const calls = await Promise.all(request.calls.map(async (tx) => {
114
114
  if ('contractAddress' in tx && 'abi' in tx) {
115
115
  // Contract call
116
- return await this.buildContractCall(provider, tx);
116
+ const result = await this.buildContractCall(provider, tx);
117
+ return {
118
+ to: result.to ?? '',
119
+ value: '0x' + (result.value ?? 0n).toString(16),
120
+ data: result.data
121
+ };
117
122
  }
118
123
  else if ('amount' in tx && typeof tx.amount === 'bigint') {
119
124
  // Native transfer
120
- return await this.buildNativeTransfer(provider, tx);
125
+ const result = await this.buildNativeTransfer(provider, tx);
126
+ return {
127
+ to: result.to ?? '',
128
+ value: '0x' + (result.value ?? 0n).toString(16)
129
+ };
121
130
  }
122
131
  else {
123
132
  throw new Error('Invalid transaction request type');
@@ -1 +1 @@
1
- {"version":3,"file":"ethereum-transaction-service.js","sourceRoot":"","sources":["../../src/services/ethereum-transaction-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ethereum-transaction-service.js","sourceRoot":"","sources":["../../src/services/ethereum-transaction-service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meshconnect/uwc-injected-connector",
3
- "version": "0.2.4",
3
+ "version": "0.2.5",
4
4
  "description": "Injected connector for Universal Wallet Connector",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -45,38 +45,38 @@ export interface DetectedWallet {
45
45
  * Polls for bridge wallets when UWCBridgeInitialized is true
46
46
  * @returns Promise that resolves to an array of detected wallets from the bridge
47
47
  */
48
- // async function pollForBridgeWallets(): Promise<DetectedWallet[]> {
49
- // const pollInterval = 100 // Poll every 100ms
50
- // const maxPollTime = 3000 // Poll for maximum 3 seconds
51
- // const startTime = Date.now()
52
-
53
- // return new Promise(resolve => {
54
- // const poll = () => {
55
- // // Check if we've exceeded the max poll time
56
- // if (Date.now() - startTime > maxPollTime) {
57
- // resolve([])
58
- // return
59
- // }
60
-
61
- // // Check if window.eip6963Wallets is available
62
- // // eslint-disable-next-line @typescript-eslint/ban-ts-comment
63
- // // @ts-ignore - window.eip6963Wallets is set by the bridge
64
- // if (window.eip6963Wallets && Array.isArray(window.eip6963Wallets)) {
65
- // // eslint-disable-next-line @typescript-eslint/ban-ts-comment
66
- // // @ts-ignore
67
- // const bridgeWallets = window.eip6963Wallets as DetectedWallet[]
68
- // resolve(bridgeWallets)
69
- // return
70
- // }
71
-
72
- // // Continue polling
73
- // setTimeout(poll, pollInterval)
74
- // }
75
-
76
- // // Start polling
77
- // poll()
78
- // })
79
- // }
48
+ async function pollForBridgeWallets(): Promise<DetectedWallet[]> {
49
+ const pollInterval = 100 // Poll every 100ms
50
+ const maxPollTime = 3000 // Poll for maximum 3 seconds
51
+ const startTime = Date.now()
52
+
53
+ return new Promise(resolve => {
54
+ const poll = () => {
55
+ // Check if we've exceeded the max poll time
56
+ if (Date.now() - startTime > maxPollTime) {
57
+ resolve([])
58
+ return
59
+ }
60
+
61
+ // Check if window.eip6963Wallets is available
62
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
63
+ // @ts-ignore - window.eip6963Wallets is set by the bridge
64
+ if (window.eip6963Wallets && Array.isArray(window.eip6963Wallets)) {
65
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
66
+ // @ts-ignore
67
+ const bridgeWallets = window.eip6963Wallets as DetectedWallet[]
68
+ resolve(bridgeWallets)
69
+ return
70
+ }
71
+
72
+ // Continue polling
73
+ setTimeout(poll, pollInterval)
74
+ }
75
+
76
+ // Start polling
77
+ poll()
78
+ })
79
+ }
80
80
 
81
81
  /**
82
82
  * Discovers wallets using EIP-6963 protocol
@@ -87,12 +87,16 @@ export async function discoverWallets(): Promise<DetectedWallet[]> {
87
87
  if (typeof window === 'undefined') {
88
88
  return []
89
89
  }
90
- // Check if UWCBridgeInitialized is true
90
+ // UWCBridgeChildInitialized is only initialized if app runs in an iframe. We can skip checking for bridge proxy providers when it's not necessary.
91
91
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
92
92
  // @ts-ignore - window.UWCBridgeInitialized is set by the bridge
93
- // if (window.UWCBridgeInitialized === true) {
94
- // return pollForBridgeWallets()
95
- // }
93
+ if (window.UWCBridgeChildInitialized === true) {
94
+ const wallets = await pollForBridgeWallets()
95
+
96
+ if (wallets.length > 0) {
97
+ return wallets
98
+ }
99
+ }
96
100
 
97
101
  // Original EIP-6963 discovery
98
102
  return new Promise(resolve => {