diff --git a/manager/eris-mint/eris-mint_test.go b/manager/eris-mint/eris-mint_test.go index 51633878f0b638a7ee6cd3445fd1828aa0415a66..8919ad4fc176a48bde74d2102caa80590bd61c78 100644 --- a/manager/eris-mint/eris-mint_test.go +++ b/manager/eris-mint/eris-mint_test.go @@ -28,8 +28,6 @@ func TestCompatibleConsensus(t *testing.T) { // compatible consensus engine for _, listedConsensus := range compatibleConsensus { - assert.Equal(t, IsCompatibleConsensus(listedConsensus), true, - fmt.Sprintf("ErisMint (%s) failed compatibility test with consensus %s", - GetErisMintVersion(), listedConsensus)) + assert.Nil(t, AssertCompatibleConsensus(listedConsensus)) } } diff --git a/manager/eris-mint/version.go b/manager/eris-mint/version.go index 96f42c5f60791b85a0a74c8f674d39fb3753ab80..a9120ad8219e1993c2273278deb8d6291f3f4923 100644 --- a/manager/eris-mint/version.go +++ b/manager/eris-mint/version.go @@ -17,6 +17,8 @@ package erismint import ( + "fmt" + version "github.com/eris-ltd/eris-db/version" ) @@ -43,11 +45,12 @@ func GetErisMintVersion() *version.VersionIdentifier { erisMintVersionMinor, erisMintVersionPatch) } -func IsCompatibleConsensus(consensusMinorVersion string) bool { +func AssertCompatibleConsensus(consensusMinorVersion string) error { for _, supported := range compatibleConsensus { if consensusMinorVersion == supported { - return true + return nil } } - return false + return fmt.Errorf("ErisMint (%s) is not compatible with consensus engine %s", + GetErisMintVersion(), consensusMinorVersion) } diff --git a/manager/manager.go b/manager/manager.go index 77e0d9b8b835d196150b099b7c0519b9ff227d3b..07a662f8d47c709ccf08c9a37058c5faf9e5065e 100644 --- a/manager/manager.go +++ b/manager/manager.go @@ -34,7 +34,9 @@ func NewApplication(moduleConfig *config.ModuleConfig, error) { switch moduleConfig.Name { case "erismint" : - + if err := erismint.AssertCompatibleConsensus(consensusMinorVersion); err != nil { + return nil, err + } return newErisMintPH(moduleConfig) } return nil, fmt.Errorf("PLACEHOLDER")