aergoio/aergo

View on GitHub
p2p/p2pmock/mock_remotepeer.go

Summary

Maintainability
D
2 days
Test Coverage

MockRemotePeer has 26 methods (exceeds 20 allowed). Consider refactoring.
Open

type MockRemotePeer struct {
    ctrl     *gomock.Controller
    recorder *MockRemotePeerMockRecorder
}
Severity: Minor
Found in p2p/p2pmock/mock_remotepeer.go - About 3 hrs to fix

    MockRemotePeerMockRecorder has 25 methods (exceeds 20 allowed). Consider refactoring.
    Open

    type MockRemotePeerMockRecorder struct {
        mock *MockRemotePeer
    }
    Severity: Minor
    Found in p2p/p2pmock/mock_remotepeer.go - About 2 hrs to fix

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

      func (mr *MockPeerFactoryMockRecorder) CreateRemotePeer(remoteInfo, seq, rw interface{}) *gomock.Call {
          mr.mock.ctrl.T.Helper()
          return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRemotePeer", reflect.TypeOf((*MockPeerFactory)(nil).CreateRemotePeer), remoteInfo, seq, rw)
      }
      Severity: Major
      Found in p2p/p2pmock/mock_remotepeer.go and 17 other locations - About 45 mins to fix
      p2p/p2pmock/mock_actorcontext.go on lines 190..193
      p2p/p2pmock/mock_actorservice.go on lines 72..75
      p2p/p2pmock/mock_actorservice.go on lines 101..104
      p2p/p2pmock/mock_consensus.go on lines 188..191
      p2p/p2pmock/mock_consensus.go on lines 227..230
      p2p/p2pmock/mock_handshake.go on lines 139..142
      p2p/p2pmock/mock_host.go on lines 220..223
      p2p/p2pmock/mock_message.go on lines 374..377
      p2p/p2pmock/mock_msgorder.go on lines 166..169
      p2p/p2pmock/mock_msgorder.go on lines 180..183
      p2p/p2pmock/mock_msgorder.go on lines 194..197
      p2p/p2pmock/mock_networktransport.go on lines 396..399
      p2p/p2pmock/mock_peerrole.go on lines 124..127
      p2p/p2pmock/mock_syncmanager.go on lines 57..60
      p2p/p2pmock/mock_syncmanager.go on lines 71..74
      p2p/p2pmock/mock_syncmanager.go on lines 95..98
      p2p/p2pmock/mock_txnotice.go on lines 43..46

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 115.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

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

      func (mr *MockRemotePeerMockRecorder) SendAndWaitMessage(msg, ttl interface{}) *gomock.Call {
          mr.mock.ctrl.T.Helper()
          return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendAndWaitMessage", reflect.TypeOf((*MockRemotePeer)(nil).SendAndWaitMessage), msg, ttl)
      }
      Severity: Major
      Found in p2p/p2pmock/mock_remotepeer.go and 41 other locations - About 45 mins to fix
      p2p/p2pmock/mock_actorcontext.go on lines 58..61
      p2p/p2pmock/mock_actorcontext.go on lines 176..179
      p2p/p2pmock/mock_actorcontext.go on lines 283..286
      p2p/p2pmock/mock_actorcontext.go on lines 297..300
      p2p/p2pmock/mock_actorcontext.go on lines 321..324
      p2p/p2pmock/mock_actorservice.go on lines 45..48
      p2p/p2pmock/mock_actorservice.go on lines 57..60
      p2p/p2pmock/mock_actorservice.go on lines 87..90
      p2p/p2pmock/mock_actorservice.go on lines 115..118
      p2p/p2pmock/mock_consensus.go on lines 200..203
      p2p/p2pmock/mock_handshake.go on lines 49..52
      p2p/p2pmock/mock_handshake.go on lines 87..90
      p2p/p2pmock/mock_host.go on lines 94..97
      p2p/p2pmock/mock_host.go on lines 208..211
      p2p/p2pmock/mock_listmanager.go on lines 71..74
      p2p/p2pmock/mock_message.go on lines 242..245
      p2p/p2pmock/mock_message.go on lines 254..257
      p2p/p2pmock/mock_message.go on lines 278..281
      p2p/p2pmock/mock_message.go on lines 325..328
      p2p/p2pmock/mock_message.go on lines 362..365
      p2p/p2pmock/mock_message.go on lines 425..428
      p2p/p2pmock/mock_metricsman.go on lines 70..73
      p2p/p2pmock/mock_metricsman.go on lines 84..87
      p2p/p2pmock/mock_msgio.go on lines 121..124
      p2p/p2pmock/mock_msgio.go on lines 133..136
      p2p/p2pmock/mock_msgorder.go on lines 250..253
      p2p/p2pmock/mock_networktransport.go on lines 118..121
      p2p/p2pmock/mock_networktransport.go on lines 188..191
      p2p/p2pmock/mock_networktransport.go on lines 384..387
      p2p/p2pmock/mock_peermanager.go on lines 220..223
      p2p/p2pmock/mock_peerrole.go on lines 68..71
      p2p/p2pmock/mock_peerrole.go on lines 110..113
      p2p/p2pmock/mock_peerrole.go on lines 138..141
      p2p/p2pmock/mock_remotepeer.go on lines 192..195
      p2p/p2pmock/mock_remotepeer.go on lines 337..340
      p2p/p2pmock/mock_remotepeer.go on lines 363..366
      p2p/p2pmock/mock_syncmanager.go on lines 45..48
      p2p/p2pmock/mock_syncmanager.go on lines 83..86
      p2p/p2pmock/mock_syncmanager.go on lines 119..122
      p2p/p2pmock/mock_txnotice.go on lines 55..58
      p2p/p2pmock/mock_txnotice.go on lines 67..70

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 113.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

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

      func (mr *MockRemotePeerMockRecorder) UpdateBlkCache(blkHash, blkNumber interface{}) *gomock.Call {
          mr.mock.ctrl.T.Helper()
          return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateBlkCache", reflect.TypeOf((*MockRemotePeer)(nil).UpdateBlkCache), blkHash, blkNumber)
      }
      Severity: Major
      Found in p2p/p2pmock/mock_remotepeer.go and 41 other locations - About 45 mins to fix
      p2p/p2pmock/mock_actorcontext.go on lines 58..61
      p2p/p2pmock/mock_actorcontext.go on lines 176..179
      p2p/p2pmock/mock_actorcontext.go on lines 283..286
      p2p/p2pmock/mock_actorcontext.go on lines 297..300
      p2p/p2pmock/mock_actorcontext.go on lines 321..324
      p2p/p2pmock/mock_actorservice.go on lines 45..48
      p2p/p2pmock/mock_actorservice.go on lines 57..60
      p2p/p2pmock/mock_actorservice.go on lines 87..90
      p2p/p2pmock/mock_actorservice.go on lines 115..118
      p2p/p2pmock/mock_consensus.go on lines 200..203
      p2p/p2pmock/mock_handshake.go on lines 49..52
      p2p/p2pmock/mock_handshake.go on lines 87..90
      p2p/p2pmock/mock_host.go on lines 94..97
      p2p/p2pmock/mock_host.go on lines 208..211
      p2p/p2pmock/mock_listmanager.go on lines 71..74
      p2p/p2pmock/mock_message.go on lines 242..245
      p2p/p2pmock/mock_message.go on lines 254..257
      p2p/p2pmock/mock_message.go on lines 278..281
      p2p/p2pmock/mock_message.go on lines 325..328
      p2p/p2pmock/mock_message.go on lines 362..365
      p2p/p2pmock/mock_message.go on lines 425..428
      p2p/p2pmock/mock_metricsman.go on lines 70..73
      p2p/p2pmock/mock_metricsman.go on lines 84..87
      p2p/p2pmock/mock_msgio.go on lines 121..124
      p2p/p2pmock/mock_msgio.go on lines 133..136
      p2p/p2pmock/mock_msgorder.go on lines 250..253
      p2p/p2pmock/mock_networktransport.go on lines 118..121
      p2p/p2pmock/mock_networktransport.go on lines 188..191
      p2p/p2pmock/mock_networktransport.go on lines 384..387
      p2p/p2pmock/mock_peermanager.go on lines 220..223
      p2p/p2pmock/mock_peerrole.go on lines 68..71
      p2p/p2pmock/mock_peerrole.go on lines 110..113
      p2p/p2pmock/mock_peerrole.go on lines 138..141
      p2p/p2pmock/mock_remotepeer.go on lines 192..195
      p2p/p2pmock/mock_remotepeer.go on lines 284..287
      p2p/p2pmock/mock_remotepeer.go on lines 363..366
      p2p/p2pmock/mock_syncmanager.go on lines 45..48
      p2p/p2pmock/mock_syncmanager.go on lines 83..86
      p2p/p2pmock/mock_syncmanager.go on lines 119..122
      p2p/p2pmock/mock_txnotice.go on lines 55..58
      p2p/p2pmock/mock_txnotice.go on lines 67..70

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 113.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

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

      func (mr *MockRemotePeerMockRecorder) UpdateLastNotice(blkHash, blkNumber interface{}) *gomock.Call {
          mr.mock.ctrl.T.Helper()
          return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateLastNotice", reflect.TypeOf((*MockRemotePeer)(nil).UpdateLastNotice), blkHash, blkNumber)
      }
      Severity: Major
      Found in p2p/p2pmock/mock_remotepeer.go and 41 other locations - About 45 mins to fix
      p2p/p2pmock/mock_actorcontext.go on lines 58..61
      p2p/p2pmock/mock_actorcontext.go on lines 176..179
      p2p/p2pmock/mock_actorcontext.go on lines 283..286
      p2p/p2pmock/mock_actorcontext.go on lines 297..300
      p2p/p2pmock/mock_actorcontext.go on lines 321..324
      p2p/p2pmock/mock_actorservice.go on lines 45..48
      p2p/p2pmock/mock_actorservice.go on lines 57..60
      p2p/p2pmock/mock_actorservice.go on lines 87..90
      p2p/p2pmock/mock_actorservice.go on lines 115..118
      p2p/p2pmock/mock_consensus.go on lines 200..203
      p2p/p2pmock/mock_handshake.go on lines 49..52
      p2p/p2pmock/mock_handshake.go on lines 87..90
      p2p/p2pmock/mock_host.go on lines 94..97
      p2p/p2pmock/mock_host.go on lines 208..211
      p2p/p2pmock/mock_listmanager.go on lines 71..74
      p2p/p2pmock/mock_message.go on lines 242..245
      p2p/p2pmock/mock_message.go on lines 254..257
      p2p/p2pmock/mock_message.go on lines 278..281
      p2p/p2pmock/mock_message.go on lines 325..328
      p2p/p2pmock/mock_message.go on lines 362..365
      p2p/p2pmock/mock_message.go on lines 425..428
      p2p/p2pmock/mock_metricsman.go on lines 70..73
      p2p/p2pmock/mock_metricsman.go on lines 84..87
      p2p/p2pmock/mock_msgio.go on lines 121..124
      p2p/p2pmock/mock_msgio.go on lines 133..136
      p2p/p2pmock/mock_msgorder.go on lines 250..253
      p2p/p2pmock/mock_networktransport.go on lines 118..121
      p2p/p2pmock/mock_networktransport.go on lines 188..191
      p2p/p2pmock/mock_networktransport.go on lines 384..387
      p2p/p2pmock/mock_peermanager.go on lines 220..223
      p2p/p2pmock/mock_peerrole.go on lines 68..71
      p2p/p2pmock/mock_peerrole.go on lines 110..113
      p2p/p2pmock/mock_peerrole.go on lines 138..141
      p2p/p2pmock/mock_remotepeer.go on lines 192..195
      p2p/p2pmock/mock_remotepeer.go on lines 284..287
      p2p/p2pmock/mock_remotepeer.go on lines 337..340
      p2p/p2pmock/mock_syncmanager.go on lines 45..48
      p2p/p2pmock/mock_syncmanager.go on lines 83..86
      p2p/p2pmock/mock_syncmanager.go on lines 119..122
      p2p/p2pmock/mock_txnotice.go on lines 55..58
      p2p/p2pmock/mock_txnotice.go on lines 67..70

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 113.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

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

      func (mr *MockRemotePeerMockRecorder) AddMessageHandler(subProtocol, handler interface{}) *gomock.Call {
          mr.mock.ctrl.T.Helper()
          return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMessageHandler", reflect.TypeOf((*MockRemotePeer)(nil).AddMessageHandler), subProtocol, handler)
      }
      Severity: Major
      Found in p2p/p2pmock/mock_remotepeer.go and 41 other locations - About 45 mins to fix
      p2p/p2pmock/mock_actorcontext.go on lines 58..61
      p2p/p2pmock/mock_actorcontext.go on lines 176..179
      p2p/p2pmock/mock_actorcontext.go on lines 283..286
      p2p/p2pmock/mock_actorcontext.go on lines 297..300
      p2p/p2pmock/mock_actorcontext.go on lines 321..324
      p2p/p2pmock/mock_actorservice.go on lines 45..48
      p2p/p2pmock/mock_actorservice.go on lines 57..60
      p2p/p2pmock/mock_actorservice.go on lines 87..90
      p2p/p2pmock/mock_actorservice.go on lines 115..118
      p2p/p2pmock/mock_consensus.go on lines 200..203
      p2p/p2pmock/mock_handshake.go on lines 49..52
      p2p/p2pmock/mock_handshake.go on lines 87..90
      p2p/p2pmock/mock_host.go on lines 94..97
      p2p/p2pmock/mock_host.go on lines 208..211
      p2p/p2pmock/mock_listmanager.go on lines 71..74
      p2p/p2pmock/mock_message.go on lines 242..245
      p2p/p2pmock/mock_message.go on lines 254..257
      p2p/p2pmock/mock_message.go on lines 278..281
      p2p/p2pmock/mock_message.go on lines 325..328
      p2p/p2pmock/mock_message.go on lines 362..365
      p2p/p2pmock/mock_message.go on lines 425..428
      p2p/p2pmock/mock_metricsman.go on lines 70..73
      p2p/p2pmock/mock_metricsman.go on lines 84..87
      p2p/p2pmock/mock_msgio.go on lines 121..124
      p2p/p2pmock/mock_msgio.go on lines 133..136
      p2p/p2pmock/mock_msgorder.go on lines 250..253
      p2p/p2pmock/mock_networktransport.go on lines 118..121
      p2p/p2pmock/mock_networktransport.go on lines 188..191
      p2p/p2pmock/mock_networktransport.go on lines 384..387
      p2p/p2pmock/mock_peermanager.go on lines 220..223
      p2p/p2pmock/mock_peerrole.go on lines 68..71
      p2p/p2pmock/mock_peerrole.go on lines 110..113
      p2p/p2pmock/mock_peerrole.go on lines 138..141
      p2p/p2pmock/mock_remotepeer.go on lines 284..287
      p2p/p2pmock/mock_remotepeer.go on lines 337..340
      p2p/p2pmock/mock_remotepeer.go on lines 363..366
      p2p/p2pmock/mock_syncmanager.go on lines 45..48
      p2p/p2pmock/mock_syncmanager.go on lines 83..86
      p2p/p2pmock/mock_syncmanager.go on lines 119..122
      p2p/p2pmock/mock_txnotice.go on lines 55..58
      p2p/p2pmock/mock_txnotice.go on lines 67..70

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 113.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

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

      func (mr *MockRemotePeerMockRecorder) ConsumeRequest(msgID interface{}) *gomock.Call {
          mr.mock.ctrl.T.Helper()
          return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ConsumeRequest", reflect.TypeOf((*MockRemotePeer)(nil).ConsumeRequest), msgID)
      }
      Severity: Major
      Found in p2p/p2pmock/mock_remotepeer.go and 94 other locations - About 40 mins to fix
      p2p/p2pmock/mock_actorcontext.go on lines 84..87
      p2p/p2pmock/mock_actorcontext.go on lines 150..153
      p2p/p2pmock/mock_actorcontext.go on lines 202..205
      p2p/p2pmock/mock_actorcontext.go on lines 242..245
      p2p/p2pmock/mock_actorcontext.go on lines 254..257
      p2p/p2pmock/mock_actorcontext.go on lines 268..271
      p2p/p2pmock/mock_actorcontext.go on lines 333..336
      p2p/p2pmock/mock_actorcontext.go on lines 345..348
      p2p/p2pmock/mock_certificate.go on lines 44..47
      p2p/p2pmock/mock_certificate.go on lines 58..61
      p2p/p2pmock/mock_certificate.go on lines 73..76
      p2p/p2pmock/mock_certificate.go on lines 113..116
      p2p/p2pmock/mock_certificate.go on lines 125..128
      p2p/p2pmock/mock_chainaccessor.go on lines 46..49
      p2p/p2pmock/mock_chainaccessor.go on lines 76..79
      p2p/p2pmock/mock_chainaccessor.go on lines 119..122
      p2p/p2pmock/mock_chainaccessor.go on lines 148..151
      p2p/p2pmock/mock_chainaccessor.go on lines 163..166
      p2p/p2pmock/mock_consensus.go on lines 51..54
      p2p/p2pmock/mock_consensus.go on lines 66..69
      p2p/p2pmock/mock_consensus.go on lines 81..84
      p2p/p2pmock/mock_consensus.go on lines 146..149
      p2p/p2pmock/mock_consensus.go on lines 160..163
      p2p/p2pmock/mock_consensus.go on lines 174..177
      p2p/p2pmock/mock_consensus.go on lines 212..215
      p2p/p2pmock/mock_handshake.go on lines 124..127
      p2p/p2pmock/mock_handshake.go on lines 167..170
      p2p/p2pmock/mock_handshake.go on lines 205..208
      p2p/p2pmock/mock_handshake.go on lines 220..223
      p2p/p2pmock/mock_host.go on lines 196..199
      p2p/p2pmock/mock_io.go on lines 45..48
      p2p/p2pmock/mock_io.go on lines 97..100
      p2p/p2pmock/mock_io.go on lines 135..138
      p2p/p2pmock/mock_io.go on lines 187..190
      p2p/p2pmock/mock_io.go on lines 239..242
      p2p/p2pmock/mock_io.go on lines 254..257
      p2p/p2pmock/mock_message.go on lines 213..216
      p2p/p2pmock/mock_message.go on lines 228..231
      p2p/p2pmock/mock_message.go on lines 411..414
      p2p/p2pmock/mock_metricsman.go on lines 99..102
      p2p/p2pmock/mock_msgio.go on lines 60..63
      p2p/p2pmock/mock_msgio.go on lines 86..89
      p2p/p2pmock/mock_msgorder.go on lines 117..120
      p2p/p2pmock/mock_msgorder.go on lines 129..132
      p2p/p2pmock/mock_msgorder.go on lines 208..211
      p2p/p2pmock/mock_msgorder.go on lines 222..225
      p2p/p2pmock/mock_msgorder.go on lines 236..239
      p2p/p2pmock/mock_msgorder.go on lines 264..267
      p2p/p2pmock/mock_networktransport.go on lines 160..163
      p2p/p2pmock/mock_networktransport.go on lines 216..219
      p2p/p2pmock/mock_networktransport.go on lines 230..233
      p2p/p2pmock/mock_networktransport.go on lines 358..361
      p2p/p2pmock/mock_peerfinder.go on lines 45..48
      p2p/p2pmock/mock_peerfinder.go on lines 57..60
      p2p/p2pmock/mock_peerfinder.go on lines 92..95
      p2p/p2pmock/mock_peerfinder.go on lines 104..107
      p2p/p2pmock/mock_peerfinder.go on lines 151..154
      p2p/p2pmock/mock_peerfinder.go on lines 163..166
      p2p/p2pmock/mock_peerfinder.go on lines 177..180
      p2p/p2pmock/mock_peerfinder.go on lines 189..192
      p2p/p2pmock/mock_peerfinder.go on lines 213..216
      p2p/p2pmock/mock_peerfinder.go on lines 225..228
      p2p/p2pmock/mock_peermanager.go on lines 45..48
      p2p/p2pmock/mock_peermanager.go on lines 113..116
      p2p/p2pmock/mock_peermanager.go on lines 125..128
      p2p/p2pmock/mock_peermanager.go on lines 137..140
      p2p/p2pmock/mock_peermanager.go on lines 149..152
      p2p/p2pmock/mock_peermanager.go on lines 164..167
      p2p/p2pmock/mock_peermanager.go on lines 246..249
      p2p/p2pmock/mock_peermanager.go on lines 258..261
      p2p/p2pmock/mock_peerrole.go on lines 96..99
      p2p/p2pmock/mock_protobuf.go on lines 61..64
      p2p/p2pmock/mock_protobuf.go on lines 75..78
      p2p/p2pmock/mock_protobuf.go on lines 89..92
      p2p/p2pmock/mock_protobuf.go on lines 103..106
      p2p/p2pmock/mock_protobuf.go on lines 117..120
      p2p/p2pmock/mock_protobuf.go on lines 129..132
      p2p/p2pmock/mock_remotepeer.go on lines 180..183
      p2p/p2pmock/mock_remotepeer.go on lines 256..259
      p2p/p2pmock/mock_remotepeer.go on lines 270..273
      p2p/p2pmock/mock_remotepeer.go on lines 296..299
      p2p/p2pmock/mock_remotepeer.go on lines 323..326
      p2p/p2pmock/mock_remotepeer.go on lines 351..354
      p2p/p2pmock/mock_remotepeer.go on lines 389..392
      p2p/p2pmock/mock_remotepeer.go on lines 403..406
      p2p/p2pmock/mock_stream.go on lines 136..139
      p2p/p2pmock/mock_stream.go on lines 164..167
      p2p/p2pmock/mock_stream.go on lines 176..179
      p2p/p2pmock/mock_stream.go on lines 190..193
      p2p/p2pmock/mock_stream.go on lines 204..207
      p2p/p2pmock/mock_stream.go on lines 233..236
      p2p/p2pmock/mock_stream.go on lines 355..358
      p2p/p2pmock/mock_syncmanager.go on lines 107..110
      p2p/p2pmock/mock_syncmanager.go on lines 195..198

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 111.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

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

      func (mr *MockRemotePeerMockRecorder) GetReceiver(id interface{}) *gomock.Call {
          mr.mock.ctrl.T.Helper()
          return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetReceiver", reflect.TypeOf((*MockRemotePeer)(nil).GetReceiver), id)
      }
      Severity: Major
      Found in p2p/p2pmock/mock_remotepeer.go and 94 other locations - About 40 mins to fix
      p2p/p2pmock/mock_actorcontext.go on lines 84..87
      p2p/p2pmock/mock_actorcontext.go on lines 150..153
      p2p/p2pmock/mock_actorcontext.go on lines 202..205
      p2p/p2pmock/mock_actorcontext.go on lines 242..245
      p2p/p2pmock/mock_actorcontext.go on lines 254..257
      p2p/p2pmock/mock_actorcontext.go on lines 268..271
      p2p/p2pmock/mock_actorcontext.go on lines 333..336
      p2p/p2pmock/mock_actorcontext.go on lines 345..348
      p2p/p2pmock/mock_certificate.go on lines 44..47
      p2p/p2pmock/mock_certificate.go on lines 58..61
      p2p/p2pmock/mock_certificate.go on lines 73..76
      p2p/p2pmock/mock_certificate.go on lines 113..116
      p2p/p2pmock/mock_certificate.go on lines 125..128
      p2p/p2pmock/mock_chainaccessor.go on lines 46..49
      p2p/p2pmock/mock_chainaccessor.go on lines 76..79
      p2p/p2pmock/mock_chainaccessor.go on lines 119..122
      p2p/p2pmock/mock_chainaccessor.go on lines 148..151
      p2p/p2pmock/mock_chainaccessor.go on lines 163..166
      p2p/p2pmock/mock_consensus.go on lines 51..54
      p2p/p2pmock/mock_consensus.go on lines 66..69
      p2p/p2pmock/mock_consensus.go on lines 81..84
      p2p/p2pmock/mock_consensus.go on lines 146..149
      p2p/p2pmock/mock_consensus.go on lines 160..163
      p2p/p2pmock/mock_consensus.go on lines 174..177
      p2p/p2pmock/mock_consensus.go on lines 212..215
      p2p/p2pmock/mock_handshake.go on lines 124..127
      p2p/p2pmock/mock_handshake.go on lines 167..170
      p2p/p2pmock/mock_handshake.go on lines 205..208
      p2p/p2pmock/mock_handshake.go on lines 220..223
      p2p/p2pmock/mock_host.go on lines 196..199
      p2p/p2pmock/mock_io.go on lines 45..48
      p2p/p2pmock/mock_io.go on lines 97..100
      p2p/p2pmock/mock_io.go on lines 135..138
      p2p/p2pmock/mock_io.go on lines 187..190
      p2p/p2pmock/mock_io.go on lines 239..242
      p2p/p2pmock/mock_io.go on lines 254..257
      p2p/p2pmock/mock_message.go on lines 213..216
      p2p/p2pmock/mock_message.go on lines 228..231
      p2p/p2pmock/mock_message.go on lines 411..414
      p2p/p2pmock/mock_metricsman.go on lines 99..102
      p2p/p2pmock/mock_msgio.go on lines 60..63
      p2p/p2pmock/mock_msgio.go on lines 86..89
      p2p/p2pmock/mock_msgorder.go on lines 117..120
      p2p/p2pmock/mock_msgorder.go on lines 129..132
      p2p/p2pmock/mock_msgorder.go on lines 208..211
      p2p/p2pmock/mock_msgorder.go on lines 222..225
      p2p/p2pmock/mock_msgorder.go on lines 236..239
      p2p/p2pmock/mock_msgorder.go on lines 264..267
      p2p/p2pmock/mock_networktransport.go on lines 160..163
      p2p/p2pmock/mock_networktransport.go on lines 216..219
      p2p/p2pmock/mock_networktransport.go on lines 230..233
      p2p/p2pmock/mock_networktransport.go on lines 358..361
      p2p/p2pmock/mock_peerfinder.go on lines 45..48
      p2p/p2pmock/mock_peerfinder.go on lines 57..60
      p2p/p2pmock/mock_peerfinder.go on lines 92..95
      p2p/p2pmock/mock_peerfinder.go on lines 104..107
      p2p/p2pmock/mock_peerfinder.go on lines 151..154
      p2p/p2pmock/mock_peerfinder.go on lines 163..166
      p2p/p2pmock/mock_peerfinder.go on lines 177..180
      p2p/p2pmock/mock_peerfinder.go on lines 189..192
      p2p/p2pmock/mock_peerfinder.go on lines 213..216
      p2p/p2pmock/mock_peerfinder.go on lines 225..228
      p2p/p2pmock/mock_peermanager.go on lines 45..48
      p2p/p2pmock/mock_peermanager.go on lines 113..116
      p2p/p2pmock/mock_peermanager.go on lines 125..128
      p2p/p2pmock/mock_peermanager.go on lines 137..140
      p2p/p2pmock/mock_peermanager.go on lines 149..152
      p2p/p2pmock/mock_peermanager.go on lines 164..167
      p2p/p2pmock/mock_peermanager.go on lines 246..249
      p2p/p2pmock/mock_peermanager.go on lines 258..261
      p2p/p2pmock/mock_peerrole.go on lines 96..99
      p2p/p2pmock/mock_protobuf.go on lines 61..64
      p2p/p2pmock/mock_protobuf.go on lines 75..78
      p2p/p2pmock/mock_protobuf.go on lines 89..92
      p2p/p2pmock/mock_protobuf.go on lines 103..106
      p2p/p2pmock/mock_protobuf.go on lines 117..120
      p2p/p2pmock/mock_protobuf.go on lines 129..132
      p2p/p2pmock/mock_remotepeer.go on lines 180..183
      p2p/p2pmock/mock_remotepeer.go on lines 256..259
      p2p/p2pmock/mock_remotepeer.go on lines 270..273
      p2p/p2pmock/mock_remotepeer.go on lines 296..299
      p2p/p2pmock/mock_remotepeer.go on lines 309..312
      p2p/p2pmock/mock_remotepeer.go on lines 351..354
      p2p/p2pmock/mock_remotepeer.go on lines 389..392
      p2p/p2pmock/mock_remotepeer.go on lines 403..406
      p2p/p2pmock/mock_stream.go on lines 136..139
      p2p/p2pmock/mock_stream.go on lines 164..167
      p2p/p2pmock/mock_stream.go on lines 176..179
      p2p/p2pmock/mock_stream.go on lines 190..193
      p2p/p2pmock/mock_stream.go on lines 204..207
      p2p/p2pmock/mock_stream.go on lines 233..236
      p2p/p2pmock/mock_stream.go on lines 355..358
      p2p/p2pmock/mock_syncmanager.go on lines 107..110
      p2p/p2pmock/mock_syncmanager.go on lines 195..198

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 111.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

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

      func (mr *MockRemotePeerMockRecorder) AddCertificate(cert interface{}) *gomock.Call {
          mr.mock.ctrl.T.Helper()
          return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddCertificate", reflect.TypeOf((*MockRemotePeer)(nil).AddCertificate), cert)
      }
      Severity: Major
      Found in p2p/p2pmock/mock_remotepeer.go and 94 other locations - About 40 mins to fix
      p2p/p2pmock/mock_actorcontext.go on lines 84..87
      p2p/p2pmock/mock_actorcontext.go on lines 150..153
      p2p/p2pmock/mock_actorcontext.go on lines 202..205
      p2p/p2pmock/mock_actorcontext.go on lines 242..245
      p2p/p2pmock/mock_actorcontext.go on lines 254..257
      p2p/p2pmock/mock_actorcontext.go on lines 268..271
      p2p/p2pmock/mock_actorcontext.go on lines 333..336
      p2p/p2pmock/mock_actorcontext.go on lines 345..348
      p2p/p2pmock/mock_certificate.go on lines 44..47
      p2p/p2pmock/mock_certificate.go on lines 58..61
      p2p/p2pmock/mock_certificate.go on lines 73..76
      p2p/p2pmock/mock_certificate.go on lines 113..116
      p2p/p2pmock/mock_certificate.go on lines 125..128
      p2p/p2pmock/mock_chainaccessor.go on lines 46..49
      p2p/p2pmock/mock_chainaccessor.go on lines 76..79
      p2p/p2pmock/mock_chainaccessor.go on lines 119..122
      p2p/p2pmock/mock_chainaccessor.go on lines 148..151
      p2p/p2pmock/mock_chainaccessor.go on lines 163..166
      p2p/p2pmock/mock_consensus.go on lines 51..54
      p2p/p2pmock/mock_consensus.go on lines 66..69
      p2p/p2pmock/mock_consensus.go on lines 81..84
      p2p/p2pmock/mock_consensus.go on lines 146..149
      p2p/p2pmock/mock_consensus.go on lines 160..163
      p2p/p2pmock/mock_consensus.go on lines 174..177
      p2p/p2pmock/mock_consensus.go on lines 212..215
      p2p/p2pmock/mock_handshake.go on lines 124..127
      p2p/p2pmock/mock_handshake.go on lines 167..170
      p2p/p2pmock/mock_handshake.go on lines 205..208
      p2p/p2pmock/mock_handshake.go on lines 220..223
      p2p/p2pmock/mock_host.go on lines 196..199
      p2p/p2pmock/mock_io.go on lines 45..48
      p2p/p2pmock/mock_io.go on lines 97..100
      p2p/p2pmock/mock_io.go on lines 135..138
      p2p/p2pmock/mock_io.go on lines 187..190
      p2p/p2pmock/mock_io.go on lines 239..242
      p2p/p2pmock/mock_io.go on lines 254..257
      p2p/p2pmock/mock_message.go on lines 213..216
      p2p/p2pmock/mock_message.go on lines 228..231
      p2p/p2pmock/mock_message.go on lines 411..414
      p2p/p2pmock/mock_metricsman.go on lines 99..102
      p2p/p2pmock/mock_msgio.go on lines 60..63
      p2p/p2pmock/mock_msgio.go on lines 86..89
      p2p/p2pmock/mock_msgorder.go on lines 117..120
      p2p/p2pmock/mock_msgorder.go on lines 129..132
      p2p/p2pmock/mock_msgorder.go on lines 208..211
      p2p/p2pmock/mock_msgorder.go on lines 222..225
      p2p/p2pmock/mock_msgorder.go on lines 236..239
      p2p/p2pmock/mock_msgorder.go on lines 264..267
      p2p/p2pmock/mock_networktransport.go on lines 160..163
      p2p/p2pmock/mock_networktransport.go on lines 216..219
      p2p/p2pmock/mock_networktransport.go on lines 230..233
      p2p/p2pmock/mock_networktransport.go on lines 358..361
      p2p/p2pmock/mock_peerfinder.go on lines 45..48
      p2p/p2pmock/mock_peerfinder.go on lines 57..60
      p2p/p2pmock/mock_peerfinder.go on lines 92..95
      p2p/p2pmock/mock_peerfinder.go on lines 104..107
      p2p/p2pmock/mock_peerfinder.go on lines 151..154
      p2p/p2pmock/mock_peerfinder.go on lines 163..166
      p2p/p2pmock/mock_peerfinder.go on lines 177..180
      p2p/p2pmock/mock_peerfinder.go on lines 189..192
      p2p/p2pmock/mock_peerfinder.go on lines 213..216
      p2p/p2pmock/mock_peerfinder.go on lines 225..228
      p2p/p2pmock/mock_peermanager.go on lines 45..48
      p2p/p2pmock/mock_peermanager.go on lines 113..116
      p2p/p2pmock/mock_peermanager.go on lines 125..128
      p2p/p2pmock/mock_peermanager.go on lines 137..140
      p2p/p2pmock/mock_peermanager.go on lines 149..152
      p2p/p2pmock/mock_peermanager.go on lines 164..167
      p2p/p2pmock/mock_peermanager.go on lines 246..249
      p2p/p2pmock/mock_peermanager.go on lines 258..261
      p2p/p2pmock/mock_peerrole.go on lines 96..99
      p2p/p2pmock/mock_protobuf.go on lines 61..64
      p2p/p2pmock/mock_protobuf.go on lines 75..78
      p2p/p2pmock/mock_protobuf.go on lines 89..92
      p2p/p2pmock/mock_protobuf.go on lines 103..106
      p2p/p2pmock/mock_protobuf.go on lines 117..120
      p2p/p2pmock/mock_protobuf.go on lines 129..132
      p2p/p2pmock/mock_remotepeer.go on lines 180..183
      p2p/p2pmock/mock_remotepeer.go on lines 256..259
      p2p/p2pmock/mock_remotepeer.go on lines 270..273
      p2p/p2pmock/mock_remotepeer.go on lines 296..299
      p2p/p2pmock/mock_remotepeer.go on lines 309..312
      p2p/p2pmock/mock_remotepeer.go on lines 323..326
      p2p/p2pmock/mock_remotepeer.go on lines 351..354
      p2p/p2pmock/mock_remotepeer.go on lines 403..406
      p2p/p2pmock/mock_stream.go on lines 136..139
      p2p/p2pmock/mock_stream.go on lines 164..167
      p2p/p2pmock/mock_stream.go on lines 176..179
      p2p/p2pmock/mock_stream.go on lines 190..193
      p2p/p2pmock/mock_stream.go on lines 204..207
      p2p/p2pmock/mock_stream.go on lines 233..236
      p2p/p2pmock/mock_stream.go on lines 355..358
      p2p/p2pmock/mock_syncmanager.go on lines 107..110
      p2p/p2pmock/mock_syncmanager.go on lines 195..198

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 111.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

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

      func (mr *MockRemotePeerMockRecorder) UpdateTxCache(hashes interface{}) *gomock.Call {
          mr.mock.ctrl.T.Helper()
          return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateTxCache", reflect.TypeOf((*MockRemotePeer)(nil).UpdateTxCache), hashes)
      }
      Severity: Major
      Found in p2p/p2pmock/mock_remotepeer.go and 94 other locations - About 40 mins to fix
      p2p/p2pmock/mock_actorcontext.go on lines 84..87
      p2p/p2pmock/mock_actorcontext.go on lines 150..153
      p2p/p2pmock/mock_actorcontext.go on lines 202..205
      p2p/p2pmock/mock_actorcontext.go on lines 242..245
      p2p/p2pmock/mock_actorcontext.go on lines 254..257
      p2p/p2pmock/mock_actorcontext.go on lines 268..271
      p2p/p2pmock/mock_actorcontext.go on lines 333..336
      p2p/p2pmock/mock_actorcontext.go on lines 345..348
      p2p/p2pmock/mock_certificate.go on lines 44..47
      p2p/p2pmock/mock_certificate.go on lines 58..61
      p2p/p2pmock/mock_certificate.go on lines 73..76
      p2p/p2pmock/mock_certificate.go on lines 113..116
      p2p/p2pmock/mock_certificate.go on lines 125..128
      p2p/p2pmock/mock_chainaccessor.go on lines 46..49
      p2p/p2pmock/mock_chainaccessor.go on lines 76..79
      p2p/p2pmock/mock_chainaccessor.go on lines 119..122
      p2p/p2pmock/mock_chainaccessor.go on lines 148..151
      p2p/p2pmock/mock_chainaccessor.go on lines 163..166
      p2p/p2pmock/mock_consensus.go on lines 51..54
      p2p/p2pmock/mock_consensus.go on lines 66..69
      p2p/p2pmock/mock_consensus.go on lines 81..84
      p2p/p2pmock/mock_consensus.go on lines 146..149
      p2p/p2pmock/mock_consensus.go on lines 160..163
      p2p/p2pmock/mock_consensus.go on lines 174..177
      p2p/p2pmock/mock_consensus.go on lines 212..215
      p2p/p2pmock/mock_handshake.go on lines 124..127
      p2p/p2pmock/mock_handshake.go on lines 167..170
      p2p/p2pmock/mock_handshake.go on lines 205..208
      p2p/p2pmock/mock_handshake.go on lines 220..223
      p2p/p2pmock/mock_host.go on lines 196..199
      p2p/p2pmock/mock_io.go on lines 45..48
      p2p/p2pmock/mock_io.go on lines 97..100
      p2p/p2pmock/mock_io.go on lines 135..138
      p2p/p2pmock/mock_io.go on lines 187..190
      p2p/p2pmock/mock_io.go on lines 239..242
      p2p/p2pmock/mock_io.go on lines 254..257
      p2p/p2pmock/mock_message.go on lines 213..216
      p2p/p2pmock/mock_message.go on lines 228..231
      p2p/p2pmock/mock_message.go on lines 411..414
      p2p/p2pmock/mock_metricsman.go on lines 99..102
      p2p/p2pmock/mock_msgio.go on lines 60..63
      p2p/p2pmock/mock_msgio.go on lines 86..89
      p2p/p2pmock/mock_msgorder.go on lines 117..120
      p2p/p2pmock/mock_msgorder.go on lines 129..132
      p2p/p2pmock/mock_msgorder.go on lines 208..211
      p2p/p2pmock/mock_msgorder.go on lines 222..225
      p2p/p2pmock/mock_msgorder.go on lines 236..239
      p2p/p2pmock/mock_msgorder.go on lines 264..267
      p2p/p2pmock/mock_networktransport.go on lines 160..163
      p2p/p2pmock/mock_networktransport.go on lines 216..219
      p2p/p2pmock/mock_networktransport.go on lines 230..233
      p2p/p2pmock/mock_networktransport.go on lines 358..361
      p2p/p2pmock/mock_peerfinder.go on lines 45..48
      p2p/p2pmock/mock_peerfinder.go on lines 57..60
      p2p/p2pmock/mock_peerfinder.go on lines 92..95
      p2p/p2pmock/mock_peerfinder.go on lines 104..107
      p2p/p2pmock/mock_peerfinder.go on lines 151..154
      p2p/p2pmock/mock_peerfinder.go on lines 163..166
      p2p/p2pmock/mock_peerfinder.go on lines 177..180
      p2p/p2pmock/mock_peerfinder.go on lines 189..192
      p2p/p2pmock/mock_peerfinder.go on lines 213..216
      p2p/p2pmock/mock_peerfinder.go on lines 225..228
      p2p/p2pmock/mock_peermanager.go on lines 45..48
      p2p/p2pmock/mock_peermanager.go on lines 113..116
      p2p/p2pmock/mock_peermanager.go on lines 125..128
      p2p/p2pmock/mock_peermanager.go on lines 137..140
      p2p/p2pmock/mock_peermanager.go on lines 149..152
      p2p/p2pmock/mock_peermanager.go on lines 164..167
      p2p/p2pmock/mock_peermanager.go on lines 246..249
      p2p/p2pmock/mock_peermanager.go on lines 258..261
      p2p/p2pmock/mock_peerrole.go on lines 96..99
      p2p/p2pmock/mock_protobuf.go on lines 61..64
      p2p/p2pmock/mock_protobuf.go on lines 75..78
      p2p/p2pmock/mock_protobuf.go on lines 89..92
      p2p/p2pmock/mock_protobuf.go on lines 103..106
      p2p/p2pmock/mock_protobuf.go on lines 117..120
      p2p/p2pmock/mock_protobuf.go on lines 129..132
      p2p/p2pmock/mock_remotepeer.go on lines 180..183
      p2p/p2pmock/mock_remotepeer.go on lines 256..259
      p2p/p2pmock/mock_remotepeer.go on lines 270..273
      p2p/p2pmock/mock_remotepeer.go on lines 296..299
      p2p/p2pmock/mock_remotepeer.go on lines 309..312
      p2p/p2pmock/mock_remotepeer.go on lines 323..326
      p2p/p2pmock/mock_remotepeer.go on lines 389..392
      p2p/p2pmock/mock_remotepeer.go on lines 403..406
      p2p/p2pmock/mock_stream.go on lines 136..139
      p2p/p2pmock/mock_stream.go on lines 164..167
      p2p/p2pmock/mock_stream.go on lines 176..179
      p2p/p2pmock/mock_stream.go on lines 190..193
      p2p/p2pmock/mock_stream.go on lines 204..207
      p2p/p2pmock/mock_stream.go on lines 233..236
      p2p/p2pmock/mock_stream.go on lines 355..358
      p2p/p2pmock/mock_syncmanager.go on lines 107..110
      p2p/p2pmock/mock_syncmanager.go on lines 195..198

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 111.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

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

      func (mr *MockRemotePeerMockRecorder) DoTask(task interface{}) *gomock.Call {
          mr.mock.ctrl.T.Helper()
          return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DoTask", reflect.TypeOf((*MockRemotePeer)(nil).DoTask), task)
      }
      Severity: Major
      Found in p2p/p2pmock/mock_remotepeer.go and 94 other locations - About 40 mins to fix
      p2p/p2pmock/mock_actorcontext.go on lines 84..87
      p2p/p2pmock/mock_actorcontext.go on lines 150..153
      p2p/p2pmock/mock_actorcontext.go on lines 202..205
      p2p/p2pmock/mock_actorcontext.go on lines 242..245
      p2p/p2pmock/mock_actorcontext.go on lines 254..257
      p2p/p2pmock/mock_actorcontext.go on lines 268..271
      p2p/p2pmock/mock_actorcontext.go on lines 333..336
      p2p/p2pmock/mock_actorcontext.go on lines 345..348
      p2p/p2pmock/mock_certificate.go on lines 44..47
      p2p/p2pmock/mock_certificate.go on lines 58..61
      p2p/p2pmock/mock_certificate.go on lines 73..76
      p2p/p2pmock/mock_certificate.go on lines 113..116
      p2p/p2pmock/mock_certificate.go on lines 125..128
      p2p/p2pmock/mock_chainaccessor.go on lines 46..49
      p2p/p2pmock/mock_chainaccessor.go on lines 76..79
      p2p/p2pmock/mock_chainaccessor.go on lines 119..122
      p2p/p2pmock/mock_chainaccessor.go on lines 148..151
      p2p/p2pmock/mock_chainaccessor.go on lines 163..166
      p2p/p2pmock/mock_consensus.go on lines 51..54
      p2p/p2pmock/mock_consensus.go on lines 66..69
      p2p/p2pmock/mock_consensus.go on lines 81..84
      p2p/p2pmock/mock_consensus.go on lines 146..149
      p2p/p2pmock/mock_consensus.go on lines 160..163
      p2p/p2pmock/mock_consensus.go on lines 174..177
      p2p/p2pmock/mock_consensus.go on lines 212..215
      p2p/p2pmock/mock_handshake.go on lines 124..127
      p2p/p2pmock/mock_handshake.go on lines 167..170
      p2p/p2pmock/mock_handshake.go on lines 205..208
      p2p/p2pmock/mock_handshake.go on lines 220..223
      p2p/p2pmock/mock_host.go on lines 196..199
      p2p/p2pmock/mock_io.go on lines 45..48
      p2p/p2pmock/mock_io.go on lines 97..100
      p2p/p2pmock/mock_io.go on lines 135..138
      p2p/p2pmock/mock_io.go on lines 187..190
      p2p/p2pmock/mock_io.go on lines 239..242
      p2p/p2pmock/mock_io.go on lines 254..257
      p2p/p2pmock/mock_message.go on lines 213..216
      p2p/p2pmock/mock_message.go on lines 228..231
      p2p/p2pmock/mock_message.go on lines 411..414
      p2p/p2pmock/mock_metricsman.go on lines 99..102
      p2p/p2pmock/mock_msgio.go on lines 60..63
      p2p/p2pmock/mock_msgio.go on lines 86..89
      p2p/p2pmock/mock_msgorder.go on lines 117..120
      p2p/p2pmock/mock_msgorder.go on lines 129..132
      p2p/p2pmock/mock_msgorder.go on lines 208..211
      p2p/p2pmock/mock_msgorder.go on lines 222..225
      p2p/p2pmock/mock_msgorder.go on lines 236..239
      p2p/p2pmock/mock_msgorder.go on lines 264..267
      p2p/p2pmock/mock_networktransport.go on lines 160..163
      p2p/p2pmock/mock_networktransport.go on lines 216..219
      p2p/p2pmock/mock_networktransport.go on lines 230..233
      p2p/p2pmock/mock_networktransport.go on lines 358..361
      p2p/p2pmock/mock_peerfinder.go on lines 45..48
      p2p/p2pmock/mock_peerfinder.go on lines 57..60
      p2p/p2pmock/mock_peerfinder.go on lines 92..95
      p2p/p2pmock/mock_peerfinder.go on lines 104..107
      p2p/p2pmock/mock_peerfinder.go on lines 151..154
      p2p/p2pmock/mock_peerfinder.go on lines 163..166
      p2p/p2pmock/mock_peerfinder.go on lines 177..180
      p2p/p2pmock/mock_peerfinder.go on lines 189..192
      p2p/p2pmock/mock_peerfinder.go on lines 213..216
      p2p/p2pmock/mock_peerfinder.go on lines 225..228
      p2p/p2pmock/mock_peermanager.go on lines 45..48
      p2p/p2pmock/mock_peermanager.go on lines 113..116
      p2p/p2pmock/mock_peermanager.go on lines 125..128
      p2p/p2pmock/mock_peermanager.go on lines 137..140
      p2p/p2pmock/mock_peermanager.go on lines 149..152
      p2p/p2pmock/mock_peermanager.go on lines 164..167
      p2p/p2pmock/mock_peermanager.go on lines 246..249
      p2p/p2pmock/mock_peermanager.go on lines 258..261
      p2p/p2pmock/mock_peerrole.go on lines 96..99
      p2p/p2pmock/mock_protobuf.go on lines 61..64
      p2p/p2pmock/mock_protobuf.go on lines 75..78
      p2p/p2pmock/mock_protobuf.go on lines 89..92
      p2p/p2pmock/mock_protobuf.go on lines 103..106
      p2p/p2pmock/mock_protobuf.go on lines 117..120
      p2p/p2pmock/mock_protobuf.go on lines 129..132
      p2p/p2pmock/mock_remotepeer.go on lines 180..183
      p2p/p2pmock/mock_remotepeer.go on lines 256..259
      p2p/p2pmock/mock_remotepeer.go on lines 270..273
      p2p/p2pmock/mock_remotepeer.go on lines 296..299
      p2p/p2pmock/mock_remotepeer.go on lines 309..312
      p2p/p2pmock/mock_remotepeer.go on lines 323..326
      p2p/p2pmock/mock_remotepeer.go on lines 351..354
      p2p/p2pmock/mock_remotepeer.go on lines 389..392
      p2p/p2pmock/mock_stream.go on lines 136..139
      p2p/p2pmock/mock_stream.go on lines 164..167
      p2p/p2pmock/mock_stream.go on lines 176..179
      p2p/p2pmock/mock_stream.go on lines 190..193
      p2p/p2pmock/mock_stream.go on lines 204..207
      p2p/p2pmock/mock_stream.go on lines 233..236
      p2p/p2pmock/mock_stream.go on lines 355..358
      p2p/p2pmock/mock_syncmanager.go on lines 107..110
      p2p/p2pmock/mock_syncmanager.go on lines 195..198

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 111.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

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

      func (mr *MockRemotePeerMockRecorder) ChangeRole(role interface{}) *gomock.Call {
          mr.mock.ctrl.T.Helper()
          return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ChangeRole", reflect.TypeOf((*MockRemotePeer)(nil).ChangeRole), role)
      }
      Severity: Major
      Found in p2p/p2pmock/mock_remotepeer.go and 94 other locations - About 40 mins to fix
      p2p/p2pmock/mock_actorcontext.go on lines 84..87
      p2p/p2pmock/mock_actorcontext.go on lines 150..153
      p2p/p2pmock/mock_actorcontext.go on lines 202..205
      p2p/p2pmock/mock_actorcontext.go on lines 242..245
      p2p/p2pmock/mock_actorcontext.go on lines 254..257
      p2p/p2pmock/mock_actorcontext.go on lines 268..271
      p2p/p2pmock/mock_actorcontext.go on lines 333..336
      p2p/p2pmock/mock_actorcontext.go on lines 345..348
      p2p/p2pmock/mock_certificate.go on lines 44..47
      p2p/p2pmock/mock_certificate.go on lines 58..61
      p2p/p2pmock/mock_certificate.go on lines 73..76
      p2p/p2pmock/mock_certificate.go on lines 113..116
      p2p/p2pmock/mock_certificate.go on lines 125..128
      p2p/p2pmock/mock_chainaccessor.go on lines 46..49
      p2p/p2pmock/mock_chainaccessor.go on lines 76..79
      p2p/p2pmock/mock_chainaccessor.go on lines 119..122
      p2p/p2pmock/mock_chainaccessor.go on lines 148..151
      p2p/p2pmock/mock_chainaccessor.go on lines 163..166
      p2p/p2pmock/mock_consensus.go on lines 51..54
      p2p/p2pmock/mock_consensus.go on lines 66..69
      p2p/p2pmock/mock_consensus.go on lines 81..84
      p2p/p2pmock/mock_consensus.go on lines 146..149
      p2p/p2pmock/mock_consensus.go on lines 160..163
      p2p/p2pmock/mock_consensus.go on lines 174..177
      p2p/p2pmock/mock_consensus.go on lines 212..215
      p2p/p2pmock/mock_handshake.go on lines 124..127
      p2p/p2pmock/mock_handshake.go on lines 167..170
      p2p/p2pmock/mock_handshake.go on lines 205..208
      p2p/p2pmock/mock_handshake.go on lines 220..223
      p2p/p2pmock/mock_host.go on lines 196..199
      p2p/p2pmock/mock_io.go on lines 45..48
      p2p/p2pmock/mock_io.go on lines 97..100
      p2p/p2pmock/mock_io.go on lines 135..138
      p2p/p2pmock/mock_io.go on lines 187..190
      p2p/p2pmock/mock_io.go on lines 239..242
      p2p/p2pmock/mock_io.go on lines 254..257
      p2p/p2pmock/mock_message.go on lines 213..216
      p2p/p2pmock/mock_message.go on lines 228..231
      p2p/p2pmock/mock_message.go on lines 411..414
      p2p/p2pmock/mock_metricsman.go on lines 99..102
      p2p/p2pmock/mock_msgio.go on lines 60..63
      p2p/p2pmock/mock_msgio.go on lines 86..89
      p2p/p2pmock/mock_msgorder.go on lines 117..120
      p2p/p2pmock/mock_msgorder.go on lines 129..132
      p2p/p2pmock/mock_msgorder.go on lines 208..211
      p2p/p2pmock/mock_msgorder.go on lines 222..225
      p2p/p2pmock/mock_msgorder.go on lines 236..239
      p2p/p2pmock/mock_msgorder.go on lines 264..267
      p2p/p2pmock/mock_networktransport.go on lines 160..163
      p2p/p2pmock/mock_networktransport.go on lines 216..219
      p2p/p2pmock/mock_networktransport.go on lines 230..233
      p2p/p2pmock/mock_networktransport.go on lines 358..361
      p2p/p2pmock/mock_peerfinder.go on lines 45..48
      p2p/p2pmock/mock_peerfinder.go on lines 57..60
      p2p/p2pmock/mock_peerfinder.go on lines 92..95
      p2p/p2pmock/mock_peerfinder.go on lines 104..107
      p2p/p2pmock/mock_peerfinder.go on lines 151..154
      p2p/p2pmock/mock_peerfinder.go on lines 163..166
      p2p/p2pmock/mock_peerfinder.go on lines 177..180
      p2p/p2pmock/mock_peerfinder.go on lines 189..192
      p2p/p2pmock/mock_peerfinder.go on lines 213..216
      p2p/p2pmock/mock_peerfinder.go on lines 225..228
      p2p/p2pmock/mock_peermanager.go on lines 45..48
      p2p/p2pmock/mock_peermanager.go on lines 113..116
      p2p/p2pmock/mock_peermanager.go on lines 125..128
      p2p/p2pmock/mock_peermanager.go on lines 137..140
      p2p/p2pmock/mock_peermanager.go on lines 149..152
      p2p/p2pmock/mock_peermanager.go on lines 164..167
      p2p/p2pmock/mock_peermanager.go on lines 246..249
      p2p/p2pmock/mock_peermanager.go on lines 258..261
      p2p/p2pmock/mock_peerrole.go on lines 96..99
      p2p/p2pmock/mock_protobuf.go on lines 61..64
      p2p/p2pmock/mock_protobuf.go on lines 75..78
      p2p/p2pmock/mock_protobuf.go on lines 89..92
      p2p/p2pmock/mock_protobuf.go on lines 103..106
      p2p/p2pmock/mock_protobuf.go on lines 117..120
      p2p/p2pmock/mock_protobuf.go on lines 129..132
      p2p/p2pmock/mock_remotepeer.go on lines 256..259
      p2p/p2pmock/mock_remotepeer.go on lines 270..273
      p2p/p2pmock/mock_remotepeer.go on lines 296..299
      p2p/p2pmock/mock_remotepeer.go on lines 309..312
      p2p/p2pmock/mock_remotepeer.go on lines 323..326
      p2p/p2pmock/mock_remotepeer.go on lines 351..354
      p2p/p2pmock/mock_remotepeer.go on lines 389..392
      p2p/p2pmock/mock_remotepeer.go on lines 403..406
      p2p/p2pmock/mock_stream.go on lines 136..139
      p2p/p2pmock/mock_stream.go on lines 164..167
      p2p/p2pmock/mock_stream.go on lines 176..179
      p2p/p2pmock/mock_stream.go on lines 190..193
      p2p/p2pmock/mock_stream.go on lines 204..207
      p2p/p2pmock/mock_stream.go on lines 233..236
      p2p/p2pmock/mock_stream.go on lines 355..358
      p2p/p2pmock/mock_syncmanager.go on lines 107..110
      p2p/p2pmock/mock_syncmanager.go on lines 195..198

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 111.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

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

      func (mr *MockRemotePeerMockRecorder) PushTxsNotice(txHashes interface{}) *gomock.Call {
          mr.mock.ctrl.T.Helper()
          return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PushTxsNotice", reflect.TypeOf((*MockRemotePeer)(nil).PushTxsNotice), txHashes)
      }
      Severity: Major
      Found in p2p/p2pmock/mock_remotepeer.go and 94 other locations - About 40 mins to fix
      p2p/p2pmock/mock_actorcontext.go on lines 84..87
      p2p/p2pmock/mock_actorcontext.go on lines 150..153
      p2p/p2pmock/mock_actorcontext.go on lines 202..205
      p2p/p2pmock/mock_actorcontext.go on lines 242..245
      p2p/p2pmock/mock_actorcontext.go on lines 254..257
      p2p/p2pmock/mock_actorcontext.go on lines 268..271
      p2p/p2pmock/mock_actorcontext.go on lines 333..336
      p2p/p2pmock/mock_actorcontext.go on lines 345..348
      p2p/p2pmock/mock_certificate.go on lines 44..47
      p2p/p2pmock/mock_certificate.go on lines 58..61
      p2p/p2pmock/mock_certificate.go on lines 73..76
      p2p/p2pmock/mock_certificate.go on lines 113..116
      p2p/p2pmock/mock_certificate.go on lines 125..128
      p2p/p2pmock/mock_chainaccessor.go on lines 46..49
      p2p/p2pmock/mock_chainaccessor.go on lines 76..79
      p2p/p2pmock/mock_chainaccessor.go on lines 119..122
      p2p/p2pmock/mock_chainaccessor.go on lines 148..151
      p2p/p2pmock/mock_chainaccessor.go on lines 163..166
      p2p/p2pmock/mock_consensus.go on lines 51..54
      p2p/p2pmock/mock_consensus.go on lines 66..69
      p2p/p2pmock/mock_consensus.go on lines 81..84
      p2p/p2pmock/mock_consensus.go on lines 146..149
      p2p/p2pmock/mock_consensus.go on lines 160..163
      p2p/p2pmock/mock_consensus.go on lines 174..177
      p2p/p2pmock/mock_consensus.go on lines 212..215
      p2p/p2pmock/mock_handshake.go on lines 124..127
      p2p/p2pmock/mock_handshake.go on lines 167..170
      p2p/p2pmock/mock_handshake.go on lines 205..208
      p2p/p2pmock/mock_handshake.go on lines 220..223
      p2p/p2pmock/mock_host.go on lines 196..199
      p2p/p2pmock/mock_io.go on lines 45..48
      p2p/p2pmock/mock_io.go on lines 97..100
      p2p/p2pmock/mock_io.go on lines 135..138
      p2p/p2pmock/mock_io.go on lines 187..190
      p2p/p2pmock/mock_io.go on lines 239..242
      p2p/p2pmock/mock_io.go on lines 254..257
      p2p/p2pmock/mock_message.go on lines 213..216
      p2p/p2pmock/mock_message.go on lines 228..231
      p2p/p2pmock/mock_message.go on lines 411..414
      p2p/p2pmock/mock_metricsman.go on lines 99..102
      p2p/p2pmock/mock_msgio.go on lines 60..63
      p2p/p2pmock/mock_msgio.go on lines 86..89
      p2p/p2pmock/mock_msgorder.go on lines 117..120
      p2p/p2pmock/mock_msgorder.go on lines 129..132
      p2p/p2pmock/mock_msgorder.go on lines 208..211
      p2p/p2pmock/mock_msgorder.go on lines 222..225
      p2p/p2pmock/mock_msgorder.go on lines 236..239
      p2p/p2pmock/mock_msgorder.go on lines 264..267
      p2p/p2pmock/mock_networktransport.go on lines 160..163
      p2p/p2pmock/mock_networktransport.go on lines 216..219
      p2p/p2pmock/mock_networktransport.go on lines 230..233
      p2p/p2pmock/mock_networktransport.go on lines 358..361
      p2p/p2pmock/mock_peerfinder.go on lines 45..48
      p2p/p2pmock/mock_peerfinder.go on lines 57..60
      p2p/p2pmock/mock_peerfinder.go on lines 92..95
      p2p/p2pmock/mock_peerfinder.go on lines 104..107
      p2p/p2pmock/mock_peerfinder.go on lines 151..154
      p2p/p2pmock/mock_peerfinder.go on lines 163..166
      p2p/p2pmock/mock_peerfinder.go on lines 177..180
      p2p/p2pmock/mock_peerfinder.go on lines 189..192
      p2p/p2pmock/mock_peerfinder.go on lines 213..216
      p2p/p2pmock/mock_peerfinder.go on lines 225..228
      p2p/p2pmock/mock_peermanager.go on lines 45..48
      p2p/p2pmock/mock_peermanager.go on lines 113..116
      p2p/p2pmock/mock_peermanager.go on lines 125..128
      p2p/p2pmock/mock_peermanager.go on lines 137..140
      p2p/p2pmock/mock_peermanager.go on lines 149..152
      p2p/p2pmock/mock_peermanager.go on lines 164..167
      p2p/p2pmock/mock_peermanager.go on lines 246..249
      p2p/p2pmock/mock_peermanager.go on lines 258..261
      p2p/p2pmock/mock_peerrole.go on lines 96..99
      p2p/p2pmock/mock_protobuf.go on lines 61..64
      p2p/p2pmock/mock_protobuf.go on lines 75..78
      p2p/p2pmock/mock_protobuf.go on lines 89..92
      p2p/p2pmock/mock_protobuf.go on lines 103..106
      p2p/p2pmock/mock_protobuf.go on lines 117..120
      p2p/p2pmock/mock_protobuf.go on lines 129..132
      p2p/p2pmock/mock_remotepeer.go on lines 180..183
      p2p/p2pmock/mock_remotepeer.go on lines 256..259
      p2p/p2pmock/mock_remotepeer.go on lines 270..273
      p2p/p2pmock/mock_remotepeer.go on lines 309..312
      p2p/p2pmock/mock_remotepeer.go on lines 323..326
      p2p/p2pmock/mock_remotepeer.go on lines 351..354
      p2p/p2pmock/mock_remotepeer.go on lines 389..392
      p2p/p2pmock/mock_remotepeer.go on lines 403..406
      p2p/p2pmock/mock_stream.go on lines 136..139
      p2p/p2pmock/mock_stream.go on lines 164..167
      p2p/p2pmock/mock_stream.go on lines 176..179
      p2p/p2pmock/mock_stream.go on lines 190..193
      p2p/p2pmock/mock_stream.go on lines 204..207
      p2p/p2pmock/mock_stream.go on lines 233..236
      p2p/p2pmock/mock_stream.go on lines 355..358
      p2p/p2pmock/mock_syncmanager.go on lines 107..110
      p2p/p2pmock/mock_syncmanager.go on lines 195..198

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 111.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

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

      func (mr *MockRemotePeerMockRecorder) SendMessage(msg interface{}) *gomock.Call {
          mr.mock.ctrl.T.Helper()
          return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMessage", reflect.TypeOf((*MockRemotePeer)(nil).SendMessage), msg)
      }
      Severity: Major
      Found in p2p/p2pmock/mock_remotepeer.go and 94 other locations - About 40 mins to fix
      p2p/p2pmock/mock_actorcontext.go on lines 84..87
      p2p/p2pmock/mock_actorcontext.go on lines 150..153
      p2p/p2pmock/mock_actorcontext.go on lines 202..205
      p2p/p2pmock/mock_actorcontext.go on lines 242..245
      p2p/p2pmock/mock_actorcontext.go on lines 254..257
      p2p/p2pmock/mock_actorcontext.go on lines 268..271
      p2p/p2pmock/mock_actorcontext.go on lines 333..336
      p2p/p2pmock/mock_actorcontext.go on lines 345..348
      p2p/p2pmock/mock_certificate.go on lines 44..47
      p2p/p2pmock/mock_certificate.go on lines 58..61
      p2p/p2pmock/mock_certificate.go on lines 73..76
      p2p/p2pmock/mock_certificate.go on lines 113..116
      p2p/p2pmock/mock_certificate.go on lines 125..128
      p2p/p2pmock/mock_chainaccessor.go on lines 46..49
      p2p/p2pmock/mock_chainaccessor.go on lines 76..79
      p2p/p2pmock/mock_chainaccessor.go on lines 119..122
      p2p/p2pmock/mock_chainaccessor.go on lines 148..151
      p2p/p2pmock/mock_chainaccessor.go on lines 163..166
      p2p/p2pmock/mock_consensus.go on lines 51..54
      p2p/p2pmock/mock_consensus.go on lines 66..69
      p2p/p2pmock/mock_consensus.go on lines 81..84
      p2p/p2pmock/mock_consensus.go on lines 146..149
      p2p/p2pmock/mock_consensus.go on lines 160..163
      p2p/p2pmock/mock_consensus.go on lines 174..177
      p2p/p2pmock/mock_consensus.go on lines 212..215
      p2p/p2pmock/mock_handshake.go on lines 124..127
      p2p/p2pmock/mock_handshake.go on lines 167..170
      p2p/p2pmock/mock_handshake.go on lines 205..208
      p2p/p2pmock/mock_handshake.go on lines 220..223
      p2p/p2pmock/mock_host.go on lines 196..199
      p2p/p2pmock/mock_io.go on lines 45..48
      p2p/p2pmock/mock_io.go on lines 97..100
      p2p/p2pmock/mock_io.go on lines 135..138
      p2p/p2pmock/mock_io.go on lines 187..190
      p2p/p2pmock/mock_io.go on lines 239..242
      p2p/p2pmock/mock_io.go on lines 254..257
      p2p/p2pmock/mock_message.go on lines 213..216
      p2p/p2pmock/mock_message.go on lines 228..231
      p2p/p2pmock/mock_message.go on lines 411..414
      p2p/p2pmock/mock_metricsman.go on lines 99..102
      p2p/p2pmock/mock_msgio.go on lines 60..63
      p2p/p2pmock/mock_msgio.go on lines 86..89
      p2p/p2pmock/mock_msgorder.go on lines 117..120
      p2p/p2pmock/mock_msgorder.go on lines 129..132
      p2p/p2pmock/mock_msgorder.go on lines 208..211
      p2p/p2pmock/mock_msgorder.go on lines 222..225
      p2p/p2pmock/mock_msgorder.go on lines 236..239
      p2p/p2pmock/mock_msgorder.go on lines 264..267
      p2p/p2pmock/mock_networktransport.go on lines 160..163
      p2p/p2pmock/mock_networktransport.go on lines 216..219
      p2p/p2pmock/mock_networktransport.go on lines 230..233
      p2p/p2pmock/mock_networktransport.go on lines 358..361
      p2p/p2pmock/mock_peerfinder.go on lines 45..48
      p2p/p2pmock/mock_peerfinder.go on lines 57..60
      p2p/p2pmock/mock_peerfinder.go on lines 92..95
      p2p/p2pmock/mock_peerfinder.go on lines 104..107
      p2p/p2pmock/mock_peerfinder.go on lines 151..154
      p2p/p2pmock/mock_peerfinder.go on lines 163..166
      p2p/p2pmock/mock_peerfinder.go on lines 177..180
      p2p/p2pmock/mock_peerfinder.go on lines 189..192
      p2p/p2pmock/mock_peerfinder.go on lines 213..216
      p2p/p2pmock/mock_peerfinder.go on lines 225..228
      p2p/p2pmock/mock_peermanager.go on lines 45..48
      p2p/p2pmock/mock_peermanager.go on lines 113..116
      p2p/p2pmock/mock_peermanager.go on lines 125..128
      p2p/p2pmock/mock_peermanager.go on lines 137..140
      p2p/p2pmock/mock_peermanager.go on lines 149..152
      p2p/p2pmock/mock_peermanager.go on lines 164..167
      p2p/p2pmock/mock_peermanager.go on lines 246..249
      p2p/p2pmock/mock_peermanager.go on lines 258..261
      p2p/p2pmock/mock_peerrole.go on lines 96..99
      p2p/p2pmock/mock_protobuf.go on lines 61..64
      p2p/p2pmock/mock_protobuf.go on lines 75..78
      p2p/p2pmock/mock_protobuf.go on lines 89..92
      p2p/p2pmock/mock_protobuf.go on lines 103..106
      p2p/p2pmock/mock_protobuf.go on lines 117..120
      p2p/p2pmock/mock_protobuf.go on lines 129..132
      p2p/p2pmock/mock_remotepeer.go on lines 180..183
      p2p/p2pmock/mock_remotepeer.go on lines 270..273
      p2p/p2pmock/mock_remotepeer.go on lines 296..299
      p2p/p2pmock/mock_remotepeer.go on lines 309..312
      p2p/p2pmock/mock_remotepeer.go on lines 323..326
      p2p/p2pmock/mock_remotepeer.go on lines 351..354
      p2p/p2pmock/mock_remotepeer.go on lines 389..392
      p2p/p2pmock/mock_remotepeer.go on lines 403..406
      p2p/p2pmock/mock_stream.go on lines 136..139
      p2p/p2pmock/mock_stream.go on lines 164..167
      p2p/p2pmock/mock_stream.go on lines 176..179
      p2p/p2pmock/mock_stream.go on lines 190..193
      p2p/p2pmock/mock_stream.go on lines 204..207
      p2p/p2pmock/mock_stream.go on lines 233..236
      p2p/p2pmock/mock_stream.go on lines 355..358
      p2p/p2pmock/mock_syncmanager.go on lines 107..110
      p2p/p2pmock/mock_syncmanager.go on lines 195..198

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 111.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

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

      func (mr *MockRemotePeerMockRecorder) TrySendMessage(msg interface{}) *gomock.Call {
          mr.mock.ctrl.T.Helper()
          return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "TrySendMessage", reflect.TypeOf((*MockRemotePeer)(nil).TrySendMessage), msg)
      }
      Severity: Major
      Found in p2p/p2pmock/mock_remotepeer.go and 94 other locations - About 40 mins to fix
      p2p/p2pmock/mock_actorcontext.go on lines 84..87
      p2p/p2pmock/mock_actorcontext.go on lines 150..153
      p2p/p2pmock/mock_actorcontext.go on lines 202..205
      p2p/p2pmock/mock_actorcontext.go on lines 242..245
      p2p/p2pmock/mock_actorcontext.go on lines 254..257
      p2p/p2pmock/mock_actorcontext.go on lines 268..271
      p2p/p2pmock/mock_actorcontext.go on lines 333..336
      p2p/p2pmock/mock_actorcontext.go on lines 345..348
      p2p/p2pmock/mock_certificate.go on lines 44..47
      p2p/p2pmock/mock_certificate.go on lines 58..61
      p2p/p2pmock/mock_certificate.go on lines 73..76
      p2p/p2pmock/mock_certificate.go on lines 113..116
      p2p/p2pmock/mock_certificate.go on lines 125..128
      p2p/p2pmock/mock_chainaccessor.go on lines 46..49
      p2p/p2pmock/mock_chainaccessor.go on lines 76..79
      p2p/p2pmock/mock_chainaccessor.go on lines 119..122
      p2p/p2pmock/mock_chainaccessor.go on lines 148..151
      p2p/p2pmock/mock_chainaccessor.go on lines 163..166
      p2p/p2pmock/mock_consensus.go on lines 51..54
      p2p/p2pmock/mock_consensus.go on lines 66..69
      p2p/p2pmock/mock_consensus.go on lines 81..84
      p2p/p2pmock/mock_consensus.go on lines 146..149
      p2p/p2pmock/mock_consensus.go on lines 160..163
      p2p/p2pmock/mock_consensus.go on lines 174..177
      p2p/p2pmock/mock_consensus.go on lines 212..215
      p2p/p2pmock/mock_handshake.go on lines 124..127
      p2p/p2pmock/mock_handshake.go on lines 167..170
      p2p/p2pmock/mock_handshake.go on lines 205..208
      p2p/p2pmock/mock_handshake.go on lines 220..223
      p2p/p2pmock/mock_host.go on lines 196..199
      p2p/p2pmock/mock_io.go on lines 45..48
      p2p/p2pmock/mock_io.go on lines 97..100
      p2p/p2pmock/mock_io.go on lines 135..138
      p2p/p2pmock/mock_io.go on lines 187..190
      p2p/p2pmock/mock_io.go on lines 239..242
      p2p/p2pmock/mock_io.go on lines 254..257
      p2p/p2pmock/mock_message.go on lines 213..216
      p2p/p2pmock/mock_message.go on lines 228..231
      p2p/p2pmock/mock_message.go on lines 411..414
      p2p/p2pmock/mock_metricsman.go on lines 99..102
      p2p/p2pmock/mock_msgio.go on lines 60..63
      p2p/p2pmock/mock_msgio.go on lines 86..89
      p2p/p2pmock/mock_msgorder.go on lines 117..120
      p2p/p2pmock/mock_msgorder.go on lines 129..132
      p2p/p2pmock/mock_msgorder.go on lines 208..211
      p2p/p2pmock/mock_msgorder.go on lines 222..225
      p2p/p2pmock/mock_msgorder.go on lines 236..239
      p2p/p2pmock/mock_msgorder.go on lines 264..267
      p2p/p2pmock/mock_networktransport.go on lines 160..163
      p2p/p2pmock/mock_networktransport.go on lines 216..219
      p2p/p2pmock/mock_networktransport.go on lines 230..233
      p2p/p2pmock/mock_networktransport.go on lines 358..361
      p2p/p2pmock/mock_peerfinder.go on lines 45..48
      p2p/p2pmock/mock_peerfinder.go on lines 57..60
      p2p/p2pmock/mock_peerfinder.go on lines 92..95
      p2p/p2pmock/mock_peerfinder.go on lines 104..107
      p2p/p2pmock/mock_peerfinder.go on lines 151..154
      p2p/p2pmock/mock_peerfinder.go on lines 163..166
      p2p/p2pmock/mock_peerfinder.go on lines 177..180
      p2p/p2pmock/mock_peerfinder.go on lines 189..192
      p2p/p2pmock/mock_peerfinder.go on lines 213..216
      p2p/p2pmock/mock_peerfinder.go on lines 225..228
      p2p/p2pmock/mock_peermanager.go on lines 45..48
      p2p/p2pmock/mock_peermanager.go on lines 113..116
      p2p/p2pmock/mock_peermanager.go on lines 125..128
      p2p/p2pmock/mock_peermanager.go on lines 137..140
      p2p/p2pmock/mock_peermanager.go on lines 149..152
      p2p/p2pmock/mock_peermanager.go on lines 164..167
      p2p/p2pmock/mock_peermanager.go on lines 246..249
      p2p/p2pmock/mock_peermanager.go on lines 258..261
      p2p/p2pmock/mock_peerrole.go on lines 96..99
      p2p/p2pmock/mock_protobuf.go on lines 61..64
      p2p/p2pmock/mock_protobuf.go on lines 75..78
      p2p/p2pmock/mock_protobuf.go on lines 89..92
      p2p/p2pmock/mock_protobuf.go on lines 103..106
      p2p/p2pmock/mock_protobuf.go on lines 117..120
      p2p/p2pmock/mock_protobuf.go on lines 129..132
      p2p/p2pmock/mock_remotepeer.go on lines 180..183
      p2p/p2pmock/mock_remotepeer.go on lines 256..259
      p2p/p2pmock/mock_remotepeer.go on lines 296..299
      p2p/p2pmock/mock_remotepeer.go on lines 309..312
      p2p/p2pmock/mock_remotepeer.go on lines 323..326
      p2p/p2pmock/mock_remotepeer.go on lines 351..354
      p2p/p2pmock/mock_remotepeer.go on lines 389..392
      p2p/p2pmock/mock_remotepeer.go on lines 403..406
      p2p/p2pmock/mock_stream.go on lines 136..139
      p2p/p2pmock/mock_stream.go on lines 164..167
      p2p/p2pmock/mock_stream.go on lines 176..179
      p2p/p2pmock/mock_stream.go on lines 190..193
      p2p/p2pmock/mock_stream.go on lines 204..207
      p2p/p2pmock/mock_stream.go on lines 233..236
      p2p/p2pmock/mock_stream.go on lines 355..358
      p2p/p2pmock/mock_syncmanager.go on lines 107..110
      p2p/p2pmock/mock_syncmanager.go on lines 195..198

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 111.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

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

      func (m *MockRemotePeer) UpdateBlkCache(blkHash types.BlockID, blkNumber types.BlockNo) bool {
          m.ctrl.T.Helper()
          ret := m.ctrl.Call(m, "UpdateBlkCache", blkHash, blkNumber)
          ret0, _ := ret[0].(bool)
          return ret0
      Severity: Major
      Found in p2p/p2pmock/mock_remotepeer.go and 6 other locations - About 35 mins to fix
      p2p/p2pmock/mock_host.go on lines 86..91
      p2p/p2pmock/mock_message.go on lines 234..239
      p2p/p2pmock/mock_message.go on lines 354..359
      p2p/p2pmock/mock_networktransport.go on lines 180..185
      p2p/p2pmock/mock_peerrole.go on lines 102..107
      p2p/p2pmock/mock_remotepeer.go on lines 276..281

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 103.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

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

      func (m *MockRemotePeer) SendAndWaitMessage(msg p2pcommon.MsgOrder, ttl time.Duration) error {
          m.ctrl.T.Helper()
          ret := m.ctrl.Call(m, "SendAndWaitMessage", msg, ttl)
          ret0, _ := ret[0].(error)
          return ret0
      Severity: Major
      Found in p2p/p2pmock/mock_remotepeer.go and 6 other locations - About 35 mins to fix
      p2p/p2pmock/mock_host.go on lines 86..91
      p2p/p2pmock/mock_message.go on lines 234..239
      p2p/p2pmock/mock_message.go on lines 354..359
      p2p/p2pmock/mock_networktransport.go on lines 180..185
      p2p/p2pmock/mock_peerrole.go on lines 102..107
      p2p/p2pmock/mock_remotepeer.go on lines 329..334

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 103.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

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

      func (mr *MockRemotePeerMockRecorder) ManageNumber() *gomock.Call {
          mr.mock.ctrl.T.Helper()
          return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ManageNumber", reflect.TypeOf((*MockRemotePeer)(nil).ManageNumber))
      }
      Severity: Major
      Found in p2p/p2pmock/mock_remotepeer.go and 132 other locations - About 30 mins to fix
      p2p/p2pmock/mock_actorcontext.go on lines 46..49
      p2p/p2pmock/mock_actorcontext.go on lines 72..75
      p2p/p2pmock/mock_actorcontext.go on lines 98..101
      p2p/p2pmock/mock_actorcontext.go on lines 112..115
      p2p/p2pmock/mock_actorcontext.go on lines 126..129
      p2p/p2pmock/mock_actorcontext.go on lines 138..141
      p2p/p2pmock/mock_actorcontext.go on lines 164..167
      p2p/p2pmock/mock_actorcontext.go on lines 216..219
      p2p/p2pmock/mock_actorcontext.go on lines 230..233
      p2p/p2pmock/mock_actorcontext.go on lines 309..312
      p2p/p2pmock/mock_actorservice.go on lines 129..132
      p2p/p2pmock/mock_certificate.go on lines 87..90
      p2p/p2pmock/mock_certificate.go on lines 101..104
      p2p/p2pmock/mock_certificate.go on lines 137..140
      p2p/p2pmock/mock_certificate.go on lines 149..152
      p2p/p2pmock/mock_chainaccessor.go on lines 61..64
      p2p/p2pmock/mock_chainaccessor.go on lines 90..93
      p2p/p2pmock/mock_chainaccessor.go on lines 104..107
      p2p/p2pmock/mock_chainaccessor.go on lines 133..136
      p2p/p2pmock/mock_consensus.go on lines 95..98
      p2p/p2pmock/mock_consensus.go on lines 109..112
      p2p/p2pmock/mock_handshake.go on lines 153..156
      p2p/p2pmock/mock_handshake.go on lines 234..237
      p2p/p2pmock/mock_host.go on lines 52..55
      p2p/p2pmock/mock_host.go on lines 66..69
      p2p/p2pmock/mock_host.go on lines 80..83
      p2p/p2pmock/mock_host.go on lines 108..111
      p2p/p2pmock/mock_host.go on lines 122..125
      p2p/p2pmock/mock_host.go on lines 136..139
      p2p/p2pmock/mock_host.go on lines 150..153
      p2p/p2pmock/mock_host.go on lines 184..187
      p2p/p2pmock/mock_internalservice.go on lines 47..50
      p2p/p2pmock/mock_internalservice.go on lines 61..64
      p2p/p2pmock/mock_internalservice.go on lines 75..78
      p2p/p2pmock/mock_internalservice.go on lines 89..92
      p2p/p2pmock/mock_internalservice.go on lines 103..106
      p2p/p2pmock/mock_internalservice.go on lines 117..120
      p2p/p2pmock/mock_internalservice.go on lines 131..134
      p2p/p2pmock/mock_internalservice.go on lines 145..148
      p2p/p2pmock/mock_io.go on lines 82..85
      p2p/p2pmock/mock_io.go on lines 172..175
      p2p/p2pmock/mock_io.go on lines 224..227
      p2p/p2pmock/mock_listmanager.go on lines 44..47
      p2p/p2pmock/mock_listmanager.go on lines 56..59
      p2p/p2pmock/mock_listmanager.go on lines 83..86
      p2p/p2pmock/mock_listmanager.go on lines 97..100
      p2p/p2pmock/mock_message.go on lines 47..50
      p2p/p2pmock/mock_message.go on lines 61..64
      p2p/p2pmock/mock_message.go on lines 75..78
      p2p/p2pmock/mock_message.go on lines 89..92
      p2p/p2pmock/mock_message.go on lines 103..106
      p2p/p2pmock/mock_message.go on lines 117..120
      p2p/p2pmock/mock_message.go on lines 152..155
      p2p/p2pmock/mock_message.go on lines 166..169
      p2p/p2pmock/mock_message.go on lines 178..181
      p2p/p2pmock/mock_message.go on lines 266..269
      p2p/p2pmock/mock_message.go on lines 313..316
      p2p/p2pmock/mock_metricsman.go on lines 44..47
      p2p/p2pmock/mock_metricsman.go on lines 56..59
      p2p/p2pmock/mock_metricsman.go on lines 113..116
      p2p/p2pmock/mock_metricsman.go on lines 127..130
      p2p/p2pmock/mock_metricsman.go on lines 141..144
      p2p/p2pmock/mock_msgio.go on lines 46..49
      p2p/p2pmock/mock_msgio.go on lines 74..77
      p2p/p2pmock/mock_msgorder.go on lines 47..50
      p2p/p2pmock/mock_msgorder.go on lines 61..64
      p2p/p2pmock/mock_msgorder.go on lines 75..78
      p2p/p2pmock/mock_msgorder.go on lines 89..92
      p2p/p2pmock/mock_msgorder.go on lines 103..106
      p2p/p2pmock/mock_networktransport.go on lines 55..58
      p2p/p2pmock/mock_networktransport.go on lines 69..72
      p2p/p2pmock/mock_networktransport.go on lines 83..86
      p2p/p2pmock/mock_networktransport.go on lines 132..135
      p2p/p2pmock/mock_networktransport.go on lines 146..149
      p2p/p2pmock/mock_networktransport.go on lines 174..177
      p2p/p2pmock/mock_networktransport.go on lines 202..205
      p2p/p2pmock/mock_networktransport.go on lines 284..287
      p2p/p2pmock/mock_networktransport.go on lines 298..301
      p2p/p2pmock/mock_networktransport.go on lines 312..315
      p2p/p2pmock/mock_networktransport.go on lines 346..349
      p2p/p2pmock/mock_networktransport.go on lines 372..375
      p2p/p2pmock/mock_networktransport.go on lines 410..413
      p2p/p2pmock/mock_networktransport.go on lines 424..427
      p2p/p2pmock/mock_peerfinder.go on lines 116..119
      p2p/p2pmock/mock_peerfinder.go on lines 201..204
      p2p/p2pmock/mock_peermanager.go on lines 59..62
      p2p/p2pmock/mock_peermanager.go on lines 73..76
      p2p/p2pmock/mock_peermanager.go on lines 87..90
      p2p/p2pmock/mock_peermanager.go on lines 101..104
      p2p/p2pmock/mock_peermanager.go on lines 178..181
      p2p/p2pmock/mock_peermanager.go on lines 192..195
      p2p/p2pmock/mock_peermanager.go on lines 206..209
      p2p/p2pmock/mock_peermanager.go on lines 234..237
      p2p/p2pmock/mock_peermanager.go on lines 272..275
      p2p/p2pmock/mock_peerrole.go on lines 44..47
      p2p/p2pmock/mock_peerrole.go on lines 56..59
      p2p/p2pmock/mock_peerrole.go on lines 82..85
      p2p/p2pmock/mock_protobuf.go on lines 47..50
      p2p/p2pmock/mock_remotepeer.go on lines 84..87
      p2p/p2pmock/mock_remotepeer.go on lines 98..101
      p2p/p2pmock/mock_remotepeer.go on lines 112..115
      p2p/p2pmock/mock_remotepeer.go on lines 140..143
      p2p/p2pmock/mock_remotepeer.go on lines 154..157
      p2p/p2pmock/mock_remotepeer.go on lines 168..171
      p2p/p2pmock/mock_remotepeer.go on lines 206..209
      p2p/p2pmock/mock_remotepeer.go on lines 220..223
      p2p/p2pmock/mock_remotepeer.go on lines 232..235
      p2p/p2pmock/mock_remotepeer.go on lines 244..247
      p2p/p2pmock/mock_remotepeer.go on lines 377..380
      p2p/p2pmock/mock_stream.go on lines 51..54
      p2p/p2pmock/mock_stream.go on lines 65..68
      p2p/p2pmock/mock_stream.go on lines 79..82
      p2p/p2pmock/mock_stream.go on lines 93..96
      p2p/p2pmock/mock_stream.go on lines 107..110
      p2p/p2pmock/mock_stream.go on lines 121..124
      p2p/p2pmock/mock_stream.go on lines 150..153
      p2p/p2pmock/mock_stream.go on lines 218..221
      p2p/p2pmock/mock_stream.go on lines 270..273
      p2p/p2pmock/mock_stream.go on lines 284..287
      p2p/p2pmock/mock_stream.go on lines 298..301
      p2p/p2pmock/mock_stream.go on lines 312..315
      p2p/p2pmock/mock_stream.go on lines 326..329
      p2p/p2pmock/mock_stream.go on lines 340..343
      p2p/p2pmock/mock_stream.go on lines 369..372
      p2p/p2pmock/mock_stream.go on lines 383..386
      p2p/p2pmock/mock_stream.go on lines 397..400
      p2p/p2pmock/mock_stream.go on lines 411..414
      p2p/p2pmock/mock_syncmanager.go on lines 131..134
      p2p/p2pmock/mock_syncmanager.go on lines 143..146
      p2p/p2pmock/mock_syncmanager.go on lines 157..160
      p2p/p2pmock/mock_syncmanager.go on lines 209..212
      p2p/p2pmock/mock_syncmanager.go on lines 223..226

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 102.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

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

      func (mr *MockRemotePeerMockRecorder) Name() *gomock.Call {
          mr.mock.ctrl.T.Helper()
          return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Name", reflect.TypeOf((*MockRemotePeer)(nil).Name))
      }
      Severity: Major
      Found in p2p/p2pmock/mock_remotepeer.go and 132 other locations - About 30 mins to fix
      p2p/p2pmock/mock_actorcontext.go on lines 46..49
      p2p/p2pmock/mock_actorcontext.go on lines 72..75
      p2p/p2pmock/mock_actorcontext.go on lines 98..101
      p2p/p2pmock/mock_actorcontext.go on lines 112..115
      p2p/p2pmock/mock_actorcontext.go on lines 126..129
      p2p/p2pmock/mock_actorcontext.go on lines 138..141
      p2p/p2pmock/mock_actorcontext.go on lines 164..167
      p2p/p2pmock/mock_actorcontext.go on lines 216..219
      p2p/p2pmock/mock_actorcontext.go on lines 230..233
      p2p/p2pmock/mock_actorcontext.go on lines 309..312
      p2p/p2pmock/mock_actorservice.go on lines 129..132
      p2p/p2pmock/mock_certificate.go on lines 87..90
      p2p/p2pmock/mock_certificate.go on lines 101..104
      p2p/p2pmock/mock_certificate.go on lines 137..140
      p2p/p2pmock/mock_certificate.go on lines 149..152
      p2p/p2pmock/mock_chainaccessor.go on lines 61..64
      p2p/p2pmock/mock_chainaccessor.go on lines 90..93
      p2p/p2pmock/mock_chainaccessor.go on lines 104..107
      p2p/p2pmock/mock_chainaccessor.go on lines 133..136
      p2p/p2pmock/mock_consensus.go on lines 95..98
      p2p/p2pmock/mock_consensus.go on lines 109..112
      p2p/p2pmock/mock_handshake.go on lines 153..156
      p2p/p2pmock/mock_handshake.go on lines 234..237
      p2p/p2pmock/mock_host.go on lines 52..55
      p2p/p2pmock/mock_host.go on lines 66..69
      p2p/p2pmock/mock_host.go on lines 80..83
      p2p/p2pmock/mock_host.go on lines 108..111
      p2p/p2pmock/mock_host.go on lines 122..125
      p2p/p2pmock/mock_host.go on lines 136..139
      p2p/p2pmock/mock_host.go on lines 150..153
      p2p/p2pmock/mock_host.go on lines 184..187
      p2p/p2pmock/mock_internalservice.go on lines 47..50
      p2p/p2pmock/mock_internalservice.go on lines 61..64
      p2p/p2pmock/mock_internalservice.go on lines 75..78
      p2p/p2pmock/mock_internalservice.go on lines 89..92
      p2p/p2pmock/mock_internalservice.go on lines 103..106
      p2p/p2pmock/mock_internalservice.go on lines 117..120
      p2p/p2pmock/mock_internalservice.go on lines 131..134
      p2p/p2pmock/mock_internalservice.go on lines 145..148
      p2p/p2pmock/mock_io.go on lines 82..85
      p2p/p2pmock/mock_io.go on lines 172..175
      p2p/p2pmock/mock_io.go on lines 224..227
      p2p/p2pmock/mock_listmanager.go on lines 44..47
      p2p/p2pmock/mock_listmanager.go on lines 56..59
      p2p/p2pmock/mock_listmanager.go on lines 83..86
      p2p/p2pmock/mock_listmanager.go on lines 97..100
      p2p/p2pmock/mock_message.go on lines 47..50
      p2p/p2pmock/mock_message.go on lines 61..64
      p2p/p2pmock/mock_message.go on lines 75..78
      p2p/p2pmock/mock_message.go on lines 89..92
      p2p/p2pmock/mock_message.go on lines 103..106
      p2p/p2pmock/mock_message.go on lines 117..120
      p2p/p2pmock/mock_message.go on lines 152..155
      p2p/p2pmock/mock_message.go on lines 166..169
      p2p/p2pmock/mock_message.go on lines 178..181
      p2p/p2pmock/mock_message.go on lines 266..269
      p2p/p2pmock/mock_message.go on lines 313..316
      p2p/p2pmock/mock_metricsman.go on lines 44..47
      p2p/p2pmock/mock_metricsman.go on lines 56..59
      p2p/p2pmock/mock_metricsman.go on lines 113..116
      p2p/p2pmock/mock_metricsman.go on lines 127..130
      p2p/p2pmock/mock_metricsman.go on lines 141..144
      p2p/p2pmock/mock_msgio.go on lines 46..49
      p2p/p2pmock/mock_msgio.go on lines 74..77
      p2p/p2pmock/mock_msgorder.go on lines 47..50
      p2p/p2pmock/mock_msgorder.go on lines 61..64
      p2p/p2pmock/mock_msgorder.go on lines 75..78
      p2p/p2pmock/mock_msgorder.go on lines 89..92
      p2p/p2pmock/mock_msgorder.go on lines 103..106
      p2p/p2pmock/mock_networktransport.go on lines 55..58
      p2p/p2pmock/mock_networktransport.go on lines 69..72
      p2p/p2pmock/mock_networktransport.go on lines 83..86
      p2p/p2pmock/mock_networktransport.go on lines 132..135
      p2p/p2pmock/mock_networktransport.go on lines 146..149
      p2p/p2pmock/mock_networktransport.go on lines 174..177
      p2p/p2pmock/mock_networktransport.go on lines 202..205
      p2p/p2pmock/mock_networktransport.go on lines 284..287
      p2p/p2pmock/mock_networktransport.go on lines 298..301
      p2p/p2pmock/mock_networktransport.go on lines 312..315
      p2p/p2pmock/mock_networktransport.go on lines 346..349
      p2p/p2pmock/mock_networktransport.go on lines 372..375
      p2p/p2pmock/mock_networktransport.go on lines 410..413
      p2p/p2pmock/mock_networktransport.go on lines 424..427
      p2p/p2pmock/mock_peerfinder.go on lines 116..119
      p2p/p2pmock/mock_peerfinder.go on lines 201..204
      p2p/p2pmock/mock_peermanager.go on lines 59..62
      p2p/p2pmock/mock_peermanager.go on lines 73..76
      p2p/p2pmock/mock_peermanager.go on lines 87..90
      p2p/p2pmock/mock_peermanager.go on lines 101..104
      p2p/p2pmock/mock_peermanager.go on lines 178..181
      p2p/p2pmock/mock_peermanager.go on lines 192..195
      p2p/p2pmock/mock_peermanager.go on lines 206..209
      p2p/p2pmock/mock_peermanager.go on lines 234..237
      p2p/p2pmock/mock_peermanager.go on lines 272..275
      p2p/p2pmock/mock_peerrole.go on lines 44..47
      p2p/p2pmock/mock_peerrole.go on lines 56..59
      p2p/p2pmock/mock_peerrole.go on lines 82..85
      p2p/p2pmock/mock_protobuf.go on lines 47..50
      p2p/p2pmock/mock_remotepeer.go on lines 84..87
      p2p/p2pmock/mock_remotepeer.go on lines 98..101
      p2p/p2pmock/mock_remotepeer.go on lines 112..115
      p2p/p2pmock/mock_remotepeer.go on lines 126..129
      p2p/p2pmock/mock_remotepeer.go on lines 154..157
      p2p/p2pmock/mock_remotepeer.go on lines 168..171
      p2p/p2pmock/mock_remotepeer.go on lines 206..209
      p2p/p2pmock/mock_remotepeer.go on lines 220..223
      p2p/p2pmock/mock_remotepeer.go on lines 232..235
      p2p/p2pmock/mock_remotepeer.go on lines 244..247
      p2p/p2pmock/mock_remotepeer.go on lines 377..380
      p2p/p2pmock/mock_stream.go on lines 51..54
      p2p/p2pmock/mock_stream.go on lines 65..68
      p2p/p2pmock/mock_stream.go on lines 79..82
      p2p/p2pmock/mock_stream.go on lines 93..96
      p2p/p2pmock/mock_stream.go on lines 107..110
      p2p/p2pmock/mock_stream.go on lines 121..124
      p2p/p2pmock/mock_stream.go on lines 150..153
      p2p/p2pmock/mock_stream.go on lines 218..221
      p2p/p2pmock/mock_stream.go on lines 270..273
      p2p/p2pmock/mock_stream.go on lines 284..287
      p2p/p2pmock/mock_stream.go on lines 298..301
      p2p/p2pmock/mock_stream.go on lines 312..315
      p2p/p2pmock/mock_stream.go on lines 326..329
      p2p/p2pmock/mock_stream.go on lines 340..343
      p2p/p2pmock/mock_stream.go on lines 369..372
      p2p/p2pmock/mock_stream.go on lines 383..386
      p2p/p2pmock/mock_stream.go on lines 397..400
      p2p/p2pmock/mock_stream.go on lines 411..414
      p2p/p2pmock/mock_syncmanager.go on lines 131..134
      p2p/p2pmock/mock_syncmanager.go on lines 143..146
      p2p/p2pmock/mock_syncmanager.go on lines 157..160
      p2p/p2pmock/mock_syncmanager.go on lines 209..212
      p2p/p2pmock/mock_syncmanager.go on lines 223..226

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 102.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

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

      func (mr *MockRemotePeerMockRecorder) Stop() *gomock.Call {
          mr.mock.ctrl.T.Helper()
          return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Stop", reflect.TypeOf((*MockRemotePeer)(nil).Stop))
      }
      Severity: Major
      Found in p2p/p2pmock/mock_remotepeer.go and 132 other locations - About 30 mins to fix
      p2p/p2pmock/mock_actorcontext.go on lines 46..49
      p2p/p2pmock/mock_actorcontext.go on lines 72..75
      p2p/p2pmock/mock_actorcontext.go on lines 98..101
      p2p/p2pmock/mock_actorcontext.go on lines 112..115
      p2p/p2pmock/mock_actorcontext.go on lines 126..129
      p2p/p2pmock/mock_actorcontext.go on lines 138..141
      p2p/p2pmock/mock_actorcontext.go on lines 164..167
      p2p/p2pmock/mock_actorcontext.go on lines 216..219
      p2p/p2pmock/mock_actorcontext.go on lines 230..233
      p2p/p2pmock/mock_actorcontext.go on lines 309..312
      p2p/p2pmock/mock_actorservice.go on lines 129..132
      p2p/p2pmock/mock_certificate.go on lines 87..90
      p2p/p2pmock/mock_certificate.go on lines 101..104
      p2p/p2pmock/mock_certificate.go on lines 137..140
      p2p/p2pmock/mock_certificate.go on lines 149..152
      p2p/p2pmock/mock_chainaccessor.go on lines 61..64
      p2p/p2pmock/mock_chainaccessor.go on lines 90..93
      p2p/p2pmock/mock_chainaccessor.go on lines 104..107
      p2p/p2pmock/mock_chainaccessor.go on lines 133..136
      p2p/p2pmock/mock_consensus.go on lines 95..98
      p2p/p2pmock/mock_consensus.go on lines 109..112
      p2p/p2pmock/mock_handshake.go on lines 153..156
      p2p/p2pmock/mock_handshake.go on lines 234..237
      p2p/p2pmock/mock_host.go on lines 52..55
      p2p/p2pmock/mock_host.go on lines 66..69
      p2p/p2pmock/mock_host.go on lines 80..83
      p2p/p2pmock/mock_host.go on lines 108..111
      p2p/p2pmock/mock_host.go on lines 122..125
      p2p/p2pmock/mock_host.go on lines 136..139
      p2p/p2pmock/mock_host.go on lines 150..153
      p2p/p2pmock/mock_host.go on lines 184..187
      p2p/p2pmock/mock_internalservice.go on lines 47..50
      p2p/p2pmock/mock_internalservice.go on lines 61..64
      p2p/p2pmock/mock_internalservice.go on lines 75..78
      p2p/p2pmock/mock_internalservice.go on lines 89..92
      p2p/p2pmock/mock_internalservice.go on lines 103..106
      p2p/p2pmock/mock_internalservice.go on lines 117..120
      p2p/p2pmock/mock_internalservice.go on lines 131..134
      p2p/p2pmock/mock_internalservice.go on lines 145..148
      p2p/p2pmock/mock_io.go on lines 82..85
      p2p/p2pmock/mock_io.go on lines 172..175
      p2p/p2pmock/mock_io.go on lines 224..227
      p2p/p2pmock/mock_listmanager.go on lines 44..47
      p2p/p2pmock/mock_listmanager.go on lines 56..59
      p2p/p2pmock/mock_listmanager.go on lines 83..86
      p2p/p2pmock/mock_listmanager.go on lines 97..100
      p2p/p2pmock/mock_message.go on lines 47..50
      p2p/p2pmock/mock_message.go on lines 61..64
      p2p/p2pmock/mock_message.go on lines 75..78
      p2p/p2pmock/mock_message.go on lines 89..92
      p2p/p2pmock/mock_message.go on lines 103..106
      p2p/p2pmock/mock_message.go on lines 117..120
      p2p/p2pmock/mock_message.go on lines 152..155
      p2p/p2pmock/mock_message.go on lines 166..169
      p2p/p2pmock/mock_message.go on lines 178..181
      p2p/p2pmock/mock_message.go on lines 266..269
      p2p/p2pmock/mock_message.go on lines 313..316
      p2p/p2pmock/mock_metricsman.go on lines 44..47
      p2p/p2pmock/mock_metricsman.go on lines 56..59
      p2p/p2pmock/mock_metricsman.go on lines 113..116
      p2p/p2pmock/mock_metricsman.go on lines 127..130
      p2p/p2pmock/mock_metricsman.go on lines 141..144
      p2p/p2pmock/mock_msgio.go on lines 46..49
      p2p/p2pmock/mock_msgio.go on lines 74..77
      p2p/p2pmock/mock_msgorder.go on lines 47..50
      p2p/p2pmock/mock_msgorder.go on lines 61..64
      p2p/p2pmock/mock_msgorder.go on lines 75..78
      p2p/p2pmock/mock_msgorder.go on lines 89..92
      p2p/p2pmock/mock_msgorder.go on lines 103..106
      p2p/p2pmock/mock_networktransport.go on lines 55..58
      p2p/p2pmock/mock_networktransport.go on lines 69..72
      p2p/p2pmock/mock_networktransport.go on lines 83..86
      p2p/p2pmock/mock_networktransport.go on lines 132..135
      p2p/p2pmock/mock_networktransport.go on lines 146..149
      p2p/p2pmock/mock_networktransport.go on lines 174..177
      p2p/p2pmock/mock_networktransport.go on lines 202..205
      p2p/p2pmock/mock_networktransport.go on lines 284..287
      p2p/p2pmock/mock_networktransport.go on lines 298..301
      p2p/p2pmock/mock_networktransport.go on lines 312..315
      p2p/p2pmock/mock_networktransport.go on lines 346..349
      p2p/p2pmock/mock_networktransport.go on lines 372..375
      p2p/p2pmock/mock_networktransport.go on lines 410..413
      p2p/p2pmock/mock_networktransport.go on lines 424..427
      p2p/p2pmock/mock_peerfinder.go on lines 116..119
      p2p/p2pmock/mock_peerfinder.go on lines 201..204
      p2p/p2pmock/mock_peermanager.go on lines 59..62
      p2p/p2pmock/mock_peermanager.go on lines 73..76
      p2p/p2pmock/mock_peermanager.go on lines 87..90
      p2p/p2pmock/mock_peermanager.go on lines 101..104
      p2p/p2pmock/mock_peermanager.go on lines 178..181
      p2p/p2pmock/mock_peermanager.go on lines 192..195
      p2p/p2pmock/mock_peermanager.go on lines 206..209
      p2p/p2pmock/mock_peermanager.go on lines 234..237
      p2p/p2pmock/mock_peermanager.go on lines 272..275
      p2p/p2pmock/mock_peerrole.go on lines 44..47
      p2p/p2pmock/mock_peerrole.go on lines 56..59
      p2p/p2pmock/mock_peerrole.go on lines 82..85
      p2p/p2pmock/mock_protobuf.go on lines 47..50
      p2p/p2pmock/mock_remotepeer.go on lines 84..87
      p2p/p2pmock/mock_remotepeer.go on lines 98..101
      p2p/p2pmock/mock_remotepeer.go on lines 112..115
      p2p/p2pmock/mock_remotepeer.go on lines 126..129
      p2p/p2pmock/mock_remotepeer.go on lines 140..143
      p2p/p2pmock/mock_remotepeer.go on lines 154..157
      p2p/p2pmock/mock_remotepeer.go on lines 168..171
      p2p/p2pmock/mock_remotepeer.go on lines 206..209
      p2p/p2pmock/mock_remotepeer.go on lines 220..223
      p2p/p2pmock/mock_remotepeer.go on lines 232..235
      p2p/p2pmock/mock_remotepeer.go on lines 377..380
      p2p/p2pmock/mock_stream.go on lines 51..54
      p2p/p2pmock/mock_stream.go on lines 65..68
      p2p/p2pmock/mock_stream.go on lines 79..82
      p2p/p2pmock/mock_stream.go on lines 93..96
      p2p/p2pmock/mock_stream.go on lines 107..110
      p2p/p2pmock/mock_stream.go on lines 121..124
      p2p/p2pmock/mock_stream.go on lines 150..153
      p2p/p2pmock/mock_stream.go on lines 218..221
      p2p/p2pmock/mock_stream.go on lines 270..273
      p2p/p2pmock/mock_stream.go on lines 284..287
      p2p/p2pmock/mock_stream.go on lines 298..301
      p2p/p2pmock/mock_stream.go on lines 312..315
      p2p/p2pmock/mock_stream.go on lines 326..329
      p2p/p2pmock/mock_stream.go on lines 340..343
      p2p/p2pmock/mock_stream.go on lines 369..372
      p2p/p2pmock/mock_stream.go on lines 383..386
      p2p/p2pmock/mock_stream.go on lines 397..400
      p2p/p2pmock/mock_stream.go on lines 411..414
      p2p/p2pmock/mock_syncmanager.go on lines 131..134
      p2p/p2pmock/mock_syncmanager.go on lines 143..146
      p2p/p2pmock/mock_syncmanager.go on lines 157..160
      p2p/p2pmock/mock_syncmanager.go on lines 209..212
      p2p/p2pmock/mock_syncmanager.go on lines 223..226

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 102.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

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

      func (mr *MockRemotePeerMockRecorder) ID() *gomock.Call {
          mr.mock.ctrl.T.Helper()
          return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ID", reflect.TypeOf((*MockRemotePeer)(nil).ID))
      }
      Severity: Major
      Found in p2p/p2pmock/mock_remotepeer.go and 132 other locations - About 30 mins to fix
      p2p/p2pmock/mock_actorcontext.go on lines 46..49
      p2p/p2pmock/mock_actorcontext.go on lines 72..75
      p2p/p2pmock/mock_actorcontext.go on lines 98..101
      p2p/p2pmock/mock_actorcontext.go on lines 112..115
      p2p/p2pmock/mock_actorcontext.go on lines 126..129
      p2p/p2pmock/mock_actorcontext.go on lines 138..141
      p2p/p2pmock/mock_actorcontext.go on lines 164..167
      p2p/p2pmock/mock_actorcontext.go on lines 216..219
      p2p/p2pmock/mock_actorcontext.go on lines 230..233
      p2p/p2pmock/mock_actorcontext.go on lines 309..312
      p2p/p2pmock/mock_actorservice.go on lines 129..132
      p2p/p2pmock/mock_certificate.go on lines 87..90
      p2p/p2pmock/mock_certificate.go on lines 101..104
      p2p/p2pmock/mock_certificate.go on lines 137..140
      p2p/p2pmock/mock_certificate.go on lines 149..152
      p2p/p2pmock/mock_chainaccessor.go on lines 61..64
      p2p/p2pmock/mock_chainaccessor.go on lines 90..93
      p2p/p2pmock/mock_chainaccessor.go on lines 104..107
      p2p/p2pmock/mock_chainaccessor.go on lines 133..136
      p2p/p2pmock/mock_consensus.go on lines 95..98
      p2p/p2pmock/mock_consensus.go on lines 109..112
      p2p/p2pmock/mock_handshake.go on lines 153..156
      p2p/p2pmock/mock_handshake.go on lines 234..237
      p2p/p2pmock/mock_host.go on lines 52..55
      p2p/p2pmock/mock_host.go on lines 66..69
      p2p/p2pmock/mock_host.go on lines 80..83
      p2p/p2pmock/mock_host.go on lines 108..111
      p2p/p2pmock/mock_host.go on lines 122..125
      p2p/p2pmock/mock_host.go on lines 136..139
      p2p/p2pmock/mock_host.go on lines 150..153
      p2p/p2pmock/mock_host.go on lines 184..187
      p2p/p2pmock/mock_internalservice.go on lines 47..50
      p2p/p2pmock/mock_internalservice.go on lines 61..64
      p2p/p2pmock/mock_internalservice.go on lines 75..78
      p2p/p2pmock/mock_internalservice.go on lines 89..92
      p2p/p2pmock/mock_internalservice.go on lines 103..106
      p2p/p2pmock/mock_internalservice.go on lines 117..120
      p2p/p2pmock/mock_internalservice.go on lines 131..134
      p2p/p2pmock/mock_internalservice.go on lines 145..148
      p2p/p2pmock/mock_io.go on lines 82..85
      p2p/p2pmock/mock_io.go on lines 172..175
      p2p/p2pmock/mock_io.go on lines 224..227
      p2p/p2pmock/mock_listmanager.go on lines 44..47
      p2p/p2pmock/mock_listmanager.go on lines 56..59
      p2p/p2pmock/mock_listmanager.go on lines 83..86
      p2p/p2pmock/mock_listmanager.go on lines 97..100
      p2p/p2pmock/mock_message.go on lines 47..50
      p2p/p2pmock/mock_message.go on lines 61..64
      p2p/p2pmock/mock_message.go on lines 75..78
      p2p/p2pmock/mock_message.go on lines 89..92
      p2p/p2pmock/mock_message.go on lines 103..106
      p2p/p2pmock/mock_message.go on lines 117..120
      p2p/p2pmock/mock_message.go on lines 152..155
      p2p/p2pmock/mock_message.go on lines 166..169
      p2p/p2pmock/mock_message.go on lines 178..181
      p2p/p2pmock/mock_message.go on lines 266..269
      p2p/p2pmock/mock_message.go on lines 313..316
      p2p/p2pmock/mock_metricsman.go on lines 44..47
      p2p/p2pmock/mock_metricsman.go on lines 56..59
      p2p/p2pmock/mock_metricsman.go on lines 113..116
      p2p/p2pmock/mock_metricsman.go on lines 127..130
      p2p/p2pmock/mock_metricsman.go on lines 141..144
      p2p/p2pmock/mock_msgio.go on lines 46..49
      p2p/p2pmock/mock_msgio.go on lines 74..77
      p2p/p2pmock/mock_msgorder.go on lines 47..50
      p2p/p2pmock/mock_msgorder.go on lines 61..64
      p2p/p2pmock/mock_msgorder.go on lines 75..78
      p2p/p2pmock/mock_msgorder.go on lines 89..92
      p2p/p2pmock/mock_msgorder.go on lines 103..106
      p2p/p2pmock/mock_networktransport.go on lines 55..58
      p2p/p2pmock/mock_networktransport.go on lines 69..72
      p2p/p2pmock/mock_networktransport.go on lines 83..86
      p2p/p2pmock/mock_networktransport.go on lines 132..135
      p2p/p2pmock/mock_networktransport.go on lines 146..149
      p2p/p2pmock/mock_networktransport.go on lines 174..177
      p2p/p2pmock/mock_networktransport.go on lines 202..205
      p2p/p2pmock/mock_networktransport.go on lines 284..287
      p2p/p2pmock/mock_networktransport.go on lines 298..301
      p2p/p2pmock/mock_networktransport.go on lines 312..315
      p2p/p2pmock/mock_networktransport.go on lines 346..349
      p2p/p2pmock/mock_networktransport.go on lines 372..375
      p2p/p2pmock/mock_networktransport.go on lines 410..413
      p2p/p2pmock/mock_networktransport.go on lines 424..427
      p2p/p2pmock/mock_peerfinder.go on lines 116..119
      p2p/p2pmock/mock_peerfinder.go on lines 201..204
      p2p/p2pmock/mock_peermanager.go on lines 59..62
      p2p/p2pmock/mock_peermanager.go on lines 73..76
      p2p/p2pmock/mock_peermanager.go on lines 87..90
      p2p/p2pmock/mock_peermanager.go on lines 101..104
      p2p/p2pmock/mock_peermanager.go on lines 178..181
      p2p/p2pmock/mock_peermanager.go on lines 192..195
      p2p/p2pmock/mock_peermanager.go on lines 206..209
      p2p/p2pmock/mock_peermanager.go on lines 234..237
      p2p/p2pmock/mock_peermanager.go on lines 272..275
      p2p/p2pmock/mock_peerrole.go on lines 44..47
      p2p/p2pmock/mock_peerrole.go on lines 56..59
      p2p/p2pmock/mock_peerrole.go on lines 82..85
      p2p/p2pmock/mock_protobuf.go on lines 47..50
      p2p/p2pmock/mock_remotepeer.go on lines 98..101
      p2p/p2pmock/mock_remotepeer.go on lines 112..115
      p2p/p2pmock/mock_remotepeer.go on lines 126..129
      p2p/p2pmock/mock_remotepeer.go on lines 140..143
      p2p/p2pmock/mock_remotepeer.go on lines 154..157
      p2p/p2pmock/mock_remotepeer.go on lines 168..171
      p2p/p2pmock/mock_remotepeer.go on lines 206..209
      p2p/p2pmock/mock_remotepeer.go on lines 220..223
      p2p/p2pmock/mock_remotepeer.go on lines 232..235
      p2p/p2pmock/mock_remotepeer.go on lines 244..247
      p2p/p2pmock/mock_remotepeer.go on lines 377..380
      p2p/p2pmock/mock_stream.go on lines 51..54
      p2p/p2pmock/mock_stream.go on lines 65..68
      p2p/p2pmock/mock_stream.go on lines 79..82
      p2p/p2pmock/mock_stream.go on lines 93..96
      p2p/p2pmock/mock_stream.go on lines 107..110
      p2p/p2pmock/mock_stream.go on lines 121..124
      p2p/p2pmock/mock_stream.go on lines 150..153
      p2p/p2pmock/mock_stream.go on lines 218..221
      p2p/p2pmock/mock_stream.go on lines 270..273
      p2p/p2pmock/mock_stream.go on lines 284..287
      p2p/p2pmock/mock_stream.go on lines 298..301
      p2p/p2pmock/mock_stream.go on lines 312..315
      p2p/p2pmock/mock_stream.go on lines 326..329
      p2p/p2pmock/mock_stream.go on lines 340..343
      p2p/p2pmock/mock_stream.go on lines 369..372
      p2p/p2pmock/mock_stream.go on lines 383..386
      p2p/p2pmock/mock_stream.go on lines 397..400
      p2p/p2pmock/mock_stream.go on lines 411..414
      p2p/p2pmock/mock_syncmanager.go on lines 131..134
      p2p/p2pmock/mock_syncmanager.go on lines 143..146
      p2p/p2pmock/mock_syncmanager.go on lines 157..160
      p2p/p2pmock/mock_syncmanager.go on lines 209..212
      p2p/p2pmock/mock_syncmanager.go on lines 223..226

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 102.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

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

      func (mr *MockRemotePeerMockRecorder) MF() *gomock.Call {
          mr.mock.ctrl.T.Helper()
          return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "MF", reflect.TypeOf((*MockRemotePeer)(nil).MF))
      }
      Severity: Major
      Found in p2p/p2pmock/mock_remotepeer.go and 132 other locations - About 30 mins to fix
      p2p/p2pmock/mock_actorcontext.go on lines 46..49
      p2p/p2pmock/mock_actorcontext.go on lines 72..75
      p2p/p2pmock/mock_actorcontext.go on lines 98..101
      p2p/p2pmock/mock_actorcontext.go on lines 112..115
      p2p/p2pmock/mock_actorcontext.go on lines 126..129
      p2p/p2pmock/mock_actorcontext.go on lines 138..141
      p2p/p2pmock/mock_actorcontext.go on lines 164..167
      p2p/p2pmock/mock_actorcontext.go on lines 216..219
      p2p/p2pmock/mock_actorcontext.go on lines 230..233
      p2p/p2pmock/mock_actorcontext.go on lines 309..312
      p2p/p2pmock/mock_actorservice.go on lines 129..132
      p2p/p2pmock/mock_certificate.go on lines 87..90
      p2p/p2pmock/mock_certificate.go on lines 101..104
      p2p/p2pmock/mock_certificate.go on lines 137..140
      p2p/p2pmock/mock_certificate.go on lines 149..152
      p2p/p2pmock/mock_chainaccessor.go on lines 61..64
      p2p/p2pmock/mock_chainaccessor.go on lines 90..93
      p2p/p2pmock/mock_chainaccessor.go on lines 104..107
      p2p/p2pmock/mock_chainaccessor.go on lines 133..136
      p2p/p2pmock/mock_consensus.go on lines 95..98
      p2p/p2pmock/mock_consensus.go on lines 109..112
      p2p/p2pmock/mock_handshake.go on lines 153..156
      p2p/p2pmock/mock_handshake.go on lines 234..237
      p2p/p2pmock/mock_host.go on lines 52..55
      p2p/p2pmock/mock_host.go on lines 66..69
      p2p/p2pmock/mock_host.go on lines 80..83
      p2p/p2pmock/mock_host.go on lines 108..111
      p2p/p2pmock/mock_host.go on lines 122..125
      p2p/p2pmock/mock_host.go on lines 136..139
      p2p/p2pmock/mock_host.go on lines 150..153
      p2p/p2pmock/mock_host.go on lines 184..187
      p2p/p2pmock/mock_internalservice.go on lines 47..50
      p2p/p2pmock/mock_internalservice.go on lines 61..64
      p2p/p2pmock/mock_internalservice.go on lines 75..78
      p2p/p2pmock/mock_internalservice.go on lines 89..92
      p2p/p2pmock/mock_internalservice.go on lines 103..106
      p2p/p2pmock/mock_internalservice.go on lines 117..120
      p2p/p2pmock/mock_internalservice.go on lines 131..134
      p2p/p2pmock/mock_internalservice.go on lines 145..148
      p2p/p2pmock/mock_io.go on lines 82..85
      p2p/p2pmock/mock_io.go on lines 172..175
      p2p/p2pmock/mock_io.go on lines 224..227
      p2p/p2pmock/mock_listmanager.go on lines 44..47
      p2p/p2pmock/mock_listmanager.go on lines 56..59
      p2p/p2pmock/mock_listmanager.go on lines 83..86
      p2p/p2pmock/mock_listmanager.go on lines 97..100
      p2p/p2pmock/mock_message.go on lines 47..50
      p2p/p2pmock/mock_message.go on lines 61..64
      p2p/p2pmock/mock_message.go on lines 75..78
      p2p/p2pmock/mock_message.go on lines 89..92
      p2p/p2pmock/mock_message.go on lines 103..106
      p2p/p2pmock/mock_message.go on lines 117..120
      p2p/p2pmock/mock_message.go on lines 152..155
      p2p/p2pmock/mock_message.go on lines 166..169
      p2p/p2pmock/mock_message.go on lines 178..181
      p2p/p2pmock/mock_message.go on lines 266..269
      p2p/p2pmock/mock_message.go on lines 313..316
      p2p/p2pmock/mock_metricsman.go on lines 44..47
      p2p/p2pmock/mock_metricsman.go on lines 56..59
      p2p/p2pmock/mock_metricsman.go on lines 113..116
      p2p/p2pmock/mock_metricsman.go on lines 127..130
      p2p/p2pmock/mock_metricsman.go on lines 141..144
      p2p/p2pmock/mock_msgio.go on lines 46..49
      p2p/p2pmock/mock_msgio.go on lines 74..77
      p2p/p2pmock/mock_msgorder.go on lines 47..50
      p2p/p2pmock/mock_msgorder.go on lines 61..64
      p2p/p2pmock/mock_msgorder.go on lines 75..78
      p2p/p2pmock/mock_msgorder.go on lines 89..92
      p2p/p2pmock/mock_msgorder.go on lines 103..106
      p2p/p2pmock/mock_networktransport.go on lines 55..58
      p2p/p2pmock/mock_networktransport.go on lines 69..72
      p2p/p2pmock/mock_networktransport.go on lines 83..86
      p2p/p2pmock/mock_networktransport.go on lines 132..135
      p2p/p2pmock/mock_networktransport.go on lines 146..149
      p2p/p2pmock/mock_networktransport.go on lines 174..177
      p2p/p2pmock/mock_networktransport.go on lines 202..205
      p2p/p2pmock/mock_networktransport.go on lines 284..287
      p2p/p2pmock/mock_networktransport.go on lines 298..301
      p2p/p2pmock/mock_networktransport.go on lines 312..315
      p2p/p2pmock/mock_networktransport.go on lines 346..349
      p2p/p2pmock/mock_networktransport.go on lines 372..375
      p2p/p2pmock/mock_networktransport.go on lines 410..413
      p2p/p2pmock/mock_networktransport.go on lines 424..427
      p2p/p2pmock/mock_peerfinder.go on lines 116..119
      p2p/p2pmock/mock_peerfinder.go on lines 201..204
      p2p/p2pmock/mock_peermanager.go on lines 59..62
      p2p/p2pmock/mock_peermanager.go on lines 73..76
      p2p/p2pmock/mock_peermanager.go on lines 87..90
      p2p/p2pmock/mock_peermanager.go on lines 101..104
      p2p/p2pmock/mock_peermanager.go on lines 178..181
      p2p/p2pmock/mock_peermanager.go on lines 192..195
      p2p/p2pmock/mock_peermanager.go on lines 206..209
      p2p/p2pmock/mock_peermanager.go on lines 234..237
      p2p/p2pmock/mock_peermanager.go on lines 272..275
      p2p/p2pmock/mock_peerrole.go on lines 44..47
      p2p/p2pmock/mock_peerrole.go on lines 56..59
      p2p/p2pmock/mock_peerrole.go on lines 82..85
      p2p/p2pmock/mock_protobuf.go on lines 47..50
      p2p/p2pmock/mock_remotepeer.go on lines 84..87
      p2p/p2pmock/mock_remotepeer.go on lines 98..101
      p2p/p2pmock/mock_remotepeer.go on lines 112..115
      p2p/p2pmock/mock_remotepeer.go on lines 126..129
      p2p/p2pmock/mock_remotepeer.go on lines 140..143
      p2p/p2pmock/mock_remotepeer.go on lines 154..157
      p2p/p2pmock/mock_remotepeer.go on lines 168..171
      p2p/p2pmock/mock_remotepeer.go on lines 206..209
      p2p/p2pmock/mock_remotepeer.go on lines 220..223
      p2p/p2pmock/mock_remotepeer.go on lines 232..235
      p2p/p2pmock/mock_remotepeer.go on lines 244..247
      p2p/p2pmock/mock_stream.go on lines 51..54
      p2p/p2pmock/mock_stream.go on lines 65..68
      p2p/p2pmock/mock_stream.go on lines 79..82
      p2p/p2pmock/mock_stream.go on lines 93..96
      p2p/p2pmock/mock_stream.go on lines 107..110
      p2p/p2pmock/mock_stream.go on lines 121..124
      p2p/p2pmock/mock_stream.go on lines 150..153
      p2p/p2pmock/mock_stream.go on lines 218..221
      p2p/p2pmock/mock_stream.go on lines 270..273
      p2p/p2pmock/mock_stream.go on lines 284..287
      p2p/p2pmock/mock_stream.go on lines 298..301
      p2p/p2pmock/mock_stream.go on lines 312..315
      p2p/p2pmock/mock_stream.go on lines 326..329
      p2p/p2pmock/mock_stream.go on lines 340..343
      p2p/p2pmock/mock_stream.go on lines 369..372
      p2p/p2pmock/mock_stream.go on lines 383..386
      p2p/p2pmock/mock_stream.go on lines 397..400
      p2p/p2pmock/mock_stream.go on lines 411..414
      p2p/p2pmock/mock_syncmanager.go on lines 131..134
      p2p/p2pmock/mock_syncmanager.go on lines 143..146
      p2p/p2pmock/mock_syncmanager.go on lines 157..160
      p2p/p2pmock/mock_syncmanager.go on lines 209..212
      p2p/p2pmock/mock_syncmanager.go on lines 223..226

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 102.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

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

      func (mr *MockRemotePeerMockRecorder) Version() *gomock.Call {
          mr.mock.ctrl.T.Helper()
          return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Version", reflect.TypeOf((*MockRemotePeer)(nil).Version))
      }
      Severity: Major
      Found in p2p/p2pmock/mock_remotepeer.go and 132 other locations - About 30 mins to fix
      p2p/p2pmock/mock_actorcontext.go on lines 46..49
      p2p/p2pmock/mock_actorcontext.go on lines 72..75
      p2p/p2pmock/mock_actorcontext.go on lines 98..101
      p2p/p2pmock/mock_actorcontext.go on lines 112..115
      p2p/p2pmock/mock_actorcontext.go on lines 126..129
      p2p/p2pmock/mock_actorcontext.go on lines 138..141
      p2p/p2pmock/mock_actorcontext.go on lines 164..167
      p2p/p2pmock/mock_actorcontext.go on lines 216..219
      p2p/p2pmock/mock_actorcontext.go on lines 230..233
      p2p/p2pmock/mock_actorcontext.go on lines 309..312
      p2p/p2pmock/mock_actorservice.go on lines 129..132
      p2p/p2pmock/mock_certificate.go on lines 87..90
      p2p/p2pmock/mock_certificate.go on lines 101..104
      p2p/p2pmock/mock_certificate.go on lines 137..140
      p2p/p2pmock/mock_certificate.go on lines 149..152
      p2p/p2pmock/mock_chainaccessor.go on lines 61..64
      p2p/p2pmock/mock_chainaccessor.go on lines 90..93
      p2p/p2pmock/mock_chainaccessor.go on lines 104..107
      p2p/p2pmock/mock_chainaccessor.go on lines 133..136
      p2p/p2pmock/mock_consensus.go on lines 95..98
      p2p/p2pmock/mock_consensus.go on lines 109..112
      p2p/p2pmock/mock_handshake.go on lines 153..156
      p2p/p2pmock/mock_handshake.go on lines 234..237
      p2p/p2pmock/mock_host.go on lines 52..55
      p2p/p2pmock/mock_host.go on lines 66..69
      p2p/p2pmock/mock_host.go on lines 80..83
      p2p/p2pmock/mock_host.go on lines 108..111
      p2p/p2pmock/mock_host.go on lines 122..125
      p2p/p2pmock/mock_host.go on lines 136..139
      p2p/p2pmock/mock_host.go on lines 150..153
      p2p/p2pmock/mock_host.go on lines 184..187
      p2p/p2pmock/mock_internalservice.go on lines 47..50
      p2p/p2pmock/mock_internalservice.go on lines 61..64
      p2p/p2pmock/mock_internalservice.go on lines 75..78
      p2p/p2pmock/mock_internalservice.go on lines 89..92
      p2p/p2pmock/mock_internalservice.go on lines 103..106
      p2p/p2pmock/mock_internalservice.go on lines 117..120
      p2p/p2pmock/mock_internalservice.go on lines 131..134
      p2p/p2pmock/mock_internalservice.go on lines 145..148
      p2p/p2pmock/mock_io.go on lines 82..85
      p2p/p2pmock/mock_io.go on lines 172..175
      p2p/p2pmock/mock_io.go on lines 224..227
      p2p/p2pmock/mock_listmanager.go on lines 44..47
      p2p/p2pmock/mock_listmanager.go on lines 56..59
      p2p/p2pmock/mock_listmanager.go on lines 83..86
      p2p/p2pmock/mock_listmanager.go on lines 97..100
      p2p/p2pmock/mock_message.go on lines 47..50
      p2p/p2pmock/mock_message.go on lines 61..64
      p2p/p2pmock/mock_message.go on lines 75..78
      p2p/p2pmock/mock_message.go on lines 89..92
      p2p/p2pmock/mock_message.go on lines 103..106
      p2p/p2pmock/mock_message.go on lines 117..120
      p2p/p2pmock/mock_message.go on lines 152..155
      p2p/p2pmock/mock_message.go on lines 166..169
      p2p/p2pmock/mock_message.go on lines 178..181
      p2p/p2pmock/mock_message.go on lines 266..269
      p2p/p2pmock/mock_message.go on lines 313..316
      p2p/p2pmock/mock_metricsman.go on lines 44..47
      p2p/p2pmock/mock_metricsman.go on lines 56..59
      p2p/p2pmock/mock_metricsman.go on lines 113..116
      p2p/p2pmock/mock_metricsman.go on lines 127..130
      p2p/p2pmock/mock_metricsman.go on lines 141..144
      p2p/p2pmock/mock_msgio.go on lines 46..49
      p2p/p2pmock/mock_msgio.go on lines 74..77
      p2p/p2pmock/mock_msgorder.go on lines 47..50
      p2p/p2pmock/mock_msgorder.go on lines 61..64
      p2p/p2pmock/mock_msgorder.go on lines 75..78
      p2p/p2pmock/mock_msgorder.go on lines 89..92
      p2p/p2pmock/mock_msgorder.go on lines 103..106
      p2p/p2pmock/mock_networktransport.go on lines 55..58
      p2p/p2pmock/mock_networktransport.go on lines 69..72
      p2p/p2pmock/mock_networktransport.go on lines 83..86
      p2p/p2pmock/mock_networktransport.go on lines 132..135
      p2p/p2pmock/mock_networktransport.go on lines 146..149
      p2p/p2pmock/mock_networktransport.go on lines 174..177
      p2p/p2pmock/mock_networktransport.go on lines 202..205
      p2p/p2pmock/mock_networktransport.go on lines 284..287
      p2p/p2pmock/mock_networktransport.go on lines 298..301
      p2p/p2pmock/mock_networktransport.go on lines 312..315
      p2p/p2pmock/mock_networktransport.go on lines 346..349
      p2p/p2pmock/mock_networktransport.go on lines 372..375
      p2p/p2pmock/mock_networktransport.go on lines 410..413
      p2p/p2pmock/mock_networktransport.go on lines 424..427
      p2p/p2pmock/mock_peerfinder.go on lines 116..119
      p2p/p2pmock/mock_peerfinder.go on lines 201..204
      p2p/p2pmock/mock_peermanager.go on lines 59..62
      p2p/p2pmock/mock_peermanager.go on lines 73..76
      p2p/p2pmock/mock_peermanager.go on lines 87..90
      p2p/p2pmock/mock_peermanager.go on lines 101..104
      p2p/p2pmock/mock_peermanager.go on lines 178..181
      p2p/p2pmock/mock_peermanager.go on lines 192..195
      p2p/p2pmock/mock_peermanager.go on lines 206..209
      p2p/p2pmock/mock_peermanager.go on lines 234..237
      p2p/p2pmock/mock_peermanager.go on lines 272..275
      p2p/p2pmock/mock_peerrole.go on lines 44..47
      p2p/p2pmock/mock_peerrole.go on lines 56..59
      p2p/p2pmock/mock_peerrole.go on lines 82..85
      p2p/p2pmock/mock_protobuf.go on lines 47..50
      p2p/p2pmock/mock_remotepeer.go on lines 84..87
      p2p/p2pmock/mock_remotepeer.go on lines 98..101
      p2p/p2pmock/mock_remotepeer.go on lines 112..115
      p2p/p2pmock/mock_remotepeer.go on lines 126..129
      p2p/p2pmock/mock_remotepeer.go on lines 140..143
      p2p/p2pmock/mock_remotepeer.go on lines 168..171
      p2p/p2pmock/mock_remotepeer.go on lines 206..209
      p2p/p2pmock/mock_remotepeer.go on lines 220..223
      p2p/p2pmock/mock_remotepeer.go on lines 232..235
      p2p/p2pmock/mock_remotepeer.go on lines 244..247
      p2p/p2pmock/mock_remotepeer.go on lines 377..380
      p2p/p2pmock/mock_stream.go on lines 51..54
      p2p/p2pmock/mock_stream.go on lines 65..68
      p2p/p2pmock/mock_stream.go on lines 79..82
      p2p/p2pmock/mock_stream.go on lines 93..96
      p2p/p2pmock/mock_stream.go on lines 107..110
      p2p/p2pmock/mock_stream.go on lines 121..124
      p2p/p2pmock/mock_stream.go on lines 150..153
      p2p/p2pmock/mock_stream.go on lines 218..221
      p2p/p2pmock/mock_stream.go on lines 270..273
      p2p/p2pmock/mock_stream.go on lines 284..287
      p2p/p2pmock/mock_stream.go on lines 298..301
      p2p/p2pmock/mock_stream.go on lines 312..315
      p2p/p2pmock/mock_stream.go on lines 326..329
      p2p/p2pmock/mock_stream.go on lines 340..343
      p2p/p2pmock/mock_stream.go on lines 369..372
      p2p/p2pmock/mock_stream.go on lines 383..386
      p2p/p2pmock/mock_stream.go on lines 397..400
      p2p/p2pmock/mock_stream.go on lines 411..414
      p2p/p2pmock/mock_syncmanager.go on lines 131..134
      p2p/p2pmock/mock_syncmanager.go on lines 143..146
      p2p/p2pmock/mock_syncmanager.go on lines 157..160
      p2p/p2pmock/mock_syncmanager.go on lines 209..212
      p2p/p2pmock/mock_syncmanager.go on lines 223..226

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 102.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

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

      func (mr *MockRemotePeerMockRecorder) State() *gomock.Call {
          mr.mock.ctrl.T.Helper()
          return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "State", reflect.TypeOf((*MockRemotePeer)(nil).State))
      }
      Severity: Major
      Found in p2p/p2pmock/mock_remotepeer.go and 132 other locations - About 30 mins to fix
      p2p/p2pmock/mock_actorcontext.go on lines 46..49
      p2p/p2pmock/mock_actorcontext.go on lines 72..75
      p2p/p2pmock/mock_actorcontext.go on lines 98..101
      p2p/p2pmock/mock_actorcontext.go on lines 112..115
      p2p/p2pmock/mock_actorcontext.go on lines 126..129
      p2p/p2pmock/mock_actorcontext.go on lines 138..141
      p2p/p2pmock/mock_actorcontext.go on lines 164..167
      p2p/p2pmock/mock_actorcontext.go on lines 216..219
      p2p/p2pmock/mock_actorcontext.go on lines 230..233
      p2p/p2pmock/mock_actorcontext.go on lines 309..312
      p2p/p2pmock/mock_actorservice.go on lines 129..132
      p2p/p2pmock/mock_certificate.go on lines 87..90
      p2p/p2pmock/mock_certificate.go on lines 101..104
      p2p/p2pmock/mock_certificate.go on lines 137..140
      p2p/p2pmock/mock_certificate.go on lines 149..152
      p2p/p2pmock/mock_chainaccessor.go on lines 61..64
      p2p/p2pmock/mock_chainaccessor.go on lines 90..93
      p2p/p2pmock/mock_chainaccessor.go on lines 104..107
      p2p/p2pmock/mock_chainaccessor.go on lines 133..136
      p2p/p2pmock/mock_consensus.go on lines 95..98
      p2p/p2pmock/mock_consensus.go on lines 109..112
      p2p/p2pmock/mock_handshake.go on lines 153..156
      p2p/p2pmock/mock_handshake.go on lines 234..237
      p2p/p2pmock/mock_host.go on lines 52..55
      p2p/p2pmock/mock_host.go on lines 66..69
      p2p/p2pmock/mock_host.go on lines 80..83
      p2p/p2pmock/mock_host.go on lines 108..111
      p2p/p2pmock/mock_host.go on lines 122..125
      p2p/p2pmock/mock_host.go on lines 136..139
      p2p/p2pmock/mock_host.go on lines 150..153
      p2p/p2pmock/mock_host.go on lines 184..187
      p2p/p2pmock/mock_internalservice.go on lines 47..50
      p2p/p2pmock/mock_internalservice.go on lines 61..64
      p2p/p2pmock/mock_internalservice.go on lines 75..78
      p2p/p2pmock/mock_internalservice.go on lines 89..92
      p2p/p2pmock/mock_internalservice.go on lines 103..106
      p2p/p2pmock/mock_internalservice.go on lines 117..120
      p2p/p2pmock/mock_internalservice.go on lines 131..134
      p2p/p2pmock/mock_internalservice.go on lines 145..148
      p2p/p2pmock/mock_io.go on lines 82..85
      p2p/p2pmock/mock_io.go on lines 172..175
      p2p/p2pmock/mock_io.go on lines 224..227
      p2p/p2pmock/mock_listmanager.go on lines 44..47
      p2p/p2pmock/mock_listmanager.go on lines 56..59
      p2p/p2pmock/mock_listmanager.go on lines 83..86
      p2p/p2pmock/mock_listmanager.go on lines 97..100
      p2p/p2pmock/mock_message.go on lines 47..50
      p2p/p2pmock/mock_message.go on lines 61..64
      p2p/p2pmock/mock_message.go on lines 75..78
      p2p/p2pmock/mock_message.go on lines 89..92
      p2p/p2pmock/mock_message.go on lines 103..106
      p2p/p2pmock/mock_message.go on lines 117..120
      p2p/p2pmock/mock_message.go on lines 152..155
      p2p/p2pmock/mock_message.go on lines 166..169
      p2p/p2pmock/mock_message.go on lines 178..181
      p2p/p2pmock/mock_message.go on lines 266..269
      p2p/p2pmock/mock_message.go on lines 313..316
      p2p/p2pmock/mock_metricsman.go on lines 44..47
      p2p/p2pmock/mock_metricsman.go on lines 56..59
      p2p/p2pmock/mock_metricsman.go on lines 113..116
      p2p/p2pmock/mock_metricsman.go on lines 127..130
      p2p/p2pmock/mock_metricsman.go on lines 141..144
      p2p/p2pmock/mock_msgio.go on lines 46..49
      p2p/p2pmock/mock_msgio.go on lines 74..77
      p2p/p2pmock/mock_msgorder.go on lines 47..50
      p2p/p2pmock/mock_msgorder.go on lines 61..64
      p2p/p2pmock/mock_msgorder.go on lines 75..78
      p2p/p2pmock/mock_msgorder.go on lines 89..92
      p2p/p2pmock/mock_msgorder.go on lines 103..106
      p2p/p2pmock/mock_networktransport.go on lines 55..58
      p2p/p2pmock/mock_networktransport.go on lines 69..72
      p2p/p2pmock/mock_networktransport.go on lines 83..86
      p2p/p2pmock/mock_networktransport.go on lines 132..135
      p2p/p2pmock/mock_networktransport.go on lines 146..149
      p2p/p2pmock/mock_networktransport.go on lines 174..177
      p2p/p2pmock/mock_networktransport.go on lines 202..205
      p2p/p2pmock/mock_networktransport.go on lines 284..287
      p2p/p2pmock/mock_networktransport.go on lines 298..301
      p2p/p2pmock/mock_networktransport.go on lines 312..315
      p2p/p2pmock/mock_networktransport.go on lines 346..349
      p2p/p2pmock/mock_networktransport.go on lines 372..375
      p2p/p2pmock/mock_networktransport.go on lines 410..413
      p2p/p2pmock/mock_networktransport.go on lines 424..427
      p2p/p2pmock/mock_peerfinder.go on lines 116..119
      p2p/p2pmock/mock_peerfinder.go on lines 201..204
      p2p/p2pmock/mock_peermanager.go on lines 59..62
      p2p/p2pmock/mock_peermanager.go on lines 73..76
      p2p/p2pmock/mock_peermanager.go on lines 87..90
      p2p/p2pmock/mock_peermanager.go on lines 101..104
      p2p/p2pmock/mock_peermanager.go on lines 178..181
      p2p/p2pmock/mock_peermanager.go on lines 192..195
      p2p/p2pmock/mock_peermanager.go on lines 206..209
      p2p/p2pmock/mock_peermanager.go on lines 234..237
      p2p/p2pmock/mock_peermanager.go on lines 272..275
      p2p/p2pmock/mock_peerrole.go on lines 44..47
      p2p/p2pmock/mock_peerrole.go on lines 56..59
      p2p/p2pmock/mock_peerrole.go on lines 82..85
      p2p/p2pmock/mock_protobuf.go on lines 47..50
      p2p/p2pmock/mock_remotepeer.go on lines 84..87
      p2p/p2pmock/mock_remotepeer.go on lines 98..101
      p2p/p2pmock/mock_remotepeer.go on lines 112..115
      p2p/p2pmock/mock_remotepeer.go on lines 126..129
      p2p/p2pmock/mock_remotepeer.go on lines 140..143
      p2p/p2pmock/mock_remotepeer.go on lines 154..157
      p2p/p2pmock/mock_remotepeer.go on lines 168..171
      p2p/p2pmock/mock_remotepeer.go on lines 220..223
      p2p/p2pmock/mock_remotepeer.go on lines 232..235
      p2p/p2pmock/mock_remotepeer.go on lines 244..247
      p2p/p2pmock/mock_remotepeer.go on lines 377..380
      p2p/p2pmock/mock_stream.go on lines 51..54
      p2p/p2pmock/mock_stream.go on lines 65..68
      p2p/p2pmock/mock_stream.go on lines 79..82
      p2p/p2pmock/mock_stream.go on lines 93..96
      p2p/p2pmock/mock_stream.go on lines 107..110
      p2p/p2pmock/mock_stream.go on lines 121..124
      p2p/p2pmock/mock_stream.go on lines 150..153
      p2p/p2pmock/mock_stream.go on lines 218..221
      p2p/p2pmock/mock_stream.go on lines 270..273
      p2p/p2pmock/mock_stream.go on lines 284..287
      p2p/p2pmock/mock_stream.go on lines 298..301
      p2p/p2pmock/mock_stream.go on lines 312..315
      p2p/p2pmock/mock_stream.go on lines 326..329
      p2p/p2pmock/mock_stream.go on lines 340..343
      p2p/p2pmock/mock_stream.go on lines 369..372
      p2p/p2pmock/mock_stream.go on lines 383..386
      p2p/p2pmock/mock_stream.go on lines 397..400
      p2p/p2pmock/mock_stream.go on lines 411..414
      p2p/p2pmock/mock_syncmanager.go on lines 131..134
      p2p/p2pmock/mock_syncmanager.go on lines 143..146
      p2p/p2pmock/mock_syncmanager.go on lines 157..160
      p2p/p2pmock/mock_syncmanager.go on lines 209..212
      p2p/p2pmock/mock_syncmanager.go on lines 223..226

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 102.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

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

      func (mr *MockRemotePeerMockRecorder) Meta() *gomock.Call {
          mr.mock.ctrl.T.Helper()
          return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Meta", reflect.TypeOf((*MockRemotePeer)(nil).Meta))
      }
      Severity: Major
      Found in p2p/p2pmock/mock_remotepeer.go and 132 other locations - About 30 mins to fix
      p2p/p2pmock/mock_actorcontext.go on lines 46..49
      p2p/p2pmock/mock_actorcontext.go on lines 72..75
      p2p/p2pmock/mock_actorcontext.go on lines 98..101
      p2p/p2pmock/mock_actorcontext.go on lines 112..115
      p2p/p2pmock/mock_actorcontext.go on lines 126..129
      p2p/p2pmock/mock_actorcontext.go on lines 138..141
      p2p/p2pmock/mock_actorcontext.go on lines 164..167
      p2p/p2pmock/mock_actorcontext.go on lines 216..219
      p2p/p2pmock/mock_actorcontext.go on lines 230..233
      p2p/p2pmock/mock_actorcontext.go on lines 309..312
      p2p/p2pmock/mock_actorservice.go on lines 129..132
      p2p/p2pmock/mock_certificate.go on lines 87..90
      p2p/p2pmock/mock_certificate.go on lines 101..104
      p2p/p2pmock/mock_certificate.go on lines 137..140
      p2p/p2pmock/mock_certificate.go on lines 149..152
      p2p/p2pmock/mock_chainaccessor.go on lines 61..64
      p2p/p2pmock/mock_chainaccessor.go on lines 90..93
      p2p/p2pmock/mock_chainaccessor.go on lines 104..107
      p2p/p2pmock/mock_chainaccessor.go on lines 133..136
      p2p/p2pmock/mock_consensus.go on lines 95..98
      p2p/p2pmock/mock_consensus.go on lines 109..112
      p2p/p2pmock/mock_handshake.go on lines 153..156
      p2p/p2pmock/mock_handshake.go on lines 234..237
      p2p/p2pmock/mock_host.go on lines 52..55
      p2p/p2pmock/mock_host.go on lines 66..69
      p2p/p2pmock/mock_host.go on lines 80..83
      p2p/p2pmock/mock_host.go on lines 108..111
      p2p/p2pmock/mock_host.go on lines 122..125
      p2p/p2pmock/mock_host.go on lines 136..139
      p2p/p2pmock/mock_host.go on lines 150..153
      p2p/p2pmock/mock_host.go on lines 184..187
      p2p/p2pmock/mock_internalservice.go on lines 47..50
      p2p/p2pmock/mock_internalservice.go on lines 61..64
      p2p/p2pmock/mock_internalservice.go on lines 75..78
      p2p/p2pmock/mock_internalservice.go on lines 89..92
      p2p/p2pmock/mock_internalservice.go on lines 103..106
      p2p/p2pmock/mock_internalservice.go on lines 117..120
      p2p/p2pmock/mock_internalservice.go on lines 131..134
      p2p/p2pmock/mock_internalservice.go on lines 145..148
      p2p/p2pmock/mock_io.go on lines 82..85
      p2p/p2pmock/mock_io.go on lines 172..175
      p2p/p2pmock/mock_io.go on lines 224..227
      p2p/p2pmock/mock_listmanager.go on lines 44..47
      p2p/p2pmock/mock_listmanager.go on lines 56..59
      p2p/p2pmock/mock_listmanager.go on lines 83..86
      p2p/p2pmock/mock_listmanager.go on lines 97..100
      p2p/p2pmock/mock_message.go on lines 47..50
      p2p/p2pmock/mock_message.go on lines 61..64
      p2p/p2pmock/mock_message.go on lines 75..78
      p2p/p2pmock/mock_message.go on lines 89..92
      p2p/p2pmock/mock_message.go on lines 103..106
      p2p/p2pmock/mock_message.go on lines 117..120
      p2p/p2pmock/mock_message.go on lines 152..155
      p2p/p2pmock/mock_message.go on lines 166..169
      p2p/p2pmock/mock_message.go on lines 178..181
      p2p/p2pmock/mock_message.go on lines 266..269
      p2p/p2pmock/mock_message.go on lines 313..316
      p2p/p2pmock/mock_metricsman.go on lines 44..47
      p2p/p2pmock/mock_metricsman.go on lines 56..59
      p2p/p2pmock/mock_metricsman.go on lines 113..116
      p2p/p2pmock/mock_metricsman.go on lines 127..130
      p2p/p2pmock/mock_metricsman.go on lines 141..144
      p2p/p2pmock/mock_msgio.go on lines 46..49
      p2p/p2pmock/mock_msgio.go on lines 74..77
      p2p/p2pmock/mock_msgorder.go on lines 47..50
      p2p/p2pmock/mock_msgorder.go on lines 61..64
      p2p/p2pmock/mock_msgorder.go on lines 75..78
      p2p/p2pmock/mock_msgorder.go on lines 89..92
      p2p/p2pmock/mock_msgorder.go on lines 103..106
      p2p/p2pmock/mock_networktransport.go on lines 55..58
      p2p/p2pmock/mock_networktransport.go on lines 69..72
      p2p/p2pmock/mock_networktransport.go on lines 83..86
      p2p/p2pmock/mock_networktransport.go on lines 132..135
      p2p/p2pmock/mock_networktransport.go on lines 146..149
      p2p/p2pmock/mock_networktransport.go on lines 174..177
      p2p/p2pmock/mock_networktransport.go on lines 202..205
      p2p/p2pmock/mock_networktransport.go on lines 284..287
      p2p/p2pmock/mock_networktransport.go on lines 298..301
      p2p/p2pmock/mock_networktransport.go on lines 312..315
      p2p/p2pmock/mock_networktransport.go on lines 346..349
      p2p/p2pmock/mock_networktransport.go on lines 372..375
      p2p/p2pmock/mock_networktransport.go on lines 410..413
      p2p/p2pmock/mock_networktransport.go on lines 424..427
      p2p/p2pmock/mock_peerfinder.go on lines 116..119
      p2p/p2pmock/mock_peerfinder.go on lines 201..204
      p2p/p2pmock/mock_peermanager.go on lines 59..62
      p2p/p2pmock/mock_peermanager.go on lines 73..76
      p2p/p2pmock/mock_peermanager.go on lines 87..90
      p2p/p2pmock/mock_peermanager.go on lines 101..104
      p2p/p2pmock/mock_peermanager.go on lines 178..181
      p2p/p2pmock/mock_peermanager.go on lines 192..195
      p2p/p2pmock/mock_peermanager.go on lines 206..209
      p2p/p2pmock/mock_peermanager.go on lines 234..237
      p2p/p2pmock/mock_peermanager.go on lines 272..275
      p2p/p2pmock/mock_peerrole.go on lines 44..47
      p2p/p2pmock/mock_peerrole.go on lines 56..59
      p2p/p2pmock/mock_peerrole.go on lines 82..85
      p2p/p2pmock/mock_protobuf.go on lines 47..50
      p2p/p2pmock/mock_remotepeer.go on lines 84..87
      p2p/p2pmock/mock_remotepeer.go on lines 98..101
      p2p/p2pmock/mock_remotepeer.go on lines 126..129
      p2p/p2pmock/mock_remotepeer.go on lines 140..143
      p2p/p2pmock/mock_remotepeer.go on lines 154..157
      p2p/p2pmock/mock_remotepeer.go on lines 168..171
      p2p/p2pmock/mock_remotepeer.go on lines 206..209
      p2p/p2pmock/mock_remotepeer.go on lines 220..223
      p2p/p2pmock/mock_remotepeer.go on lines 232..235
      p2p/p2pmock/mock_remotepeer.go on lines 244..247
      p2p/p2pmock/mock_remotepeer.go on lines 377..380
      p2p/p2pmock/mock_stream.go on lines 51..54
      p2p/p2pmock/mock_stream.go on lines 65..68
      p2p/p2pmock/mock_stream.go on lines 79..82
      p2p/p2pmock/mock_stream.go on lines 93..96
      p2p/p2pmock/mock_stream.go on lines 107..110
      p2p/p2pmock/mock_stream.go on lines 121..124
      p2p/p2pmock/mock_stream.go on lines 150..153
      p2p/p2pmock/mock_stream.go on lines 218..221
      p2p/p2pmock/mock_stream.go on lines 270..273
      p2p/p2pmock/mock_stream.go on lines 284..287
      p2p/p2pmock/mock_stream.go on lines 298..301
      p2p/p2pmock/mock_stream.go on lines 312..315
      p2p/p2pmock/mock_stream.go on lines 326..329
      p2p/p2pmock/mock_stream.go on lines 340..343
      p2p/p2pmock/mock_stream.go on lines 369..372
      p2p/p2pmock/mock_stream.go on lines 383..386
      p2p/p2pmock/mock_stream.go on lines 397..400
      p2p/p2pmock/mock_stream.go on lines 411..414
      p2p/p2pmock/mock_syncmanager.go on lines 131..134
      p2p/p2pmock/mock_syncmanager.go on lines 143..146
      p2p/p2pmock/mock_syncmanager.go on lines 157..160
      p2p/p2pmock/mock_syncmanager.go on lines 209..212
      p2p/p2pmock/mock_syncmanager.go on lines 223..226

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 102.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

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

      func (mr *MockRemotePeerMockRecorder) LastStatus() *gomock.Call {
          mr.mock.ctrl.T.Helper()
          return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LastStatus", reflect.TypeOf((*MockRemotePeer)(nil).LastStatus))
      }
      Severity: Major
      Found in p2p/p2pmock/mock_remotepeer.go and 132 other locations - About 30 mins to fix
      p2p/p2pmock/mock_actorcontext.go on lines 46..49
      p2p/p2pmock/mock_actorcontext.go on lines 72..75
      p2p/p2pmock/mock_actorcontext.go on lines 98..101
      p2p/p2pmock/mock_actorcontext.go on lines 112..115
      p2p/p2pmock/mock_actorcontext.go on lines 126..129
      p2p/p2pmock/mock_actorcontext.go on lines 138..141
      p2p/p2pmock/mock_actorcontext.go on lines 164..167
      p2p/p2pmock/mock_actorcontext.go on lines 216..219
      p2p/p2pmock/mock_actorcontext.go on lines 230..233
      p2p/p2pmock/mock_actorcontext.go on lines 309..312
      p2p/p2pmock/mock_actorservice.go on lines 129..132
      p2p/p2pmock/mock_certificate.go on lines 87..90
      p2p/p2pmock/mock_certificate.go on lines 101..104
      p2p/p2pmock/mock_certificate.go on lines 137..140
      p2p/p2pmock/mock_certificate.go on lines 149..152
      p2p/p2pmock/mock_chainaccessor.go on lines 61..64
      p2p/p2pmock/mock_chainaccessor.go on lines 90..93
      p2p/p2pmock/mock_chainaccessor.go on lines 104..107
      p2p/p2pmock/mock_chainaccessor.go on lines 133..136
      p2p/p2pmock/mock_consensus.go on lines 95..98
      p2p/p2pmock/mock_consensus.go on lines 109..112
      p2p/p2pmock/mock_handshake.go on lines 153..156
      p2p/p2pmock/mock_handshake.go on lines 234..237
      p2p/p2pmock/mock_host.go on lines 52..55
      p2p/p2pmock/mock_host.go on lines 66..69
      p2p/p2pmock/mock_host.go on lines 80..83
      p2p/p2pmock/mock_host.go on lines 108..111
      p2p/p2pmock/mock_host.go on lines 122..125
      p2p/p2pmock/mock_host.go on lines 136..139
      p2p/p2pmock/mock_host.go on lines 150..153
      p2p/p2pmock/mock_host.go on lines 184..187
      p2p/p2pmock/mock_internalservice.go on lines 47..50
      p2p/p2pmock/mock_internalservice.go on lines 61..64
      p2p/p2pmock/mock_internalservice.go on lines 75..78
      p2p/p2pmock/mock_internalservice.go on lines 89..92
      p2p/p2pmock/mock_internalservice.go on lines 103..106
      p2p/p2pmock/mock_internalservice.go on lines 117..120
      p2p/p2pmock/mock_internalservice.go on lines 131..134
      p2p/p2pmock/mock_internalservice.go on lines 145..148
      p2p/p2pmock/mock_io.go on lines 82..85
      p2p/p2pmock/mock_io.go on lines 172..175
      p2p/p2pmock/mock_io.go on lines 224..227
      p2p/p2pmock/mock_listmanager.go on lines 44..47
      p2p/p2pmock/mock_listmanager.go on lines 56..59
      p2p/p2pmock/mock_listmanager.go on lines 83..86
      p2p/p2pmock/mock_listmanager.go on lines 97..100
      p2p/p2pmock/mock_message.go on lines 47..50
      p2p/p2pmock/mock_message.go on lines 61..64
      p2p/p2pmock/mock_message.go on lines 75..78
      p2p/p2pmock/mock_message.go on lines 89..92
      p2p/p2pmock/mock_message.go on lines 103..106
      p2p/p2pmock/mock_message.go on lines 117..120
      p2p/p2pmock/mock_message.go on lines 152..155
      p2p/p2pmock/mock_message.go on lines 166..169
      p2p/p2pmock/mock_message.go on lines 178..181
      p2p/p2pmock/mock_message.go on lines 266..269
      p2p/p2pmock/mock_message.go on lines 313..316
      p2p/p2pmock/mock_metricsman.go on lines 44..47
      p2p/p2pmock/mock_metricsman.go on lines 56..59
      p2p/p2pmock/mock_metricsman.go on lines 113..116
      p2p/p2pmock/mock_metricsman.go on lines 127..130
      p2p/p2pmock/mock_metricsman.go on lines 141..144
      p2p/p2pmock/mock_msgio.go on lines 46..49
      p2p/p2pmock/mock_msgio.go on lines 74..77
      p2p/p2pmock/mock_msgorder.go on lines 47..50
      p2p/p2pmock/mock_msgorder.go on lines 61..64
      p2p/p2pmock/mock_msgorder.go on lines 75..78
      p2p/p2pmock/mock_msgorder.go on lines 89..92
      p2p/p2pmock/mock_msgorder.go on lines 103..106
      p2p/p2pmock/mock_networktransport.go on lines 55..58
      p2p/p2pmock/mock_networktransport.go on lines 69..72
      p2p/p2pmock/mock_networktransport.go on lines 83..86
      p2p/p2pmock/mock_networktransport.go on lines 132..135
      p2p/p2pmock/mock_networktransport.go on lines 146..149
      p2p/p2pmock/mock_networktransport.go on lines 174..177
      p2p/p2pmock/mock_networktransport.go on lines 202..205
      p2p/p2pmock/mock_networktransport.go on lines 284..287
      p2p/p2pmock/mock_networktransport.go on lines 298..301
      p2p/p2pmock/mock_networktransport.go on lines 312..315
      p2p/p2pmock/mock_networktransport.go on lines 346..349
      p2p/p2pmock/mock_networktransport.go on lines 372..375
      p2p/p2pmock/mock_networktransport.go on lines 410..413
      p2p/p2pmock/mock_networktransport.go on lines 424..427
      p2p/p2pmock/mock_peerfinder.go on lines 116..119
      p2p/p2pmock/mock_peerfinder.go on lines 201..204
      p2p/p2pmock/mock_peermanager.go on lines 59..62
      p2p/p2pmock/mock_peermanager.go on lines 73..76
      p2p/p2pmock/mock_peermanager.go on lines 87..90
      p2p/p2pmock/mock_peermanager.go on lines 101..104
      p2p/p2pmock/mock_peermanager.go on lines 178..181
      p2p/p2pmock/mock_peermanager.go on lines 192..195
      p2p/p2pmock/mock_peermanager.go on lines 206..209
      p2p/p2pmock/mock_peermanager.go on lines 234..237
      p2p/p2pmock/mock_peermanager.go on lines 272..275
      p2p/p2pmock/mock_peerrole.go on lines 44..47
      p2p/p2pmock/mock_peerrole.go on lines 56..59
      p2p/p2pmock/mock_peerrole.go on lines 82..85
      p2p/p2pmock/mock_protobuf.go on lines 47..50
      p2p/p2pmock/mock_remotepeer.go on lines 84..87
      p2p/p2pmock/mock_remotepeer.go on lines 98..101
      p2p/p2pmock/mock_remotepeer.go on lines 112..115
      p2p/p2pmock/mock_remotepeer.go on lines 126..129
      p2p/p2pmock/mock_remotepeer.go on lines 140..143
      p2p/p2pmock/mock_remotepeer.go on lines 154..157
      p2p/p2pmock/mock_remotepeer.go on lines 168..171
      p2p/p2pmock/mock_remotepeer.go on lines 206..209
      p2p/p2pmock/mock_remotepeer.go on lines 232..235
      p2p/p2pmock/mock_remotepeer.go on lines 244..247
      p2p/p2pmock/mock_remotepeer.go on lines 377..380
      p2p/p2pmock/mock_stream.go on lines 51..54
      p2p/p2pmock/mock_stream.go on lines 65..68
      p2p/p2pmock/mock_stream.go on lines 79..82
      p2p/p2pmock/mock_stream.go on lines 93..96
      p2p/p2pmock/mock_stream.go on lines 107..110
      p2p/p2pmock/mock_stream.go on lines 121..124
      p2p/p2pmock/mock_stream.go on lines 150..153
      p2p/p2pmock/mock_stream.go on lines 218..221
      p2p/p2pmock/mock_stream.go on lines 270..273
      p2p/p2pmock/mock_stream.go on lines 284..287
      p2p/p2pmock/mock_stream.go on lines 298..301
      p2p/p2pmock/mock_stream.go on lines 312..315
      p2p/p2pmock/mock_stream.go on lines 326..329
      p2p/p2pmock/mock_stream.go on lines 340..343
      p2p/p2pmock/mock_stream.go on lines 369..372
      p2p/p2pmock/mock_stream.go on lines 383..386
      p2p/p2pmock/mock_stream.go on lines 397..400
      p2p/p2pmock/mock_stream.go on lines 411..414
      p2p/p2pmock/mock_syncmanager.go on lines 131..134
      p2p/p2pmock/mock_syncmanager.go on lines 143..146
      p2p/p2pmock/mock_syncmanager.go on lines 157..160
      p2p/p2pmock/mock_syncmanager.go on lines 209..212
      p2p/p2pmock/mock_syncmanager.go on lines 223..226

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 102.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

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

      func (mr *MockRemotePeerMockRecorder) RunPeer() *gomock.Call {
          mr.mock.ctrl.T.Helper()
          return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunPeer", reflect.TypeOf((*MockRemotePeer)(nil).RunPeer))
      }
      Severity: Major
      Found in p2p/p2pmock/mock_remotepeer.go and 132 other locations - About 30 mins to fix
      p2p/p2pmock/mock_actorcontext.go on lines 46..49
      p2p/p2pmock/mock_actorcontext.go on lines 72..75
      p2p/p2pmock/mock_actorcontext.go on lines 98..101
      p2p/p2pmock/mock_actorcontext.go on lines 112..115
      p2p/p2pmock/mock_actorcontext.go on lines 126..129
      p2p/p2pmock/mock_actorcontext.go on lines 138..141
      p2p/p2pmock/mock_actorcontext.go on lines 164..167
      p2p/p2pmock/mock_actorcontext.go on lines 216..219
      p2p/p2pmock/mock_actorcontext.go on lines 230..233
      p2p/p2pmock/mock_actorcontext.go on lines 309..312
      p2p/p2pmock/mock_actorservice.go on lines 129..132
      p2p/p2pmock/mock_certificate.go on lines 87..90
      p2p/p2pmock/mock_certificate.go on lines 101..104
      p2p/p2pmock/mock_certificate.go on lines 137..140
      p2p/p2pmock/mock_certificate.go on lines 149..152
      p2p/p2pmock/mock_chainaccessor.go on lines 61..64
      p2p/p2pmock/mock_chainaccessor.go on lines 90..93
      p2p/p2pmock/mock_chainaccessor.go on lines 104..107
      p2p/p2pmock/mock_chainaccessor.go on lines 133..136
      p2p/p2pmock/mock_consensus.go on lines 95..98
      p2p/p2pmock/mock_consensus.go on lines 109..112
      p2p/p2pmock/mock_handshake.go on lines 153..156
      p2p/p2pmock/mock_handshake.go on lines 234..237
      p2p/p2pmock/mock_host.go on lines 52..55
      p2p/p2pmock/mock_host.go on lines 66..69
      p2p/p2pmock/mock_host.go on lines 80..83
      p2p/p2pmock/mock_host.go on lines 108..111
      p2p/p2pmock/mock_host.go on lines 122..125
      p2p/p2pmock/mock_host.go on lines 136..139
      p2p/p2pmock/mock_host.go on lines 150..153
      p2p/p2pmock/mock_host.go on lines 184..187
      p2p/p2pmock/mock_internalservice.go on lines 47..50
      p2p/p2pmock/mock_internalservice.go on lines 61..64
      p2p/p2pmock/mock_internalservice.go on lines 75..78
      p2p/p2pmock/mock_internalservice.go on lines 89..92
      p2p/p2pmock/mock_internalservice.go on lines 103..106
      p2p/p2pmock/mock_internalservice.go on lines 117..120
      p2p/p2pmock/mock_internalservice.go on lines 131..134
      p2p/p2pmock/mock_internalservice.go on lines 145..148
      p2p/p2pmock/mock_io.go on lines 82..85
      p2p/p2pmock/mock_io.go on lines 172..175
      p2p/p2pmock/mock_io.go on lines 224..227
      p2p/p2pmock/mock_listmanager.go on lines 44..47
      p2p/p2pmock/mock_listmanager.go on lines 56..59
      p2p/p2pmock/mock_listmanager.go on lines 83..86
      p2p/p2pmock/mock_listmanager.go on lines 97..100
      p2p/p2pmock/mock_message.go on lines 47..50
      p2p/p2pmock/mock_message.go on lines 61..64
      p2p/p2pmock/mock_message.go on lines 75..78
      p2p/p2pmock/mock_message.go on lines 89..92
      p2p/p2pmock/mock_message.go on lines 103..106
      p2p/p2pmock/mock_message.go on lines 117..120
      p2p/p2pmock/mock_message.go on lines 152..155
      p2p/p2pmock/mock_message.go on lines 166..169
      p2p/p2pmock/mock_message.go on lines 178..181
      p2p/p2pmock/mock_message.go on lines 266..269
      p2p/p2pmock/mock_message.go on lines 313..316
      p2p/p2pmock/mock_metricsman.go on lines 44..47
      p2p/p2pmock/mock_metricsman.go on lines 56..59
      p2p/p2pmock/mock_metricsman.go on lines 113..116
      p2p/p2pmock/mock_metricsman.go on lines 127..130
      p2p/p2pmock/mock_metricsman.go on lines 141..144
      p2p/p2pmock/mock_msgio.go on lines 46..49
      p2p/p2pmock/mock_msgio.go on lines 74..77
      p2p/p2pmock/mock_msgorder.go on lines 47..50
      p2p/p2pmock/mock_msgorder.go on lines 61..64
      p2p/p2pmock/mock_msgorder.go on lines 75..78
      p2p/p2pmock/mock_msgorder.go on lines 89..92
      p2p/p2pmock/mock_msgorder.go on lines 103..106
      p2p/p2pmock/mock_networktransport.go on lines 55..58
      p2p/p2pmock/mock_networktransport.go on lines 69..72
      p2p/p2pmock/mock_networktransport.go on lines 83..86
      p2p/p2pmock/mock_networktransport.go on lines 132..135
      p2p/p2pmock/mock_networktransport.go on lines 146..149
      p2p/p2pmock/mock_networktransport.go on lines 174..177
      p2p/p2pmock/mock_networktransport.go on lines 202..205
      p2p/p2pmock/mock_networktransport.go on lines 284..287
      p2p/p2pmock/mock_networktransport.go on lines 298..301
      p2p/p2pmock/mock_networktransport.go on lines 312..315
      p2p/p2pmock/mock_networktransport.go on lines 346..349
      p2p/p2pmock/mock_networktransport.go on lines 372..375
      p2p/p2pmock/mock_networktransport.go on lines 410..413
      p2p/p2pmock/mock_networktransport.go on lines 424..427
      p2p/p2pmock/mock_peerfinder.go on lines 116..119
      p2p/p2pmock/mock_peerfinder.go on lines 201..204
      p2p/p2pmock/mock_peermanager.go on lines 59..62
      p2p/p2pmock/mock_peermanager.go on lines 73..76
      p2p/p2pmock/mock_peermanager.go on lines 87..90
      p2p/p2pmock/mock_peermanager.go on lines 101..104
      p2p/p2pmock/mock_peermanager.go on lines 178..181
      p2p/p2pmock/mock_peermanager.go on lines 192..195
      p2p/p2pmock/mock_peermanager.go on lines 206..209
      p2p/p2pmock/mock_peermanager.go on lines 234..237
      p2p/p2pmock/mock_peermanager.go on lines 272..275
      p2p/p2pmock/mock_peerrole.go on lines 44..47
      p2p/p2pmock/mock_peerrole.go on lines 56..59
      p2p/p2pmock/mock_peerrole.go on lines 82..85
      p2p/p2pmock/mock_protobuf.go on lines 47..50
      p2p/p2pmock/mock_remotepeer.go on lines 84..87
      p2p/p2pmock/mock_remotepeer.go on lines 98..101
      p2p/p2pmock/mock_remotepeer.go on lines 112..115
      p2p/p2pmock/mock_remotepeer.go on lines 126..129
      p2p/p2pmock/mock_remotepeer.go on lines 140..143
      p2p/p2pmock/mock_remotepeer.go on lines 154..157
      p2p/p2pmock/mock_remotepeer.go on lines 168..171
      p2p/p2pmock/mock_remotepeer.go on lines 206..209
      p2p/p2pmock/mock_remotepeer.go on lines 220..223
      p2p/p2pmock/mock_remotepeer.go on lines 244..247
      p2p/p2pmock/mock_remotepeer.go on lines 377..380
      p2p/p2pmock/mock_stream.go on lines 51..54
      p2p/p2pmock/mock_stream.go on lines 65..68
      p2p/p2pmock/mock_stream.go on lines 79..82
      p2p/p2pmock/mock_stream.go on lines 93..96
      p2p/p2pmock/mock_stream.go on lines 107..110
      p2p/p2pmock/mock_stream.go on lines 121..124
      p2p/p2pmock/mock_stream.go on lines 150..153
      p2p/p2pmock/mock_stream.go on lines 218..221
      p2p/p2pmock/mock_stream.go on lines 270..273
      p2p/p2pmock/mock_stream.go on lines 284..287
      p2p/p2pmock/mock_stream.go on lines 298..301
      p2p/p2pmock/mock_stream.go on lines 312..315
      p2p/p2pmock/mock_stream.go on lines 326..329
      p2p/p2pmock/mock_stream.go on lines 340..343
      p2p/p2pmock/mock_stream.go on lines 369..372
      p2p/p2pmock/mock_stream.go on lines 383..386
      p2p/p2pmock/mock_stream.go on lines 397..400
      p2p/p2pmock/mock_stream.go on lines 411..414
      p2p/p2pmock/mock_syncmanager.go on lines 131..134
      p2p/p2pmock/mock_syncmanager.go on lines 143..146
      p2p/p2pmock/mock_syncmanager.go on lines 157..160
      p2p/p2pmock/mock_syncmanager.go on lines 209..212
      p2p/p2pmock/mock_syncmanager.go on lines 223..226

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 102.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

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

      func (mr *MockRemotePeerMockRecorder) RemoteInfo() *gomock.Call {
          mr.mock.ctrl.T.Helper()
          return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoteInfo", reflect.TypeOf((*MockRemotePeer)(nil).RemoteInfo))
      }
      Severity: Major
      Found in p2p/p2pmock/mock_remotepeer.go and 132 other locations - About 30 mins to fix
      p2p/p2pmock/mock_actorcontext.go on lines 46..49
      p2p/p2pmock/mock_actorcontext.go on lines 72..75
      p2p/p2pmock/mock_actorcontext.go on lines 98..101
      p2p/p2pmock/mock_actorcontext.go on lines 112..115
      p2p/p2pmock/mock_actorcontext.go on lines 126..129
      p2p/p2pmock/mock_actorcontext.go on lines 138..141
      p2p/p2pmock/mock_actorcontext.go on lines 164..167
      p2p/p2pmock/mock_actorcontext.go on lines 216..219
      p2p/p2pmock/mock_actorcontext.go on lines 230..233
      p2p/p2pmock/mock_actorcontext.go on lines 309..312
      p2p/p2pmock/mock_actorservice.go on lines 129..132
      p2p/p2pmock/mock_certificate.go on lines 87..90
      p2p/p2pmock/mock_certificate.go on lines 101..104
      p2p/p2pmock/mock_certificate.go on lines 137..140
      p2p/p2pmock/mock_certificate.go on lines 149..152
      p2p/p2pmock/mock_chainaccessor.go on lines 61..64
      p2p/p2pmock/mock_chainaccessor.go on lines 90..93
      p2p/p2pmock/mock_chainaccessor.go on lines 104..107
      p2p/p2pmock/mock_chainaccessor.go on lines 133..136
      p2p/p2pmock/mock_consensus.go on lines 95..98
      p2p/p2pmock/mock_consensus.go on lines 109..112
      p2p/p2pmock/mock_handshake.go on lines 153..156
      p2p/p2pmock/mock_handshake.go on lines 234..237
      p2p/p2pmock/mock_host.go on lines 52..55
      p2p/p2pmock/mock_host.go on lines 66..69
      p2p/p2pmock/mock_host.go on lines 80..83
      p2p/p2pmock/mock_host.go on lines 108..111
      p2p/p2pmock/mock_host.go on lines 122..125
      p2p/p2pmock/mock_host.go on lines 136..139
      p2p/p2pmock/mock_host.go on lines 150..153
      p2p/p2pmock/mock_host.go on lines 184..187
      p2p/p2pmock/mock_internalservice.go on lines 47..50
      p2p/p2pmock/mock_internalservice.go on lines 61..64
      p2p/p2pmock/mock_internalservice.go on lines 75..78
      p2p/p2pmock/mock_internalservice.go on lines 89..92
      p2p/p2pmock/mock_internalservice.go on lines 103..106
      p2p/p2pmock/mock_internalservice.go on lines 117..120
      p2p/p2pmock/mock_internalservice.go on lines 131..134
      p2p/p2pmock/mock_internalservice.go on lines 145..148
      p2p/p2pmock/mock_io.go on lines 82..85
      p2p/p2pmock/mock_io.go on lines 172..175
      p2p/p2pmock/mock_io.go on lines 224..227
      p2p/p2pmock/mock_listmanager.go on lines 44..47
      p2p/p2pmock/mock_listmanager.go on lines 56..59
      p2p/p2pmock/mock_listmanager.go on lines 83..86
      p2p/p2pmock/mock_listmanager.go on lines 97..100
      p2p/p2pmock/mock_message.go on lines 47..50
      p2p/p2pmock/mock_message.go on lines 61..64
      p2p/p2pmock/mock_message.go on lines 75..78
      p2p/p2pmock/mock_message.go on lines 89..92
      p2p/p2pmock/mock_message.go on lines 103..106
      p2p/p2pmock/mock_message.go on lines 117..120
      p2p/p2pmock/mock_message.go on lines 152..155
      p2p/p2pmock/mock_message.go on lines 166..169
      p2p/p2pmock/mock_message.go on lines 178..181
      p2p/p2pmock/mock_message.go on lines 266..269
      p2p/p2pmock/mock_message.go on lines 313..316
      p2p/p2pmock/mock_metricsman.go on lines 44..47
      p2p/p2pmock/mock_metricsman.go on lines 56..59
      p2p/p2pmock/mock_metricsman.go on lines 113..116
      p2p/p2pmock/mock_metricsman.go on lines 127..130
      p2p/p2pmock/mock_metricsman.go on lines 141..144
      p2p/p2pmock/mock_msgio.go on lines 46..49
      p2p/p2pmock/mock_msgio.go on lines 74..77
      p2p/p2pmock/mock_msgorder.go on lines 47..50
      p2p/p2pmock/mock_msgorder.go on lines 61..64
      p2p/p2pmock/mock_msgorder.go on lines 75..78
      p2p/p2pmock/mock_msgorder.go on lines 89..92
      p2p/p2pmock/mock_msgorder.go on lines 103..106
      p2p/p2pmock/mock_networktransport.go on lines 55..58
      p2p/p2pmock/mock_networktransport.go on lines 69..72
      p2p/p2pmock/mock_networktransport.go on lines 83..86
      p2p/p2pmock/mock_networktransport.go on lines 132..135
      p2p/p2pmock/mock_networktransport.go on lines 146..149
      p2p/p2pmock/mock_networktransport.go on lines 174..177
      p2p/p2pmock/mock_networktransport.go on lines 202..205
      p2p/p2pmock/mock_networktransport.go on lines 284..287
      p2p/p2pmock/mock_networktransport.go on lines 298..301
      p2p/p2pmock/mock_networktransport.go on lines 312..315
      p2p/p2pmock/mock_networktransport.go on lines 346..349
      p2p/p2pmock/mock_networktransport.go on lines 372..375
      p2p/p2pmock/mock_networktransport.go on lines 410..413
      p2p/p2pmock/mock_networktransport.go on lines 424..427
      p2p/p2pmock/mock_peerfinder.go on lines 116..119
      p2p/p2pmock/mock_peerfinder.go on lines 201..204
      p2p/p2pmock/mock_peermanager.go on lines 59..62
      p2p/p2pmock/mock_peermanager.go on lines 73..76
      p2p/p2pmock/mock_peermanager.go on lines 87..90
      p2p/p2pmock/mock_peermanager.go on lines 101..104
      p2p/p2pmock/mock_peermanager.go on lines 178..181
      p2p/p2pmock/mock_peermanager.go on lines 192..195
      p2p/p2pmock/mock_peermanager.go on lines 206..209
      p2p/p2pmock/mock_peermanager.go on lines 234..237
      p2p/p2pmock/mock_peermanager.go on lines 272..275
      p2p/p2pmock/mock_peerrole.go on lines 44..47
      p2p/p2pmock/mock_peerrole.go on lines 56..59
      p2p/p2pmock/mock_peerrole.go on lines 82..85
      p2p/p2pmock/mock_protobuf.go on lines 47..50
      p2p/p2pmock/mock_remotepeer.go on lines 84..87
      p2p/p2pmock/mock_remotepeer.go on lines 112..115
      p2p/p2pmock/mock_remotepeer.go on lines 126..129
      p2p/p2pmock/mock_remotepeer.go on lines 140..143
      p2p/p2pmock/mock_remotepeer.go on lines 154..157
      p2p/p2pmock/mock_remotepeer.go on lines 168..171
      p2p/p2pmock/mock_remotepeer.go on lines 206..209
      p2p/p2pmock/mock_remotepeer.go on lines 220..223
      p2p/p2pmock/mock_remotepeer.go on lines 232..235
      p2p/p2pmock/mock_remotepeer.go on lines 244..247
      p2p/p2pmock/mock_remotepeer.go on lines 377..380
      p2p/p2pmock/mock_stream.go on lines 51..54
      p2p/p2pmock/mock_stream.go on lines 65..68
      p2p/p2pmock/mock_stream.go on lines 79..82
      p2p/p2pmock/mock_stream.go on lines 93..96
      p2p/p2pmock/mock_stream.go on lines 107..110
      p2p/p2pmock/mock_stream.go on lines 121..124
      p2p/p2pmock/mock_stream.go on lines 150..153
      p2p/p2pmock/mock_stream.go on lines 218..221
      p2p/p2pmock/mock_stream.go on lines 270..273
      p2p/p2pmock/mock_stream.go on lines 284..287
      p2p/p2pmock/mock_stream.go on lines 298..301
      p2p/p2pmock/mock_stream.go on lines 312..315
      p2p/p2pmock/mock_stream.go on lines 326..329
      p2p/p2pmock/mock_stream.go on lines 340..343
      p2p/p2pmock/mock_stream.go on lines 369..372
      p2p/p2pmock/mock_stream.go on lines 383..386
      p2p/p2pmock/mock_stream.go on lines 397..400
      p2p/p2pmock/mock_stream.go on lines 411..414
      p2p/p2pmock/mock_syncmanager.go on lines 131..134
      p2p/p2pmock/mock_syncmanager.go on lines 143..146
      p2p/p2pmock/mock_syncmanager.go on lines 157..160
      p2p/p2pmock/mock_syncmanager.go on lines 209..212
      p2p/p2pmock/mock_syncmanager.go on lines 223..226

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 102.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

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

      func (mr *MockRemotePeerMockRecorder) AcceptedRole() *gomock.Call {
          mr.mock.ctrl.T.Helper()
          return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AcceptedRole", reflect.TypeOf((*MockRemotePeer)(nil).AcceptedRole))
      }
      Severity: Major
      Found in p2p/p2pmock/mock_remotepeer.go and 132 other locations - About 30 mins to fix
      p2p/p2pmock/mock_actorcontext.go on lines 46..49
      p2p/p2pmock/mock_actorcontext.go on lines 72..75
      p2p/p2pmock/mock_actorcontext.go on lines 98..101
      p2p/p2pmock/mock_actorcontext.go on lines 112..115
      p2p/p2pmock/mock_actorcontext.go on lines 126..129
      p2p/p2pmock/mock_actorcontext.go on lines 138..141
      p2p/p2pmock/mock_actorcontext.go on lines 164..167
      p2p/p2pmock/mock_actorcontext.go on lines 216..219
      p2p/p2pmock/mock_actorcontext.go on lines 230..233
      p2p/p2pmock/mock_actorcontext.go on lines 309..312
      p2p/p2pmock/mock_actorservice.go on lines 129..132
      p2p/p2pmock/mock_certificate.go on lines 87..90
      p2p/p2pmock/mock_certificate.go on lines 101..104
      p2p/p2pmock/mock_certificate.go on lines 137..140
      p2p/p2pmock/mock_certificate.go on lines 149..152
      p2p/p2pmock/mock_chainaccessor.go on lines 61..64
      p2p/p2pmock/mock_chainaccessor.go on lines 90..93
      p2p/p2pmock/mock_chainaccessor.go on lines 104..107
      p2p/p2pmock/mock_chainaccessor.go on lines 133..136
      p2p/p2pmock/mock_consensus.go on lines 95..98
      p2p/p2pmock/mock_consensus.go on lines 109..112
      p2p/p2pmock/mock_handshake.go on lines 153..156
      p2p/p2pmock/mock_handshake.go on lines 234..237
      p2p/p2pmock/mock_host.go on lines 52..55
      p2p/p2pmock/mock_host.go on lines 66..69
      p2p/p2pmock/mock_host.go on lines 80..83
      p2p/p2pmock/mock_host.go on lines 108..111
      p2p/p2pmock/mock_host.go on lines 122..125
      p2p/p2pmock/mock_host.go on lines 136..139
      p2p/p2pmock/mock_host.go on lines 150..153
      p2p/p2pmock/mock_host.go on lines 184..187
      p2p/p2pmock/mock_internalservice.go on lines 47..50
      p2p/p2pmock/mock_internalservice.go on lines 61..64
      p2p/p2pmock/mock_internalservice.go on lines 75..78
      p2p/p2pmock/mock_internalservice.go on lines 89..92
      p2p/p2pmock/mock_internalservice.go on lines 103..106
      p2p/p2pmock/mock_internalservice.go on lines 117..120
      p2p/p2pmock/mock_internalservice.go on lines 131..134
      p2p/p2pmock/mock_internalservice.go on lines 145..148
      p2p/p2pmock/mock_io.go on lines 82..85
      p2p/p2pmock/mock_io.go on lines 172..175
      p2p/p2pmock/mock_io.go on lines 224..227
      p2p/p2pmock/mock_listmanager.go on lines 44..47
      p2p/p2pmock/mock_listmanager.go on lines 56..59
      p2p/p2pmock/mock_listmanager.go on lines 83..86
      p2p/p2pmock/mock_listmanager.go on lines 97..100
      p2p/p2pmock/mock_message.go on lines 47..50
      p2p/p2pmock/mock_message.go on lines 61..64
      p2p/p2pmock/mock_message.go on lines 75..78
      p2p/p2pmock/mock_message.go on lines 89..92
      p2p/p2pmock/mock_message.go on lines 103..106
      p2p/p2pmock/mock_message.go on lines 117..120
      p2p/p2pmock/mock_message.go on lines 152..155
      p2p/p2pmock/mock_message.go on lines 166..169
      p2p/p2pmock/mock_message.go on lines 178..181
      p2p/p2pmock/mock_message.go on lines 266..269
      p2p/p2pmock/mock_message.go on lines 313..316
      p2p/p2pmock/mock_metricsman.go on lines 44..47
      p2p/p2pmock/mock_metricsman.go on lines 56..59
      p2p/p2pmock/mock_metricsman.go on lines 113..116
      p2p/p2pmock/mock_metricsman.go on lines 127..130
      p2p/p2pmock/mock_metricsman.go on lines 141..144
      p2p/p2pmock/mock_msgio.go on lines 46..49
      p2p/p2pmock/mock_msgio.go on lines 74..77
      p2p/p2pmock/mock_msgorder.go on lines 47..50
      p2p/p2pmock/mock_msgorder.go on lines 61..64
      p2p/p2pmock/mock_msgorder.go on lines 75..78
      p2p/p2pmock/mock_msgorder.go on lines 89..92
      p2p/p2pmock/mock_msgorder.go on lines 103..106
      p2p/p2pmock/mock_networktransport.go on lines 55..58
      p2p/p2pmock/mock_networktransport.go on lines 69..72
      p2p/p2pmock/mock_networktransport.go on lines 83..86
      p2p/p2pmock/mock_networktransport.go on lines 132..135
      p2p/p2pmock/mock_networktransport.go on lines 146..149
      p2p/p2pmock/mock_networktransport.go on lines 174..177
      p2p/p2pmock/mock_networktransport.go on lines 202..205
      p2p/p2pmock/mock_networktransport.go on lines 284..287
      p2p/p2pmock/mock_networktransport.go on lines 298..301
      p2p/p2pmock/mock_networktransport.go on lines 312..315
      p2p/p2pmock/mock_networktransport.go on lines 346..349
      p2p/p2pmock/mock_networktransport.go on lines 372..375
      p2p/p2pmock/mock_networktransport.go on lines 410..413
      p2p/p2pmock/mock_networktransport.go on lines 424..427
      p2p/p2pmock/mock_peerfinder.go on lines 116..119
      p2p/p2pmock/mock_peerfinder.go on lines 201..204
      p2p/p2pmock/mock_peermanager.go on lines 59..62
      p2p/p2pmock/mock_peermanager.go on lines 73..76
      p2p/p2pmock/mock_peermanager.go on lines 87..90
      p2p/p2pmock/mock_peermanager.go on lines 101..104
      p2p/p2pmock/mock_peermanager.go on lines 178..181
      p2p/p2pmock/mock_peermanager.go on lines 192..195
      p2p/p2pmock/mock_peermanager.go on lines 206..209
      p2p/p2pmock/mock_peermanager.go on lines 234..237
      p2p/p2pmock/mock_peermanager.go on lines 272..275
      p2p/p2pmock/mock_peerrole.go on lines 44..47
      p2p/p2pmock/mock_peerrole.go on lines 56..59
      p2p/p2pmock/mock_peerrole.go on lines 82..85
      p2p/p2pmock/mock_protobuf.go on lines 47..50
      p2p/p2pmock/mock_remotepeer.go on lines 84..87
      p2p/p2pmock/mock_remotepeer.go on lines 98..101
      p2p/p2pmock/mock_remotepeer.go on lines 112..115
      p2p/p2pmock/mock_remotepeer.go on lines 126..129
      p2p/p2pmock/mock_remotepeer.go on lines 140..143
      p2p/p2pmock/mock_remotepeer.go on lines 154..157
      p2p/p2pmock/mock_remotepeer.go on lines 206..209
      p2p/p2pmock/mock_remotepeer.go on lines 220..223
      p2p/p2pmock/mock_remotepeer.go on lines 232..235
      p2p/p2pmock/mock_remotepeer.go on lines 244..247
      p2p/p2pmock/mock_remotepeer.go on lines 377..380
      p2p/p2pmock/mock_stream.go on lines 51..54
      p2p/p2pmock/mock_stream.go on lines 65..68
      p2p/p2pmock/mock_stream.go on lines 79..82
      p2p/p2pmock/mock_stream.go on lines 93..96
      p2p/p2pmock/mock_stream.go on lines 107..110
      p2p/p2pmock/mock_stream.go on lines 121..124
      p2p/p2pmock/mock_stream.go on lines 150..153
      p2p/p2pmock/mock_stream.go on lines 218..221
      p2p/p2pmock/mock_stream.go on lines 270..273
      p2p/p2pmock/mock_stream.go on lines 284..287
      p2p/p2pmock/mock_stream.go on lines 298..301
      p2p/p2pmock/mock_stream.go on lines 312..315
      p2p/p2pmock/mock_stream.go on lines 326..329
      p2p/p2pmock/mock_stream.go on lines 340..343
      p2p/p2pmock/mock_stream.go on lines 369..372
      p2p/p2pmock/mock_stream.go on lines 383..386
      p2p/p2pmock/mock_stream.go on lines 397..400
      p2p/p2pmock/mock_stream.go on lines 411..414
      p2p/p2pmock/mock_syncmanager.go on lines 131..134
      p2p/p2pmock/mock_syncmanager.go on lines 143..146
      p2p/p2pmock/mock_syncmanager.go on lines 157..160
      p2p/p2pmock/mock_syncmanager.go on lines 209..212
      p2p/p2pmock/mock_syncmanager.go on lines 223..226

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 102.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

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

      func (m *MockRemotePeer) GetReceiver(id p2pcommon.MsgID) p2pcommon.ResponseReceiver {
          m.ctrl.T.Helper()
          ret := m.ctrl.Call(m, "GetReceiver", id)
          ret0, _ := ret[0].(p2pcommon.ResponseReceiver)
          return ret0
      Severity: Minor
      Found in p2p/p2pmock/mock_remotepeer.go and 2 other locations - About 30 mins to fix
      p2p/p2pmock/mock_msgorder.go on lines 256..261
      p2p/p2pmock/mock_peerrole.go on lines 88..93

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 101.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

      There are no issues that match your filters.

      Category
      Status