mirror of
https://github.com/Instadapp/trustwallet-assets.git
synced 2024-07-29 22:37:31 +00:00
cbe4ef90e3
* ReverseCase * Wanchain uses special reverse checksum format. * Fix existing 6 wanchain assets, revert checksum format. Co-authored-by: Catenocrypt <catenocrypt@users.noreply.github.com>
32 lines
1.0 KiB
TypeScript
32 lines
1.0 KiB
TypeScript
import { reverseCase } from "./types";
|
|
|
|
const Web3 = require('web3');
|
|
|
|
const web3 = new Web3('ws://localhost:8546');
|
|
|
|
export const isChecksumEthereum = (address: string): boolean => web3.utils.checkAddressChecksum(address);
|
|
export const toChecksumEthereum = (address: string): string => web3.utils.toChecksumAddress(address);
|
|
|
|
export function toChecksum(address: string, chain: string = "ethereum"): string {
|
|
var checksumEthereum = toChecksumEthereum(address);
|
|
|
|
// special handling for Wanchain
|
|
if (chain.toLowerCase() === "wanchain") {
|
|
const checksumWanchain = reverseCase(checksumEthereum).replace("X", "x");
|
|
return checksumWanchain;
|
|
}
|
|
|
|
return checksumEthereum;
|
|
}
|
|
|
|
export function isChecksum(address: string, chain: string = "ethereum"): boolean {
|
|
// special handling for Wanchain
|
|
if (chain.toLowerCase() === "wanchain") {
|
|
const addressEthereum = reverseCase(address).replace("X", "x");
|
|
return isChecksumEthereum(addressEthereum);
|
|
}
|
|
|
|
return isChecksumEthereum(address);
|
|
}
|
|
|