@meshconnect/uwc-injected-connector 0.2.2 → 0.2.3

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.
@@ -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;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAyCjE;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,CAgDjE;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAQrE"}
@@ -2,6 +2,38 @@
2
2
  * EIP-6963: Multi Injected Provider Discovery
3
3
  * https://eips.ethereum.org/EIPS/eip-6963
4
4
  */
5
+ /**
6
+ * Polls for bridge wallets when UWCBridgeInitialized is true
7
+ * @returns Promise that resolves to an array of detected wallets from the bridge
8
+ */
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
+ }
5
37
  /**
6
38
  * Discovers wallets using EIP-6963 protocol
7
39
  * @returns Promise that resolves to an array of detected wallets
@@ -11,6 +43,13 @@ export async function discoverWallets() {
11
43
  if (typeof window === 'undefined') {
12
44
  return [];
13
45
  }
46
+ // Check if UWCBridgeInitialized is true
47
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
48
+ // @ts-ignore - window.UWCBridgeInitialized is set by the bridge
49
+ if (window.UWCBridgeInitialized === true) {
50
+ return pollForBridgeWallets();
51
+ }
52
+ // Original EIP-6963 discovery
14
53
  return new Promise(resolve => {
15
54
  const detectedWallets = [];
16
55
  const timeout = 1000; // Wait up to 1 second for wallets to announce
@@ -1 +1 @@
1
- {"version":3,"file":"eip6963-discovery.js","sourceRoot":"","sources":["../src/eip6963-discovery.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwCH;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,6CAA6C;IAC7C,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO,EAAE,CAAA;IACX,CAAC;IAED,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":"AAAA;;;GAGG;AAwCH;;;GAGG;AACH,KAAK,UAAU,oBAAoB;IACjC,MAAM,YAAY,GAAG,GAAG,CAAA,CAAC,mBAAmB;IAC5C,MAAM,WAAW,GAAG,IAAI,CAAA,CAAC,6BAA6B;IACtD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAE5B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,4CAA4C;YAC5C,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,WAAW,EAAE,CAAC;gBACzC,OAAO,CAAC,EAAE,CAAC,CAAA;gBACX,OAAM;YACR,CAAC;YAED,8CAA8C;YAC9C,6DAA6D;YAC7D,0DAA0D;YAC1D,IAAI,MAAM,CAAC,cAAc,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;gBAClE,6DAA6D;gBAC7D,aAAa;gBACb,MAAM,aAAa,GAAG,MAAM,CAAC,cAAkC,CAAA;gBAC/D,OAAO,CAAC,aAAa,CAAC,CAAA;gBACtB,OAAM;YACR,CAAC;YAED,mBAAmB;YACnB,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;QAChC,CAAC,CAAA;QAED,gBAAgB;QAChB,IAAI,EAAE,CAAA;IACR,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;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,IAAI,MAAM,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;QACzC,OAAO,oBAAoB,EAAE,CAAA;IAC/B,CAAC;IAED,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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export * from './injected-connector';
2
2
  export { getAvailableWallets, type DetectedWallet } from './eip6963-discovery';
3
- export { getSolanaWallets, type WalletStandardInfo, type SolanaWalletWithAdapter } from './wallet-standard-discovery';
3
+ export { getSolanaWallets, type WalletStandardInfo } from './wallet-standard-discovery';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,OAAO,EAAE,mBAAmB,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAC9E,OAAO,EACL,gBAAgB,EAChB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC7B,MAAM,6BAA6B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,OAAO,EAAE,mBAAmB,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAC9E,OAAO,EACL,gBAAgB,EAChB,KAAK,kBAAkB,EACxB,MAAM,6BAA6B,CAAA"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,OAAO,EAAE,mBAAmB,EAAuB,MAAM,qBAAqB,CAAA;AAC9E,OAAO,EACL,gBAAgB,EAGjB,MAAM,6BAA6B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,OAAO,EAAE,mBAAmB,EAAuB,MAAM,qBAAqB,CAAA;AAC9E,OAAO,EACL,gBAAgB,EAEjB,MAAM,6BAA6B,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meshconnect/uwc-injected-connector",
3
- "version": "0.2.2",
3
+ "version": "0.2.3",
4
4
  "description": "Injected connector for Universal Wallet Connector",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -26,7 +26,7 @@
26
26
  "bs58": "^6.0.0",
27
27
  "buffer": "^6.0.3",
28
28
  "ethers": "^6.15.0",
29
- "@meshconnect/uwc-types": "0.2.2"
29
+ "@meshconnect/uwc-types": "0.2.3"
30
30
  },
31
31
  "devDependencies": {
32
32
  "typescript": "^5.9.2"
@@ -41,6 +41,43 @@ export interface DetectedWallet {
41
41
  provider: EthereumProvider
42
42
  }
43
43
 
44
+ /**
45
+ * Polls for bridge wallets when UWCBridgeInitialized is true
46
+ * @returns Promise that resolves to an array of detected wallets from the bridge
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
+ }
80
+
44
81
  /**
45
82
  * Discovers wallets using EIP-6963 protocol
46
83
  * @returns Promise that resolves to an array of detected wallets
@@ -50,7 +87,14 @@ export async function discoverWallets(): Promise<DetectedWallet[]> {
50
87
  if (typeof window === 'undefined') {
51
88
  return []
52
89
  }
90
+ // Check if UWCBridgeInitialized is true
91
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
92
+ // @ts-ignore - window.UWCBridgeInitialized is set by the bridge
93
+ if (window.UWCBridgeInitialized === true) {
94
+ return pollForBridgeWallets()
95
+ }
53
96
 
97
+ // Original EIP-6963 discovery
54
98
  return new Promise(resolve => {
55
99
  const detectedWallets: DetectedWallet[] = []
56
100
  const timeout = 1000 // Wait up to 1 second for wallets to announce
package/src/index.ts CHANGED
@@ -2,6 +2,5 @@ export * from './injected-connector'
2
2
  export { getAvailableWallets, type DetectedWallet } from './eip6963-discovery'
3
3
  export {
4
4
  getSolanaWallets,
5
- type WalletStandardInfo,
6
- type SolanaWalletWithAdapter
5
+ type WalletStandardInfo
7
6
  } from './wallet-standard-discovery'