Skip to content

Commit 021f98d

Browse files
committed
Move lenght checks to Account
1 parent 5572aac commit 021f98d

File tree

3 files changed

+9
-5
lines changed

3 files changed

+9
-5
lines changed

src/account.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,10 @@ export class Account {
1010
*/
1111
static isValidAddress(address) {
1212
try {
13-
decodeCheck("accountId", address);
13+
let decoded = decodeCheck("accountId", address);
14+
if (decoded.length !== 32) {
15+
return false;
16+
}
1417
} catch(err) {
1518
return false;
1619
}

src/strkey.js

-4
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,6 @@ export function decodeCheck(versionByteName, encoded) {
3232
throw new Error(`invalid version byte. expected ${expectedVersion}, got ${versionByte}`);
3333
}
3434

35-
if (decoded.length !== 35) {
36-
throw new Error(`Decoded length is invalid. Expected 35, got ${decoded.length}`);
37-
}
38-
3935
let expectedChecksum = calculateChecksum(payload);
4036

4137
if (!verifyChecksum(expectedChecksum, checksum)) {

test/unit/account_test.js

+5
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,11 @@ describe('Account.isValidAddress', function() {
2323

2424
it("returns false for invalid address", function() {
2525
var addresses = [
26+
'GBPXX0A5N4JYPESHAADMQKBPWZWQDQ64ZV6ZL2S3LAGW4SY7NTCMWIVL',
27+
'GCFZB6L25D26RQFDWSSBDEYQ32JHLRMTT44ZYE3DZQUTYOL7WY43PLBG++',
28+
'GADE5QJ2TY7S5ZB65Q43DFGWYWCPHIYDJ2326KZGAGBN7AE5UY6JVDRRA',
29+
'GB6OWYST45X57HCJY5XWOHDEBULB6XUROWPIKW77L5DSNANBEQGUPADT2',
30+
'GB6OWYST45X57HCJY5XWOHDEBULB6XUROWPIKW77L5DSNANBEQGUPADT2T',
2631
'GDXIIZTKTLVYCBHURXL2UPMTYXOVNI7BRAEFQCP6EZCY4JLKY4VKFNLT',
2732
'gWRYUerEKuz53tstxEuR3NCkiQDcV4wzFHmvLnZmj7PUqxW2wt',
2833
'test',

0 commit comments

Comments
 (0)