Preparing report...

Report for github.com/OpenBazaar/multiwallet

A+    Excellent!    Found 48 issues across 73 files

Tweet

gofmt98%

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

    • multiwallet/bitcoin/wallet.go
    • Line 88: expected operand, found ',':1::warning: file is not gofmted with -s (gofmt)
    • Line 90: missing ',' in argument list:1::warning: file is not gofmted with -s (gofmt)
    • Line 101: missing ',' before newline in argument list:1::warning: file is not gofmted with -s (gofmt)
    • Line 102: expected operand, found '}':1::warning: file is not gofmted with -s (gofmt)
    • Line 105: missing ',' in argument list:1::warning: file is not gofmted with -s (gofmt)
    • Line 106: expected operand, found '}':1::warning: file is not gofmted with -s (gofmt)
    • Line 114: missing ',' in argument list:1::warning: file is not gofmted with -s (gofmt)
    • Line 115: expected operand, found '}':1::warning: file is not gofmted with -s (gofmt)
    • Line 118: missing ',' in argument list:1::warning: file is not gofmted with -s (gofmt)
    • Line 119: expected operand, found 'return':1::warning: file is not gofmted with -s (gofmt)
    • Line 120: expected operand, found '}':1::warning: file is not gofmted with -s (gofmt)

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!


gocyclo80%

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.

    • multiwallet/service/wallet_service_test.go
    • Line 358: warning: cyclomatic complexity 21 of function TestWalletService_listenersFired() is high (> 15) (gocyclo)
    • Line 215: warning: cyclomatic complexity 19 of function TestWalletService_ProcessIncomingTransaction() is high (> 15) (gocyclo)
    • Line 444: warning: cyclomatic complexity 18 of function TestWalletService_getStoredAddresses() is high (> 15) (gocyclo)
    • Line 109: warning: cyclomatic complexity 16 of function TestWalletService_syncUtxos() is high (> 15) (gocyclo)
    • multiwallet/litecoin/sign_test.go
    • Line 608: warning: cyclomatic complexity 19 of function TestLitecoinWallet_sweepAddress() is high (> 15) (gocyclo)
    • Line 289: warning: cyclomatic complexity 16 of function TestLitecoinWallet_GenerateMultisigScript() is high (> 15) (gocyclo)
    • Line 187: warning: cyclomatic complexity 16 of function TestLitecoinWallet_buildSpendAllTx() is high (> 15) (gocyclo)
    • multiwallet/litecoin/sign.go
    • Line 308: warning: cyclomatic complexity 24 of function (*LitecoinWallet).sweepAddress() is high (> 15) (gocyclo)
    • Line 507: warning: cyclomatic complexity 17 of function (*LitecoinWallet).multisign() is high (> 15) (gocyclo)
    • multiwallet/bitcoincash/sign_test.go
    • Line 637: warning: cyclomatic complexity 19 of function TestBitcoinCashWallet_sweepAddress() is high (> 15) (gocyclo)
    • Line 192: warning: cyclomatic complexity 18 of function TestBitcoinCashWallet_buildSpendAllTx() is high (> 15) (gocyclo)
    • Line 315: warning: cyclomatic complexity 17 of function TestBitcoinCashWallet_GenerateMultisigScript() is high (> 15) (gocyclo)
    • multiwallet/bitcoincash/sign.go
    • Line 309: warning: cyclomatic complexity 24 of function (*BitcoinCashWallet).sweepAddress() is high (> 15) (gocyclo)
    • Line 508: warning: cyclomatic complexity 18 of function (*BitcoinCashWallet).multisign() is high (> 15) (gocyclo)
    • multiwallet/zcash/sign.go
    • Line 778: warning: cyclomatic complexity 19 of function serializeVersion4Transaction() is high (> 15) (gocyclo)
    • Line 48: warning: cyclomatic complexity 17 of function (*ZCashWallet).buildTx() is high (> 15) (gocyclo)

golint47%

Golint is a linter for Go source code.

    • multiwallet/bitcoincash/exchange_rates.go
    • Line 16: warning: exported type ExchangeRateProvider should have comment or be unexported (golint)
    • Line 23: warning: exported type ExchangeRateDecoder should have comment or be unexported (golint)
    • Line 27: warning: exported type OpenBazaarDecoder should have comment or be unexported (golint)
    • Line 29: warning: exported type BitcoinCashPriceFetcher should have comment or be unexported (golint)
    • Line 35: warning: exported function NewBitcoinCashPriceFetcher should have comment or be unexported (golint)
    • Line 54: warning: exported method BitcoinCashPriceFetcher.GetExchangeRate should have comment or be unexported (golint)
    • Line 66: warning: exported method BitcoinCashPriceFetcher.GetLatestRate should have comment or be unexported (golint)
    • Line 79: warning: exported method BitcoinCashPriceFetcher.GetAllRates should have comment or be unexported (golint)
    • Line 91: warning: exported method BitcoinCashPriceFetcher.UnitsPerCoin should have comment or be unexported (golint)
    • Line 108: warning: exported method BitcoinCashPriceFetcher.Run should have comment or be unexported (golint)
    • multiwallet/bitcoincash/wallet.go
    • Line 34: warning: exported type BitcoinCashWallet should have comment or be unexported (golint)
    • Line 51: warning: exported var BitcoinCashCurrencyDefinition should have comment or be unexported (golint)
    • Line 57: warning: exported function NewBitcoinCashWallet should have comment or be unexported (golint)
    • Line 111: warning: exported method BitcoinCashWallet.Start should have comment or be unexported (golint)
    • Line 116: warning: exported method BitcoinCashWallet.Params should have comment or be unexported (golint)
    • Line 120: warning: exported method BitcoinCashWallet.CurrencyCode should have comment or be unexported (golint)
    • Line 123: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 128: warning: exported method BitcoinCashWallet.IsDust should have comment or be unexported (golint)
    • Line 135: warning: exported method BitcoinCashWallet.MasterPrivateKey should have comment or be unexported (golint)
    • Line 139: warning: exported method BitcoinCashWallet.MasterPublicKey should have comment or be unexported (golint)
    • Line 143: warning: exported method BitcoinCashWallet.ChildKey should have comment or be unexported (golint)
    • Line 162: warning: exported method BitcoinCashWallet.CurrentAddress should have comment or be unexported (golint)
    • Line 174: warning: exported method BitcoinCashWallet.NewAddress should have comment or be unexported (golint)
    • Line 189: warning: exported method BitcoinCashWallet.DecodeAddress should have comment or be unexported (golint)
    • Line 193: warning: exported method BitcoinCashWallet.ScriptToAddress should have comment or be unexported (golint)
    • Line 197: warning: exported method BitcoinCashWallet.AddressToScript should have comment or be unexported (golint)
    • Line 201: warning: exported method BitcoinCashWallet.HasKey should have comment or be unexported (golint)
    • Line 209: warning: exported method BitcoinCashWallet.Balance should have comment or be unexported (golint)
    • Line 217: warning: exported method BitcoinCashWallet.Transactions should have comment or be unexported (golint)
    • Line 251: warning: exported method BitcoinCashWallet.GetTransaction should have comment or be unexported (golint)
    • Line 278: warning: exported method BitcoinCashWallet.ChainTip should have comment or be unexported (golint)
    • Line 282: warning: exported method BitcoinCashWallet.GetFeePerByte should have comment or be unexported (golint)
    • Line 286: warning: exported method BitcoinCashWallet.Spend should have comment or be unexported (golint)
    • Line 312: warning: exported method BitcoinCashWallet.BumpFee should have comment or be unexported (golint)
    • Line 316: warning: exported method BitcoinCashWallet.EstimateFee should have comment or be unexported (golint)
    • Line 328: warning: exported method BitcoinCashWallet.EstimateSpendFee should have comment or be unexported (golint)
    • Line 333: warning: exported method BitcoinCashWallet.SweepAddress should have comment or be unexported (golint)
    • Line 337: warning: exported method BitcoinCashWallet.CreateMultisigSignature should have comment or be unexported (golint)
    • Line 341: warning: exported method BitcoinCashWallet.Multisign should have comment or be unexported (golint)
    • Line 345: warning: exported method BitcoinCashWallet.GenerateMultisigScript should have comment or be unexported (golint)
    • Line 349: warning: exported method BitcoinCashWallet.AddWatchedAddresses should have comment or be unexported (golint)
    • Line 371: warning: exported method BitcoinCashWallet.AddWatchedScript should have comment or be unexported (golint)
    • Line 384: warning: exported method BitcoinCashWallet.AddTransactionListener should have comment or be unexported (golint)
    • Line 388: warning: exported method BitcoinCashWallet.ReSyncBlockchain should have comment or be unexported (golint)
    • Line 392: warning: exported method BitcoinCashWallet.GetConfirmations should have comment or be unexported (golint)
    • Line 404: warning: exported method BitcoinCashWallet.Close should have comment or be unexported (golint)
    • Line 409: warning: exported method BitcoinCashWallet.ExchangeRates should have comment or be unexported (golint)
    • Line 413: warning: exported method BitcoinCashWallet.DumpTables should have comment or be unexported (golint)
    • Line 426: warning: comment on exported method BitcoinCashWallet.Broadcast should be of the form "Broadcast ..." (golint)
    • multiwallet/multiwallet.go
    • Line 24: warning: error var UnsuppertedCoinError should have name of the form ErrFoo (golint)
    • Line 24: warning: exported var UnsuppertedCoinError should have comment or be unexported (golint)
    • Line 26: warning: exported type MultiWallet should have comment or be unexported (golint)
    • Line 28: warning: exported function NewMultiWallet should have comment or be unexported (golint)
    • Line 106: warning: exported method MultiWallet.Start should have comment or be unexported (golint)
    • Line 112: warning: exported method MultiWallet.Close should have comment or be unexported (golint)
    • Line 118: warning: exported method MultiWallet.WalletForCurrencyCode should have comment or be unexported (golint)
    • multiwallet/cmd/multiwallet/main.go
    • Line 18: warning: exported const WALLET_VERSION should have comment or be unexported (golint)
    • Line 22: warning: exported type Start should have comment or be unexported (golint)
    • Line 25: warning: exported type Version should have comment or be unexported (golint)
    • Line 54: warning: exported method Version.Execute should have comment or be unexported (golint)
    • Line 59: warning: exported method Start.Execute should have comment or be unexported (golint)
    • multiwallet/zcash/txsizes.go
    • Line 199: warning: exported type InputType should have comment or be unexported (golint)
    • Line 202: warning: exported const P2PKH should have comment (or a comment on this block) or be unexported (golint)
    • Line 203: warning: don't use underscores in Go names; const P2SH_1of2_Multisig should be P2SH1of2Multisig (golint)
    • Line 204: warning: don't use underscores in Go names; const P2SH_2of3_Multisig should be P2SH2of3Multisig (golint)
    • Line 205: warning: don't use underscores in Go names; const P2SH_Multisig_Timelock_1Sig should be P2SHMultisigTimelock1Sig (golint)
    • Line 206: warning: don't use underscores in Go names; const P2SH_Multisig_Timelock_2Sigs should be P2SHMultisigTimelock2Sigs (golint)
    • multiwallet/api/rpc.go
    • Line 20: warning: exported const Addr should have comment or be unexported (golint)
    • Line 26: warning: exported function ServeAPI should have comment or be unexported (golint)
    • Line 241: warning: exported type HeaderWriter should have comment or be unexported (golint)
    • multiwallet/config/config.go
    • Line 16: warning: exported const EthereumRegistryAddressMainnet should have comment (or a comment on this block) or be unexported (golint)
    • Line 21: warning: exported type Config should have comment or be unexported (golint)
    • Line 49: warning: exported type CoinConfig should have comment or be unexported (golint)
    • Line 78: warning: exported function NewDefaultConfig should have comment or be unexported (golint)
    • multiwallet/client/blockbook/client.go
    • Line 34: warning: exported var Log should have comment or be unexported (golint)
    • Line 101: warning: exported type BlockBookClient should have comment or be unexported (golint)
    • Line 117: warning: exported function NewBlockBookClient should have comment or be unexported (golint)
    • Line 156: warning: exported method BlockBookClient.BlockChannel should have comment or be unexported (golint)
    • Line 160: warning: exported method BlockBookClient.TxChannel should have comment or be unexported (golint)
    • Line 164: warning: exported method BlockBookClient.EndpointURL should have comment or be unexported (golint)
    • Line 169: warning: exported method BlockBookClient.Start should have comment or be unexported (golint)
    • Line 179: warning: exported method BlockBookClient.Close should have comment or be unexported (golint)
    • Line 258: warning: exported method BlockBookClient.GetTransaction should have comment or be unexported (golint)
    • Line 524: warning: exported method BlockBookClient.BlockNotify should have comment or be unexported (golint)
    • Line 528: warning: exported method BlockBookClient.TransactionNotify should have comment or be unexported (golint)
    • Line 532: warning: exported method BlockBookClient.ListenAddresses should have comment or be unexported (golint)
    • Line 669: warning: exported method BlockBookClient.Broadcast should have comment or be unexported (golint)
    • Line 687: warning: exported method BlockBookClient.GetBestBlock should have comment or be unexported (golint)
    • Line 732: warning: exported method BlockBookClient.GetBlocksBefore should have comment or be unexported (golint)
    • Line 750: warning: exported method BlockBookClient.EstimateFee should have comment or be unexported (golint)
    • Line 771: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • multiwallet/client/transport/transport.go
    • Line 17: warning: exported const WsDefaultPingInterval should have comment (or a comment on this block) or be unexported (golint)
    • Line 25: warning: exported var ErrorBinaryMessage should have comment or be unexported (golint)
    • Line 32: warning: exported type WebsocketConnection should have comment or be unexported (golint)
    • Line 37: warning: exported method WebsocketConnection.GetMessage should have comment or be unexported (golint)
    • Line 63: warning: exported method WebsocketConnection.WriteMessage should have comment or be unexported (golint)
    • Line 79: warning: exported method WebsocketConnection.Close should have comment or be unexported (golint)
    • Line 83: warning: exported method WebsocketConnection.PingParams should have comment or be unexported (golint)
    • Line 87: warning: exported type WebsocketTransport should have comment or be unexported (golint)
    • Line 100: warning: exported method WebsocketTransport.Connect should have comment or be unexported (golint)
    • Line 114: warning: exported method WebsocketTransport.HandleConnection should have comment or be unexported (golint)
    • Line 131: warning: comment on exported method WebsocketTransport.Serve should be of the form "Serve ..." (golint)
    • Line 136: warning: comment on exported function GetDefaultWebsocketTransport should be of the form "GetDefaultWebsocketTransport ..." (golint)
    • multiwallet/service/wallet_service.go
    • Line 30: warning: exported var Log should have comment or be unexported (golint)
    • Line 32: warning: exported type WalletService should have comment or be unexported (golint)
    • Line 50: warning: exported type HashAndHeight should have comment or be unexported (golint)
    • Line 58: warning: exported function NewWalletService should have comment or be unexported (golint)
    • Line 91: warning: exported method WalletService.Start should have comment or be unexported (golint)
    • Line 97: warning: exported method WalletService.Stop should have comment or be unexported (golint)
    • Line 101: warning: exported method WalletService.ChainTip should have comment or be unexported (golint)
    • Line 111: warning: exported method WalletService.AddTransactionListener should have comment or be unexported (golint)
    • Line 147: warning: comment on exported method WalletService.ProcessIncomingTransaction should be of the form "ProcessIncomingTransaction ..." (golint)
    • Line 259: warning: comment on exported method WalletService.UpdateState should be of the form "UpdateState ..." (golint)
    • multiwallet/cache/cacher.go
    • Line 8: warning: exported type Cacher should have comment or be unexported (golint)
    • Line 13: warning: exported function NewMockCacher should have comment or be unexported (golint)
    • multiwallet/datastore/mock.go
    • Line 17: warning: exported type MockDatastore should have comment or be unexported (golint)
    • Line 25: warning: exported type MockMultiwalletDatastore should have comment or be unexported (golint)
    • Line 30: warning: exported method MockMultiwalletDatastore.GetDatastoreForWallet should have comment or be unexported (golint)
    • Line 40: warning: exported function NewMockMultiwalletDatastore should have comment or be unexported (golint)
    • Line 80: warning: exported method MockDatastore.Keys should have comment or be unexported (golint)
    • Line 84: warning: exported method MockDatastore.Utxos should have comment or be unexported (golint)
    • Line 88: warning: exported method MockDatastore.Stxos should have comment or be unexported (golint)
    • Line 92: warning: exported method MockDatastore.Txns should have comment or be unexported (golint)
    • Line 96: warning: exported method MockDatastore.WatchedScripts should have comment or be unexported (golint)
    • Line 100: warning: exported type KeyStoreEntry should have comment or be unexported (golint)
    • Line 107: warning: exported type MockKeyStore should have comment or be unexported (golint)
    • Line 112: warning: exported method MockKeyStore.Put should have comment or be unexported (golint)
    • Line 119: warning: exported method MockKeyStore.ImportKey should have comment or be unexported (golint)
    • Line 127: warning: exported method MockKeyStore.MarkKeyAsUsed should have comment or be unexported (golint)
    • Line 138: warning: exported method MockKeyStore.GetLastKeyIndex should have comment or be unexported (golint)
    • Line 155: warning: exported method MockKeyStore.GetPathForKey should have comment or be unexported (golint)
    • Line 165: warning: exported method MockKeyStore.GetKey should have comment or be unexported (golint)
    • Line 176: warning: exported method MockKeyStore.GetImported should have comment or be unexported (golint)
    • Line 188: warning: exported method MockKeyStore.GetUnused should have comment or be unexported (golint)
    • Line 201: warning: exported method MockKeyStore.GetAll should have comment or be unexported (golint)
    • Line 211: warning: exported method MockKeyStore.GetLookaheadWindows should have comment or be unexported (golint)
    • Line 240: warning: exported type MockUtxoStore should have comment or be unexported (golint)
    • Line 245: warning: exported method MockUtxoStore.Put should have comment or be unexported (golint)
    • Line 253: warning: exported method MockUtxoStore.GetAll should have comment or be unexported (golint)
    • Line 263: warning: exported method MockUtxoStore.SetWatchOnly should have comment or be unexported (golint)
    • Line 275: warning: exported method MockUtxoStore.Delete should have comment or be unexported (golint)
    • Line 287: warning: exported type MockStxoStore should have comment or be unexported (golint)
    • Line 292: warning: exported method MockStxoStore.Put should have comment or be unexported (golint)
    • Line 299: warning: exported method MockStxoStore.GetAll should have comment or be unexported (golint)
    • Line 309: warning: exported method MockStxoStore.Delete should have comment or be unexported (golint)
    • Line 328: warning: exported type MockTxnStore should have comment or be unexported (golint)
    • Line 333: warning: exported method MockTxnStore.Put should have comment or be unexported (golint)
    • Line 346: warning: exported method MockTxnStore.Get should have comment or be unexported (golint)
    • Line 363: warning: exported method MockTxnStore.GetAll should have comment or be unexported (golint)
    • Line 381: warning: exported method MockTxnStore.UpdateHeight should have comment or be unexported (golint)
    • Line 394: warning: exported method MockTxnStore.Delete should have comment or be unexported (golint)
    • Line 405: warning: exported type MockWatchedScriptsStore should have comment or be unexported (golint)
    • Line 410: warning: exported method MockWatchedScriptsStore.PutAll should have comment or be unexported (golint)
    • Line 419: warning: exported method MockWatchedScriptsStore.Put should have comment or be unexported (golint)
    • Line 426: warning: exported method MockWatchedScriptsStore.GetAll should have comment or be unexported (golint)
    • Line 436: warning: exported method MockWatchedScriptsStore.Delete should have comment or be unexported (golint)
    • multiwallet/model/mock/models.go
    • Line 5: warning: exported var MockInfo should have comment or be unexported (golint)
    • Line 20: warning: exported var MockBlocks should have comment or be unexported (golint)
    • Line 47: warning: exported var MockTransactions should have comment or be unexported (golint)
    • Line 250: warning: exported var MockRawTransactions should have comment or be unexported (golint)
    • Line 252: warning: exported var MockUtxos should have comment or be unexported (golint)
    • multiwallet/litecoin/address/address.go
    • Line 60: warning: exported const NetIDMainnetP2S2 should have comment (or a comment on this block) or be unexported (golint)
    • Line 769: warning: exported function ExtractPkScriptAddrs should have comment or be unexported (golint)
    • multiwallet/zcash/exchange_rates.go
    • Line 17: warning: exported type ExchangeRateProvider should have comment or be unexported (golint)
    • Line 25: warning: exported type ExchangeRateDecoder should have comment or be unexported (golint)
    • Line 29: warning: exported type OpenBazaarDecoder should have comment or be unexported (golint)
    • Line 30: warning: exported type KrakenDecoder should have comment or be unexported (golint)
    • Line 31: warning: exported type PoloniexDecoder should have comment or be unexported (golint)
    • Line 32: warning: exported type BitfinexDecoder should have comment or be unexported (golint)
    • Line 33: warning: exported type BittrexDecoder should have comment or be unexported (golint)
    • Line 35: warning: exported type ZcashPriceFetcher should have comment or be unexported (golint)
    • Line 41: warning: exported function NewZcashPriceFetcher should have comment or be unexported (golint)
    • Line 67: warning: exported method ZcashPriceFetcher.GetExchangeRate should have comment or be unexported (golint)
    • Line 79: warning: exported method ZcashPriceFetcher.GetLatestRate should have comment or be unexported (golint)
    • Line 92: warning: exported method ZcashPriceFetcher.GetAllRates should have comment or be unexported (golint)
    • Line 104: warning: exported method ZcashPriceFetcher.UnitsPerCoin should have comment or be unexported (golint)
    • multiwallet/model/mock/interfaces.go
    • Line 15: warning: exported type MockAPIClient should have comment or be unexported (golint)
    • Line 26: warning: exported function NewMockApiClient should have comment or be unexported (golint)
    • Line 37: warning: exported method MockAPIClient.Start should have comment or be unexported (golint)
    • Line 41: warning: exported method MockAPIClient.GetInfo should have comment or be unexported (golint)
    • Line 45: warning: exported method MockAPIClient.GetTransaction should have comment or be unexported (golint)
    • Line 54: warning: exported method MockAPIClient.GetRawTransaction should have comment or be unexported (golint)
    • Line 61: warning: exported method MockAPIClient.GetTransactions should have comment or be unexported (golint)
    • Line 71: warning: exported method MockAPIClient.GetUtxos should have comment or be unexported (golint)
    • Line 83: warning: exported method MockAPIClient.BlockNotify should have comment or be unexported (golint)
    • Line 87: warning: exported method MockAPIClient.TransactionNotify should have comment or be unexported (golint)
    • Line 91: warning: exported method MockAPIClient.ListenAddresses should have comment or be unexported (golint)
    • Line 95: warning: exported method MockAPIClient.Broadcast should have comment or be unexported (golint)
    • Line 99: warning: exported method MockAPIClient.GetBestBlock should have comment or be unexported (golint)
    • Line 103: warning: exported method MockAPIClient.EstimateFee should have comment or be unexported (golint)
    • Line 107: warning: exported method MockAPIClient.Close should have comment or be unexported (golint)
    • Line 109: warning: exported function MockWebsocketClientOnClientPool should have comment or be unexported (golint)
    • Line 123: warning: exported function NewMockWebsocketClient should have comment or be unexported (golint)
    • Line 134: warning: exported type MockSocketClient should have comment or be unexported (golint)
    • Line 140: warning: exported method MockSocketClient.SendCallback should have comment or be unexported (golint)
    • Line 148: warning: exported method MockSocketClient.IsListeningForAddress should have comment or be unexported (golint)
    • Line 157: warning: exported method MockSocketClient.On should have comment or be unexported (golint)
    • Line 173: warning: exported method MockSocketClient.Emit should have comment or be unexported (golint)
    • Line 188: warning: exported method MockSocketClient.Close should have comment or be unexported (golint)
    • multiwallet/util/coin.go
    • Line 15: warning: exported type Coin should have comment or be unexported (golint)
    • Line 23: warning: exported method Coin.Hash should have comment or be unexported (golint)
    • Line 24: warning: exported method Coin.Index should have comment or be unexported (golint)
    • Line 25: warning: exported method Coin.Value should have comment or be unexported (golint)
    • Line 26: warning: exported method Coin.PkScript should have comment or be unexported (golint)
    • Line 27: warning: exported method Coin.NumConfs should have comment or be unexported (golint)
    • Line 28: warning: exported method Coin.ValueAge should have comment or be unexported (golint)
    • Line 30: warning: exported function NewCoin should have comment or be unexported (golint)
    • Line 41: warning: exported function GatherCoins should have comment or be unexported (golint)
    • Line 70: warning: exported function LoadAllInputs should have comment or be unexported (golint)
    • multiwallet/zcash/wallet.go
    • Line 32: warning: exported type ZCashWallet should have comment or be unexported (golint)
    • Line 49: warning: exported var ZcashCurrencyDefinition should have comment or be unexported (golint)
    • Line 55: warning: exported function NewZCashWallet should have comment or be unexported (golint)
    • Line 110: warning: exported method ZCashWallet.Start should have comment or be unexported (golint)
    • Line 115: warning: exported method ZCashWallet.Params should have comment or be unexported (golint)
    • Line 119: warning: exported method ZCashWallet.CurrencyCode should have comment or be unexported (golint)
    • Line 122: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 127: warning: exported method ZCashWallet.IsDust should have comment or be unexported (golint)
    • Line 134: warning: exported method ZCashWallet.MasterPrivateKey should have comment or be unexported (golint)
    • Line 138: warning: exported method ZCashWallet.MasterPublicKey should have comment or be unexported (golint)
    • Line 142: warning: exported method ZCashWallet.ChildKey should have comment or be unexported (golint)
    • Line 161: warning: exported method ZCashWallet.CurrentAddress should have comment or be unexported (golint)
    • Line 173: warning: exported method ZCashWallet.NewAddress should have comment or be unexported (golint)
    • Line 188: warning: exported method ZCashWallet.DecodeAddress should have comment or be unexported (golint)
    • Line 192: warning: exported method ZCashWallet.ScriptToAddress should have comment or be unexported (golint)
    • Line 200: warning: exported method ZCashWallet.AddressToScript should have comment or be unexported (golint)
    • Line 204: warning: exported method ZCashWallet.HasKey should have comment or be unexported (golint)
    • Line 212: warning: exported method ZCashWallet.Balance should have comment or be unexported (golint)
    • Line 229: warning: exported method ZCashWallet.Transactions should have comment or be unexported (golint)
    • Line 263: warning: exported method ZCashWallet.GetTransaction should have comment or be unexported (golint)
    • Line 290: warning: exported method ZCashWallet.ChainTip should have comment or be unexported (golint)
    • Line 294: warning: exported method ZCashWallet.GetFeePerByte should have comment or be unexported (golint)
    • Line 298: warning: exported method ZCashWallet.Spend should have comment or be unexported (golint)
    • Line 323: warning: exported method ZCashWallet.BumpFee should have comment or be unexported (golint)
    • Line 327: warning: exported method ZCashWallet.EstimateFee should have comment or be unexported (golint)
    • Line 339: warning: exported method ZCashWallet.EstimateSpendFee should have comment or be unexported (golint)
    • Line 344: warning: exported method ZCashWallet.SweepAddress should have comment or be unexported (golint)
    • Line 348: warning: exported method ZCashWallet.CreateMultisigSignature should have comment or be unexported (golint)
    • Line 352: warning: exported method ZCashWallet.Multisign should have comment or be unexported (golint)
    • Line 356: warning: exported method ZCashWallet.GenerateMultisigScript should have comment or be unexported (golint)
    • Line 360: warning: exported method ZCashWallet.AddWatchedAddresses should have comment or be unexported (golint)
    • Line 382: warning: exported method ZCashWallet.AddWatchedScript should have comment or be unexported (golint)
    • Line 395: warning: exported method ZCashWallet.AddTransactionListener should have comment or be unexported (golint)
    • Line 399: warning: exported method ZCashWallet.ReSyncBlockchain should have comment or be unexported (golint)
    • Line 403: warning: exported method ZCashWallet.GetConfirmations should have comment or be unexported (golint)
    • Line 415: warning: exported method ZCashWallet.Close should have comment or be unexported (golint)
    • Line 420: warning: exported method ZCashWallet.ExchangeRates should have comment or be unexported (golint)
    • Line 424: warning: exported method ZCashWallet.DumpTables should have comment or be unexported (golint)
    • Line 437: warning: comment on exported method ZCashWallet.Broadcast should be of the form "Broadcast ..." (golint)
    • multiwallet/bitcoincash/txsizes.go
    • Line 199: warning: exported type InputType should have comment or be unexported (golint)
    • Line 202: warning: exported const P2PKH should have comment (or a comment on this block) or be unexported (golint)
    • Line 203: warning: don't use underscores in Go names; const P2SH_1of2_Multisig should be P2SH1of2Multisig (golint)
    • Line 204: warning: don't use underscores in Go names; const P2SH_2of3_Multisig should be P2SH2of3Multisig (golint)
    • Line 205: warning: don't use underscores in Go names; const P2SH_Multisig_Timelock_1Sig should be P2SHMultisigTimelock1Sig (golint)
    • Line 206: warning: don't use underscores in Go names; const P2SH_Multisig_Timelock_2Sigs should be P2SHMultisigTimelock2Sigs (golint)
    • multiwallet/cli/cli.go
    • Line 16: warning: exported function SetupCli should have comment or be unexported (golint)
    • Line 105: warning: exported type Stop should have comment or be unexported (golint)
    • Line 109: warning: exported method Stop.Execute should have comment or be unexported (golint)
    • Line 119: warning: exported type CurrentAddress should have comment or be unexported (golint)
    • Line 123: warning: exported method CurrentAddress.Execute should have comment or be unexported (golint)
    • Line 155: warning: exported type NewAddress should have comment or be unexported (golint)
    • Line 159: warning: exported method NewAddress.Execute should have comment or be unexported (golint)
    • Line 192: warning: exported type ChainTip should have comment or be unexported (golint)
    • Line 196: warning: exported method ChainTip.Execute should have comment or be unexported (golint)
    • Line 214: warning: exported type DumpTables should have comment or be unexported (golint)
    • Line 218: warning: exported method DumpTables.Execute should have comment or be unexported (golint)
    • Line 242: warning: exported type Spend should have comment or be unexported (golint)
    • Line 246: warning: exported method Spend.Execute should have comment or be unexported (golint)
    • Line 303: warning: exported type Balance should have comment or be unexported (golint)
    • Line 307: warning: exported method Balance.Execute should have comment or be unexported (golint)
    • multiwallet/util/fees.go
    • Line 20: warning: exported type FeeProvider should have comment or be unexported (golint)
    • Line 30: warning: comment on exported type FeeTargetInUSDCents should be of the form "FeeTargetInUSDCents ..." (with optional leading article) (golint)
    • Line 36: warning: exported const EconomicTarget should have comment (or a comment on this block) or be unexported (golint)
    • Line 43: warning: exported function NewFeeProvider should have comment or be unexported (golint)
    • Line 54: warning: exported method FeeProvider.GetFeePerByte should have comment or be unexported (golint)
    • multiwallet/litecoin/txsizes.go
    • Line 199: warning: exported type InputType should have comment or be unexported (golint)
    • Line 202: warning: exported const P2PKH should have comment (or a comment on this block) or be unexported (golint)
    • Line 203: warning: don't use underscores in Go names; const P2SH_1of2_Multisig should be P2SH1of2Multisig (golint)
    • Line 204: warning: don't use underscores in Go names; const P2SH_2of3_Multisig should be P2SH2of3Multisig (golint)
    • Line 205: warning: don't use underscores in Go names; const P2SH_Multisig_Timelock_1Sig should be P2SHMultisigTimelock1Sig (golint)
    • Line 206: warning: don't use underscores in Go names; const P2SH_Multisig_Timelock_2Sigs should be P2SHMultisigTimelock2Sigs (golint)
    • multiwallet/client/pool.go
    • Line 19: warning: exported var Log should have comment or be unexported (golint)
    • Line 82: warning: exported method ClientPool.Clients should have comment or be unexported (golint)
    • Line 207: warning: comment on exported method ClientPool.BlockNotify should be of the form "BlockNotify ..." (golint)
    • multiwallet/litecoin/exchange_rates.go
    • Line 17: warning: exported type ExchangeRateProvider should have comment or be unexported (golint)
    • Line 25: warning: exported type ExchangeRateDecoder should have comment or be unexported (golint)
    • Line 29: warning: exported type OpenBazaarDecoder should have comment or be unexported (golint)
    • Line 30: warning: exported type KrakenDecoder should have comment or be unexported (golint)
    • Line 31: warning: exported type PoloniexDecoder should have comment or be unexported (golint)
    • Line 32: warning: exported type BitfinexDecoder should have comment or be unexported (golint)
    • Line 33: warning: exported type BittrexDecoder should have comment or be unexported (golint)
    • Line 35: warning: exported type LitecoinPriceFetcher should have comment or be unexported (golint)
    • Line 41: warning: exported function NewLitecoinPriceFetcher should have comment or be unexported (golint)
    • Line 67: warning: exported method LitecoinPriceFetcher.GetExchangeRate should have comment or be unexported (golint)
    • Line 79: warning: exported method LitecoinPriceFetcher.GetLatestRate should have comment or be unexported (golint)
    • Line 92: warning: exported method LitecoinPriceFetcher.GetAllRates should have comment or be unexported (golint)
    • Line 108: warning: exported method LitecoinPriceFetcher.UnitsPerCoin should have comment or be unexported (golint)
    • multiwallet/model/models.go
    • Line 3: warning: exported type Status should have comment or be unexported (golint)
    • Line 7: warning: exported type Info should have comment or be unexported (golint)
    • Line 22: warning: exported method Info.IsEqual should have comment or be unexported (golint)
    • Line 56: warning: exported type BlockList should have comment or be unexported (golint)
    • Line 62: warning: exported type Pagination should have comment or be unexported (golint)
    • Line 72: warning: exported type Block should have comment or be unexported (golint)
    • Line 93: warning: exported type PoolInfo should have comment or be unexported (golint)
    • Line 98: warning: exported type Utxo should have comment or be unexported (golint)
    • Line 109: warning: exported type TransactionList should have comment or be unexported (golint)
    • Line 116: warning: exported type Transaction should have comment or be unexported (golint)
    • Line 130: warning: exported type RawTxResponse should have comment or be unexported (golint)
    • Line 134: warning: exported type Input should have comment or be unexported (golint)
    • Line 147: warning: exported type Output should have comment or be unexported (golint)
    • Line 157: warning: exported type Script should have comment or be unexported (golint)
    • Line 162: warning: exported type OutScript should have comment or be unexported (golint)
    • Line 168: warning: exported type AddressTxid should have comment or be unexported (golint)
    • multiwallet/keys/keys.go
    • Line 11: warning: exported const LOOKAHEADWINDOW should have comment or be unexported (golint)
    • Line 13: warning: exported type KeyManager should have comment or be unexported (golint)
    • Line 24: warning: exported type AddrFunc should have comment or be unexported (golint)
    • Line 26: warning: exported function NewKeyManager should have comment or be unexported (golint)
    • Line 45: warning: comment on exported function Bip44Derivation should be of the form "Bip44Derivation ..." (golint)
    • Line 75: warning: exported method KeyManager.GetCurrentKey should have comment or be unexported (golint)
    • Line 86: warning: exported method KeyManager.GetFreshKey should have comment or be unexported (golint)
    • Line 116: warning: exported method KeyManager.GetNextUnused should have comment or be unexported (golint)
    • Line 131: warning: exported method KeyManager.GetKeys should have comment or be unexported (golint)
    • Line 147: warning: exported method KeyManager.GetKeyForScript should have comment or be unexported (golint)
    • Line 167: warning: comment on exported method KeyManager.MarkKeyAsUsed should be of the form "MarkKeyAsUsed ..." (golint)
    • Line 175: warning: exported method KeyManager.GenerateChildKey should have comment or be unexported (golint)
    • Line 199: warning: exported method KeyManager.KeyToAddress should have comment or be unexported (golint)
    • multiwallet/litecoin/wallet.go
    • Line 34: warning: exported type LitecoinWallet should have comment or be unexported (golint)
    • Line 51: warning: exported var LitecoinCurrencyDefinition should have comment or be unexported (golint)
    • Line 57: warning: exported function NewLitecoinWallet should have comment or be unexported (golint)
    • Line 110: warning: exported method LitecoinWallet.Start should have comment or be unexported (golint)
    • Line 115: warning: exported method LitecoinWallet.Params should have comment or be unexported (golint)
    • Line 119: warning: exported method LitecoinWallet.CurrencyCode should have comment or be unexported (golint)
    • Line 122: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 127: warning: exported method LitecoinWallet.IsDust should have comment or be unexported (golint)
    • Line 134: warning: exported method LitecoinWallet.MasterPrivateKey should have comment or be unexported (golint)
    • Line 138: warning: exported method LitecoinWallet.MasterPublicKey should have comment or be unexported (golint)
    • Line 142: warning: exported method LitecoinWallet.ChildKey should have comment or be unexported (golint)
    • Line 161: warning: exported method LitecoinWallet.CurrentAddress should have comment or be unexported (golint)
    • Line 183: warning: exported method LitecoinWallet.NewAddress should have comment or be unexported (golint)
    • Line 204: warning: exported method LitecoinWallet.DecodeAddress should have comment or be unexported (golint)
    • Line 208: warning: exported method LitecoinWallet.ScriptToAddress should have comment or be unexported (golint)
    • Line 212: warning: exported method LitecoinWallet.AddressToScript should have comment or be unexported (golint)
    • Line 216: warning: exported method LitecoinWallet.HasKey should have comment or be unexported (golint)
    • Line 221: warning: exported method LitecoinWallet.Balance should have comment or be unexported (golint)
    • Line 229: warning: exported method LitecoinWallet.Transactions should have comment or be unexported (golint)
    • Line 263: warning: exported method LitecoinWallet.GetTransaction should have comment or be unexported (golint)
    • Line 290: warning: exported method LitecoinWallet.ChainTip should have comment or be unexported (golint)
    • Line 294: warning: exported method LitecoinWallet.GetFeePerByte should have comment or be unexported (golint)
    • Line 298: warning: exported method LitecoinWallet.Spend should have comment or be unexported (golint)
    • Line 324: warning: exported method LitecoinWallet.BumpFee should have comment or be unexported (golint)
    • Line 328: warning: exported method LitecoinWallet.EstimateFee should have comment or be unexported (golint)
    • Line 340: warning: exported method LitecoinWallet.EstimateSpendFee should have comment or be unexported (golint)
    • Line 345: warning: exported method LitecoinWallet.SweepAddress should have comment or be unexported (golint)
    • Line 349: warning: exported method LitecoinWallet.CreateMultisigSignature should have comment or be unexported (golint)
    • Line 353: warning: exported method LitecoinWallet.Multisign should have comment or be unexported (golint)
    • Line 357: warning: exported method LitecoinWallet.GenerateMultisigScript should have comment or be unexported (golint)
    • Line 361: warning: exported method LitecoinWallet.AddWatchedAddresses should have comment or be unexported (golint)
    • Line 383: warning: exported method LitecoinWallet.AddWatchedScript should have comment or be unexported (golint)
    • Line 396: warning: exported method LitecoinWallet.AddTransactionListener should have comment or be unexported (golint)
    • Line 400: warning: exported method LitecoinWallet.ReSyncBlockchain should have comment or be unexported (golint)
    • Line 404: warning: exported method LitecoinWallet.GetConfirmations should have comment or be unexported (golint)
    • Line 416: warning: exported method LitecoinWallet.Close should have comment or be unexported (golint)
    • Line 421: warning: exported method LitecoinWallet.ExchangeRates should have comment or be unexported (golint)
    • Line 425: warning: exported method LitecoinWallet.DumpTables should have comment or be unexported (golint)
    • Line 460: warning: comment on exported method LitecoinWallet.Broadcast should be of the form "Broadcast ..." (golint)

license100%

Checks whether your project has a LICENSE file.

No problems detected. Good job!


ineffassign94%

IneffAssign detects ineffectual assignments in Go code.


misspell97%

Misspell Finds commonly misspelled English words