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