1.0.0 • Published 2 years ago

@coinsmart/wallet-validator v1.0.0

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

Wallet-validator

The problem

There are hundreds of npm libraries that try to validate wallet addresses only by the coin/token name making it impossible to cover them all. A fork adds 3 new tokens and the problem is still there.

This solution

Rather than validating coins or tokens by name, we try to do it by chain name whenever it is possible. This way we can cover all tokens on a specific chain and the library is easier to maintain.

It is also better to specify a chain name for validation rather than a coin name, this way you can be sure that the network you are using matches the input address.

You can check https://coinmarketcap.com/ to know the chain of a token.

Usage

import { validate } from 'wallet-validator'

validate('0xa00354276d2fC74ee91e37D085d35748613f4748', 'ETH') // true
validate('14GwrqiECaY7iizoHdscCVF2j14tYn7eKE9Fbvn7PHdTABkf', 'Polkadot') // true
validate('5GrpknVvGGrGH3EFuURXeMrWHvbpj3VfER1oX5jFtuGbfzCE', 'Polkadot') // true
validate('CpjsLDC1JFyrhm3ftC9Gs4QoyrkHKhZKtK7YqGTRFtTafgp', 'Polkadot') // true
validate('12QeMLzSrB8XH8FvEzPMVoRxVAzTr5XM2y', 'btc') // true

Troubleshooting

Tests

npm t to run the tests.