From e33490f6fc595d6c9e481563e191b09acb5b363d Mon Sep 17 00:00:00 2001 From: Adam K Dean Date: Tue, 14 Jul 2026 11:29:38 +0100 Subject: [PATCH 1/4] fix: show friendly error when connecting metamask on unsupported network --- src/components/tx/DepositModal.vue | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/components/tx/DepositModal.vue b/src/components/tx/DepositModal.vue index 8e0af30..cd0288c 100644 --- a/src/components/tx/DepositModal.vue +++ b/src/components/tx/DepositModal.vue @@ -232,6 +232,8 @@ const networks = { } } +const unsupportedNetworkError = 'Unsupported network. Please switch MetaMask to Ethereum Mainnet and try again.' + export default { name: 'DepositModal', components: { @@ -367,6 +369,7 @@ export default { // https://eips.ethereum.org/EIPS/eip-695 this.setChainId(await window.ethereum.request({ method: 'eth_chainId' })) window.ethereum.on('chainChanged', this.setChainId) + if (this.network === '') return this.setAccounts(accounts) window.ethereum.on('accountsChanged', this.setAccounts) @@ -446,6 +449,12 @@ export default { } if (ethAddress === this.ethAddress) return + if (bridge.addresses[this.network] === undefined) { + this.connectError = unsupportedNetworkError + this.connectStatus = '' + return + } + const provider = new ethers.providers.Web3Provider(window.ethereum) this.ethAddress = ethAddress @@ -464,7 +473,7 @@ export default { setChainId(chainId) { // https://eips.ethereum.org/EIPS/eip-1193#chain-changes if (networks[chainId] === undefined) { - this.connectError = 'Unsupported network. Please use Ethereum Mainnet or Rinkeby Test Network.' + this.connectError = unsupportedNetworkError this.connectStatus = '' return } From 9f37ea8053bf76b8bedcc5da5ec2aa4a7c98a917 Mon Sep 17 00:00:00 2001 From: Adam K Dean Date: Tue, 14 Jul 2026 11:32:26 +0100 Subject: [PATCH 2/4] feat: show edge token contract address hint in deposit modal --- src/components/tx/DepositModal.vue | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/components/tx/DepositModal.vue b/src/components/tx/DepositModal.vue index cd0288c..0963f0a 100644 --- a/src/components/tx/DepositModal.vue +++ b/src/components/tx/DepositModal.vue @@ -76,6 +76,13 @@ +
+ + Can't see your EDGE in MetaMask? Add the token using contract address + {{ tokenAddress }} + +
+ @@ -331,6 +338,10 @@ export default { ethTxUrl() { if (this.completedTx === null) return '' return `${etherscanUrls[this.chainId]}/tx/${this.completedTx.hash}` + }, + tokenAddress() { + const addresses = bridge.addresses[this.network] + return addresses === undefined ? '' : addresses.token } }, watch: { From aa38bcf581826590c7e2b1778f410f32584168f6 Mon Sep 17 00:00:00 2001 From: Adam K Dean Date: Tue, 14 Jul 2026 11:47:09 +0100 Subject: [PATCH 3/4] feat: add one-click add-token-to-metamask via wallet_watchasset --- src/components/tx/DepositModal.vue | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/components/tx/DepositModal.vue b/src/components/tx/DepositModal.vue index 0963f0a..c31c70c 100644 --- a/src/components/tx/DepositModal.vue +++ b/src/components/tx/DepositModal.vue @@ -78,7 +78,9 @@
- Can't see your EDGE in MetaMask? Add the token using contract address + Can't see your EDGE in MetaMask? + Add the token + or add it manually using contract address {{ tokenAddress }}
@@ -371,6 +373,25 @@ export default { checkPassword(input) { return storage.comparePassword(input) }, + async addTokenToMetaMask() { + try { + // https://eips.ethereum.org/EIPS/eip-747 + await window.ethereum.request({ + method: 'wallet_watchAsset', + params: { + type: 'ERC20', + options: { + address: this.tokenAddress, + symbol: 'EDGE', + decimals: 18 + } + } + }) + } + catch (err) { + console.error(err) + } + }, async connect() { this.connectStatus = 'connecting' try { From ea90fd2e751fd8260c3b029b0177cfd218792d4c Mon Sep 17 00:00:00 2001 From: Adam K Dean Date: Tue, 14 Jul 2026 11:50:17 +0100 Subject: [PATCH 4/4] chore: bump version to 1.24.0 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index ab1542c..1fc5e33 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "wallet", - "version": "1.23.5", + "version": "1.24.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "wallet", - "version": "1.23.5", + "version": "1.24.0", "license": "GPL", "dependencies": { "@chenfengyuan/vue-qrcode": "^2.0.0", diff --git a/package.json b/package.json index 89be3ce..b29c804 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wallet", - "version": "1.23.6", + "version": "1.24.0", "description": "Web wallet for managing $EDGE", "private": true, "license": "GPL",