thirdweb 5.96.8-nightly-b08efa17786f06c85fd34e8f42a9d6f1bf4a16ca-20250504000417 → 5.96.9-nightly-2c6bd620b508ad50535b0ec44916741a8c0a6a26-20250506000341
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/dist/cjs/version.js +1 -1
- package/dist/cjs/wallets/connection/autoConnect.js.map +1 -1
- package/dist/cjs/wallets/connection/autoConnectCore.js +18 -2
- package/dist/cjs/wallets/connection/autoConnectCore.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/wallets/connection/autoConnect.js.map +1 -1
- package/dist/esm/wallets/connection/autoConnectCore.js +17 -1
- package/dist/esm/wallets/connection/autoConnectCore.js.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/wallets/connection/autoConnect.d.ts +6 -0
- package/dist/types/wallets/connection/autoConnect.d.ts.map +1 -1
- package/dist/types/wallets/connection/autoConnectCore.d.ts +13 -5
- package/dist/types/wallets/connection/autoConnectCore.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/version.ts +1 -1
- package/src/wallets/connection/autoConnect.ts +6 -0
- package/src/wallets/connection/autoConnectCore.test.ts +13 -0
- package/src/wallets/connection/autoConnectCore.ts +40 -13
package/dist/cjs/version.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.version = void 0;
|
4
|
-
exports.version = "5.96.
|
4
|
+
exports.version = "5.96.9-nightly-2c6bd620b508ad50535b0ec44916741a8c0a6a26-20250506000341";
|
5
5
|
//# sourceMappingURL=version.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"autoConnect.js","sourceRoot":"","sources":["../../../../src/wallets/connection/autoConnect.ts"],"names":[],"mappings":";;AA+BA,
|
1
|
+
{"version":3,"file":"autoConnect.js","sourceRoot":"","sources":["../../../../src/wallets/connection/autoConnect.ts"],"names":[],"mappings":";;AA+BA,kCAiCC;AAhED,qEAAoE;AACpE,0DAAmD;AACnD,4DAAyD;AACzD,2DAAuE;AAEvE,kDAA8D;AAC9D,6DAAuD;AAGvD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACI,KAAK,UAAU,WAAW,CAC/B,KAQC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,IAAA,qCAAiB,EAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,IAAA,kCAAuB,EAAC,+BAAe,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,MAAM,IAAA,oCAAe,EAAC;QACnC,OAAO,EAAE,+BAAe;QACxB,KAAK,EAAE;YACL,GAAG,KAAK;YACR,OAAO;SACR;QACD,cAAc,EAAE,+BAAY;QAC5B,mBAAmB,EAAE,GAAG,EAAE;YACxB,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAE7D,gFAAgF;YAChF,MAAM,gBAAgB,GAAG,IAAA,0CAA2B,GAAE;iBACnD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACnD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,+BAAY,EAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAEzC,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QACD,OAAO;KACR,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
@@ -7,10 +7,27 @@ const is_ecosystem_wallet_js_1 = require("../ecosystem/is-ecosystem-wallet.js");
|
|
7
7
|
const client_scoped_storage_js_1 = require("../in-app/core/authentication/client-scoped-storage.js");
|
8
8
|
const get_url_token_js_1 = require("../in-app/web/lib/get-url-token.js");
|
9
9
|
const index_js_1 = require("../manager/index.js");
|
10
|
+
let lastAutoConnectionResultPromise = undefined;
|
10
11
|
/**
|
11
12
|
* @internal
|
12
13
|
*/
|
13
|
-
const autoConnectCore = async (
|
14
|
+
const autoConnectCore = async (props) => {
|
15
|
+
// if an auto connect was attempted already
|
16
|
+
if (lastAutoConnectionResultPromise && !props.force) {
|
17
|
+
// wait for its resolution
|
18
|
+
const lastResult = await lastAutoConnectionResultPromise;
|
19
|
+
// if it was successful, return true
|
20
|
+
// if not continue with the new auto connect
|
21
|
+
if (lastResult) {
|
22
|
+
return true;
|
23
|
+
}
|
24
|
+
}
|
25
|
+
const resultPromise = _autoConnectCore(props);
|
26
|
+
lastAutoConnectionResultPromise = resultPromise;
|
27
|
+
return resultPromise;
|
28
|
+
};
|
29
|
+
exports.autoConnectCore = autoConnectCore;
|
30
|
+
const _autoConnectCore = async ({ storage, props, createWalletFn, manager, connectOverride, getInstalledWallets, setLastAuthProvider, }) => {
|
14
31
|
const { wallets, onConnect } = props;
|
15
32
|
const timeout = props.timeout ?? 15000;
|
16
33
|
let autoConnected = false;
|
@@ -121,7 +138,6 @@ const autoConnectCore = async ({ storage, props, createWalletFn, manager, connec
|
|
121
138
|
manager.isAutoConnecting.setValue(false);
|
122
139
|
return autoConnected; // useQuery needs a return value
|
123
140
|
};
|
124
|
-
exports.autoConnectCore = autoConnectCore;
|
125
141
|
/**
|
126
142
|
* @internal
|
127
143
|
*/
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"autoConnectCore.js","sourceRoot":"","sources":["../../../../src/wallets/connection/autoConnectCore.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"autoConnectCore.js","sourceRoot":"","sources":["../../../../src/wallets/connection/autoConnectCore.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/version.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export const version = "5.96.
|
1
|
+
export const version = "5.96.9-nightly-2c6bd620b508ad50535b0ec44916741a8c0a6a26-20250506000341";
|
2
2
|
//# sourceMappingURL=version.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"autoConnect.js","sourceRoot":"","sources":["../../../../src/wallets/connection/autoConnect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAEvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,
|
1
|
+
{"version":3,"file":"autoConnect.js","sourceRoot":"","sources":["../../../../src/wallets/connection/autoConnect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAEvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAQC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,uBAAuB,CAAC,eAAe,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;QACnC,OAAO,EAAE,eAAe;QACxB,KAAK,EAAE;YACL,GAAG,KAAK;YACR,OAAO;SACR;QACD,cAAc,EAAE,YAAY;QAC5B,mBAAmB,EAAE,GAAG,EAAE;YACxB,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAE7D,gFAAgF;YAChF,MAAM,gBAAgB,GAAG,2BAA2B,EAAE;iBACnD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACnD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAEzC,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QACD,OAAO;KACR,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
@@ -3,10 +3,26 @@ import { isEcosystemWallet } from "../ecosystem/is-ecosystem-wallet.js";
|
|
3
3
|
import { ClientScopedStorage } from "../in-app/core/authentication/client-scoped-storage.js";
|
4
4
|
import { getUrlToken } from "../in-app/web/lib/get-url-token.js";
|
5
5
|
import { getLastConnectedChain, getStoredActiveWalletId, getStoredConnectedWalletIds, } from "../manager/index.js";
|
6
|
+
let lastAutoConnectionResultPromise = undefined;
|
6
7
|
/**
|
7
8
|
* @internal
|
8
9
|
*/
|
9
|
-
export const autoConnectCore = async (
|
10
|
+
export const autoConnectCore = async (props) => {
|
11
|
+
// if an auto connect was attempted already
|
12
|
+
if (lastAutoConnectionResultPromise && !props.force) {
|
13
|
+
// wait for its resolution
|
14
|
+
const lastResult = await lastAutoConnectionResultPromise;
|
15
|
+
// if it was successful, return true
|
16
|
+
// if not continue with the new auto connect
|
17
|
+
if (lastResult) {
|
18
|
+
return true;
|
19
|
+
}
|
20
|
+
}
|
21
|
+
const resultPromise = _autoConnectCore(props);
|
22
|
+
lastAutoConnectionResultPromise = resultPromise;
|
23
|
+
return resultPromise;
|
24
|
+
};
|
25
|
+
const _autoConnectCore = async ({ storage, props, createWalletFn, manager, connectOverride, getInstalledWallets, setLastAuthProvider, }) => {
|
10
26
|
const { wallets, onConnect } = props;
|
11
27
|
const timeout = props.timeout ?? 15000;
|
12
28
|
let autoConnected = false;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"autoConnectCore.js","sourceRoot":"","sources":["../../../../src/wallets/connection/autoConnectCore.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wDAAwD,CAAC;AAK7F,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAEjE,OAAO,EAEL,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;
|
1
|
+
{"version":3,"file":"autoConnectCore.js","sourceRoot":"","sources":["../../../../src/wallets/connection/autoConnectCore.ts"],"names":[],"mappings":"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"}
|
package/dist/types/version.d.ts
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export declare const version = "5.96.
|
1
|
+
export declare const version = "5.96.9-nightly-2c6bd620b508ad50535b0ec44916741a8c0a6a26-20250506000341";
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
@@ -24,5 +24,11 @@ import type { AutoConnectProps } from "./types.js";
|
|
24
24
|
*/
|
25
25
|
export declare function autoConnect(props: AutoConnectProps & {
|
26
26
|
wallets?: Wallet[];
|
27
|
+
/**
|
28
|
+
* If true, the auto connect will be forced even if autoConnect has already been attempted successfully earlier.
|
29
|
+
*
|
30
|
+
* @default `false`
|
31
|
+
*/
|
32
|
+
force?: boolean;
|
27
33
|
}): Promise<boolean>;
|
28
34
|
//# sourceMappingURL=autoConnect.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"autoConnect.d.ts","sourceRoot":"","sources":["../../../../src/wallets/connection/autoConnect.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAGtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,gBAAgB,GAAG;IACxB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;
|
1
|
+
{"version":3,"file":"autoConnect.d.ts","sourceRoot":"","sources":["../../../../src/wallets/connection/autoConnect.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAGtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,gBAAgB,GAAG;IACxB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GACA,OAAO,CAAC,OAAO,CAAC,CAuBlB"}
|
@@ -6,10 +6,7 @@ import type { Wallet } from "../interfaces/wallet.js";
|
|
6
6
|
import { type ConnectionManager } from "../manager/index.js";
|
7
7
|
import type { WalletId } from "../wallet-types.js";
|
8
8
|
import type { AutoConnectProps } from "./types.js";
|
9
|
-
|
10
|
-
* @internal
|
11
|
-
*/
|
12
|
-
export declare const autoConnectCore: ({ storage, props, createWalletFn, manager, connectOverride, getInstalledWallets, setLastAuthProvider, }: {
|
9
|
+
type AutoConnectCoreProps = {
|
13
10
|
storage: AsyncStorage;
|
14
11
|
props: AutoConnectProps & {
|
15
12
|
wallets: Wallet[];
|
@@ -19,7 +16,17 @@ export declare const autoConnectCore: ({ storage, props, createWalletFn, manager
|
|
19
16
|
connectOverride?: (walletOrFn: Wallet | (() => Promise<Wallet>)) => Promise<Wallet | null>;
|
20
17
|
getInstalledWallets?: () => Wallet[];
|
21
18
|
setLastAuthProvider?: (authProvider: AuthArgsType["strategy"], storage: AsyncStorage) => Promise<void>;
|
22
|
-
|
19
|
+
/**
|
20
|
+
* If true, the auto connect will be forced even if autoConnect has already been attempted successfully earlier.
|
21
|
+
*
|
22
|
+
* @default `false`
|
23
|
+
*/
|
24
|
+
force?: boolean;
|
25
|
+
};
|
26
|
+
/**
|
27
|
+
* @internal
|
28
|
+
*/
|
29
|
+
export declare const autoConnectCore: (props: AutoConnectCoreProps) => Promise<boolean>;
|
23
30
|
/**
|
24
31
|
* @internal
|
25
32
|
*/
|
@@ -29,4 +36,5 @@ export declare function handleWalletConnection(props: {
|
|
29
36
|
authResult: AuthStoredTokenWithCookieReturnType | undefined;
|
30
37
|
lastConnectedChain: Chain | undefined;
|
31
38
|
}): Promise<import("../interfaces/wallet.js").Account>;
|
39
|
+
export {};
|
32
40
|
//# sourceMappingURL=autoConnectCore.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"autoConnectCore.d.ts","sourceRoot":"","sources":["../../../../src/wallets/connection/autoConnectCore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAIxE,OAAO,KAAK,EACV,YAAY,EACZ,mCAAmC,EACpC,MAAM,wCAAwC,CAAC;AAEhD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EACL,KAAK,iBAAiB,EAIvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD
|
1
|
+
{"version":3,"file":"autoConnectCore.d.ts","sourceRoot":"","sources":["../../../../src/wallets/connection/autoConnectCore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAIxE,OAAO,KAAK,EACV,YAAY,EACZ,mCAAmC,EACpC,MAAM,wCAAwC,CAAC;AAEhD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EACL,KAAK,iBAAiB,EAIvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,KAAK,oBAAoB,GAAG;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,EAAE,gBAAgB,GAAG;QAAE,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAChD,cAAc,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,MAAM,CAAC;IACzC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,eAAe,CAAC,EAAE,CAChB,UAAU,EAAE,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,KACzC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;IACrC,mBAAmB,CAAC,EAAE,CACpB,YAAY,EAAE,YAAY,CAAC,UAAU,CAAC,EACtC,OAAO,EAAE,YAAY,KAClB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAIF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAU,OAAO,oBAAoB,qBAehE,CAAC;AAsIF;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,KAAK,EAAE;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,mCAAmC,GAAG,SAAS,CAAC;IAC5D,kBAAkB,EAAE,KAAK,GAAG,SAAS,CAAC;CACvC,sDAMA"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "thirdweb",
|
3
|
-
"version": "5.96.
|
3
|
+
"version": "5.96.9-nightly-2c6bd620b508ad50535b0ec44916741a8c0a6a26-20250506000341",
|
4
4
|
"repository": {
|
5
5
|
"type": "git",
|
6
6
|
"url": "git+https://github.com/thirdweb-dev/js.git#main"
|
package/src/version.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export const version = "5.96.
|
1
|
+
export const version = "5.96.9-nightly-2c6bd620b508ad50535b0ec44916741a8c0a6a26-20250506000341";
|
@@ -32,6 +32,12 @@ import type { AutoConnectProps } from "./types.js";
|
|
32
32
|
export async function autoConnect(
|
33
33
|
props: AutoConnectProps & {
|
34
34
|
wallets?: Wallet[];
|
35
|
+
/**
|
36
|
+
* If true, the auto connect will be forced even if autoConnect has already been attempted successfully earlier.
|
37
|
+
*
|
38
|
+
* @default `false`
|
39
|
+
*/
|
40
|
+
force?: boolean;
|
35
41
|
},
|
36
42
|
): Promise<boolean> {
|
37
43
|
const wallets = props.wallets || getDefaultWallets(props);
|
@@ -35,6 +35,7 @@ describe("useAutoConnectCore", () => {
|
|
35
35
|
|
36
36
|
expect(
|
37
37
|
await autoConnectCore({
|
38
|
+
force: true,
|
38
39
|
storage: mockStorage,
|
39
40
|
props: {
|
40
41
|
wallets: [wallet],
|
@@ -68,6 +69,7 @@ describe("useAutoConnectCore", () => {
|
|
68
69
|
|
69
70
|
expect(
|
70
71
|
await autoConnectCore({
|
72
|
+
force: true,
|
71
73
|
storage: mockStorage,
|
72
74
|
props: {
|
73
75
|
wallets: [wallet],
|
@@ -111,6 +113,7 @@ describe("useAutoConnectCore", () => {
|
|
111
113
|
});
|
112
114
|
|
113
115
|
await autoConnectCore({
|
116
|
+
force: true,
|
114
117
|
storage: mockStorage,
|
115
118
|
props: {
|
116
119
|
wallets: [wallet],
|
@@ -155,6 +158,7 @@ describe("useAutoConnectCore", () => {
|
|
155
158
|
});
|
156
159
|
|
157
160
|
await autoConnectCore({
|
161
|
+
force: true,
|
158
162
|
storage: mockStorage,
|
159
163
|
props: {
|
160
164
|
wallets: [wallet],
|
@@ -191,6 +195,7 @@ describe("useAutoConnectCore", () => {
|
|
191
195
|
const warnSpy = vi.spyOn(console, "warn").mockImplementation(() => {});
|
192
196
|
|
193
197
|
await autoConnectCore({
|
198
|
+
force: true,
|
194
199
|
storage: mockStorage,
|
195
200
|
props: {
|
196
201
|
wallets: [wallet1],
|
@@ -235,6 +240,7 @@ describe("useAutoConnectCore", () => {
|
|
235
240
|
const addConnectedWalletSpy = vi.spyOn(manager, "addConnectedWallet");
|
236
241
|
|
237
242
|
await autoConnectCore({
|
243
|
+
force: true,
|
238
244
|
storage: mockStorage,
|
239
245
|
props: {
|
240
246
|
wallets: [wallet1, wallet2],
|
@@ -264,6 +270,7 @@ describe("useAutoConnectCore", () => {
|
|
264
270
|
JSON.stringify([wallet.id]),
|
265
271
|
);
|
266
272
|
await autoConnectCore({
|
273
|
+
force: true,
|
267
274
|
storage: mockStorage,
|
268
275
|
props: {
|
269
276
|
wallets: [wallet],
|
@@ -276,6 +283,7 @@ describe("useAutoConnectCore", () => {
|
|
276
283
|
|
277
284
|
expect(mockOnConnect).toHaveBeenCalledWith(wallet);
|
278
285
|
});
|
286
|
+
|
279
287
|
it("should continue even if onConnect callback throws", async () => {
|
280
288
|
const mockOnConnect = vi.fn();
|
281
289
|
mockOnConnect.mockImplementation(() => {
|
@@ -296,6 +304,7 @@ describe("useAutoConnectCore", () => {
|
|
296
304
|
JSON.stringify([wallet.id]),
|
297
305
|
);
|
298
306
|
await autoConnectCore({
|
307
|
+
force: true,
|
299
308
|
storage: mockStorage,
|
300
309
|
props: {
|
301
310
|
wallets: [wallet],
|
@@ -308,6 +317,7 @@ describe("useAutoConnectCore", () => {
|
|
308
317
|
|
309
318
|
expect(mockOnConnect).toHaveBeenCalledWith(wallet);
|
310
319
|
});
|
320
|
+
|
311
321
|
it("should call setLastAuthProvider if authProvider is present", async () => {
|
312
322
|
const wallet = createWalletAdapter({
|
313
323
|
adaptedAccount: TEST_ACCOUNT_A,
|
@@ -328,6 +338,7 @@ describe("useAutoConnectCore", () => {
|
|
328
338
|
JSON.stringify([wallet.id]),
|
329
339
|
);
|
330
340
|
await autoConnectCore({
|
341
|
+
force: true,
|
331
342
|
storage: mockStorage,
|
332
343
|
props: {
|
333
344
|
wallets: [wallet],
|
@@ -340,6 +351,7 @@ describe("useAutoConnectCore", () => {
|
|
340
351
|
|
341
352
|
expect(mockSetLastAuthProvider).toHaveBeenCalledWith("email", mockStorage);
|
342
353
|
});
|
354
|
+
|
343
355
|
it("should set connection status to disconnect if no connectedWallet is returned", async () => {
|
344
356
|
const wallet = createWalletAdapter({
|
345
357
|
adaptedAccount: TEST_ACCOUNT_A,
|
@@ -360,6 +372,7 @@ describe("useAutoConnectCore", () => {
|
|
360
372
|
.mockResolvedValueOnce(null as unknown as Wallet);
|
361
373
|
|
362
374
|
await autoConnectCore({
|
375
|
+
force: true,
|
363
376
|
storage: mockStorage,
|
364
377
|
props: {
|
365
378
|
wallets: [wallet],
|
@@ -19,18 +19,7 @@ import {
|
|
19
19
|
import type { WalletId } from "../wallet-types.js";
|
20
20
|
import type { AutoConnectProps } from "./types.js";
|
21
21
|
|
22
|
-
|
23
|
-
* @internal
|
24
|
-
*/
|
25
|
-
export const autoConnectCore = async ({
|
26
|
-
storage,
|
27
|
-
props,
|
28
|
-
createWalletFn,
|
29
|
-
manager,
|
30
|
-
connectOverride,
|
31
|
-
getInstalledWallets,
|
32
|
-
setLastAuthProvider,
|
33
|
-
}: {
|
22
|
+
type AutoConnectCoreProps = {
|
34
23
|
storage: AsyncStorage;
|
35
24
|
props: AutoConnectProps & { wallets: Wallet[] };
|
36
25
|
createWalletFn: (id: WalletId) => Wallet;
|
@@ -43,7 +32,45 @@ export const autoConnectCore = async ({
|
|
43
32
|
authProvider: AuthArgsType["strategy"],
|
44
33
|
storage: AsyncStorage,
|
45
34
|
) => Promise<void>;
|
46
|
-
|
35
|
+
/**
|
36
|
+
* If true, the auto connect will be forced even if autoConnect has already been attempted successfully earlier.
|
37
|
+
*
|
38
|
+
* @default `false`
|
39
|
+
*/
|
40
|
+
force?: boolean;
|
41
|
+
};
|
42
|
+
|
43
|
+
let lastAutoConnectionResultPromise: Promise<boolean> | undefined = undefined;
|
44
|
+
|
45
|
+
/**
|
46
|
+
* @internal
|
47
|
+
*/
|
48
|
+
export const autoConnectCore = async (props: AutoConnectCoreProps) => {
|
49
|
+
// if an auto connect was attempted already
|
50
|
+
if (lastAutoConnectionResultPromise && !props.force) {
|
51
|
+
// wait for its resolution
|
52
|
+
const lastResult = await lastAutoConnectionResultPromise;
|
53
|
+
// if it was successful, return true
|
54
|
+
// if not continue with the new auto connect
|
55
|
+
if (lastResult) {
|
56
|
+
return true;
|
57
|
+
}
|
58
|
+
}
|
59
|
+
|
60
|
+
const resultPromise = _autoConnectCore(props);
|
61
|
+
lastAutoConnectionResultPromise = resultPromise;
|
62
|
+
return resultPromise;
|
63
|
+
};
|
64
|
+
|
65
|
+
const _autoConnectCore = async ({
|
66
|
+
storage,
|
67
|
+
props,
|
68
|
+
createWalletFn,
|
69
|
+
manager,
|
70
|
+
connectOverride,
|
71
|
+
getInstalledWallets,
|
72
|
+
setLastAuthProvider,
|
73
|
+
}: AutoConnectCoreProps): Promise<boolean> => {
|
47
74
|
const { wallets, onConnect } = props;
|
48
75
|
const timeout = props.timeout ?? 15000;
|
49
76
|
|