From aabea15a18dfad2d9dfba842a8d866dd429256cb Mon Sep 17 00:00:00 2001 From: Jan Turk Date: Fri, 4 Oct 2024 00:56:06 +0200 Subject: [PATCH 1/8] Add Fraxtal network --- .../providers/etherscan/configs.ts | 1 + .../libs/assets-handlers/assetinfo-mew.ts | 4 +++ .../libs/assets-handlers/token-lists.ts | 1 + .../assets-handlers/types/tokenbalance-mew.ts | 3 +- .../providers/ethereum/networks/fraxtal.ts | 29 +++++++++++++++++ .../ethereum/networks/icons/fraxtal.svg | 32 +++++++++++++++++++ .../src/providers/ethereum/networks/index.ts | 2 ++ packages/types/src/networks.ts | 2 ++ 8 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 packages/extension/src/providers/ethereum/networks/fraxtal.ts create mode 100755 packages/extension/src/providers/ethereum/networks/icons/fraxtal.svg 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 64aa911bc..c904df373 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 @@ -68,6 +68,7 @@ const NetworkEndpoints: Record = { [NetworkNames.Mode]: "https://explorer.mode.network/", [NetworkNames.ProofOfPlayApex]: "https://explorer.apex.proofofplay.com/", [NetworkNames.Scroll]: "https://api.scrollscan.com/", + [NetworkNames.Fraxtal]: "https://api.fraxscan.com/", }; export { NetworkEndpoints }; diff --git a/packages/extension/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.ts b/packages/extension/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.ts index 27e45a6f3..24399d099 100644 --- a/packages/extension/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.ts +++ b/packages/extension/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.ts @@ -175,6 +175,10 @@ const supportedNetworks: Record = { tbName: "rari", cgPlatform: undefined, }, + [NetworkNames.Fraxtal]: { + tbName: "frax", + cgPlatform: CoingeckoPlatform.Fraxtal, + }, }; const getTokens = ( diff --git a/packages/extension/src/providers/ethereum/libs/assets-handlers/token-lists.ts b/packages/extension/src/providers/ethereum/libs/assets-handlers/token-lists.ts index d9ab4eb20..c1ddbb282 100644 --- a/packages/extension/src/providers/ethereum/libs/assets-handlers/token-lists.ts +++ b/packages/extension/src/providers/ethereum/libs/assets-handlers/token-lists.ts @@ -40,6 +40,7 @@ const TokenList: Record = { [NetworkNames.OpBNB]: `https://tokens.coingecko.com/${CoingeckoPlatform.OpBNB}/all.json`, [NetworkNames.Scroll]: `https://tokens.coingecko.com/${CoingeckoPlatform.Scroll}/all.json`, [NetworkNames.Rari]: `https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/tokenlists/rari.json`, + [NetworkNames.Fraxtal]: `https://tokens.coingecko.com/${CoingeckoPlatform.Fraxtal}/all.json`, }; const getKnownNetworkTokens = async ( diff --git a/packages/extension/src/providers/ethereum/libs/assets-handlers/types/tokenbalance-mew.ts b/packages/extension/src/providers/ethereum/libs/assets-handlers/types/tokenbalance-mew.ts index 35e0adb59..c0b1dde97 100644 --- a/packages/extension/src/providers/ethereum/libs/assets-handlers/types/tokenbalance-mew.ts +++ b/packages/extension/src/providers/ethereum/libs/assets-handlers/types/tokenbalance-mew.ts @@ -62,4 +62,5 @@ export type SupportedNetworkNames = | NetworkNames.Mode | NetworkNames.OpBNB | NetworkNames.Scroll - | NetworkNames.Rari; + | NetworkNames.Rari + | NetworkNames.Fraxtal; diff --git a/packages/extension/src/providers/ethereum/networks/fraxtal.ts b/packages/extension/src/providers/ethereum/networks/fraxtal.ts new file mode 100644 index 000000000..7fb84abb7 --- /dev/null +++ b/packages/extension/src/providers/ethereum/networks/fraxtal.ts @@ -0,0 +1,29 @@ +import { CoingeckoPlatform, NetworkNames } from "@enkryptcom/types"; +import { EvmNetwork, EvmNetworkOptions } from "../types/evm-network"; +import assetsInfoHandler from "@/providers/ethereum/libs/assets-handlers/assetinfo-mew"; +import mewNFTHandler from "@/libs/nft-handlers/mew"; +import { EtherscanActivity } from "../libs/activity-handlers"; +import wrapActivityHandler from "@/libs/activity-state/wrap-activity-handler"; + +const fraxtalOptions: EvmNetworkOptions = { + name: NetworkNames.Fraxtal, + name_long: "Fraxtal", + homePage: "https://www.frax.com/", + blockExplorerTX: "https://fraxscan.com/tx/[[txHash]]", + blockExplorerAddr: "https://fraxscan.com/address/[[address]]", + chainID: "0xfc", + isTestNetwork: false, + currencyName: "frxETH", + currencyNameLong: "Frax Ether", + node: "https://rpc.frax.com", + icon: require("./icons/fraxtal.svg"), + coingeckoID: "fraxtal", + coingeckoPlatform: CoingeckoPlatform.Fraxtal, + NFTHandler: mewNFTHandler, + assetsInfoHandler, + activityHandler: wrapActivityHandler(EtherscanActivity), +}; + +const fraxtal = new EvmNetwork(fraxtalOptions); + +export default fraxtal; diff --git a/packages/extension/src/providers/ethereum/networks/icons/fraxtal.svg b/packages/extension/src/providers/ethereum/networks/icons/fraxtal.svg new file mode 100755 index 000000000..158a6ac8d --- /dev/null +++ b/packages/extension/src/providers/ethereum/networks/icons/fraxtal.svg @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + diff --git a/packages/extension/src/providers/ethereum/networks/index.ts b/packages/extension/src/providers/ethereum/networks/index.ts index cd771d291..090a36b88 100644 --- a/packages/extension/src/providers/ethereum/networks/index.ts +++ b/packages/extension/src/providers/ethereum/networks/index.ts @@ -57,6 +57,7 @@ import opbnbNode from "./op-bnb"; import palmNode from "./palm"; import proofOfPlayApexNode from "./pop-apex"; import scrollNode from "./scroll"; +import fraxtalNode from "./fraxtal"; export default { sepolia: sepoliaNode, @@ -127,4 +128,5 @@ export default { palm: palmNode, popApex: proofOfPlayApexNode, scroll: scrollNode, + frax: fraxtalNode, }; diff --git a/packages/types/src/networks.ts b/packages/types/src/networks.ts index 235ff9bf3..fb41cb5fd 100644 --- a/packages/types/src/networks.ts +++ b/packages/types/src/networks.ts @@ -91,6 +91,7 @@ export enum NetworkNames { ProofOfPlayApex = "ProofOfPlayApex", Scroll = "scroll", Rari = "rari", + Fraxtal = "fraxtal", } export enum CoingeckoPlatform { @@ -146,4 +147,5 @@ export enum CoingeckoPlatform { Mode = "mode", OpBNB = "opbnb", Scroll = "scroll", + Fraxtal = "fraxtal", } From 7657c10183445d22ec2fe32f322a571f9e5378ee Mon Sep 17 00:00:00 2001 From: Mdd 0x Date: Wed, 30 Oct 2024 20:11:06 +0700 Subject: [PATCH 2/8] Add Bitrock Chain --- .../providers/ethereum/networks/bitrock.ts | 22 ++++++++ .../ethereum/networks/icons/bitrock.svg | 55 +++++++++++++++++++ .../src/providers/ethereum/networks/index.ts | 2 + packages/types/src/networks.ts | 1 + 4 files changed, 80 insertions(+) create mode 100755 packages/extension/src/providers/ethereum/networks/bitrock.ts create mode 100755 packages/extension/src/providers/ethereum/networks/icons/bitrock.svg mode change 100644 => 100755 packages/extension/src/providers/ethereum/networks/index.ts mode change 100644 => 100755 packages/types/src/networks.ts diff --git a/packages/extension/src/providers/ethereum/networks/bitrock.ts b/packages/extension/src/providers/ethereum/networks/bitrock.ts new file mode 100755 index 000000000..3849e554b --- /dev/null +++ b/packages/extension/src/providers/ethereum/networks/bitrock.ts @@ -0,0 +1,22 @@ +import { NetworkNames } from "@enkryptcom/types"; +import { EvmNetwork, EvmNetworkOptions } from "../types/evm-network"; + +const bitrockOptions: EvmNetworkOptions = { + name: NetworkNames.Bitrock, + name_long: "Bitrock Chain", + homePage: "https://bit-rock.io/", + blockExplorerTX: "https://explorer.bit-rock.io/tx/[[txHash]]", + blockExplorerAddr: "https://explorer.bit-rock.io/address/[[address]]", + chainID: "0x1c03", + isTestNetwork: false, + currencyName: "BROCK", + currencyNameLong: "Bitrock", + node: "https://brockrpc.io", + icon: require("./icons/bitrock.svg"), + coingeckoID: "bitrock", + activityHandler: () => Promise.resolve([]), +}; + +const bitrock = new EvmNetwork(bitrockOptions); + +export default bitrock; diff --git a/packages/extension/src/providers/ethereum/networks/icons/bitrock.svg b/packages/extension/src/providers/ethereum/networks/icons/bitrock.svg new file mode 100755 index 000000000..5bc9dd43a --- /dev/null +++ b/packages/extension/src/providers/ethereum/networks/icons/bitrock.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/extension/src/providers/ethereum/networks/index.ts b/packages/extension/src/providers/ethereum/networks/index.ts old mode 100644 new mode 100755 index c5197358f..c925578f1 --- a/packages/extension/src/providers/ethereum/networks/index.ts +++ b/packages/extension/src/providers/ethereum/networks/index.ts @@ -59,6 +59,7 @@ import proofOfPlayApexNode from "./pop-apex"; import scrollNode from "./scroll"; import cotiDevnetNode from "./coti-devnet"; import holeskyNode from "./holesky"; +import bitrockNode from "./bitrock"; export default { sepolia: sepoliaNode, @@ -131,4 +132,5 @@ export default { scroll: scrollNode, cotiDevnet: cotiDevnetNode, holesky: holeskyNode, + bitrock: bitrockNode, }; diff --git a/packages/types/src/networks.ts b/packages/types/src/networks.ts old mode 100644 new mode 100755 index 3b5d00cc2..5ea90965b --- a/packages/types/src/networks.ts +++ b/packages/types/src/networks.ts @@ -94,6 +94,7 @@ export enum NetworkNames { Rari = "rari", CotiDevnet = "CotiDevnet", Holesky = "HOLESKY", + Bitrock = "bitrock", } export enum CoingeckoPlatform { From 88951a10e90b4f96a2576798e893141d24ff2ed2 Mon Sep 17 00:00:00 2001 From: kealiiokalani <113649059+kealiiokalani@users.noreply.github.com> Date: Thu, 31 Oct 2024 13:28:41 -0700 Subject: [PATCH 3/8] Add Bitcoin and Solana to Currently Supported Chains Add Bitcoin and Solana to Currently Supported Chains --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index c5896b7b4..6ba3bd167 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,8 @@ Enkrypt is a web3 wallet built from the ground up to support the multi-chain fut ## Currently Supported Chains - Ethereum +- Bitcoin +- Solana - Polygon - BNB Smart Chain - Moonbeam From 2d4d227874db0e73b89cdaf5872c09b92b732409 Mon Sep 17 00:00:00 2001 From: kealiiokalani <113649059+kealiiokalani@users.noreply.github.com> Date: Thu, 31 Oct 2024 14:02:03 -0700 Subject: [PATCH 4/8] Add new Enkrypt chains Added all Enkrypt current chains in alphabetical order --- README.md | 82 ++++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 66 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 6ba3bd167..70c763cbd 100644 --- a/README.md +++ b/README.md @@ -34,28 +34,78 @@ Enkrypt is a web3 wallet built from the ground up to support the multi-chain fut - Ethereum - Bitcoin - Solana -- Polygon -- BNB Smart Chain -- Moonbeam -- Moonriver -- Karura EVM -- Ethereum Classic -- Polkadot -- Kusama -- Edgeware - Acala -- Karura -- TomoChain +- Amplitude - Arbitrum -- Gnosis +- Arbitrum Nova +- Arthera +- Astar +- Astar EVM +- Aurora - Avalanche +- Base +- Bifrost +- Bifrost (Kusama) +- Binance Smart Chain +- Bitcoin Testnet +- Blast +- Caga Ankara Testnet +- Canto +- Celo +- Degen +- Dogecoin +- Edgeware +- Edgeware EVM +- Ethereum Classic - Fantom +- Forma +- Gnosis +- Godwoken +- Goerli +- Ham Chain +- Immutable zkEVM +- Kadena +- Karura +- Karura EVM - Klaytn -- Aurora -- Ontology +- Kusama +- Linea +- Litecoin +- Manta Pacific +- Mode +- Moonbeam +- Moonriver +- OKX Chain +- Ontology EVM +- Opal +- opBNB +- Optimism +- Palm Network +- Pendulum +- Polkadot +- Polygon +- Polygon zkEVM +- Proof of Play Apex - Puppy Net -- Arthera -- Caga Ankara Testnet +- Quartz +- RARI Chain +- Rollux +- Rootstock +- Sanko Chain +- Scroll +- Shibarium +- Shiden +- Shiden EVM +- Sepolia +- Syscoin +- Telos EVM +- Unique +- Vara Network +- Viction +- Westend +- ZChains +- zkSync +- zkSync Goerli - More coming soon! Looking to add your project? [Contact us!](https://mewwallet.typeform.com/enkrypt-inquiry?typeform-source=www.enkrypt.com) From f3a4aaf0f0bd8204880a09d7bffef383d2fd6d13 Mon Sep 17 00:00:00 2001 From: Mdd 0x Date: Fri, 1 Nov 2024 16:56:29 +0700 Subject: [PATCH 5/8] add bitrock coingecko platform on assets handlers token list --- .../src/providers/ethereum/libs/assets-handlers/token-lists.ts | 1 + packages/extension/src/providers/ethereum/networks/bitrock.ts | 2 ++ 2 files changed, 3 insertions(+) diff --git a/packages/extension/src/providers/ethereum/libs/assets-handlers/token-lists.ts b/packages/extension/src/providers/ethereum/libs/assets-handlers/token-lists.ts index ffe903ab8..201fd9cca 100644 --- a/packages/extension/src/providers/ethereum/libs/assets-handlers/token-lists.ts +++ b/packages/extension/src/providers/ethereum/libs/assets-handlers/token-lists.ts @@ -41,6 +41,7 @@ const TokenList: Record = { [NetworkNames.OpBNB]: `https://tokens.coingecko.com/${CoingeckoPlatform.OpBNB}/all.json`, [NetworkNames.Scroll]: `https://tokens.coingecko.com/${CoingeckoPlatform.Scroll}/all.json`, [NetworkNames.Rari]: `https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/tokenlists/rari.json`, + [NetworkNames.Bitrock]: `https://tokens.coingecko.com/${CoingeckoPlatform.Bitrock}/all.json`, }; const getKnownNetworkTokens = async ( diff --git a/packages/extension/src/providers/ethereum/networks/bitrock.ts b/packages/extension/src/providers/ethereum/networks/bitrock.ts index 3849e554b..e2013013a 100755 --- a/packages/extension/src/providers/ethereum/networks/bitrock.ts +++ b/packages/extension/src/providers/ethereum/networks/bitrock.ts @@ -1,3 +1,4 @@ +import { CoingeckoPlatform, NetworkNames } from "@enkryptcom/types"; import { NetworkNames } from "@enkryptcom/types"; import { EvmNetwork, EvmNetworkOptions } from "../types/evm-network"; @@ -14,6 +15,7 @@ const bitrockOptions: EvmNetworkOptions = { node: "https://brockrpc.io", icon: require("./icons/bitrock.svg"), coingeckoID: "bitrock", + coingeckoPlatform: CoingeckoPlatform.Bitrock, activityHandler: () => Promise.resolve([]), }; From e2d8cb16e132dd8c261793b1d1bd461dda39045c Mon Sep 17 00:00:00 2001 From: kvhnuke <10602065+kvhnuke@users.noreply.github.com> Date: Thu, 21 Nov 2024 16:32:19 -0800 Subject: [PATCH 6/8] devop: cleanup --- .../src/providers/ethereum/libs/assets-handlers/token-lists.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/extension/src/providers/ethereum/libs/assets-handlers/token-lists.ts b/packages/extension/src/providers/ethereum/libs/assets-handlers/token-lists.ts index c39d663cf..82e3abfd0 100644 --- a/packages/extension/src/providers/ethereum/libs/assets-handlers/token-lists.ts +++ b/packages/extension/src/providers/ethereum/libs/assets-handlers/token-lists.ts @@ -41,7 +41,6 @@ const TokenList: Record = { [NetworkNames.OpBNB]: `https://tokens.coingecko.com/${CoingeckoPlatform.OpBNB}/all.json`, [NetworkNames.Scroll]: `https://tokens.coingecko.com/${CoingeckoPlatform.Scroll}/all.json`, [NetworkNames.Rari]: `https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/tokenlists/rari.json`, - [NetworkNames.Fraxtal]: `https://tokens.coingecko.com/${CoingeckoPlatform.Fraxtal}/all.json`, }; const getKnownNetworkTokens = async ( From e6dff54e3989e40b9f8e4f500be33cb8a40099bb Mon Sep 17 00:00:00 2001 From: kvhnuke <10602065+kvhnuke@users.noreply.github.com> Date: Mon, 25 Nov 2024 16:07:22 -0800 Subject: [PATCH 7/8] fix: activity handler --- packages/extension/src/providers/ethereum/networks/bitrock.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/extension/src/providers/ethereum/networks/bitrock.ts b/packages/extension/src/providers/ethereum/networks/bitrock.ts index eb2f10d3d..24539f4dc 100755 --- a/packages/extension/src/providers/ethereum/networks/bitrock.ts +++ b/packages/extension/src/providers/ethereum/networks/bitrock.ts @@ -1,6 +1,7 @@ import icon from './icons/bitrock.svg'; import { CoingeckoPlatform, NetworkNames } from '@enkryptcom/types'; import { EvmNetwork, EvmNetworkOptions } from '../types/evm-network'; +import wrapActivityHandler from '@/libs/activity-state/wrap-activity-handler'; const bitrockOptions: EvmNetworkOptions = { name: NetworkNames.Bitrock, @@ -16,7 +17,7 @@ const bitrockOptions: EvmNetworkOptions = { icon, coingeckoID: 'bitrock', coingeckoPlatform: CoingeckoPlatform.Bitrock, - activityHandler: () => Promise.resolve([]), + activityHandler: wrapActivityHandler(() => Promise.resolve([])), }; const bitrock = new EvmNetwork(bitrockOptions); From cf62e30358753f92b120c95ece9e09c39ca23ca3 Mon Sep 17 00:00:00 2001 From: kvhnuke <10602065+kvhnuke@users.noreply.github.com> Date: Mon, 25 Nov 2024 16:08:19 -0800 Subject: [PATCH 8/8] fix: activity handler --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f17c2bf9a..43c3415c9 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,7 @@ Enkrypt is a web3 wallet built from the ground up to support the multi-chain fut - Ethereum Classic - Fantom - Forma +- Fraxtal - Gnosis - Godwoken - Goerli