From e721c1446a5b27aabf1c58b4282a2a376de8165d Mon Sep 17 00:00:00 2001 From: kvhnuke <10602065+kvhnuke@users.noreply.github.com> Date: Tue, 2 Apr 2024 10:47:12 -0700 Subject: [PATCH 1/5] fix: opera issue and form logo --- .../extension/configs/rollup.config.base.mjs | 1 + packages/extension/package.json | 2 +- .../extension/src/providers/ethereum/inject.ts | 3 +++ .../providers/ethereum/networks/form-testnet.ts | 2 +- .../providers/ethereum/networks/icons/form.png | Bin 0 -> 33086 bytes packages/extension/src/types/shims-vue.d.ts | 1 + 6 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 packages/extension/src/providers/ethereum/networks/icons/form.png diff --git a/packages/extension/configs/rollup.config.base.mjs b/packages/extension/configs/rollup.config.base.mjs index abbe66bc1..6f83f2904 100644 --- a/packages/extension/configs/rollup.config.base.mjs +++ b/packages/extension/configs/rollup.config.base.mjs @@ -18,6 +18,7 @@ const base = { replace({ preventAssignment: true, __VERSION__: JSON.stringify(packageJson.version), + __IS_OPERA__: process.env.BROWSER === "opera-edge", }), typescript(), commonjs(), diff --git a/packages/extension/package.json b/packages/extension/package.json index b3750fc5c..93ab9410d 100644 --- a/packages/extension/package.json +++ b/packages/extension/package.json @@ -5,7 +5,7 @@ "scripts": { "zip": "cd dist; zip -r release.zip *;", "build:chrome": "cross-env BROWSER='chrome' vue-cli-service build && yarn build:rollup", - "build:operaedge": "cross-env BROWSER='opera-edge' vue-cli-service build && yarn build:rollup", + "build:operaedge": "cross-env BROWSER='opera-edge' vue-cli-service build && cross-env BROWSER='opera-edge' yarn build:rollup", "build:firefox": "cross-env BROWSER='firefox' vue-cli-service build && yarn build:rollup && node configs/get-system-info.js", "lint": "vue-cli-service lint --fix", "build:rollup": "cross-env minify=on rollup --config configs/rollup.config.contentscript.mjs && cross-env minify=on rollup --config configs/rollup.config.inject.mjs", diff --git a/packages/extension/src/providers/ethereum/inject.ts b/packages/extension/src/providers/ethereum/inject.ts index 24a7d59ee..89807fc1e 100644 --- a/packages/extension/src/providers/ethereum/inject.ts +++ b/packages/extension/src/providers/ethereum/inject.ts @@ -146,6 +146,9 @@ const injectDocument = ( const provider = new Provider(options); const proxiedProvider = new Proxy(provider, ProxyHandler); document["enkrypt"]["providers"][options.name] = provider; + if (__IS_OPERA__) { + document[options.name] = proxiedProvider; // Opera expects you to inject immediatly and their wallet switcher will handle conflicts + } options .sendMessageHandler( ProviderName.enkrypt, diff --git a/packages/extension/src/providers/ethereum/networks/form-testnet.ts b/packages/extension/src/providers/ethereum/networks/form-testnet.ts index ee6e82f0b..aba41e7dc 100644 --- a/packages/extension/src/providers/ethereum/networks/form-testnet.ts +++ b/packages/extension/src/providers/ethereum/networks/form-testnet.ts @@ -15,7 +15,7 @@ const formTestnetOptions: EvmNetworkOptions = { currencyName: "ETH", currencyNameLong: "Ethereum", node: "wss://testnet-rpc.form.network/ws", - icon: require("./icons/eth.svg"), + icon: require("./icons/form.png"), activityHandler: wrapActivityHandler(EtherscanActivity), }; diff --git a/packages/extension/src/providers/ethereum/networks/icons/form.png b/packages/extension/src/providers/ethereum/networks/icons/form.png new file mode 100644 index 0000000000000000000000000000000000000000..4156b8201162b84f768178d1486cffb74f1584a5 GIT binary patch literal 33086 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 Bu!;Zx literal 0 HcmV?d00001 diff --git a/packages/extension/src/types/shims-vue.d.ts b/packages/extension/src/types/shims-vue.d.ts index 9bf592026..08730cdd9 100644 --- a/packages/extension/src/types/shims-vue.d.ts +++ b/packages/extension/src/types/shims-vue.d.ts @@ -1,3 +1,4 @@ declare module "*.vue"; declare module "vue3-lottie"; declare const __VERSION__: string; +declare const __IS_OPERA__: boolean; From 705e2c50d2ae16cc4cbb98fde298642432330c1b Mon Sep 17 00:00:00 2001 From: kvhnuke <10602065+kvhnuke@users.noreply.github.com> Date: Tue, 2 Apr 2024 10:51:13 -0700 Subject: [PATCH 2/5] devop: prep for release --- packages/extension/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/extension/package.json b/packages/extension/package.json index 93ab9410d..38857ca7e 100644 --- a/packages/extension/package.json +++ b/packages/extension/package.json @@ -1,6 +1,6 @@ { "name": "@enkryptcom/extension", - "version": "1.37.0", + "version": "1.37.1", "private": true, "scripts": { "zip": "cd dist; zip -r release.zip *;", From 6d4f2bc3ab6559baa0e0a4baba7b8fd3b7885a41 Mon Sep 17 00:00:00 2001 From: kvhnuke <10602065+kvhnuke@users.noreply.github.com> Date: Tue, 2 Apr 2024 13:16:15 -0700 Subject: [PATCH 3/5] devop: remove goerli --- .../src/libs/nft-handlers/simplehash.ts | 1 - .../providers/etherscan/configs.ts | 1 - .../providers/rivet/configs.ts | 1 - .../src/providers/ethereum/networks/goerli.ts | 25 ------------------- packages/hw-wallets/src/configs.ts | 1 - .../hw-wallets/src/ledger/ethereum/configs.ts | 1 - packages/hw-wallets/src/trezor/configs.ts | 1 - packages/types/src/networks.ts | 1 - 8 files changed, 32 deletions(-) delete mode 100644 packages/extension/src/providers/ethereum/networks/goerli.ts diff --git a/packages/extension/src/libs/nft-handlers/simplehash.ts b/packages/extension/src/libs/nft-handlers/simplehash.ts index 88361664c..b644ee64d 100644 --- a/packages/extension/src/libs/nft-handlers/simplehash.ts +++ b/packages/extension/src/libs/nft-handlers/simplehash.ts @@ -24,7 +24,6 @@ export default async ( [NetworkNames.MaticZK]: "polygon-zkevm", [NetworkNames.ZkSync]: "zksync-era", [NetworkNames.ZkSyncGoerli]: "zksync-era-testnet", - [NetworkNames.Goerli]: "ethereum-goerli", [NetworkNames.Base]: "base", }; if (!Object.keys(supportedNetworks).includes(network.name)) diff --git a/packages/extension/src/providers/ethereum/libs/activity-handlers/providers/etherscan/configs.ts b/packages/extension/src/providers/ethereum/libs/activity-handlers/providers/etherscan/configs.ts index ef4490c5b..54b8bcf51 100644 --- a/packages/extension/src/providers/ethereum/libs/activity-handlers/providers/etherscan/configs.ts +++ b/packages/extension/src/providers/ethereum/libs/activity-handlers/providers/etherscan/configs.ts @@ -2,7 +2,6 @@ import { NetworkNames } from "@enkryptcom/types"; const NetworkEndpoints: Record = { [NetworkNames.Ethereum]: "https://api.etherscan.io/", - [NetworkNames.Goerli]: "https://api-goerli.etherscan.io/", [NetworkNames.Binance]: "https://api.bscscan.com/", [NetworkNames.Matic]: "https://api.polygonscan.com/", [NetworkNames.Moonbeam]: "https://api-moonbeam.moonscan.io/", diff --git a/packages/extension/src/providers/ethereum/libs/activity-handlers/providers/rivet/configs.ts b/packages/extension/src/providers/ethereum/libs/activity-handlers/providers/rivet/configs.ts index 24f3c97ee..daec718ea 100644 --- a/packages/extension/src/providers/ethereum/libs/activity-handlers/providers/rivet/configs.ts +++ b/packages/extension/src/providers/ethereum/libs/activity-handlers/providers/rivet/configs.ts @@ -3,7 +3,6 @@ import { NetworkNames } from "@enkryptcom/types"; const NetworkEndpoints = { [NetworkNames.Ethereum]: "https://nodes.mewapi.io/rpc/eth", [NetworkNames.Sepolia]: "https://nodes.mewapi.io/rpc/sepolia", - [NetworkNames.Goerli]: "https://nodes.mewapi.io/rpc/goerli", [NetworkNames.EthereumClassic]: "https://nodes.mewapi.io/rpc/etc", }; diff --git a/packages/extension/src/providers/ethereum/networks/goerli.ts b/packages/extension/src/providers/ethereum/networks/goerli.ts deleted file mode 100644 index 13fadb1e2..000000000 --- a/packages/extension/src/providers/ethereum/networks/goerli.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { NetworkNames } from "@enkryptcom/types"; -import { EvmNetwork, EvmNetworkOptions } from "../types/evm-network"; -import { RivetActivity } from "../libs/activity-handlers"; -import wrapActivityHandler from "@/libs/activity-state/wrap-activity-handler"; -import shNFTHandler from "@/libs/nft-handlers/simplehash"; - -const goerliOptions: EvmNetworkOptions = { - name: NetworkNames.Goerli, - name_long: "Goerli", - homePage: "https://github.com/goerli/testnet", - blockExplorerTX: "https://goerli.etherscan.io/tx/[[txHash]]", - blockExplorerAddr: "https://goerli.etherscan.io/address/[[address]]", - chainID: "0x5", - isTestNetwork: true, - currencyName: "GöETH", - currencyNameLong: "Goerli", - node: "wss://nodes.mewapi.io/ws/goerli", - icon: require("./icons/eth.svg"), - NFTHandler: shNFTHandler, - activityHandler: wrapActivityHandler(RivetActivity), -}; - -const goerli = new EvmNetwork(goerliOptions); - -export default goerli; diff --git a/packages/hw-wallets/src/configs.ts b/packages/hw-wallets/src/configs.ts index 454888c1d..f7454fb4f 100644 --- a/packages/hw-wallets/src/configs.ts +++ b/packages/hw-wallets/src/configs.ts @@ -15,7 +15,6 @@ const ledgerAppNames = { [NetworkNames.Binance]: "Ethereum", [NetworkNames.Rootstock]: "RSK", [NetworkNames.EthereumClassic]: "Ethereum Classic", - [NetworkNames.Goerli]: "Ethereum", [NetworkNames.Acala]: "Acala", [NetworkNames.Kusama]: "Kusama", [NetworkNames.Polkadot]: "Polkadot", diff --git a/packages/hw-wallets/src/ledger/ethereum/configs.ts b/packages/hw-wallets/src/ledger/ethereum/configs.ts index e737ff91e..5698e8109 100644 --- a/packages/hw-wallets/src/ledger/ethereum/configs.ts +++ b/packages/hw-wallets/src/ledger/ethereum/configs.ts @@ -31,6 +31,5 @@ const supportedPaths = { bip44Paths.ethereumLedger, bip44Paths.ethereumLedgerLive, ], - [NetworkNames.Goerli]: [bip44Paths.ethereumTestnetLedger], }; export { supportedPaths }; diff --git a/packages/hw-wallets/src/trezor/configs.ts b/packages/hw-wallets/src/trezor/configs.ts index c7087a91e..c73ca4c79 100644 --- a/packages/hw-wallets/src/trezor/configs.ts +++ b/packages/hw-wallets/src/trezor/configs.ts @@ -7,7 +7,6 @@ const supportedPaths = { [NetworkNames.Avalanche]: [bip44Paths.ethereum], [NetworkNames.Binance]: [bip44Paths.ethereum], [NetworkNames.EthereumClassic]: [bip44Paths.ethereumClassic], - [NetworkNames.Goerli]: [bip44Paths.ethereumTestnet], [NetworkNames.Rootstock]: [bip44Paths.rootstock], }; export { supportedPaths }; diff --git a/packages/types/src/networks.ts b/packages/types/src/networks.ts index 08198e4bb..ffcad40c0 100644 --- a/packages/types/src/networks.ts +++ b/packages/types/src/networks.ts @@ -3,7 +3,6 @@ export enum NetworkNames { Okc = "OKT", Binance = "BNB", EthereumClassic = "ETC", - Goerli = "GOERLI", Sepolia = "SEPOLIA", Matic = "MATIC", MaticZK = "MATICZK", From 8ccd716e38f66975415e904539edcb9b1853b1cb Mon Sep 17 00:00:00 2001 From: kvhnuke <10602065+kvhnuke@users.noreply.github.com> Date: Tue, 2 Apr 2024 13:16:48 -0700 Subject: [PATCH 4/5] devop: remove goerli --- packages/extension/src/providers/ethereum/networks/index.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/extension/src/providers/ethereum/networks/index.ts b/packages/extension/src/providers/ethereum/networks/index.ts index b52ab6e70..e45505591 100644 --- a/packages/extension/src/providers/ethereum/networks/index.ts +++ b/packages/extension/src/providers/ethereum/networks/index.ts @@ -1,5 +1,4 @@ import ethNode from "./eth"; -import goerliNode from "./goerli"; import etcNode from "./etc"; import maticNode from "./matic"; import maticZkNode from "./maticzk"; @@ -35,7 +34,6 @@ import formTestnet from "./form-testnet"; import artheraTestNode from "./aat"; export default { - goerli: goerliNode, sepolia: sepoliaNode, ethereum: ethNode, etc: etcNode, From 4520aefc9079c0824f2f4e344675aaf53b924edc Mon Sep 17 00:00:00 2001 From: kvhnuke <10602065+kvhnuke@users.noreply.github.com> Date: Tue, 2 Apr 2024 14:23:35 -0700 Subject: [PATCH 5/5] fix: tests --- packages/extension/configs/testNullCompiler.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/extension/configs/testNullCompiler.js b/packages/extension/configs/testNullCompiler.js index 061b8ebc9..152247070 100644 --- a/packages/extension/configs/testNullCompiler.js +++ b/packages/extension/configs/testNullCompiler.js @@ -1,5 +1,6 @@ const noop = () => 1; global.__VERSION__ = "test"; +global.__IS_OPERA__ = false; require.extensions[".css"] = noop; require.extensions[".scss"] = noop; require.extensions[".png"] = noop;