crypto-ducatus-wallet-core
Version:
A multi-currency support library for address derivation, private key creation, and transaction creation
24 lines (20 loc) • 704 B
text/typescript
import { IValidation } from '..';
const utils = require('web3-utils');
export class EthValidation implements IValidation {
validateAddress(_network: string, address: string): boolean {
return utils.isAddress(address);
}
validateUri(addressUri: string): boolean {
if (!addressUri) {
return false;
}
const address = this.extractAddress(addressUri);
const ethereumPrefix = /ethereum/i.exec(addressUri);
return !!ethereumPrefix && utils.isAddress(address);
}
private extractAddress(data) {
const prefix = /^[a-z]+:/i;
const params = /([\?\&](value|gas|gasPrice|gasLimit)=(\d+([\,\.]\d+)?))+/i;
return data.replace(prefix, '').replace(params, '');
}
}