diff options
-rw-r--r-- | src/ts/0x.js.ts | 3 | ||||
-rw-r--r-- | src/ts/globals.d.ts | 6 | ||||
-rw-r--r-- | test/0x.js.ts | 3 |
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; }); |