UNPKG

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
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, ''); } }