meck93/evote-crypto

View on GitHub
src/helper.ts

Summary

Maintainability
A
3 hrs
Test Coverage

Showing 44 of 44 total issues

Similar blocks of code found in 3 locations. Consider refactoring.
Open

export const addBN = (a: BN, b: BN, modulus: BN): BN => a.add(b).mod(modulus)
Severity: Major
Found in src/helper.ts and 2 other locations - About 1 hr to fix
src/helper.ts on lines 7..7
src/helper.ts on lines 8..8

Similar blocks of code found in 3 locations. Consider refactoring.
Open

export const subBN = (a: BN, b: BN, modulus: BN): BN => a.sub(b).mod(modulus)
Severity: Major
Found in src/helper.ts and 2 other locations - About 1 hr to fix
src/helper.ts on lines 6..6
src/helper.ts on lines 8..8

Similar blocks of code found in 3 locations. Consider refactoring.
Open

export const mulBN = (a: BN, b: BN, modulus: BN): BN => a.mul(b).mod(modulus)
Severity: Major
Found in src/helper.ts and 2 other locations - About 1 hr to fix
src/helper.ts on lines 6..6
src/helper.ts on lines 7..7

Forbidden bitwise operation
Open

mismatch |= a[i] ^ b[i]
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

export const subBN = (a: BN, b: BN, modulus: BN): BN => a.sub(b).mod(modulus)
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

import BN = require('bn.js')
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

export const divBN = (a: BN, b: BN, modulus: BN): BN => mulBN(a, invmBN(b, modulus), modulus)
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

export const powBN = (a: BN, b: BN, modulus: BN): BN => a.pow(b).mod(modulus)
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

export const mulBN = (a: BN, b: BN, modulus: BN): BN => a.mul(b).mod(modulus)
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

export const newBN = (n: number, base = 10): BN => new BN(n, base)
Severity: Minor
Found in src/helper.ts by tslint

Forbidden bitwise operation
Open

mismatch |= a[i] ^ b[i]
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

export const addBN = (a: BN, b: BN, modulus: BN): BN => a.add(b).mod(modulus)
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

import crypto = require('crypto')
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

export const invmBN = (a: BN, modulus: BN): BN => a.invm(modulus)
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

const modulus: BN = n.mod(new BN(256, 10))
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

let byteSize: number
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

return smallerHalf ? result.add(new BN(1, 10)) : result
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

byteSize = BYTE_SIZE.toNumber()
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

throw new TypeError('Second argument must be of type: BN')
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

const BYTE_SIZE: BN = getByteSizeForDecimalNumber(n)
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

const smallerHalf: boolean = modulus.lt(new BN(128, 10))
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

const ONE: BN = new BN(1, 10)
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

}
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

}
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

throw new TypeError('First argument must be of type: BN')
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

mismatch |= a[i] ^ b[i]
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

}
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

let randomBytes: Buffer = crypto.randomBytes(byteSize)
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

let randomValue: BN = new BN(randomBytes)
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

randomValue = new BN(randomBytes)
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

const a_ = new Buffer(a.toArray())
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

}
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

const UPPER_BOUND_RANDOM: BN = n.sub(ONE)
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

byteSize = 32
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

return randomValue
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

throw new TypeError('Second argument must be a buffer')
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

const result: BN = n.divRound(new BN(256, 10))
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

randomBytes = crypto.randomBytes(byteSize)
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

b = a
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

return mismatch === 0
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

const b_ = new Buffer(b.toArray())
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

return timingSafeEqual(a_, b_)
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

throw new TypeError('First argument must be a buffer')
Severity: Minor
Found in src/helper.ts by tslint

Missing semicolon
Open

let mismatch = a.length === b.length ? 0 : 1
Severity: Minor
Found in src/helper.ts by tslint
Category
Status