return addresses;
}
+ // ERC-55: https://ercs.ethereum.org/ERCS/erc-55
+ function toChecksumAddress(address) {
+ address = address.toLowerCase().replace('0x', '');
+ // Hash the address (treat it as UTF-8) and return as a hex string
+ const hash = [...keccak256(address)].map(v => v.toString(16).padStart(2, '0')).join('');
+ let ret = '0x';
+
+ for (let i = 0; i < 40; i++) {
+ if (parseInt(hash[i], 16) >= 8) {
+ ret += address[i].toUpperCase();
+ }
+ else {
+ ret += address[i];
+ }
+ }
+
+ return ret;
+ }
+
document.querySelector('form').addEventListener('submit', async event => {
event.preventDefault();
ens.textContent = name;
const response = multicallResponse[name];
- address.textContent = response;
+ address.textContent = toChecksumAddress(response);
}
spinner.style.setProperty('display', 'none');