Skip to content

Instantly share code, notes, and snippets.

@409H
Last active June 25, 2018 17:14
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save 409H/fddff98e60cae14aeedfcbb7ab772e0d to your computer and use it in GitHub Desktop.
A TamperMonkey script to show an indicator on the address you're sending to
// ==UserScript==
// @name EtherScamDB-JS-Address-Validation-MyCrypto
// @namespace https://etherscamdb.info/
// @version 0.1
// @description A visual indicator for addresses
// @author 409H
// @grant none
// @include https://mycrypto.com/account/send
// ==/UserScript==
(function() {
"use strict";
let objEsdb = document.createElement("div");
objEsdb.id = "esd-address-verify";
objEsdb.style = "padding-top:1em;text-align: center;";
let objEsdbInterval = setInterval(() => {
let objIdenticon;
let objAddressTo;
//MyCrypto
if(window.location.href == "https://mycrypto.com/account/send") {
if(document.querySelector('input.input-group-input')) {
objIdenticon = document.querySelector("div.AddressInput-identicon");
objAddressTo = document.querySelectorAll('input.input-group-input')[0];
if(!objIdenticon.contains(objEsdb)) {
objIdenticon.appendChild(objEsdb);
}
objAddressTo.addEventListener('keyup', EtherScamDbValidateAddress);
clearInterval(objEsdbInterval);
}
}
}, 1000);
/***
* Repo: 409H/etherscamdb-js-address-validation
* File: dist/esd-min.js
* Version: 1.2.1
* https://www.npmjs.com/package/etherscamdb-js-address-validation
*/
function EtherScamDbValidateAddress(){let n=this.value.trim();document.getElementById("esd-address-verify")?new RegExp("^0x[a-fA-F0-9]{40}$").exec(n)?(document.getElementById("esd-address-verify").innerHTML='\n <svg version="1.1" id="Layer_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"\n width="30.555px" height="50px" viewBox="0 0 609.555 1000" enable-background="new 0 0 609.555 1000" xml:space="preserve">\n <title>We are checking the address...</title>\n <g>\n <g>\n <path fill="#DEDEDE" d="M9.337,557.712c5.979,20.553,13.911,40.265,23.809,58.8l-0.04,0.023l0.341,0.572\n c4.45,8.303,9.294,16.359,14.473,24.185L304.794,1000V733.475L9.337,557.712z"/>\n <path fill="#D9D9D9" d="M304.794,733.475V1000l256.875-358.708c5.176-7.825,10.022-15.882,14.473-24.185l0.34-0.572l-0.039-0.023\n c9.895-18.535,17.832-38.247,23.806-58.8L304.794,733.475z"/>\n </g>\n <polygon fill="#D9D9D9" points="304.776,0 304.776,387.292 476.391,285.198 \t"/>\n <path fill="#D9D9D9" d="M502.419,328.454l-4.897-8.177L396.74,380.242l-91.946,143.716l-0.015,163.935L609.555,506.57\n L502.419,328.454z M381.535,559.258l86.699-134.769l34.045,60.231L381.535,559.258z"/>\n <polygon fill="#DEDEDE" points="304.779,687.893 0,506.57 107.139,328.454 112.036,320.277 212.794,380.225 304.741,523.944 \t"/>\n <polygon fill="#DEDEDE" points="304.776,387.292 304.776,0 133.213,285.237 \t"/>\n </g>\n </svg>\n ',fetch("https://etherscamdb.info/api/check/"+n).then(n=>n.json()).then(e=>{switch(e.result){default:case"neutral":document.getElementById("esd-address-verify").innerHTML='\n <svg version="1.1" id="Layer_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"\n width="30.555px" height="50px" viewBox="0 0 609.555 1000" enable-background="new 0 0 609.555 1000" xml:space="preserve">\n <title>This address has not been verified EtherScamDB</title>\n <g>\n <g>\n <path fill="#505461" d="M9.337,557.712c5.979,20.553,13.911,40.265,23.809,58.8l-0.04,0.023l0.341,0.572\n c4.45,8.303,9.294,16.359,14.473,24.185L304.794,1000V733.475L9.337,557.712z"/>\n <path fill="#282138" d="M304.794,733.475V1000l256.875-358.708c5.176-7.825,10.022-15.882,14.473-24.185l0.34-0.572l-0.039-0.023\n c9.895-18.535,17.832-38.247,23.806-58.8L304.794,733.475z"/>\n </g>\n <polygon fill="#282138" points="304.776,0 304.776,387.292 476.391,285.198 \t"/>\n <path fill="#282138" d="M502.419,328.454l-4.897-8.177L396.74,380.242l-91.946,143.716l-0.015,163.935L609.555,506.57\n L502.419,328.454z M381.535,559.258l86.699-134.769l34.045,60.231L381.535,559.258z"/>\n <polygon fill="#505461" points="304.779,687.893 0,506.57 107.139,328.454 112.036,320.277 212.794,380.225 304.741,523.944 \t"/>\n <polygon fill="#505461" points="304.776,387.292 304.776,0 133.213,285.237 \t"/>\n </g>\n </svg>\n ';break;case"blocked":document.getElementById("esd-address-verify").innerHTML=`\n <a href="https://etherscamdb.info/address/${n}" target="_blank">\n <svg version="1.1" id="Layer_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"\n width="30.555px" height="50px" viewBox="0 0 609.555 1000" enable-background="new 0 0 609.555 1000" xml:space="preserve">\n <title>This address has been blacklisted by EtherScamDB</title>\n <g>\n <g>\n <path fill="#BD1327" d="M9.337,557.712c5.979,20.553,13.911,40.265,23.809,58.8l-0.04,0.023l0.341,0.572\n c4.45,8.303,9.294,16.359,14.473,24.185L304.794,1000V733.475L9.337,557.712z"/>\n <path fill="#801F35" d="M304.794,733.475V1000l256.875-358.708c5.176-7.825,10.022-15.882,14.473-24.185l0.34-0.572l-0.039-0.023\n c9.895-18.535,17.832-38.247,23.806-58.8L304.794,733.475z"/>\n </g>\n <polygon fill="#801F35" points="304.776,0 304.776,387.292 476.391,285.198 \t"/>\n <path fill="#801F35" d="M502.419,328.454l-4.897-8.177L396.74,380.242l-91.946,143.716l-0.015,163.935L609.555,506.57\n L502.419,328.454z M381.535,559.258l86.699-134.769l34.045,60.231L381.535,559.258z"/>\n <polygon fill="#BD1327" points="304.779,687.893 0,506.57 107.139,328.454 112.036,320.277 212.794,380.225 304.741,523.944 \t"/>\n <polygon fill="#BD1327" points="304.776,387.292 304.776,0 133.213,285.237 \t"/>\n </g>\n </svg>\n </a>\n `;break;case"whitelisted":document.getElementById("esd-address-verify").innerHTML=`\n <a href="https://etherscamdb.info/address/${n}" target="_blank">\n <svg version="1.1" id="Layer_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"\n width="30.555px" height="50px" viewBox="0 0 609.555 1000" enable-background="new 0 0 609.555 1000" xml:space="preserve">\n <title>This address has been verified by EtherScamDB</title>\n <g>\n <g>\n <path fill="#1F8027" d="M9.337,557.712c5.979,20.553,13.911,40.265,23.809,58.8l-0.04,0.023l0.341,0.572\n c4.45,8.303,9.294,16.359,14.473,24.185L304.794,1000V733.475L9.337,557.712z"/>\n <path fill="#1F8021" d="M304.794,733.475V1000l256.875-358.708c5.176-7.825,10.022-15.882,14.473-24.185l0.34-0.572l-0.039-0.023\n c9.895-18.535,17.832-38.247,23.806-58.8L304.794,733.475z"/>\n </g>\n <polygon fill="#1F8021" points="304.776,0 304.776,387.292 476.391,285.198 \t"/>\n <path fill="#1F8021" d="M502.419,328.454l-4.897-8.177L396.74,380.242l-91.946,143.716l-0.015,163.935L609.555,506.57\n L502.419,328.454z M381.535,559.258l86.699-134.769l34.045,60.231L381.535,559.258z"/>\n <polygon fill="#1F8027" points="304.779,687.893 0,506.57 107.139,328.454 112.036,320.277 212.794,380.225 304.741,523.944 \t"/>\n <polygon fill="#1F8027" points="304.776,387.292 304.776,0 133.213,285.237 \t"/>\n </g>\n </svg>\n </a>\n `}}).catch(n=>console.warn(n))):document.getElementById("esd-address-verify").innerHTML="":console.warn("div#esd-address-verify does not exist!")}
})();
@409H
Copy link
Author

409H commented Jun 24, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment