Preparing report...

Report for github.com/arnaucube/go-snark-study

A    Great!    Found 23 issues across 29 files

Tweet

gofmt86%

Gofmt formats Go programs. We run gofmt -s on your code, where -s is for the "simplify" command


go_vet100%

go vet examines Go source code and reports suspicious constructs, such as Printf calls whose arguments do not align with the format string.

No problems detected. Good job!


gocyclo86%

Gocyclo calculates cyclomatic complexities of functions in Go source code. The cyclomatic complexity of a function is calculated according to the following rules: 1 is the base complexity of a function +1 for each 'if', 'for', 'case', '&&' or '||' Go Report Card warns on functions with cyclomatic complexity > 15.


golint34%

Golint is a linter for Go source code.

    • go-snark-study/utils/hexparsers.go
    • Line 13: warning: comment on exported function ArrayBigIntToHex should be of the form "ArrayBigIntToHex ..." (golint)
    • Line 21: warning: exported function ArrayHexToBigInt should have comment or be unexported (golint)
    • Line 33: warning: comment on exported function Hex3ToBigInt should be of the form "Hex3ToBigInt ..." (golint)
    • Line 45: warning: exported function BigInt3ToHex should have comment or be unexported (golint)
    • Line 53: warning: comment on exported function Array3HexToBigInt should be of the form "Array3HexToBigInt ..." (golint)
    • Line 65: warning: exported function Array3BigIntToHex should have comment or be unexported (golint)
    • Line 73: warning: exported function Hex2ToBigInt should have comment or be unexported (golint)
    • Line 85: warning: comment on exported function Hex32ToBigInt should be of the form "Hex32ToBigInt ..." (golint)
    • Line 104: warning: exported function BigInt32ToHex should have comment or be unexported (golint)
    • Line 115: warning: comment on exported function Array32HexToBigInt should be of the form "Array32HexToBigInt ..." (golint)
    • Line 127: warning: exported function Array32BigIntToHex should have comment or be unexported (golint)
    • Line 135: warning: comment on exported type PkHex should be of the form "PkHex ..." (with optional leading article) (golint)
    • Line 147: warning: exported type VkHex should have comment or be unexported (golint)
    • Line 157: warning: exported type SetupHex should have comment or be unexported (golint)
    • Line 162: warning: exported function SetupToHex should have comment or be unexported (golint)
    • Line 183: warning: exported function SetupFromHex should have comment or be unexported (golint)
    • Line 260: warning: comment on exported type CircuitHex should be of the form "CircuitHex ..." (with optional leading article) (golint)
    • Line 277: warning: exported function ArrayArrayBigIntToHex should have comment or be unexported (golint)
    • Line 284: warning: exported function ArrayArrayHexToBigInt should have comment or be unexported (golint)
    • Line 295: warning: exported function CircuitToHex should have comment or be unexported (golint)
    • Line 310: warning: exported function CircuitFromHex should have comment or be unexported (golint)
    • Line 339: warning: comment on exported type ProofHex should be of the form "ProofHex ..." (with optional leading article) (golint)
    • Line 351: warning: exported function ProofToHex should have comment or be unexported (golint)
    • Line 363: warning: exported function ProofFromHex should have comment or be unexported (golint)
    • Line 402: warning: comment on exported type GrothPkHex should be of the form "GrothPkHex ..." (with optional leading article) (golint)
    • Line 421: warning: exported type GrothVkHex should have comment or be unexported (golint)
    • Line 432: warning: exported type GrothSetupHex should have comment or be unexported (golint)
    • Line 437: warning: exported function GrothSetupToHex should have comment or be unexported (golint)
    • Line 458: warning: exported function GrothSetupFromHex should have comment or be unexported (golint)
    • Line 532: warning: exported type GrothProofHex should have comment or be unexported (golint)
    • Line 538: warning: exported function GrothProofToHex should have comment or be unexported (golint)
    • Line 545: warning: exported function GrothProofFromHex should have comment or be unexported (golint)
    • go-snark-study/bn128/g1.go
    • Line 9: warning: exported type G1 should have comment or be unexported (golint)
    • Line 14: warning: exported function NewG1 should have comment or be unexported (golint)
    • Line 25: warning: exported method G1.Zero should have comment or be unexported (golint)
    • Line 28: warning: exported method G1.IsZero should have comment or be unexported (golint)
    • Line 32: warning: exported method G1.Add should have comment or be unexported (golint)
    • Line 91: warning: exported method G1.Neg should have comment or be unexported (golint)
    • Line 98: warning: exported method G1.Sub should have comment or be unexported (golint)
    • Line 101: warning: exported method G1.Double should have comment or be unexported (golint)
    • Line 140: warning: exported method G1.MulScalar should have comment or be unexported (golint)
    • Line 157: warning: exported method G1.Affine should have comment or be unexported (golint)
    • Line 172: warning: exported method G1.Equal should have comment or be unexported (golint)
    • go-snark-study/fields/fq.go
    • Line 61: warning: exported method Fq.MulScalar should have comment or be unexported (golint)
    • Line 116: warning: exported method Fq.Rand should have comment or be unexported (golint)
    • Line 134: warning: exported method Fq.IsZero should have comment or be unexported (golint)
    • Line 138: warning: exported method Fq.Copy should have comment or be unexported (golint)
    • Line 142: warning: exported method Fq.Affine should have comment or be unexported (golint)
    • Line 161: warning: exported method Fq.Equal should have comment or be unexported (golint)
    • Line 167: warning: exported function BigIsOdd should have comment or be unexported (golint)
    • go-snark-study/cli/main.go
    • Line 95: warning: exported function CompileCircuit should have comment or be unexported (golint)
    • Line 231: warning: exported function TrustedSetup should have comment or be unexported (golint)
    • Line 303: warning: exported function GenerateProofs should have comment or be unexported (golint)
    • Line 368: warning: exported function VerifyProofs should have comment or be unexported (golint)
    • Line 399: warning: exported function Groth16TrustedSetup should have comment or be unexported (golint)
    • Line 455: warning: exported function Groth16GenerateProofs should have comment or be unexported (golint)
    • Line 520: warning: exported function Groth16VerifyProofs should have comment or be unexported (golint)
    • go-snark-study/fields/fq2.go
    • Line 78: warning: exported method Fq2.MulScalar should have comment or be unexported (golint)
    • Line 135: warning: exported method Fq2.IsZero should have comment or be unexported (golint)
    • Line 139: warning: exported method Fq2.Affine should have comment or be unexported (golint)
    • Line 145: warning: exported method Fq2.Equal should have comment or be unexported (golint)
    • Line 149: warning: exported method Fq2.Copy should have comment or be unexported (golint)
    • go-snark-study/snark.go
    • Line 16: warning: exported type Pk should have comment or be unexported (golint)
    • Line 28: warning: exported type Vk should have comment or be unexported (golint)
    • go-snark-study/circuitcompiler/lexer.go
    • Line 9: warning: exported type OperatorSymbol should have comment or be unexported (golint)
    • Line 10: warning: exported type Token should have comment or be unexported (golint)
    • Line 13: warning: exported const ILLEGAL should have comment (or a comment on this block) or be unexported (golint)
    • go-snark-study/r1csqapFloat/r1csqapFloat.go
    • Line 1: warning: don't use MixedCaps in package name; r1csqapFloat should be r1csqapfloat (golint)
    • Line 5: warning: exported function Transpose should have comment or be unexported (golint)
    • Line 17: warning: exported function ArrayOfBigZeros should have comment or be unexported (golint)
    • Line 26: warning: exported function PolMul should have comment or be unexported (golint)
    • Line 38: warning: exported function PolDiv should have comment or be unexported (golint)
    • Line 61: warning: exported function PolAdd should have comment or be unexported (golint)
    • Line 72: warning: exported function PolSub should have comment or be unexported (golint)
    • Line 85: warning: exported function FloatPow should have comment or be unexported (golint)
    • Line 96: warning: exported function PolEval should have comment or be unexported (golint)
    • Line 106: warning: exported function NewPolZeroAt should have comment or be unexported (golint)
    • Line 126: warning: exported function LagrangeInterpolation should have comment or be unexported (golint)
    • Line 136: warning: exported function R1CSToQAP should have comment or be unexported (golint)
    • Line 161: warning: exported function CombinePolynomials should have comment or be unexported (golint)
    • Line 182: warning: exported function DivisorPolinomial should have comment or be unexported (golint)
    • go-snark-study/bn128/g2.go
    • Line 9: warning: exported type G2 should have comment or be unexported (golint)
    • Line 14: warning: exported function NewG2 should have comment or be unexported (golint)
    • Line 25: warning: exported method G2.Zero should have comment or be unexported (golint)
    • Line 28: warning: exported method G2.IsZero should have comment or be unexported (golint)
    • Line 32: warning: exported method G2.Add should have comment or be unexported (golint)
    • Line 91: warning: exported method G2.Neg should have comment or be unexported (golint)
    • Line 99: warning: exported method G2.Sub should have comment or be unexported (golint)
    • Line 103: warning: exported method G2.Double should have comment or be unexported (golint)
    • Line 142: warning: exported method G2.MulScalar should have comment or be unexported (golint)
    • Line 183: warning: exported method G2.Affine should have comment or be unexported (golint)
    • Line 202: warning: exported method G2.Equal should have comment or be unexported (golint)
    • go-snark-study/utils/base10parsers.go
    • Line 12: warning: comment on exported function ArrayBigIntToString should be of the form "ArrayBigIntToString ..." (golint)
    • Line 20: warning: exported function ArrayStringToBigInt should have comment or be unexported (golint)
    • Line 32: warning: comment on exported function String3ToBigInt should be of the form "String3ToBigInt ..." (golint)
    • Line 44: warning: exported function BigInt3ToString should have comment or be unexported (golint)
    • Line 52: warning: comment on exported function Array3StringToBigInt should be of the form "Array3StringToBigInt ..." (golint)
    • Line 64: warning: exported function Array3BigIntToString should have comment or be unexported (golint)
    • Line 72: warning: exported function String2ToBigInt should have comment or be unexported (golint)
    • Line 84: warning: comment on exported function String32ToBigInt should be of the form "String32ToBigInt ..." (golint)
    • Line 103: warning: exported function BigInt32ToString should have comment or be unexported (golint)
    • Line 114: warning: comment on exported function Array32StringToBigInt should be of the form "Array32StringToBigInt ..." (golint)
    • Line 126: warning: exported function Array32BigIntToString should have comment or be unexported (golint)
    • Line 134: warning: comment on exported type SetupString should be of the form "SetupString ..." (with optional leading article) (golint)
    • Line 160: warning: exported function SetupToString should have comment or be unexported (golint)
    • Line 181: warning: exported function SetupFromString should have comment or be unexported (golint)
    • Line 258: warning: comment on exported type CircuitString should be of the form "CircuitString ..." (with optional leading article) (golint)
    • Line 275: warning: exported function ArrayArrayBigIntToString should have comment or be unexported (golint)
    • Line 282: warning: exported function ArrayArrayStringToBigInt should have comment or be unexported (golint)
    • Line 293: warning: exported function CircuitToString should have comment or be unexported (golint)
    • Line 308: warning: exported function CircuitFromString should have comment or be unexported (golint)
    • Line 337: warning: comment on exported type ProofString should be of the form "ProofString ..." (with optional leading article) (golint)
    • Line 349: warning: exported function ProofToString should have comment or be unexported (golint)
    • Line 361: warning: exported function ProofFromString should have comment or be unexported (golint)
    • Line 400: warning: comment on exported type GrothPkString should be of the form "GrothPkString ..." (with optional leading article) (golint)
    • Line 419: warning: exported type GrothVkString should have comment or be unexported (golint)
    • Line 430: warning: exported type GrothSetupString should have comment or be unexported (golint)
    • Line 435: warning: exported function GrothSetupToString should have comment or be unexported (golint)
    • Line 456: warning: exported function GrothVkFromString should have comment or be unexported (golint)
    • Line 481: warning: exported function GrothSetupFromString should have comment or be unexported (golint)
    • Line 555: warning: exported type GrothProofString should have comment or be unexported (golint)
    • Line 561: warning: exported function GrothProofToString should have comment or be unexported (golint)
    • Line 568: warning: exported function GrothProofFromString should have comment or be unexported (golint)
    • go-snark-study/bn128/bn128.go
    • Line 188: warning: exported type AteG1Precomp should have comment or be unexported (golint)
    • Line 202: warning: exported type EllCoeffs should have comment or be unexported (golint)
    • Line 207: warning: exported type AteG2Precomp should have comment or be unexported (golint)
    • Line 348: warning: exported method Bn128.MillerLoop should have comment or be unexported (golint)
    • go-snark-study/fields/fq12.go
    • Line 86: warning: exported method Fq12.MulScalar should have comment or be unexported (golint)
    • Line 139: warning: exported method Fq12.Exp should have comment or be unexported (golint)
    • Line 157: warning: exported method Fq12.Affine should have comment or be unexported (golint)
    • Line 163: warning: exported method Fq12.Equal should have comment or be unexported (golint)
    • go-snark-study/fields/fq6.go
    • Line 46: warning: exported method Fq6.Double should have comment or be unexported (golint)
    • Line 97: warning: exported method Fq6.MulScalar should have comment or be unexported (golint)
    • Line 175: warning: exported method Fq6.Affine should have comment or be unexported (golint)
    • Line 182: warning: exported method Fq6.Equal should have comment or be unexported (golint)
    • Line 186: warning: exported method Fq6.Copy should have comment or be unexported (golint)
    • go-snark-study/externalVerif/circomVerifier.go
    • Line 1: warning: don't use MixedCaps in package name; externalVerif should be externalverif (golint)
    • Line 12: warning: exported type CircomProof should have comment or be unexported (golint)
    • Line 17: warning: exported type CircomVk should have comment or be unexported (golint)
    • Line 26: warning: exported function VerifyFromCircom should have comment or be unexported (golint)

license100%

Checks whether your project has a LICENSE file.

No problems detected. Good job!


ineffassign89%

IneffAssign detects ineffectual assignments in Go code.


misspell93%

Misspell Finds commonly misspelled English words