From 0757cd7dfaa46004f6b68296a22f9672c061318a Mon Sep 17 00:00:00 2001 From: mtyszczak <mateusz.tyszczak@gmail.com> Date: Tue, 11 Mar 2025 13:27:16 +0100 Subject: [PATCH] Use snap from npm --- package.json | 4 +--- public/dist/bundle.js | 1 - public/snap.manifest.json | 1 - public/src/assets/icon.svg | 1 - src/utils/wallet/metamask/metamask.ts | 6 +++--- src/utils/wallet/metamask/snap.ts | 4 +++- 6 files changed, 7 insertions(+), 10 deletions(-) delete mode 120000 public/dist/bundle.js delete mode 120000 public/snap.manifest.json delete mode 120000 public/src/assets/icon.svg diff --git a/package.json b/package.json index 1365b7a..cc7fe50 100644 --- a/package.json +++ b/package.json @@ -14,8 +14,7 @@ "license": "MIT", "type": "module", "files": [ - "dist/index.html", - "dist/assets" + "dist" ], "scripts": { "start": "vite", @@ -24,7 +23,6 @@ }, "dependencies": {}, "devDependencies": { - "@hiveio/metamask-snap": "1.0.0", "@hiveio/wax": "1.27.6-rc7-250304235913", "@mdi/js": "^7.4.47", "@metamask/providers": "^16.0.0", diff --git a/public/dist/bundle.js b/public/dist/bundle.js deleted file mode 120000 index 7735287..0000000 --- a/public/dist/bundle.js +++ /dev/null @@ -1 +0,0 @@ -../../node_modules/@hiveio/metamask-snap/dist/bundle.js \ No newline at end of file diff --git a/public/snap.manifest.json b/public/snap.manifest.json deleted file mode 120000 index f36a9f0..0000000 --- a/public/snap.manifest.json +++ /dev/null @@ -1 +0,0 @@ -../node_modules/@hiveio/metamask-snap/snap.manifest.json \ No newline at end of file diff --git a/public/src/assets/icon.svg b/public/src/assets/icon.svg deleted file mode 120000 index 913d594..0000000 --- a/public/src/assets/icon.svg +++ /dev/null @@ -1 +0,0 @@ -../../../node_modules/@hiveio/metamask-snap/src/assets/icon.svg \ No newline at end of file diff --git a/src/utils/wallet/metamask/metamask.ts b/src/utils/wallet/metamask/metamask.ts index d965c29..1da6ed0 100644 --- a/src/utils/wallet/metamask/metamask.ts +++ b/src/utils/wallet/metamask/metamask.ts @@ -1,5 +1,5 @@ import type { MetaMaskInpageProvider } from "@metamask/providers"; -import { defaultSnapOrigin, isLocalSnap } from "./snap"; +import { defaultSnapOrigin, defaultSnapVersion, isLocalSnap } from "./snap"; export type MetamaskSnapData = { permissionName: string; @@ -37,9 +37,9 @@ export class MetamaskWallet { * Request the snap to be installed or reinstalled. * You can check if snap is installed using {@link isInstalled} */ - public async installSnap(version?: string) { + public async installSnap(version: string | undefined = defaultSnapVersion) { const snaps = await this.request('wallet_requestSnaps', { - [defaultSnapOrigin]: version ? { version } : {} + [defaultSnapOrigin]: (typeof version === "undefined" || version.length === 0) ? {} : { version } }) as MetamaskSnapsResponse; this.currentSnap = snaps[defaultSnapOrigin]!; diff --git a/src/utils/wallet/metamask/snap.ts b/src/utils/wallet/metamask/snap.ts index 423a429..8d313df 100644 --- a/src/utils/wallet/metamask/snap.ts +++ b/src/utils/wallet/metamask/snap.ts @@ -6,7 +6,9 @@ * don't. Instead, rename `.env.production.dist` to `.env.production` and set the production URL * there. Running `yarn build` will automatically use the production environment variables. */ -export const defaultSnapOrigin = import.meta.env.SNAP_ORIGIN ?? `local:${window.location.protocol}//${window.location.host}`; +export const defaultSnapOrigin = import.meta.env.SNAP_ORIGIN ?? `npm:@hiveio/metamask-snap`; + +export const defaultSnapVersion: string | undefined = import.meta.env.SNAP_VERSION ?? '1.0.1'; /** * Check if a snap ID is a local snap ID. -- GitLab