aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ts/0x.js.ts3
-rw-r--r--src/ts/globals.d.ts6
-rw-r--r--test/0x.js.ts3
3 files changed, 7 insertions, 5 deletions
diff --git a/src/ts/0x.js.ts b/src/ts/0x.js.ts
index 3b16b643b..dd67c49a0 100644
--- a/src/ts/0x.js.ts
+++ b/src/ts/0x.js.ts
@@ -11,7 +11,8 @@ export interface ECSignature {
export class ZeroEx {
/**
- * Checks if the signature is valid
+ * Verifies that the elliptic curve signature `signature` was generated
+ * by signing `data` with the private key corresponding to the `signer` address.
*/
public static isValidSignature(data: string, signature: ECSignature, signer: ETHAddressHex): boolean {
const dataBuff = ethUtil.toBuffer(data);
diff --git a/src/ts/globals.d.ts b/src/ts/globals.d.ts
index 1c3cbf47d..0f7391b39 100644
--- a/src/ts/globals.d.ts
+++ b/src/ts/globals.d.ts
@@ -1,4 +1,4 @@
-declare type PubKey = string;
+declare type ETHPublicKey = string;
declare type ETHAddressHex = string;
declare type ETHAddressBuff = Buffer;
@@ -6,6 +6,6 @@ declare module 'ethereumjs-util' {
const toBuffer: (data: string) => Buffer;
const hashPersonalMessage: (msg: Buffer) => Buffer;
const bufferToHex: (buff: Buffer) => string;
- const ecrecover: (msgHashBuff: Buffer, v: number, r: Buffer, s: Buffer) => PubKey;
- const pubToAddress: (pubKey: PubKey) => ETHAddressBuff;
+ const ecrecover: (msgHashBuff: Buffer, v: number, r: Buffer, s: Buffer) => ETHPublicKey;
+ const pubToAddress: (pubKey: ETHPublicKey) => ETHAddressBuff;
}
diff --git a/test/0x.js.ts b/test/0x.js.ts
index 3d9a7a810..d59df8894 100644
--- a/test/0x.js.ts
+++ b/test/0x.js.ts
@@ -4,6 +4,7 @@ import 'mocha';
describe('ZeroEx library', () => {
describe('#isValidSignature', () => {
+ // This test data was borrowed from the JSON RPC documentation
// Source: https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_sign
const data = '0xdeadbeaf';
const signature = {
@@ -66,7 +67,7 @@ describe('ZeroEx library', () => {
const isValid = ZeroEx.isValidSignature(data, wrongSignature, address);
expect(isValid).to.be.false;
});
- it('should return true for valid signature', () => {
+ it('should return true if the signature does pertain to the data & address', () => {
const isValid = ZeroEx.isValidSignature(data, signature, address);
expect(isValid).to.be.true;
});