Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Ravencoin #31

Open
wants to merge 135 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
135 commits
Select commit Hold shift + click to select a range
b433645
Add vertcoin
ajoslin Dec 14, 2017
01fc48d
Covnert to hex
ajoslin Dec 14, 2017
04e865a
Added bitcoin gold
martin-key Dec 24, 2017
21b5458
added Garlicoin
Jan 27, 2018
bae20b1
Add new LTC P2SH prefix
cernael Feb 27, 2018
b765d94
Merge pull request #6 from keyhash/master
ognus Feb 28, 2018
62bce15
Merge pull request #5 from dylmye/master
ognus Feb 28, 2018
08746f6
Dropped bower, fixed travis CI config. Updated README.
ognus Mar 2, 2018
216ec17
Merge pull request #9 from ognus/cleanup
ognus Mar 2, 2018
e38b06d
Added missing test and build
ognus Mar 2, 2018
5990ff2
Merge pull request #10 from ognus/ajoslin-patch-1
ognus Mar 2, 2018
1a930c3
Merge branch 'patch-1' of git://github.com/cernael/wallet-address-val…
ognus Mar 2, 2018
2eef5c4
Merge branch 'cernael-patch-1'
ognus Mar 2, 2018
35fa6c2
Added missing test and build, udpated README
ognus Mar 2, 2018
3fe2386
Merge branch 'StarbuckBG-master'
ognus Mar 2, 2018
f99ba8e
chore(release): 0.1.2
ognus Mar 2, 2018
8f61e29
Extended currencies list with Decred
R3VoLuT1OneR Mar 4, 2018
267fa77
Browserify package
R3VoLuT1OneR Mar 4, 2018
0ee5c38
Merge pull request #11 from R3VoLuT1OneR/master
ognus Mar 5, 2018
6348fa3
Blake256 fix for browser. Dropped Grunt, added Karma test runner and …
ognus Mar 8, 2018
994f630
Travis CI workaround for Headless Chrome, https://github.com/travis-c…
ognus Mar 8, 2018
7d237f9
Merge pull request #13 from ognus/blake
ognus Mar 8, 2018
71e7cdf
Added Ethereum and Digibyte currencies
ognus Mar 6, 2018
1ac2f4a
Merge pull request #14 from ognus/ethereum
ognus Mar 9, 2018
274edfb
chore(release): 0.1.3
ognus Mar 9, 2018
bb8030d
Add ripple validator
dpominov Mar 22, 2018
d826268
add test for ripple
dpominov Mar 23, 2018
11cc423
Add Ripple to README.md
dpominov Mar 23, 2018
dea3dfe
Merge pull request #18 from dpominov/add_ripple
ognus Mar 25, 2018
6847561
Added .editorconfig and fixed whitespaces
ognus Mar 26, 2018
f55d5c0
Small code refactor
ognus Mar 26, 2018
69d3703
Added Dash and listed coins alphabetically in README.md
ognus Mar 26, 2018
dbcddf1
Merge pull request #19 from ognus/dash
ognus Mar 26, 2018
287ade0
chore(release): 0.1.4
ognus Mar 26, 2018
b468f44
Add Bitcoin Cash
zeppelin Apr 3, 2018
84296a0
Merge pull request #20 from zeppelin/add-bcash
ognus Apr 4, 2018
31ece31
Add support for validating NEO addresses
mcuelenaere Apr 3, 2018
b45d4b8
Update README about NEO addition
mcuelenaere Apr 3, 2018
984730a
Merge branch 'mcuelenaere-neo-support'
ognus Apr 4, 2018
372d685
chore(release): 0.1.5
ognus Apr 4, 2018
313db53
Code clean and refactor
ognus Apr 7, 2018
2c2e2ab
Merge pull request #25 from ognus/fun_bind
ognus Apr 9, 2018
4799be5
Added Qtum validation
ognus Apr 9, 2018
c38dfc1
Merge pull request #26 from ognus/qtum
ognus Apr 9, 2018
1a38a43
chore(release): 0.1.6
ognus Apr 9, 2018
664215d
Update currencies.js
hellcatz Apr 11, 2018
6b880ca
Update wallet_address_validator.js
hellcatz Apr 11, 2018
bfb4051
Update wallet_address_validator.js
hellcatz Apr 18, 2018
8688e1e
Add files via upload
hellcatz Apr 18, 2018
d8d3ef9
Update wallet_address_validator.js
hellcatz Apr 18, 2018
3153858
Merge pull request #29 from hellcatz/hellcatz-equihash
ognus Apr 20, 2018
686047a
add neogas
iddoberger Apr 17, 2018
44fe097
change test value
iddoberger Apr 18, 2018
d7a0c82
add gas to keywords in package.json
iddoberger Apr 18, 2018
beb8201
add neogas to dist
iddoberger Apr 18, 2018
e1ddf40
Merge branch 'iddoberger-master'
ognus Apr 20, 2018
8e6bf76
Added new coins to Readme
ognus Apr 20, 2018
8ddd2c7
chore(release): 0.1.7
ognus Apr 20, 2018
af2024c
chore(): add failing spec for P2SH testnet litecoin address
iobaixas May 15, 2018
0cb202e
feat(litecoin): adds support for new testnet P2SH addresses
iobaixas May 15, 2018
54a64f7
Merge pull request #31 from iobaixas/patch-1
ognus Jul 10, 2018
4262445
chore(dist): rebuilt the bundle file
ognus Jul 10, 2018
deb2f27
feat: segwit support for bitcoin
dominique-blockchain Aug 9, 2018
0503a5b
Merge pull request #35 from deefactorial/master
ognus Sep 11, 2018
6019d4b
refactored segwit support
ognus Sep 11, 2018
fb37bc5
added new currency bkx-bankex, tests attached
PavelVoronov Sep 17, 2018
feabcdf
Merge pull request #38 from PavelVoronov/master
ognus Sep 28, 2018
743ef27
chore(release): 0.2.1
ognus Sep 28, 2018
43efec5
Add Blake2B support to crypto utils (taken from https://github.com/em…
mcuelenaere Sep 28, 2018
e680b0e
Add support for validating NANO/XRB addresses
mcuelenaere Sep 28, 2018
47adbfe
Update README about NANO addition
mcuelenaere Sep 28, 2018
72e9b37
Add monero/xmr validation
maximumgame Sep 28, 2018
74694d0
regex ripple improved
mrqc Jul 17, 2018
e3eefbb
added support for cardano
christsim Oct 25, 2018
a117a26
Revert "regex ripple improved"
christsim Oct 25, 2018
f11da7a
added xmr from a fork
christsim Oct 25, 2018
8f7610d
added coins. mainly eth tokens
christsim Oct 25, 2018
f35ae1f
added expanse
christsim Oct 25, 2018
0176370
clean up.
christsim Oct 25, 2018
be035bc
fixed ada browser compatibility
christsim Oct 25, 2018
33e4f47
updated readme.md to reflect current coins
christsim Oct 25, 2018
932a2ab
publicshing to npm
christsim Oct 26, 2018
70b1b4e
fixed trailing comma
christsim Oct 26, 2018
34aca98
updated package.json
christsim Oct 27, 2018
092b3cb
this commit adds waves support
christsim Oct 29, 2018
efa54e3
Regenerate dist
mcuelenaere Oct 30, 2018
cd59efd
bump deps
mcuelenaere Oct 30, 2018
43ab453
Merge https://github.com/getdelta/wallet-address-validator into merge…
christsim Oct 30, 2018
4e2244c
added rlc, salt, and storj
christsim Oct 30, 2018
6478a3d
added more erc20 coins (Viberate, Odyssey, Polymath, Storm)
christsim Nov 1, 2018
ad56991
removed unneccesary toArrayBuffer method
christsim Nov 5, 2018
ae96792
removed duplicate base58 decoding package
christsim Nov 5, 2018
45dc6b2
add sc and xsc
eddiewang Nov 11, 2018
7351671
merge
eddiewang Nov 11, 2018
1b0c110
add lbry
eddiewang Nov 11, 2018
aacfcf1
add loki
eddiewang Nov 11, 2018
58259d0
Merge https://github.com/LuxorLabs/wallet-address-validator
christsim Nov 11, 2018
16f1860
v0.3.5
christsim Nov 12, 2018
44d2374
fixed qtum testnet
christsim Nov 16, 2018
e4abeb3
updated to v0.3.6
christsim Nov 16, 2018
ccda933
adds regtest address checking for bitcoin
christsim Dec 19, 2018
12d9316
Adds extra validators (#3)
sasiedu Feb 13, 2019
9b985a5
updated version
christsim Feb 13, 2019
b70a922
Adds BSV (#4)
sasiedu Feb 15, 2019
3f7a4b9
Updates README to include BCH (#5)
sasiedu Feb 15, 2019
d505bb4
fixed vertcoin validator for '3' addresses
christsim Feb 15, 2019
e6a235b
Adds XLM address validator (#6)
sasiedu Mar 8, 2019
89349a0
updated dependencies
christsim Mar 8, 2019
853da27
added yarn.lock
christsim Mar 8, 2019
aa92c9c
Merge branch 'master' of github.com:christsim/multicoin-address-valid…
christsim Mar 8, 2019
caa02fb
updated to 0.3.10
christsim Mar 8, 2019
1d5a8be
added multiple erc20 tokens
christsim Jan 15, 2020
671b377
added get currencies and find currencies
christsim Jan 15, 2020
159c938
updated travis to include latest node and remove old node versions
christsim Jan 15, 2020
48372c4
updated README.md
christsim Jan 15, 2020
3869278
cherry-picked eos validator
GusGold May 28, 2019
2064080
Cherry picked and added EOS
christsim Jan 24, 2020
86abdfa
updated version
christsim Jan 24, 2020
663fd37
Adds XTZ address validator (#13)
sasiedu Jan 24, 2020
193203e
updated version after merging tezos
christsim Jan 24, 2020
58abf62
added support for monero sub addresses,
christsim Apr 25, 2020
3f738ab
merged lodash.isequal fix
christsim Apr 25, 2020
4546c86
merged monero stagenet
christsim Apr 25, 2020
f90438f
updating yarn before running travis
christsim May 7, 2020
bddefc7
fixing travis build added install command
christsim May 7, 2020
8be8d08
removed node 8 from travis as it is out of lts maintenance.
christsim May 7, 2020
7f01b41
Added VET and StormX
christsim Jul 25, 2020
ed00e04
Adds validation of both omni and erc20 addresses for Tether (#21)
sasiedu Aug 18, 2020
b98322c
updated version
christsim Aug 18, 2020
18c238c
Add LTC Bech32 Support (#22)
rraina Aug 20, 2020
597c242
updated to version 0.4.7 after litecoin segwit pr merge.
christsim Aug 20, 2020
222a3c2
added cardano shelly support
christsim Oct 6, 2020
4106cd0
Adds segwit support for digibyte (#30)
sasiedu Nov 20, 2020
32b57ef
Merged and fixed Digibyte segwit address validation
christsim Nov 20, 2020
6c20f98
Add Ravencoin
Nov 27, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# editorconfig.org
root = true

[*]
indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
node_modules
bower_components
.idea
.DS_Store
4 changes: 4 additions & 0 deletions .snyk
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Snyk (https://snyk.io) policy file, patches or ignores known vulnerabilities.
version: v1.13.3
ignore: {}
patch: {}
11 changes: 10 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
sudo: required
addons:
chrome: stable
language: node_js
node_js:
- "4"
- "10"
- "12"
- "stable"
before_install:
- npm install -g yarn --cache-min 999999999
install:
- yarn
23 changes: 23 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Mocha Tests",
"program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
"args": [
"-u",
"tdd",
"--timeout",
"999999",
"--colors",
"${workspaceFolder}/test"
],
"internalConsoleOptions": "openOnSessionStart"
}
]
}
42 changes: 0 additions & 42 deletions Gruntfile.js

This file was deleted.

168 changes: 136 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,66 +1,147 @@
# wallet-address-validator
Simple wallet address validator for validating Bitcoin and other altcoins addresses in **Node.js and browser**.
Simple wallet address validator for validating Bitcoin and other altcoins addresses in **Node.js and browser**.

[![Build Status](https://travis-ci.org/christsim/multicoin-address-validator.svg?branch=master)](https://travis-ci.org/christsim/multicoin-address-validator)

Forked from [ryanralph/altcoin-address](https://github.com/ryanralph/altcoin-address).

I forked it to remove all Node.js dependencies (crypro, Buffer etc.) to make it usable in the browser as well. I didn't use browserify to achieve smaller footprint, **file size is 4.0 kB (minifed and gzipped)**.
**File size is ~17 kB (minifed and gzipped)**.

## Installation

### Node
### NPM
```
npm install wallet-address-validator
npm install multicoin-address-validator
```

### Browser
```html
<script src="wallet-address-validator.min.js"></script>
```

#### Using bower
```
bower install wallet-address-validator
```


## API

##### validate (address [, currency = 'bitcoin'[, networkType = 'prod']])

###### Parameters
* address - Wallet address to validate.
* currency - Optional. Currency name or symbol, e.g. `'bitcoin'` (default), `'litecoin'` or `'LTC'`
* networkType - Optional. Use `'prod'` (default) to enforce standard address, `'testnet'` to enforce testnet address and `'both'` to enforce nothing.
* networkType - Optional. Use `'prod'` (default) to enforce standard address, `'testnet'` to enforce testnet address and `'both'` to enforce nothing.

> Returns true if the address (string) is a valid wallet address for the crypto currency specified, see below for supported currencies.

##### getAddressType (address)

###### Parameters
* address - Wallet address.

> Returns address type (as 2 character hex string) if valid base58 address, otherwise null.

### Supported crypto currencies

* Bitcoin/BTC, `'bitcoin'` or `'BTC'`
* Litecoin/LTC, `'litecoin'` or `'LTC'`
* Peercoin/PPCoin/PPC, `'peercoin'` or `'PPC'`
* Dogecoin/DOGE, `'dogecoin'` or `'DOGE'`
* BeaverCoin/BVC, `'beavercoin'` or `'BVC'`
* Freicoin/FRC, `'freicoin'` or `'FRC'`
* Protoshares/PTS, `'protoshares'` or `'PTS'`
* Megacoin/MEC, `'megacoin'` or `'MEC'`
* Primecoin/XPM, `'primecoin'` or `'XPM'`
* Auroracoin/AUR, `'auroracoin'` or `'AUR'`
* Namecoin/NMC, `'namecoin'` or `'NMC'`
* Biocoin/BIO, `'biocoin'` or `'BIO'`
* 0x/zrx `'0x'` or `'zrx'`
* Aragon/ant `'Aragon'` or `'ant'`
* Augur/rep `'Augur'` or `'rep'`
* AuroraCoin/aur `'AuroraCoin'` or `'aur'`
* Bancor/bnt `'Bancor'` or `'bnt'`
* Bankex/bkx `'Bankex'` or `'bkx'`
* Basic Attention Token/bat `'Basic Attention Token'` or `'bat'`
* BeaverCoin/bvc `'BeaverCoin'` or `'bvc'`
* BioCoin/bio `'BioCoin'` or `'bio'`
* Bitcoin/btc `'Bitcoin'` or `'btc'`
* Bitcoin SV/bsv `'Bitcoin SV'` or `'bsv'`
* BitcoinCash/bch `'BitcoinCash'` or `'bch'`
* BitcoinGold/btg `'BitcoinGold'` or `'btg'`
* BitcoinPrivate/btcp `'BitcoinPrivate'` or `'btcp'`
* BitcoinZ/btcz `'BitcoinZ'` or `'btcz'`
* BTU Protocol/btu `'BTU Protocol'` or `'btu'`
* Callisto/clo `'Callisto'` or `'clo'`
* Cardano/ada `'Cardano'` or `'ada'`
* Chainlink/link `'Chainlink'` or `'link'`
* Civic/cvc `'Civic'` or `'cvc'`
* Cred/lba `'Cred'` or `'lba'`
* Crypto.com Coin/cro `'Crypto.com Coin'` or `'cro'`
* Dash/dash `'Dash'` or `'dash'`
* Decred/dcr `'Decred'` or `'dcr'`
* DigiByte/dgb `'DigiByte'` or `'dgb'`
* District0x/dnt `'District0x'` or `'dnt'`
* DogeCoin/doge `'DogeCoin'` or `'doge'`
* Enjin Coin/enj `'Enjin Coin'` or `'enj'`
* EOS/eos `'EOS'` or `'eos'`
* Ethereum/eth `'Ethereum'` or `'eth'`
* EthereumClassic/etc `'EthereumClassic'` or `'etc'`
* EtherZero/etz `'EtherZero'` or `'etz'`
* Expanse/exp `'Expanse'` or `'exp'`
* FreiCoin/frc `'FreiCoin'` or `'frc'`
* GameCredits/game `'GameCredits'` or `'game'`
* GarliCoin/grlc `'GarliCoin'` or `'grlc'`
* Gnosis/gno `'Gnosis'` or `'gno'`
* Golem/gnt `'Golem'` or `'gnt'`
* HedgeTrade/hedg `'HedgeTrade'` or `'hedg'`
* Hush/hush `'Hush'` or `'hush'`
* HyperSpace/xsc `'HyperSpace'` or `'xsc'`
* iExec RLC/rlc `'iExec RLC'` or `'rlc'`
* Komodo/kmd `'Komodo'` or `'kmd'`
* LBRY Credits/lbc `'LBRY Credits'` or `'lbc'`
* Lisk/lsk `'Lisk'` or `'lsk'`
* LiteCoin/ltc `'LiteCoin'` or `'ltc'`
* loki/loki `'loki'` or `'loki'`
* Loom Network/loom `'Loom Network'` or `'loom'`
* Maker/mkr `'Maker'` or `'mkr'`
* Matchpool/gup `'Matchpool'` or `'gup'`
* MegaCoin/mec `'MegaCoin'` or `'mec'`
* Melon/mln `'Melon'` or `'mln'`
* Metal/mtl `'Metal'` or `'mtl'`
* MonaCoin/mona `'MonaCoin'` or `'mona'`
* Monero/xmr `'Monero'` or `'xmr'`
* Multi-collateral DAI/dai `'Multi-collateral DAI'` or `'dai'`
* NameCoin/nmc `'NameCoin'` or `'nmc'`
* Nano/nano `'Nano'` or `'nano'`
* Nem/xem `'Nem'` or `'xem'`
* Neo/neo `'Neo'` or `'neo'`
* NeoGas/gas `'NeoGas'` or `'gas'`
* Numeraire/nmr `'Numeraire'` or `'nmr'`
* Ocean Protocol/ocean `'Ocean Protocol'` or `'ocean'`
* Odyssey/ocn `'Odyssey'` or `'ocn'`
* OmiseGO/omg `'OmiseGO'` or `'omg'`
* PeerCoin/ppc `'PeerCoin'` or `'ppc'`
* PIVX/pivx `'PIVX'` or `'pivx'`
* Polymath/poly `'Polymath'` or `'poly'`
* PrimeCoin/xpm `'PrimeCoin'` or `'xpm'`
* ProtoShares/pts `'ProtoShares'` or `'pts'`
* Qtum/qtum `'Qtum'` or `'qtum'`
* Quant/qnt `'Quant'` or `'qnt'`
* RaiBlocks/xrb `'RaiBlocks'` or `'xrb'`
* Ripio Credit Network/rcn `'Ripio Credit Network'` or `'rcn'`
* Ripple/xrp `'Ripple'` or `'xrp'`
* Salt/salt `'Salt'` or `'salt'`
* Siacoin/sc `'Siacoin'` or `'sc'`
* SnowGem/sng `'SnowGem'` or `'sng'`
* SolarCoin/slr `'SolarCoin'` or `'slr'`
* SOLVE/solve `'SOLVE'` or `'solve'`
* Spendcoin/spnd `'Spendcoin'` or `'spnd'`
* Status/snt `'Status'` or `'snt'`
* Stellar/xlm `'Stellar'` or `'xlm'`
* Storj/storj `'Storj'` or `'storj'`
* Storm/storm `'Storm'` or `'storm'`
* StormX/stmx `'StormX'` or `'stmx'`
* Swarm City/swt `'Swarm City'` or `'swt'`
* Synthetix Network/snx `'Synthetix Network'` or `'snx'`
* TEMCO/temco `'TEMCO'` or `'temco'`
* TenX/pay `'TenX'` or `'pay'`
* Tether/usdt `'Tether'` or `'usdt'`
* Tezos/xtz `'Tezos'` or `'xtz'`
* Tron/trx `'Tron'` or `'trx'`
* TrueUSD/tusd `'TrueUSD'` or `'tusd'`
* VeChain/vet `'VeChain'` or `'vet'`
* VertCoin/vtc `'VertCoin'` or `'vtc'`
* Viberate/vib `'Viberate'` or `'vib'`
* VoteCoin/vot `'VoteCoin'` or `'vot'`
* Waves/waves `'Waves'` or `'waves'`
* Wings/wings `'Wings'` or `'wings'`
* ZCash/zec `'ZCash'` or `'zec'`
* ZClassic/zcl `'ZClassic'` or `'zcl'`
* ZenCash/zen `'ZenCash'` or `'zen'`


### Usage example

#### Node
```javascript
var WAValidator = require('wallet-address-validator');
var WAValidator = require('multicoin-address-validator');

var valid = WAValidator.validate('1KFzzGtDdnq5hrwxXGjwVnKzRbvf8WVxck', 'BTC');
if(valid)
Expand All @@ -72,7 +153,7 @@ else
```

```javascript
var WAValidator = require('wallet-address-validator');
var WAValidator = require('multicoin-address-validator');

var valid = WAValidator.validate('1KFzzGtDdnq5hrwxXGjwVnKzRbvf8WVxck', 'litecoin', 'testnet');
if(valid)
Expand All @@ -83,6 +164,29 @@ else
// As this is a invalid litecoin address 'Address INVALID' will be logged to console.
```

```javascript
var WAValidator = require('multicoin-address-validator');

var currency = WAValidator.findCurrency('xrp');
if(currency)
console.log('This currency exists');
else
console.log('Currency INVALID');

// As this is a valid currency symbol 'This currency exists' will be logged to console.
```

```javascript
var WAValidator = require('multicoin-address-validator');

var currency = WAValidator.findCurrency('random');
if(currency)
console.log('This currency exists');
else
console.log('Currency INVALID');

// As this is not a valid currency symbol 'Currency INVALID' will be logged to console.
```
#### Browser
```html
<script src="wallet-address-validator.min.js"></script>
Expand Down
23 changes: 0 additions & 23 deletions bower.json

This file was deleted.

Loading