@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 +14 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +4 -4
- package/src/eip6963/eip6963Provider.cjs +15 -4
- package/src/eip6963/eip6963Provider.d.ts +8 -3
- package/src/eip6963/eip6963Provider.js +14 -5
- package/src/index.cjs +2 -0
- package/src/index.js +1 -1
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
package/package.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/utils",
|
|
3
|
-
"version": "4.0.0-alpha.
|
|
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.
|
|
24
|
-
"@dynamic-labs/logger": "4.0.0-alpha.
|
|
25
|
-
"@dynamic-labs/types": "4.0.0-alpha.
|
|
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
|
-
|
|
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
|
-
|
|
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';
|