diff --git a/package-lock.json b/package-lock.json index 5b0185240..b168bf172 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "xverse-web-extension", - "version": "0.29.1", + "version": "0.29.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "xverse-web-extension", - "version": "0.29.1", + "version": "0.29.2", "dependencies": { "@ledgerhq/hw-transport-webusb": "^6.27.13", "@phosphor-icons/react": "^2.0.10", diff --git a/package.json b/package.json index 113637260..e074b71f2 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "xverse-web-extension", "description": "A Bitcoin wallet for Web3", - "version": "0.29.1", + "version": "0.29.2", "private": true, "engines": { "node": "^18.18.2" diff --git a/src/content-scripts/content-script.ts b/src/content-scripts/content-script.ts index 50e3081eb..d14639542 100644 --- a/src/content-scripts/content-script.ts +++ b/src/content-scripts/content-script.ts @@ -210,7 +210,7 @@ const injectInPageScript = (isPriority) => { inpage.src = chrome.runtime.getURL('inpage.js'); inpage.id = 'xverse-wallet-provider'; inpage.setAttribute('data-is-priority', isPriority ? 'true' : ''); - document.body.appendChild(inpage); + document.head.appendChild(inpage); }; getIsPriorityWallet() diff --git a/src/inpage/index.ts b/src/inpage/index.ts index 3e4fe91ba..0f4b453e9 100644 --- a/src/inpage/index.ts +++ b/src/inpage/index.ts @@ -23,15 +23,28 @@ try { if (document.currentScript?.dataset.isPriority) { Object.defineProperties(window, { StacksProvider: { get: () => StacksMethodsProvider, set: () => {} }, - BitcoinProvider: { get: () => SatsMethodsProvider, set: () => {} }, }); } else { window.StacksProvider = StacksMethodsProvider as StacksProvider; + } +} catch (e) { + console.log( + 'Failed setting Xverse Stacks default provider. Another wallet may have already set it in an immutable way.', + ); + console.error(e); +} + +try { + if (document.currentScript?.dataset.isPriority) { + Object.defineProperties(window, { + BitcoinProvider: { get: () => SatsMethodsProvider, set: () => {} }, + }); + } else { window.BitcoinProvider = SatsMethodsProvider; } } catch (e) { console.log( - 'Failed setting Xverse default providers. Another wallet may have already set them in an immutable way.', + 'Failed setting Xverse Bitcoin default provider. Another wallet may have already set it in an immutable way.', ); console.error(e); } diff --git a/src/manifest.json b/src/manifest.json index 65435f911..bbc8b64f6 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -25,6 +25,7 @@ }, "content_scripts": [ { + "run_at": "document_start", "js": ["browser-polyfill.js", "content-script.js"], "matches": ["*://*/*"], "all_frames": true