feat: lazy-load safe only if iframed (#7360)
This commit is contained in:
parent
d73c368ee4
commit
b9fc65ec9a
15
patches/@web3-react+gnosis-safe+8.2.3.patch
Normal file
15
patches/@web3-react+gnosis-safe+8.2.3.patch
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
diff --git a/node_modules/@web3-react/gnosis-safe/dist/index.js b/node_modules/@web3-react/gnosis-safe/dist/index.js
|
||||||
|
index 015a33c..4cd7cde 100644
|
||||||
|
--- a/node_modules/@web3-react/gnosis-safe/dist/index.js
|
||||||
|
+++ b/node_modules/@web3-react/gnosis-safe/dist/index.js
|
||||||
|
@@ -68,8 +68,8 @@ class GnosisSafe extends types_1.Connector {
|
||||||
|
if (this.eagerConnection)
|
||||||
|
return;
|
||||||
|
// kick off import early to minimize waterfalls
|
||||||
|
- const SafeAppProviderPromise = Promise.resolve().then(() => __importStar(require('@safe-global/safe-apps-provider'))).then(({ SafeAppProvider }) => SafeAppProvider);
|
||||||
|
- yield (this.eagerConnection = Promise.resolve().then(() => __importStar(require('@safe-global/safe-apps-sdk'))).then((m) => __awaiter(this, void 0, void 0, function* () {
|
||||||
|
+ const SafeAppProviderPromise = Promise.resolve().then(async () => __importStar(await import('@safe-global/safe-apps-provider'))).then(({ SafeAppProvider }) => SafeAppProvider);
|
||||||
|
+ yield (this.eagerConnection = Promise.resolve().then(async () => __importStar(await import('@safe-global/safe-apps-sdk'))).then((m) => __awaiter(this, void 0, void 0, function* () {
|
||||||
|
this.sdk = new m.default(this.options);
|
||||||
|
const safe = yield Promise.race([
|
||||||
|
this.sdk.safe.getInfo(),
|
@ -20,8 +20,14 @@ async function connect(connector: Connector, type: ConnectionType) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
connect(gnosisSafeConnection.connector, ConnectionType.GNOSIS_SAFE)
|
// The Safe connector will only work from safe.global, which iframes;
|
||||||
|
// it is only necessary to try (and to load all the deps) if we are in an iframe.
|
||||||
|
if (window !== window.parent) {
|
||||||
|
connect(gnosisSafeConnection.connector, ConnectionType.GNOSIS_SAFE)
|
||||||
|
}
|
||||||
|
|
||||||
connect(networkConnection.connector, ConnectionType.NETWORK)
|
connect(networkConnection.connector, ConnectionType.NETWORK)
|
||||||
|
|
||||||
const selectedWallet = toConnectionType(localStorage.getItem(selectedWalletKey) ?? undefined)
|
const selectedWallet = toConnectionType(localStorage.getItem(selectedWalletKey) ?? undefined)
|
||||||
if (selectedWallet) {
|
if (selectedWallet) {
|
||||||
const selectedConnection = getConnection(selectedWallet)
|
const selectedConnection = getConnection(selectedWallet)
|
||||||
|
Loading…
Reference in New Issue
Block a user