MyEtherWallet / ethereum-lists

A repository for maintaining lists of things like malicious URLs, fake token addresses, and so forth. We love lists.
MIT License
655 stars 1.34k forks source link
chain ethereum ethereum-lists myetherwallet phishing security-tools

Ethereum-lists

Travis (.org) GitHub GitHub contributors

A repository for maintaining lists of things like malicious URLs, fake token addresses, and so forth. We love lists.

Found a Phishing URL? See a fake ICO address?

Everyone is encouraged to make a PR or issue to add an address or URL to the list. This process is far easier than you might imagine!

  1. If you do not already have a Github account, sign up. (it's free and easy!)

  2. Navigate to the src folder and pick which one you'd like to add:

    • addresses folder is for the darklisting or whitelisting ethereum addresses
    • contracts folder is for the different network contracts
    • tokens folder is for the different network tokens
    • urls folder is for the darklisting or whitelisting ethereum urls
    1. For urls or addresses:

      • Click on the file you wish to update:
      • If you would like to make an addition:
        a. Copy the top most item starting with the first { and ending with the },
        b. Paste it right above the first item
        c. Replace that information with the new information
        d. Some add'l notes on specific files are below. Please skim if you don't know what the fields are.
      • If you would like to make a correction or remove an item:

      a. Scroll to the item in question
      b. Edit the item or remove the item by selecting the top { and ending with the }, and deleting that chunk.
      c. Some add'l notes on specific files are below. Please skim if you don't know what the fields are.

      • Scroll to the bottom. under "Commit changes" enter a reason you are making this change.

      • Example: "Adding myetherscam.com to darklist. See [link to tweet / reddit post / screenshot]."

      • You can also provide more details in the box below. Please provide as much detail / evidence as reasonable so reviewers can verify quickly.

      • Click the green "Propose File change" button.

      • This next page is a review of what you did. Proofread and stuff.

      • Click the "Create Pull Request" button.....twice.

      • That's it. You successfully made a new pull request!

    2. For tokens or contracts:

      • Click on the network where you would like to implement a change.
      • If you would like to make an addition:

        a. Click create new file on the upper right side of the screen.

        b. Name your file with the ethereum address with a .json extension. e.g: 0xDECAF9CD2367cdbb726E904cD6397eDFcAe6068D.json

        c. Some add'l notes on specific files are below. Please skim if you don't know what the fields are.

      • If you would like to make a correction or remove an item:

      a. Navigate to the file. b. Click the pencil to edit or the trash can to delete.

      • When editing, update the relevant information.
        • Scroll to the bottom. under "Commit changes" enter a reason you are making this change.
        • Example: "Adding myetherscam.com to darklist. See [link to tweet / reddit post / screenshot]."
        • You can also provide more details in the box below. Please provide as much detail / evidence as reasonable so reviewers can verify quickly.
      • Click the green "Propose File change" button.

      • This next page is a review of what you did. Proofread and stuff.

      • Click the "Create Pull Request" button.....twice.

      • That's it. You successfully made a new pull request!

Address Darklist

src/addresses/addresses-darklist.json

Address Lightlist

src/addresses/addresses-lightlist.json

Best if you use github account that is part of token team or tweet or email us or something to verify. We should all get in the habit of cross-referencing provided information.

URL Darklist

src/addresses/urls-darklist.json

URL Lightlist

src/addresses/urls-lightlist.json

Contract ABIs

ABIs associated with contract addresses.

Information (all optional except for name, symbol, address, decimals):

Please make sure that you name the files by their address. You can see examples here: https://github.com/MyEtherWallet/ethereum-lists/tree/master/src/tokens

Tokens

Information related to tokens. ERC-20 compliant only (For now).

Information (all optional except for name, symbol, address, decimals):

Please make sure that you name the files by their address. You can see examples here: https://github.com/MyEtherWallet/ethereum-lists/tree/master/src/tokens

Development

on terminal, run: git clone git@github.com:MyEtherWallet/ethereum-lists.git; cd ethereum-lists
and then run: npm run compile; npm run test:checkToken; npm run test:checkContract; npm run lint to compile

Importing new Icons

  1. unzip icons into root
  2. renameIcons.js - set var icons to path of extracted folder
  3. node renameIcons
  4. move files into src/icons
  5. node generateMissingTokenListFromIcons
  6. node createTokens
  7. delete files/folders
    • maticTokens.json
    • bscTokens.json
    • ethTokens.json
    • notinlist.json
    • extracted folder from step 1
  8. npm run test
  9. npm run compile
  10. npm run lint

A last note

This list is maintained by volunteers in the cryptocurrency community & people like you around the internet. It may not always be up to date, and it may occasionally get it wrong. If you find an error or omission, please open an issue or make a PR with any corrections.