@amontech/amon-lib
Advanced tools
Comparing version 2.5.6 to 2.5.7
const CoinHelper = require('./coin'); | ||
const iban = require('iban'); | ||
const countriesSepa = require('./countriesSepa'); | ||
function addressValidator(network, address) { | ||
function addressValidator(network, address, { bic } = {}) { | ||
return iban.isValid(address); | ||
const countrySepa = countriesSepa.find(countrySepa => address.startsWith(countrySepa.iban) ); | ||
return Boolean( | ||
address && | ||
iban.isValid(address) && | ||
countrySepa && countrySepa.code === 'EUR') | ||
&& typeof bic === 'string' && bic.length > 2; | ||
} | ||
@@ -16,5 +23,5 @@ | ||
validAddress(address) { | ||
validAddress(address, extra = {}) { | ||
return addressValidator(this.opts.network, address); | ||
return addressValidator(this.opts.network, address, extra); | ||
@@ -21,0 +28,0 @@ } |
{ | ||
"name": "@amontech/amon-lib", | ||
"version": "2.5.6", | ||
"version": "2.5.7", | ||
"description": "Common amon libraries", | ||
@@ -5,0 +5,0 @@ "main": "./lib/index.js", |
@@ -105,7 +105,7 @@ const AmonLib = require('../../../../lib'); | ||
validAddress: ['IT60X0542811101000000123456'], | ||
invalidAddress: '0xC1912fEE45d61C87Cc5EA59DaE31190FFFFf232d', | ||
invalidAddress: 'LI89370400440532013000', | ||
}, | ||
mainnet: { | ||
validAddress: ['DE89370400440532013000'], | ||
invalidAddress: '0xC1912fEE45d61C87Cc5EA59DaE31190FFFFf232d', | ||
invalidAddress: 'LI89370400440532013000', | ||
}, | ||
@@ -117,3 +117,2 @@ }, | ||
const testCoin = (network) => (coinCode) => { | ||
@@ -138,4 +137,8 @@ | ||
expect(this.coin.validAddress(validAddress)).to.be.true; | ||
if(coinCode === 'EUR') { | ||
expect(this.coin.validAddress(validAddress, { bic: 'bic' }) ).to.be.true; | ||
} | ||
}); | ||
@@ -147,4 +150,12 @@ | ||
expect(this.coin.validAddress(coinTestData.invalidAddress)).to.be.false; | ||
expect(this.coin.validAddress(coinTestData.invalidAddress, { bic: 'bic' })).to.be.false; | ||
if(coinCode === 'EUR') { | ||
expect(this.coin.validAddress(coinTestData.validAddress[0], { bic: 'bi' }) ).to.be.false; | ||
expect(this.coin.validAddress(coinTestData.validAddress[0], {}) ).to.be.false; | ||
expect(this.coin.validAddress(coinTestData.validAddress[0]) ).to.be.false; | ||
} | ||
}); | ||
@@ -151,0 +162,0 @@ |
44378
30
1114