@openfort/react 1.0.14 → 1.0.15
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/build/core/ConnectionStrategy.d.ts +2 -6
- package/build/core/strategies/EthereumBridgeStrategy.js +18 -16
- package/build/core/strategies/EthereumBridgeStrategy.js.map +1 -1
- package/build/core/strategies/EthereumEmbeddedStrategy.js +18 -16
- package/build/core/strategies/EthereumEmbeddedStrategy.js.map +1 -1
- package/build/openfort/CoreOpenfortProvider.js +3 -14
- package/build/openfort/CoreOpenfortProvider.js.map +1 -1
- package/build/version.d.ts +1 -1
- package/build/version.js +1 -1
- package/package.json +2 -2
|
@@ -25,11 +25,7 @@ export interface ConnectionStrategy {
|
|
|
25
25
|
getConnectRoutes(): ConnectRoute[];
|
|
26
26
|
/** External wallet connectors; only when wagmi/bridge exists. Otherwise []. */
|
|
27
27
|
getConnectors(): ExternalConnectorProps[];
|
|
28
|
-
/**
|
|
29
|
-
|
|
30
|
-
* @param activeEmbeddedAddress - Active embedded account address. When undefined, EVM strategies skip
|
|
31
|
-
* `wallet_switchEthereumChain` to avoid sending `account: null` to /v2/accounts/switch-chain (422).
|
|
32
|
-
*/
|
|
33
|
-
initProvider(openfort: Openfort, walletConfig: OpenfortWalletConfig, chainId?: number, activeEmbeddedAddress?: string): Promise<void>;
|
|
28
|
+
/** @param chainId - Current chain for EVM; when provided, uses this for fee sponsorship/rpc instead of config default. */
|
|
29
|
+
initProvider(openfort: Openfort, walletConfig: OpenfortWalletConfig, chainId?: number): Promise<void>;
|
|
34
30
|
disconnect(openfort: Openfort): Promise<void>;
|
|
35
31
|
}
|
|
@@ -32,7 +32,7 @@ function createEthereumBridgeStrategy(bridge, connectors) {
|
|
|
32
32
|
getConnectors() {
|
|
33
33
|
return connectors;
|
|
34
34
|
},
|
|
35
|
-
async initProvider(openfort, walletConfig, chainIdOverride
|
|
35
|
+
async initProvider(openfort, walletConfig, chainIdOverride) {
|
|
36
36
|
const chainId = chainIdOverride !== null && chainIdOverride !== void 0 ? chainIdOverride : bridge.chainId;
|
|
37
37
|
const feeSponsorshipObj = chainId != null ? resolveEthereumFeeSponsorship(walletConfig, chainId) : undefined;
|
|
38
38
|
const rpcUrls = bridge.config.chains.reduce((acc, ch) => {
|
|
@@ -53,21 +53,23 @@ function createEthereumBridgeStrategy(bridge, connectors) {
|
|
|
53
53
|
},
|
|
54
54
|
});
|
|
55
55
|
// Tell the provider which chain is active (EIP-1193). Keeps provider in sync with wagmi.
|
|
56
|
-
//
|
|
57
|
-
//
|
|
58
|
-
//
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
56
|
+
// Real iframe-state check: throws when Account.fromStorage is empty (signer not yet
|
|
57
|
+
// configured by configure/create/recover). Avoids spurious /v2/accounts/switch-chain
|
|
58
|
+
// calls (422 with account=null) and redundant calls when already on target chain.
|
|
59
|
+
if (chainId == null || chainId === lastInitChainId)
|
|
60
|
+
return;
|
|
61
|
+
const wallet = await openfort.embeddedWallet.get().catch(() => null);
|
|
62
|
+
if (!(wallet === null || wallet === void 0 ? void 0 : wallet.address) || wallet.chainId === chainId)
|
|
63
|
+
return;
|
|
64
|
+
try {
|
|
65
|
+
await provider.request({
|
|
66
|
+
method: 'wallet_switchEthereumChain',
|
|
67
|
+
params: [{ chainId: `0x${chainId.toString(16)}` }],
|
|
68
|
+
});
|
|
69
|
+
lastInitChainId = chainId;
|
|
70
|
+
}
|
|
71
|
+
catch (switchErr) {
|
|
72
|
+
logger.warn('[@openfort/react] wallet_switchEthereumChain failed — provider may be on wrong chain', switchErr);
|
|
71
73
|
}
|
|
72
74
|
},
|
|
73
75
|
async disconnect(openfort) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EthereumBridgeStrategy.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EthereumBridgeStrategy.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -44,7 +44,7 @@ function createEthereumEmbeddedStrategy(walletConfig) {
|
|
|
44
44
|
getConnectors() {
|
|
45
45
|
return [];
|
|
46
46
|
},
|
|
47
|
-
async initProvider(openfort, config, chainIdOverride
|
|
47
|
+
async initProvider(openfort, config, chainIdOverride) {
|
|
48
48
|
var _a, _b;
|
|
49
49
|
const ethereum = config === null || config === void 0 ? void 0 : config.ethereum;
|
|
50
50
|
const chainId = (_a = chainIdOverride !== null && chainIdOverride !== void 0 ? chainIdOverride : ethereum === null || ethereum === void 0 ? void 0 : ethereum.chainId) !== null && _a !== void 0 ? _a : DEFAULT_DEV_CHAIN_ID;
|
|
@@ -56,21 +56,23 @@ function createEthereumEmbeddedStrategy(walletConfig) {
|
|
|
56
56
|
});
|
|
57
57
|
// Tell the provider which chain is active (EIP-1193). Without this, the provider
|
|
58
58
|
// stays on its initial chain (e.g. 80002) while fee sponsorship resolution is per-chain.
|
|
59
|
-
//
|
|
60
|
-
//
|
|
61
|
-
//
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
59
|
+
// Real iframe-state check: throws when Account.fromStorage is empty (signer not yet
|
|
60
|
+
// configured by configure/create/recover). Avoids spurious /v2/accounts/switch-chain
|
|
61
|
+
// calls (422 with account=null) and redundant calls when already on target chain.
|
|
62
|
+
if (chainId === lastInitChainId)
|
|
63
|
+
return;
|
|
64
|
+
const wallet = await openfort.embeddedWallet.get().catch(() => null);
|
|
65
|
+
if (!(wallet === null || wallet === void 0 ? void 0 : wallet.address) || wallet.chainId === chainId)
|
|
66
|
+
return;
|
|
67
|
+
try {
|
|
68
|
+
await provider.request({
|
|
69
|
+
method: 'wallet_switchEthereumChain',
|
|
70
|
+
params: [{ chainId: `0x${chainId.toString(16)}` }],
|
|
71
|
+
});
|
|
72
|
+
lastInitChainId = chainId;
|
|
73
|
+
}
|
|
74
|
+
catch (switchErr) {
|
|
75
|
+
logger.warn('[@openfort/react] wallet_switchEthereumChain failed — provider may be on wrong chain', switchErr);
|
|
74
76
|
}
|
|
75
77
|
},
|
|
76
78
|
async disconnect(openfort) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EthereumEmbeddedStrategy.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EthereumEmbeddedStrategy.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -245,24 +245,13 @@ const CoreOpenfortProvider = ({ children, onConnect, onDisconnect, openfortConfi
|
|
|
245
245
|
}
|
|
246
246
|
// Skip if we already initialized with the same parameters
|
|
247
247
|
const feeSponsorshipPolicy = evmChainId != null ? (_a = resolveEthereumFeeSponsorship(walletConfig, evmChainId)) === null || _a === void 0 ? void 0 : _a.policy : undefined;
|
|
248
|
-
|
|
249
|
-
// from absent → present, we re-init so wallet_switchEthereumChain can finally fire
|
|
250
|
-
// (openfort-js needs the active account set, otherwise it sends `account: null` → 422).
|
|
251
|
-
const hasActiveEmbeddedAddress = !!storeActiveEmbeddedAddress;
|
|
252
|
-
const initKey = {
|
|
253
|
-
kind: strategy.kind,
|
|
254
|
-
chainType: strategy.chainType,
|
|
255
|
-
evmChainId,
|
|
256
|
-
feeSponsorshipPolicy,
|
|
257
|
-
hasActiveEmbeddedAddress,
|
|
258
|
-
};
|
|
248
|
+
const initKey = { kind: strategy.kind, chainType: strategy.chainType, evmChainId, feeSponsorshipPolicy };
|
|
259
249
|
const prev = lastInitRef.current;
|
|
260
250
|
if (prev &&
|
|
261
251
|
prev.kind === initKey.kind &&
|
|
262
252
|
prev.chainType === initKey.chainType &&
|
|
263
253
|
prev.evmChainId === initKey.evmChainId &&
|
|
264
|
-
prev.feeSponsorshipPolicy === initKey.feeSponsorshipPolicy
|
|
265
|
-
prev.hasActiveEmbeddedAddress === initKey.hasActiveEmbeddedAddress) {
|
|
254
|
+
prev.feeSponsorshipPolicy === initKey.feeSponsorshipPolicy) {
|
|
266
255
|
return;
|
|
267
256
|
}
|
|
268
257
|
// Prevent concurrent initProvider calls
|
|
@@ -272,7 +261,7 @@ const CoreOpenfortProvider = ({ children, onConnect, onDisconnect, openfortConfi
|
|
|
272
261
|
initInProgressRef.current = true;
|
|
273
262
|
let cancelled = false;
|
|
274
263
|
strategy
|
|
275
|
-
.initProvider(openfort, walletConfig, evmChainId
|
|
264
|
+
.initProvider(openfort, walletConfig, evmChainId)
|
|
276
265
|
.then(() => {
|
|
277
266
|
if (cancelled)
|
|
278
267
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreOpenfortProvider.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CoreOpenfortProvider.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/build/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const OPENFORT_VERSION = "1.0.
|
|
1
|
+
export declare const OPENFORT_VERSION = "1.0.15";
|
package/build/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openfort/react",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.15",
|
|
4
4
|
"author": "Openfort (https://www.openfort.io)",
|
|
5
5
|
"license": "BSD-2-Clause license",
|
|
6
6
|
"description": "The easiest way to integrate Openfort to your project.",
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"react"
|
|
66
66
|
],
|
|
67
67
|
"dependencies": {
|
|
68
|
-
"@openfort/openfort-js": "
|
|
68
|
+
"@openfort/openfort-js": "1.3.3",
|
|
69
69
|
"buffer": "^6.0.3",
|
|
70
70
|
"detect-browser": "^5.3.0",
|
|
71
71
|
"fast-password-entropy": "^1.1.1",
|