GithubHelp home page GithubHelp logo

Comments (29)

Dexaran avatar Dexaran commented on August 17, 2024

Detailed description of requested changes:

1. Merge 3.10.2 MEW updates into ClassicEtherWallet

I think that it is needed to update CEW to support all recent MyEtherWallet upgrades. The most important things are:

  • MetaMask support. This will also be useful to have since we will create ClassicMask and it will require the same functionality.

  • UBQ / Expanse / RSK / Musicoin nodes support added with corresponding color patches.

MyEtherWallet main repo: https://github.com/kvhnuke/etherwallet

ClassicEtherWallet repo: https://github.com/ethereumproject/etherwallet

2. Make ETC node default on CEW

I want ClassicEtherWallet to open ETC node by default instead of ETH node like MEW is doing. It is mostly a tool for Classic chain.

3. Color patch for MEW and CEW

It should be a patch to CEW. Later we will propose the corresponding changes on MyEtherWallet.
I want each network to have a specified color. It is very important to reduce user mistakes with wrong chain selection!

  • The node selection should change the color of the primary buttons and title, as it is now implemented in CEW.
  • I want pop-up windows to have colored borders too as it is now implemented in MEW.
  • Also dark buttons should change their colors regarding to the selected network too. It is not yet implemented anywhere.

How MEW looks right now: https://www.myetherwallet.com/

  • colored line under the logo (OK)
  • colored borders of transaction confirmation windows (OK)
  • colored pop-up windows at the bottom of the page (OK)
  • button colors doesn't change depending on selected node (BAD)
  • header (title) color doesn't change depending on selected node (BAD)

How CEW looks right now: https://ethereumproject.github.io/etherwallet/

  • no colored line under the logo but I think it is not needed if the whole logo change its color
  • no colored borders of transaction confirmation windows (BAD)
  • pop-up windows at the bottom of the page are always blue (BAD)
  • button colors changes depending on selected node (dark buttons doesn't change their color)
  • header (title) color changes depending on selected node (OK)

4. Replace "MyEtherWallet" mentions by "ClassicEtherWallet" info on ClassicEtherWallet

ClassicEtherWallet is a fork of MEW. It contains a lot of info that is related to MyEtherWallet. It needs to be replaced:

  • all links that are referig to MEW sources should refer to CEW

  • "MyEtherWallet" names should be replaced with "ClassicEtherWallet"

5. Add DexNS support to CEW / make a patch to MEW

First of all it should be a patch to ClassicEtherWallet. DexNS is a smart-contract service to allow users interact with smart-contracts without requirement of ABI.

This will require a lot of updates and it is a low priority goal now. Smaller graphical updates should be merged first.

6. Add ClassicMask support on CEW / make a patch to MEW (not yet finished)

ClassicMask is still in development. We need to merge MetaMask support from MEW and it will be enough for now.

7. Add modular ENS support on MEW

Nothing to do here. It depends on MEW to merge the PR that is already sent.

from roadmap.

randytorres avatar randytorres commented on August 17, 2024

@Dexaran I forked a fresh version of MEW and made some changes to the home page replacing some of the MEW references with CEW. I also made ETC node on default which would complete Task 2.
randytorres/etherwallet@aa1a5a6

I should be able to complete tasks 1-4 by this monday.

from roadmap.

Dexaran avatar Dexaran commented on August 17, 2024

I will also ask to place the ETC node at the top of the node list in CEW. (ETH nodes are at the top at the moment)

We will also need to change the name lookup with modular ENS support patch. We need to create a customisable lookup to add DexNS support in future. I will provide more updates about this soon.

from roadmap.

randytorres avatar randytorres commented on August 17, 2024

@Dexaran I removed a lot of references to MEW and added the dynamic colors. As far as removing mentions of MEW, should I remove ALL mentions including and links to their github, help channels/rooms, donation addresses, etc?

randytorres/etherwallet@dde6354

from roadmap.

Dexaran avatar Dexaran commented on August 17, 2024

@randytorres Let's leave links to github, help channels/rooms, as is for now. Let's replace the donation address with Ethereum Commonwealth address: 0x52823e725a34d42e14a1b66fb67299c30c4d8edf

I'd like to mention some issues with your current implementation.

  1. Yellow color theme is a native color theme of Musicoin. Let's change the color theme of all testnets to gray #C4C4C4 and replace Musicoin with colors with yellow.

  2. Dark buttons like "Generate transaction" should also be affected by the color theme. They should be darker but change their colors. A user often pays attention to the buttons that they click.

image

  1. MEW logo should be replaced.

mew_logo

from roadmap.

randytorres avatar randytorres commented on August 17, 2024

Aright I made the changes you requested. I tried creating a CEW favicon based off the logo but It doesn't look very good, do you have a favicon.ico of the logo by any chance?

from roadmap.

randytorres avatar randytorres commented on August 17, 2024

Hey @Dexaran I just finished adding ENS support and included it in the PR.
Dexaran/etherwallet@862eec3

from roadmap.

Dexaran avatar Dexaran commented on August 17, 2024

Let's start crosschain ENS lookup:

  1. Add the lookup dropdown button. It should contain ENS (.eth) and ECNS (.etc) now. We will add UBQ and EXP as soon as ENS will be deployed on this chains.

  2. I think that we need to initialize a second instance of web3 to perform a lookup on the corresponding chain. If the user has unlocked account under ETC chain but he wishes to send 1 ETC to the dexaran.eth then we should find the address that is associated with dexaran.eth in ENS on ETH chain (using Infura API endpoint). Take the address and send a transaction to this address on ETC chain (using Epool API).

  3. If the user has typed dexaran.eth but the Lookup source is set to ECNS then we should automatically switch the Lookup source to the ENS and update the Lookup dropdown button. .eth resolutions must always result in ENS lookup and .etc resolutions must result in ECNS lookup. If the user has typed a name that doesn't contain resolution or resolution is not assigned to any ENS then this should result in DexNS lookup on ETC chain. DexNS will be added later.

_lookup

from roadmap.

Dexaran avatar Dexaran commented on August 17, 2024

Replace unlocking wallet "MetaMask / Mist" menu item by "MetaMask or ClassicMask / Mist" since ClassicMask is supported as well.

from roadmap.

Dexaran avatar Dexaran commented on August 17, 2024

Support adding custom tokens by DexNS token names

1.

We should add the third menu item to add custom tokens on CLassicEtherWallet as follows:

token_by_name

2.

If the user has clicked the new "Add custom token by token name (DexNS)" menu item then we should connect to ETC network (initialize an instance of web3 with ETC API endpoint provider) and dropdown the DexNS token adding menu:

dexns__token_search_dropdown_unfinished

DexNS token adding menu should contain only one input item "Token symbol" (string text) and one button "SEARCH".

3.

CEW should perform a getName("inputted name") function call to DexNS Storage contract (this address: 0x429611c633806a03447391026a538a022e1e2731 and this ABI) when the user has typed the token name and clicked the "SEARCH" button. We should parse the result of the call to extract associated address and stringified metadata of the desired contract.

Example of the call with the "GNT" input will be represented in the following format:

dexns_call_result

4.

If the extraction of the metadata was successful then we should parse it again. Metadata is returned in the following format:

-<network id flag> -A <abi> -flag1 flag1_params -flag2 flag2_params -i <information> ...

Example of the metadata:

-ETC -A [{"constant":false,"inputs":[],"name":"foo","outputs":[],"payable":false,"type":"function"}] where -ETC means that the desired contract is deployed in the ETC network, and -A is the flag that predicts that the next symbols pattern will be a separator (whitespace) and the ABI of the desired contract.

We should take the chain id parameter (-ETC / -ETH / -UBQ or -EXP) and throw away anything else.

5.

If everything is fine then we should dropdown the menu to suggest user to save the desired token.

We should display the "SUCCESS" result to the user at the bottom of the token symbol input box.

Save token menu should contain two input fields.

  • Token network: this should be the parsed network id flag from the DexNS name metadata by default. If no network id flag was presented then we should display the current selected node here.

  • Information: "You are going to add token to your $chain_id tokens"

dexns__token_search_dropdown_light

6.

We should call the desired token address with by the default ERC20 ABI to extract token decimals after the "SAVE" button was pressed. Then we should add the desired token to user's tokens at the specified chain.

IMPORTANT: We should add token to the specified chain that was extracted from DexNS name metadata. It doesn't matter if the user is currently on the matching chain or on any of the alternative chains.

from roadmap.

Dexaran avatar Dexaran commented on August 17, 2024

Multi-currency balance display.

Let CLassicEtherWallet display user balances on different chains: ETH / ETC / EXP / UBQ.

We should perform four calls to access user's balances on different chains when unlocking account/ displaying balances.

We should display the corresponding balance as "active". For example if the user is currently on ETC network then we should display ETC balance with big digits and black color. ETH / UBQ / EXP balances should be displayed with small digits and gray color on ETC network.

Examples

cew_multiple_currencies

cew_multiple_currencies2

from roadmap.

yograterol avatar yograterol commented on August 17, 2024

token-cew

EthereumCommonwealth/etherwallet#6

from roadmap.

Dexaran avatar Dexaran commented on August 17, 2024

Fix the problem of an accidentally transaction sending to the contract in the wrong chain.

GNT contract: https://etherscan.io/token/Golem?a=0xa74476443119a942de498590fe1f2454d7d4ac0d
It is deployed on ETH chain

GNT contract address on ETC chain (no contract): http://gastracker.io/addr/0xa74476443119a942de498590fe1f2454d7d4ac0d

This is the same address on ETC chain and it contains 5000 ETC ($60,000 at the moment)

The problem is that Golem (or any other) contract can reject Ether (ETH on Ethereum chain) but there is no contract on ETC chain. If they send ETH to the contract address then the transaction will fail. If they will send ETC/ UBQ/ EXP to the same address (there is no contract on this address on ETC/ UBQ/ EXP chains at all. It's just an address without bytecode) then the transaction will submit and ETC would be lost.

We need:

  1. If the user is trying to send a transaction with >21 000 GAS then he is trying to call something and we need to check if the receiver is a contract on the selected chain or not

  2. Check if the receiver is a contract or not

  3. If the receiver is not a contract then warn the user:
    "WARNING! It looks like you are trying to call the contract on $chain_name chain. The destination address is not a $chain_name contract. Are you sure want to do it?"

  4. If the user has clicked YES then it's his own problems (may be he is sending hex-encoded message as transaction data) if NO then we have saved his funds

from roadmap.

yaronvel avatar yaronvel commented on August 17, 2024

Maybe before issuing the warning check that there is a contract on same address in ETH?

from roadmap.

Dexaran avatar Dexaran commented on August 17, 2024

The desired contract may be deployed on any of the alternative chains (not only ETH). Checking all of the existent chains doesn't seem to be a good idea.
Furthermore, if the user has mistyped the address of the ETC contract this will save him as well.

from roadmap.

yaronvel avatar yaronvel commented on August 17, 2024

Btw, doesnt the wallet calculate gas limit automatically for users?

from roadmap.

Dexaran avatar Dexaran commented on August 17, 2024

I would say that MEW is calculating gas limit automatically but the user has an opportunity to change it at will.

from roadmap.

yograterol avatar yograterol commented on August 17, 2024

DexNS support to add custom tokens

EthereumCommonwealth/etherwallet#10

dexns

from roadmap.

Dexaran avatar Dexaran commented on August 17, 2024

I suppose that we need to make some changes to avoid user confusion:

  1. Add "Loading..." text or loading animation that will appear to show the user that searching is currently in progress. This should disappear when the response will be retreived.

  2. Start searching (send async requests) 2 seconds after user has typed any character. Token symbols are not limited to 3-characters. For example AE (AEternity token) and SNGLS are not 3 characters length.

  3. When changing the network CEW shows that token is not a valid ERC20 token if this token is deployed on alternative chain. I suppose that this behavior will cause user confusion. I suppose that CEW should remember what network the token uses and hide all the tokens that belong to previous chain when you are switching to new chain.

from roadmap.

yograterol avatar yograterol commented on August 17, 2024

@Dexaran I agree, I'll do it

from roadmap.

Dexaran avatar Dexaran commented on August 17, 2024

It would be nice to allow adjusting gas price in 0.1 GWEI instead of 1 GWEI to ClassicMask and CEW. MEW recently did it: https://github.com/kvhnuke/etherwallet/releases/tag/v3.10.5

Not a critical issue, but nice to have.

from roadmap.

Dexaran avatar Dexaran commented on August 17, 2024

cew_rineth

CEW displays RinkebyETH and ETH as the same amounts of currencies while they are different separate currencies.

from roadmap.

Dexaran avatar Dexaran commented on August 17, 2024

Update:

  • Crosschain DexNS lookup for custom tokens - finished.
  • Crosschain DexNS lookup for Names and sending transactions - finished.
  • "Not a valid ERC-20 token" error of custom token when not on token network - fixed.
  • Warning about an attempt to execute a token contract on alternative chain - finished.
  • Testnet Ether is considered ETH currency and displayed as ETH balance - fixed.
  • Fixed: double "You have successfully connected to $network" popup message when querying network via URL. I suppose that there should be a check like if (network == current_network) { // do not display message } else { // display message }
  • TODO: "Loading..." text or animation when DexNS is currently seraching but the response is not yet received.
  • TODO: 1.3 second delay between typing and lookup execution to allow user to type a full name first.

from roadmap.

yograterol avatar yograterol commented on August 17, 2024

#26 (comment) It's not a problem anymore

from roadmap.

Dexaran avatar Dexaran commented on August 17, 2024

CEW bugs that needs to be fixed:

  1. "Add custom token by token Symbol" starts to search token when you type 3 characters. If you type 4-characters of token symbol then CEW throws error because of the first three symbols are not found even if 4-characters symbol string represents a valid token name.

  2. S-ETH symbol is successfully found but could not be added to token list. I suppose that it's because of - character.

  3. Adding tokens with already-existing symbol results in same tokens added multiple times.

  4. GasPrice slider is too hard to manually adjust. We should replace a static "Gas Price: <amount>" a text with an input to let users to adjust the GasPrice by typing digits.

gasprice

from roadmap.

yograterol avatar yograterol commented on August 17, 2024

#26 (comment) Fixed

from roadmap.

Dexaran avatar Dexaran commented on August 17, 2024

Merged EthereumCommonwealth/etherwallet#14

from roadmap.

Dexaran avatar Dexaran commented on August 17, 2024

BUG: CEW automatically evaluates gaslimit to -1 when trying to deploy contract. If I set the gaslimit to 4700000 then contract is successfully deployed.

from roadmap.

Dexaran avatar Dexaran commented on August 17, 2024

Point 9 resolved with the last update.

from roadmap.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.