Preparing report...

Report for github.com/strangelove-ventures/relayer

A+    Excellent!    Found 33 issues across 48 files

Tweet

gofmt100%

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

No problems detected. Good job!


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!


gocyclo79%

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.

    • relayer/relayer/channel.go
    • Line 80: warning: cyclomatic complexity 44 of function ExecuteChannelStep() is high (> 15) (gocyclo)
    • Line 258: warning: cyclomatic complexity 32 of function InitializeChannel() is high (> 15) (gocyclo)
    • Line 434: warning: cyclomatic complexity 30 of function (*Chain).CloseChannelStep() is high (> 15) (gocyclo)
    • relayer/relayer/connection.go
    • Line 77: warning: cyclomatic complexity 36 of function ExecuteConnectionStep() is high (> 15) (gocyclo)
    • Line 217: warning: cyclomatic complexity 29 of function InitializeConnection() is high (> 15) (gocyclo)
    • relayer/relayer/client.go
    • Line 20: warning: cyclomatic complexity 27 of function (*Chain).CreateClients() is high (> 15) (gocyclo)
    • Line 311: warning: cyclomatic complexity 17 of function FindMatchingClient() is high (> 15) (gocyclo)
    • relayer/relayer/naive-strategy.go
    • Line 268: warning: cyclomatic complexity 26 of function relayPacketsFromEventListener() is high (> 15) (gocyclo)
    • Line 708: warning: cyclomatic complexity 24 of function relayPacketsFromResultTx() is high (> 15) (gocyclo)
    • Line 147: warning: cyclomatic complexity 20 of function (*NaiveStrategy).UnrelayedAcknowledgements() is high (> 15) (gocyclo)
    • Line 508: warning: cyclomatic complexity 20 of function (*NaiveStrategy).RelayPackets() is high (> 15) (gocyclo)
    • Line 797: warning: cyclomatic complexity 20 of function acknowledgementsFromResultTx() is high (> 15) (gocyclo)
    • relayer/cmd/paths.go
    • Line 42: warning: cyclomatic complexity 37 of function pathsGenCmd() is high (> 15) (gocyclo)
    • Line 415: warning: cyclomatic complexity 23 of function userInputPathAdd() is high (> 15) (gocyclo)
    • relayer/cmd/chains.go
    • Line 169: warning: cyclomatic complexity 17 of function chainsListCmd() is high (> 15) (gocyclo)
    • Line 369: warning: cyclomatic complexity 16 of function userInputAdd() is high (> 15) (gocyclo)

golint89%

Golint is a linter for Go source code.

    • relayer/relayer/relayMsgs.go
    • Line 58: warning: exported method RelayMsgs.IsMaxTx should have comment or be unexported (golint)
    • Line 69: warning: exported function EncodeMsgs should have comment or be unexported (golint)
    • Line 82: warning: exported function DecodeMsgs should have comment or be unexported (golint)
    • Line 96: warning: exported method RelayMsgs.SendWithController should have comment or be unexported (golint)
    • relayer/clib/main.go
    • Line 36: warning: comment on exported function RunClib should be of the form "RunClib ..." (golint)
    • Line 79: warning: comment on exported function ReplyToClib should be of the form "ReplyToClib ..." (golint)
    • Line 97: warning: comment on exported function SendToClib should be of the form "SendToClib ..." (golint)

license100%

Checks whether your project has a LICENSE file.

No problems detected. Good job!


ineffassign58%

IneffAssign detects ineffectual assignments in Go code.

    • /home/shawn/mygo/src/github.com/gojp/goreportcard/_repos/src/github.com/strangelove-ventures/relayer/relayer/query.go
    • Line 48: warning: Coins not declared by package types (ineffassign)
    • Line 65: warning: Coins not declared by package types (ineffassign)
    • Line 96: warning: ConsensusState not declared by package types (ineffassign)
    • Line 102: warning: Height not declared by package exported (ineffassign)
    • Line 102: warning: QueryConsensusStateResponse not declared by package types (ineffassign)
    • Line 111: warning: QueryClientStateResponse not declared by package types (ineffassign)
    • Line 117: warning: ClientState not declared by package exported (ineffassign)
    • Line 133: warning: ClientState not declared by package types (ineffassign)
    • Line 143: warning: Any not declared by package types (ineffassign)
    • Line 143: warning: ClientState not declared by package types (ineffassign)
    • Line 160: warning: PageRequest not declared by package query (ineffassign)
    • Line 160: warning: QueryClientStatesResponse not declared by package types (ineffassign)
    • Line 167: warning: PageRequest not declared by package query (ineffassign)
    • Line 182: warning: PageRequest not declared by package query (ineffassign)
    • Line 182: warning: QueryConnectionsResponse not declared by package types (ineffassign)
    • Line 192: warning: QueryClientConnectionsResponse not declared by package types (ineffassign)
    • Line 197: warning: QueryConnectionResponse not declared by package types (ineffassign)
    • Line 207: warning: NewQueryConnectionResponse not declared by package types (ineffassign)
    • Line 208: warning: NewConnectionEnd not declared by package types (ineffassign)
    • Line 209: warning: UNINITIALIZED not declared by package types (ineffassign)
    • Line 211: warning: NewCounterparty not declared by package types (ineffassign)
    • Line 214: warning: NewMerklePrefix not declared by package types (ineffassign)
    • Line 216: warning: Version not declared by package types (ineffassign)
    • Line 220: warning: NewHeight not declared by package types (ineffassign)
    • Line 226: warning: QueryConnectionResponse not declared by package types (ineffassign)
    • Line 247: warning: PageRequest not declared by package query (ineffassign)
    • Line 247: warning: QueryConnectionChannelsResponse not declared by package types (ineffassign)
    • Line 256: warning: QueryChannelResponse not declared by package types (ineffassign)
    • Line 266: warning: NewQueryChannelResponse not declared by package types (ineffassign)
    • Line 267: warning: NewChannel not declared by package types (ineffassign)
    • Line 268: warning: UNINITIALIZED not declared by package types (ineffassign)
    • Line 269: warning: UNORDERED not declared by package types (ineffassign)
    • Line 270: warning: NewCounterparty not declared by package types (ineffassign)
    • Line 278: warning: NewHeight not declared by package types (ineffassign)
    • Line 282: warning: QueryChannelResponse not declared by package types (ineffassign)
    • Line 297: warning: PageRequest not declared by package query (ineffassign)
    • Line 297: warning: QueryChannelsResponse not declared by package types (ineffassign)
    • Line 306: warning: QueryChannelClientStateResponse not declared by package types (ineffassign)
    • Line 319: warning: QueryDenomTraceResponse not declared by package types (ineffassign)
    • Line 327: warning: PageRequest not declared by package query (ineffassign)
    • Line 328: warning: QueryDenomTracesResponse not declared by package types (ineffassign)
    • Line 340: warning: Height not declared by package types (ineffassign)
    • Line 340: warning: QueryHistoricalInfoResponse not declared by package types (ineffassign)
    • Line 349: warning: Height not declared by package types (ineffassign)
    • Line 370: warning: Validators not declared by package types (ineffassign)
    • Line 370: warning: Validator not declared by package types (ineffassign)
    • Line 383: warning: Validator not declared by package types (ineffassign)
    • Line 383: warning: Validator not declared by package types (ineffassign)
    • Line 410: warning: Any not declared by package types (ineffassign)
    • Line 410: warning: Height not declared by package types (ineffassign)
    • Line 435: warning: Any not declared by package types (ineffassign)
    • Line 435: warning: Height not declared by package types (ineffassign)
    • Line 461: warning: Height not declared by package types (ineffassign)
    • Line 514: warning: QueryNextSequenceReceiveResponse not declared by package types (ineffassign)
    • Line 521: warning: QueryPacketCommitmentResponse not declared by package types (ineffassign)
    • Line 527: warning: QueryPacketAcknowledgementResponse not declared by package types (ineffassign)
    • Line 532: warning: QueryPacketReceiptResponse not declared by package types (ineffassign)
    • Line 537: warning: PageRequest not declared by package query (ineffassign)
    • Line 538: warning: QueryPacketCommitmentsResponse not declared by package types (ineffassign)
    • Line 548: warning: PageRequest not declared by package query (ineffassign)
    • Line 549: warning: QueryPacketAcknowledgementsResponse not declared by package types (ineffassign)
    • Line 587: warning: ResultTx not declared by package coretypes (ineffassign)
    • Line 597: warning: ResultTx not declared by package coretypes (ineffassign)
    • Line 619: warning: RequestQuery not declared by package types (ineffassign)
    • Line 619: warning: ResponseQuery not declared by package types (ineffassign)
    • Line 689: warning: Header not declared by package types (ineffassign)
    • /home/shawn/mygo/src/github.com/gojp/goreportcard/_repos/src/github.com/strangelove-ventures/relayer/relayer/msgs.go
    • Line 27: warning: ClientState not declared by package types (ineffassign)
    • Line 28: warning: Header not declared by package types (ineffassign)
    • Line 28: warning: Msg not declared by package types (ineffassign)
    • Line 51: warning: Header not declared by package types (ineffassign)
    • Line 51: warning: Msg not declared by package types (ineffassign)
    • Line 67: warning: Header not declared by package types (ineffassign)
    • Line 67: warning: Msg not declared by package types (ineffassign)
    • Line 88: warning: Header not declared by package types (ineffassign)
    • Line 88: warning: Msg not declared by package types (ineffassign)
    • Line 130: warning: Header not declared by package types (ineffassign)
    • Line 130: warning: Msg not declared by package types (ineffassign)
    • Line 164: warning: Header not declared by package types (ineffassign)
    • Line 164: warning: Msg not declared by package types (ineffassign)
    • Line 190: warning: Header not declared by package types (ineffassign)
    • Line 190: warning: Msg not declared by package types (ineffassign)
    • Line 209: warning: Header not declared by package types (ineffassign)
    • Line 209: warning: Msg not declared by package types (ineffassign)
    • Line 244: warning: Header not declared by package types (ineffassign)
    • Line 244: warning: Msg not declared by package types (ineffassign)
    • Line 275: warning: Header not declared by package types (ineffassign)
    • Line 275: warning: Msg not declared by package types (ineffassign)
    • Line 303: warning: Msg not declared by package types (ineffassign)
    • Line 312: warning: QueryChannelResponse not declared by package types (ineffassign)
    • Line 312: warning: Msg not declared by package types (ineffassign)
    • Line 323: warning: Coin not declared by package types (ineffassign)
    • Line 324: warning: Msg not declared by package types (ineffassign)
    • Line 339: warning: Msg not declared by package types (ineffassign)
    • Line 369: warning: Msg not declared by package types (ineffassign)
    • Line 400: warning: Msg not declared by package types (ineffassign)
    • /home/shawn/mygo/src/github.com/gojp/goreportcard/_repos/src/github.com/strangelove-ventures/relayer/relayer/relayPackets.go
    • Line 80: warning: Height not declared by package types (ineffassign)
    • Line 82: warning: QueryPacketCommitmentResponse not declared by package types (ineffassign)
    • Line 152: warning: Height not declared by package types (ineffassign)
    • Line 154: warning: QueryPacketAcknowledgementResponse not declared by package types (ineffassign)
    • Line 22: warning: Height not declared by package types (ineffassign)
    • Line 24: warning: QueryPacketReceiptResponse not declared by package types (ineffassign)
    • Line 12: warning: Msg not declared by package types (ineffassign)
    • Line 16: warning: Height not declared by package types (ineffassign)
    • Line 37: warning: Height not declared by package types (ineffassign)
    • Line 54: warning: Msg not declared by package types (ineffassign)
    • Line 106: warning: Height not declared by package types (ineffassign)
    • Line 125: warning: Msg not declared by package types (ineffassign)
    • Line 165: warning: Height not declared by package types (ineffassign)
    • Line 169: warning: Msg not declared by package types (ineffassign)
    • /home/shawn/mygo/src/github.com/gojp/goreportcard/_repos/src/github.com/strangelove-ventures/relayer/relayer/chain.go
    • Line 65: warning: Keyring not declared by package keyring (ineffassign)
    • Line 66: warning: Client not declared by package client (ineffassign)
    • Line 67: warning: EncodingConfig not declared by package params (ineffassign)
    • Line 68: warning: Provider not declared by package provider (ineffassign)
    • Line 70: warning: AccAddress not declared by package types (ineffassign)
    • Line 273: warning: HTTP not declared by package http (ineffassign)
    • Line 289: warning: Msg not declared by package types (ineffassign)
    • Line 289: warning: TxResponse not declared by package types (ineffassign)
    • Line 298: warning: Msg not declared by package types (ineffassign)
    • Line 298: warning: TxResponse not declared by package types (ineffassign)
    • Line 360: warning: Context not declared by package client (ineffassign)
    • Line 360: warning: Factory not declared by package tx (ineffassign)
    • Line 360: warning: Factory not declared by package tx (ineffassign)
    • Line 389: warning: Tx not declared by package tx (ineffassign)
    • Line 395: warning: Factory not declared by package tx (ineffassign)
    • Line 395: warning: Msg not declared by package types (ineffassign)
    • Line 426: warning: Factory not declared by package tx (ineffassign)
    • Line 426: warning: Msg not declared by package types (ineffassign)
    • Line 427: warning: SimulateResponse not declared by package tx (ineffassign)
    • Line 448: warning: Context not declared by package client (ineffassign)
    • Line 475: warning: Factory not declared by package tx (ineffassign)
    • Line 503: warning: ResultEvent not declared by package coretypes (ineffassign)
    • Line 521: warning: AccAddress not declared by package types (ineffassign)
    • Line 642: warning: Msg not declared by package types (ineffassign)
    • Line 751: warning: ClientState not declared by package exported (ineffassign)
    • Line 753: warning: Height not declared by package types (ineffassign)
    • Line 792: warning: Plan not declared by package types (ineffassign)
    • Line 792: warning: Coin not declared by package types (ineffassign)
    • /home/shawn/mygo/src/github.com/gojp/goreportcard/_repos/src/github.com/strangelove-ventures/relayer/relayer/encoding.go
    • Line 23: warning: EncodingConfig not declared by package params (ineffassign)
    • Line 50: warning: InterfaceRegistry not declared by package types (ineffassign)
    • Line 54: warning: Codec not declared by package codec (ineffassign)
    • Line 55: warning: ProtoCodecMarshaler not declared by package codec (ineffassign)
    • Line 58: warning: InterfaceRegistry not declared by package types (ineffassign)
    • Line 63: warning: ProtoMarshaler not declared by package codec (ineffassign)
    • Line 69: warning: ProtoMarshaler not declared by package codec (ineffassign)
    • Line 79: warning: ProtoMarshaler not declared by package codec (ineffassign)
    • Line 92: warning: ProtoMarshaler not declared by package codec (ineffassign)
    • Line 102: warning: ProtoMarshaler not declared by package codec (ineffassign)
    • Line 116: warning: ProtoMarshaler not declared by package codec (ineffassign)
    • Line 123: warning: ProtoMarshaler not declared by package codec (ineffassign)
    • Line 141: warning: ProtoMarshaler not declared by package codec (ineffassign)
    • Line 265: warning: Any not declared by package types (ineffassign)
    • Line 271: warning: InterfaceRegistry not declared by package types (ineffassign)

misspell100%

Misspell Finds commonly misspelled English words

No problems detected. Good job!