@dynamic-labs/utils 4.0.0-alpha.38 → 4.0.0-alpha.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,4 +1,18 @@
1
1
 
2
+ ## [4.0.0-alpha.39](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.38...v4.0.0-alpha.39) (2024-12-02)
3
+
4
+
5
+ ### ⚠ BREAKING CHANGES
6
+
7
+ * remove usages of findWalletBookWallet when possible (#7455)
8
+
9
+ ### Bug Fixes
10
+
11
+ * sdkHasLoaded always false in cookie enabled env ([#7516](https://github.com/dynamic-labs/dynamic-auth/issues/7516)) ([1c3335c](https://github.com/dynamic-labs/dynamic-auth/commit/1c3335c13930e9bffe60cf1c09bc9c9584a59ef7))
12
+
13
+
14
+ * remove usages of findWalletBookWallet when possible ([#7455](https://github.com/dynamic-labs/dynamic-auth/issues/7455)) ([0ce977d](https://github.com/dynamic-labs/dynamic-auth/commit/0ce977d5d4d591c371c6ea2edfb252ba7acff5d2))
15
+
2
16
  ## [4.0.0-alpha.38](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.37...v4.0.0-alpha.38) (2024-11-27)
3
17
 
4
18
 
package/package.cjs CHANGED
@@ -3,6 +3,6 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var version = "4.0.0-alpha.38";
6
+ var version = "4.0.0-alpha.39";
7
7
 
8
8
  exports.version = version;
package/package.js CHANGED
@@ -1,4 +1,4 @@
1
1
  'use client'
2
- var version = "4.0.0-alpha.38";
2
+ var version = "4.0.0-alpha.39";
3
3
 
4
4
  export { version };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/utils",
3
- "version": "4.0.0-alpha.38",
3
+ "version": "4.0.0-alpha.39",
4
4
  "description": "A React SDK for implementing wallet web3 authentication and authorization to your website.",
5
5
  "author": "Dynamic Labs, Inc.",
6
6
  "license": "MIT",
@@ -20,9 +20,9 @@
20
20
  "dependencies": {
21
21
  "@dynamic-labs/sdk-api-core": "0.0.570",
22
22
  "tldts": "6.0.16",
23
- "@dynamic-labs/assert-package-version": "4.0.0-alpha.38",
24
- "@dynamic-labs/logger": "4.0.0-alpha.38",
25
- "@dynamic-labs/types": "4.0.0-alpha.38",
23
+ "@dynamic-labs/assert-package-version": "4.0.0-alpha.39",
24
+ "@dynamic-labs/logger": "4.0.0-alpha.39",
25
+ "@dynamic-labs/types": "4.0.0-alpha.39",
26
26
  "buffer": "6.0.3",
27
27
  "eventemitter3": "5.0.1"
28
28
  },
@@ -5,6 +5,18 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  const isEip9693Event = (event) => event.type === 'eip6963:announceProvider' &&
7
7
  event.detail !== undefined;
8
+ const listenToEip6963Events = (handler) => {
9
+ const eventHandler = (event) => {
10
+ if (!isEip9693Event(event)) {
11
+ return;
12
+ }
13
+ handler(event);
14
+ };
15
+ window.addEventListener('eip6963:announceProvider', eventHandler);
16
+ return () => {
17
+ window.removeEventListener('eip6963:announceProvider', eventHandler);
18
+ };
19
+ };
8
20
  class Eip6963Provider {
9
21
  constructor() {
10
22
  this.providers = [];
@@ -13,10 +25,7 @@ class Eip6963Provider {
13
25
  if (typeof window === 'undefined') {
14
26
  return;
15
27
  }
16
- window.addEventListener('eip6963:announceProvider', (event) => {
17
- if (!isEip9693Event(event)) {
18
- return;
19
- }
28
+ listenToEip6963Events((event) => {
20
29
  this.providers.push(event.detail);
21
30
  });
22
31
  window.dispatchEvent(new Event('eip6963:requestProvider'));
@@ -38,3 +47,5 @@ class Eip6963ProviderSingleton {
38
47
 
39
48
  exports.Eip6963Provider = Eip6963Provider;
40
49
  exports.Eip6963ProviderSingleton = Eip6963ProviderSingleton;
50
+ exports.isEip9693Event = isEip9693Event;
51
+ exports.listenToEip6963Events = listenToEip6963Events;
@@ -9,16 +9,22 @@ export type IEthereum = {
9
9
  /**
10
10
  * Represents the assets needed to display a wallet
11
11
  */
12
- type Eip6963ProviderInfo = {
12
+ export type Eip6963ProviderInfo = {
13
13
  uuid: string;
14
14
  name: string;
15
15
  icon: string;
16
16
  rdns: string;
17
17
  };
18
- type Eip6963ProviderDetail = {
18
+ export type Eip6963ProviderDetail = {
19
19
  info: Eip6963ProviderInfo;
20
20
  provider: IEthereum;
21
21
  };
22
+ export type Eip6963AnnounceProviderEvent = CustomEvent & {
23
+ type: 'eip6963:announceProvider';
24
+ detail: Eip6963ProviderDetail;
25
+ };
26
+ export declare const isEip9693Event: (event: unknown) => event is Eip6963AnnounceProviderEvent;
27
+ export declare const listenToEip6963Events: (handler: (event: Eip6963AnnounceProviderEvent) => void) => () => void;
22
28
  export declare class Eip6963Provider {
23
29
  providers: Eip6963ProviderDetail[];
24
30
  registerProviders(): void;
@@ -29,4 +35,3 @@ export declare class Eip6963ProviderSingleton {
29
35
  private static instance;
30
36
  static get(): Eip6963Provider;
31
37
  }
32
- export {};
@@ -1,6 +1,18 @@
1
1
  'use client'
2
2
  const isEip9693Event = (event) => event.type === 'eip6963:announceProvider' &&
3
3
  event.detail !== undefined;
4
+ const listenToEip6963Events = (handler) => {
5
+ const eventHandler = (event) => {
6
+ if (!isEip9693Event(event)) {
7
+ return;
8
+ }
9
+ handler(event);
10
+ };
11
+ window.addEventListener('eip6963:announceProvider', eventHandler);
12
+ return () => {
13
+ window.removeEventListener('eip6963:announceProvider', eventHandler);
14
+ };
15
+ };
4
16
  class Eip6963Provider {
5
17
  constructor() {
6
18
  this.providers = [];
@@ -9,10 +21,7 @@ class Eip6963Provider {
9
21
  if (typeof window === 'undefined') {
10
22
  return;
11
23
  }
12
- window.addEventListener('eip6963:announceProvider', (event) => {
13
- if (!isEip9693Event(event)) {
14
- return;
15
- }
24
+ listenToEip6963Events((event) => {
16
25
  this.providers.push(event.detail);
17
26
  });
18
27
  window.dispatchEvent(new Event('eip6963:requestProvider'));
@@ -32,4 +41,4 @@ class Eip6963ProviderSingleton {
32
41
  }
33
42
  }
34
43
 
35
- export { Eip6963Provider, Eip6963ProviderSingleton };
44
+ export { Eip6963Provider, Eip6963ProviderSingleton, isEip9693Event, listenToEip6963Events };
package/src/index.cjs CHANGED
@@ -159,6 +159,8 @@ exports.trimEnd = trimEnd.trimEnd;
159
159
  exports.isLedgerAddressViaVerifiedCredentials = isLedgerAddressViaVerifiedCredentials.isLedgerAddressViaVerifiedCredentials;
160
160
  exports.Eip6963Provider = eip6963Provider.Eip6963Provider;
161
161
  exports.Eip6963ProviderSingleton = eip6963Provider.Eip6963ProviderSingleton;
162
+ exports.isEip9693Event = eip6963Provider.isEip9693Event;
163
+ exports.listenToEip6963Events = eip6963Provider.listenToEip6963Events;
162
164
  exports.createEventTimeline = eventTimeline.createEventTimeline;
163
165
  exports.runSafe = runSafe.runSafe;
164
166
  exports.PlatformService = PlatformService.PlatformService;
package/src/index.js CHANGED
@@ -59,7 +59,7 @@ export { formatNumberText } from './formatNumberText/formatNumberText.js';
59
59
  export { ceil } from './ceil/ceil.js';
60
60
  export { trimEnd } from './trimEnd/trimEnd.js';
61
61
  export { isLedgerAddressViaVerifiedCredentials } from './isLedgerAddressViaVerifiedCredentials.js';
62
- export { Eip6963Provider, Eip6963ProviderSingleton } from './eip6963/eip6963Provider.js';
62
+ export { Eip6963Provider, Eip6963ProviderSingleton, isEip9693Event, listenToEip6963Events } from './eip6963/eip6963Provider.js';
63
63
  export { createEventTimeline } from './eventTimeline/eventTimeline.js';
64
64
  export { runSafe } from './runSafe/runSafe.js';
65
65
  export { PlatformService } from './services/PlatformService/PlatformService.js';