diff --git a/package-lock.json b/package-lock.json index c92cd7c..487a82b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@tetherto/wdk-wallet-tron", - "version": "1.0.0-beta.4", + "version": "1.0.0-beta.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@tetherto/wdk-wallet-tron", - "version": "1.0.0-beta.4", + "version": "1.0.0-beta.5", "license": "Apache-2.0", "dependencies": { "@noble/curves": "1.9.2", @@ -1389,9 +1389,9 @@ "license": "MIT" }, "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", + "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", "dev": true, "license": "MIT", "dependencies": { @@ -2714,6 +2714,12 @@ "@noble/hashes": "^1.2.0" } }, + "node_modules/bn.js": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.3.tgz", + "integrity": "sha512-EAcmnPkxpntVL+DS7bO1zhcZNvCkxqtkd0ZY53h06GNQ3DEkkGZ/gKgmDv6DdZQGj9BgfSPKtJJ7Dp1GPP8f7w==", + "license": "MIT" + }, "node_modules/brace-expansion": { "version": "1.1.12", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", @@ -3299,6 +3305,27 @@ "dev": true, "license": "ISC" }, + "node_modules/elliptic": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz", + "integrity": "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==", + "license": "MIT", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", + "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", + "license": "MIT" + }, "node_modules/emittery": { "version": "0.13.1", "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", @@ -6480,9 +6507,9 @@ } }, "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 15b7cc0..f9da26d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@tetherto/wdk-wallet-tron", - "version": "1.0.0-beta.4", + "version": "1.0.0-beta.5", "description": "A simple package to manage BIP-32 wallets for the tron blockchain.", "keywords": [ "wdk", diff --git a/src/wallet-account-read-only-tron.js b/src/wallet-account-read-only-tron.js index 5e5d937..c562f06 100644 --- a/src/wallet-account-read-only-tron.js +++ b/src/wallet-account-read-only-tron.js @@ -85,7 +85,7 @@ export default class WalletAccountReadOnlyTron extends WalletAccountReadOnly { const recoveredAddress = await Trx.verifyMessageV2(message, signature) - return address.toLowerCase() === recoveredAddress.toLowerCase() + return address === recoveredAddress } /** diff --git a/tests/wallet-account-read-only-tron.test.js b/tests/wallet-account-read-only-tron.test.js index 333a29c..a15238d 100644 --- a/tests/wallet-account-read-only-tron.test.js +++ b/tests/wallet-account-read-only-tron.test.js @@ -69,6 +69,14 @@ describe('WalletAccountReadOnlyTron', () => { expect(result).toBe(false) }) + test('should return false for an address with invalid casing', async () => { + const lowercasedAddressAccount = new WalletAccountReadOnlyTron(ADDRESS.toLowerCase()) + + const result = await lowercasedAddressAccount.verify(MESSAGE, SIGNATURE) + + expect(result).toBe(false) + }) + test('should throw on a malformed signature', async () => { await expect(account.verify(MESSAGE, '0xinvalid')) .rejects.toThrow(/invalid BytesLike value/)