Address feedback
This commit is contained in:
parent
d8670e5768
commit
945a583e89
@ -11,7 +11,8 @@ export interface ECSignature {
|
|||||||
|
|
||||||
export class ZeroEx {
|
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 {
|
public static isValidSignature(data: string, signature: ECSignature, signer: ETHAddressHex): boolean {
|
||||||
const dataBuff = ethUtil.toBuffer(data);
|
const dataBuff = ethUtil.toBuffer(data);
|
||||||
|
6
src/ts/globals.d.ts
vendored
6
src/ts/globals.d.ts
vendored
@ -1,4 +1,4 @@
|
|||||||
declare type PubKey = string;
|
declare type ETHPublicKey = string;
|
||||||
declare type ETHAddressHex = string;
|
declare type ETHAddressHex = string;
|
||||||
declare type ETHAddressBuff = Buffer;
|
declare type ETHAddressBuff = Buffer;
|
||||||
|
|
||||||
@ -6,6 +6,6 @@ declare module 'ethereumjs-util' {
|
|||||||
const toBuffer: (data: string) => Buffer;
|
const toBuffer: (data: string) => Buffer;
|
||||||
const hashPersonalMessage: (msg: Buffer) => Buffer;
|
const hashPersonalMessage: (msg: Buffer) => Buffer;
|
||||||
const bufferToHex: (buff: Buffer) => string;
|
const bufferToHex: (buff: Buffer) => string;
|
||||||
const ecrecover: (msgHashBuff: Buffer, v: number, r: Buffer, s: Buffer) => PubKey;
|
const ecrecover: (msgHashBuff: Buffer, v: number, r: Buffer, s: Buffer) => ETHPublicKey;
|
||||||
const pubToAddress: (pubKey: PubKey) => ETHAddressBuff;
|
const pubToAddress: (pubKey: ETHPublicKey) => ETHAddressBuff;
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,7 @@ import 'mocha';
|
|||||||
|
|
||||||
describe('ZeroEx library', () => {
|
describe('ZeroEx library', () => {
|
||||||
describe('#isValidSignature', () => {
|
describe('#isValidSignature', () => {
|
||||||
|
// This test data was borrowed from the JSON RPC documentation
|
||||||
// Source: https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_sign
|
// Source: https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_sign
|
||||||
const data = '0xdeadbeaf';
|
const data = '0xdeadbeaf';
|
||||||
const signature = {
|
const signature = {
|
||||||
@ -66,7 +67,7 @@ describe('ZeroEx library', () => {
|
|||||||
const isValid = ZeroEx.isValidSignature(data, wrongSignature, address);
|
const isValid = ZeroEx.isValidSignature(data, wrongSignature, address);
|
||||||
expect(isValid).to.be.false;
|
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);
|
const isValid = ZeroEx.isValidSignature(data, signature, address);
|
||||||
expect(isValid).to.be.true;
|
expect(isValid).to.be.true;
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user