From 99dbbf48aae65667282af2c3856c94448847c261 Mon Sep 17 00:00:00 2001 From: Conner Fromknecht Date: Fri, 15 Mar 2019 02:29:55 -0700 Subject: [PATCH] watchtower/wtwire/error_code: add human-readable descriptors --- watchtower/wtwire/error_code.go | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/watchtower/wtwire/error_code.go b/watchtower/wtwire/error_code.go index 6a441784a..2f4bc6bb3 100644 --- a/watchtower/wtwire/error_code.go +++ b/watchtower/wtwire/error_code.go @@ -1,5 +1,7 @@ package wtwire +import "fmt" + // ErrorCode represents a generic error code used when replying to watchtower // clients. Specific reply messages may extend the ErrorCode primitive and add // custom codes, so long as they don't collide with the generic error codes.. @@ -18,3 +20,33 @@ const ( // permanently failed, and further communication should be avoided. CodePermanentFailure ErrorCode = 50 ) + +// String returns a human-readable description of an ErrorCode. +func (c ErrorCode) String() string { + switch c { + case CodeOK: + return "CodeOK" + case CodeTemporaryFailure: + return "CodeTemporaryFailure" + case CodePermanentFailure: + return "CodePermanentFailure" + case CreateSessionCodeAlreadyExists: + return "CreateSessionCodeAlreadyExists" + case CreateSessionCodeRejectMaxUpdates: + return "CreateSessionCodeRejectMaxUpdates" + case CreateSessionCodeRejectRewardRate: + return "CreateSessionCodeRejectRewardRate" + case CreateSessionCodeRejectSweepFeeRate: + return "CreateSessionCodeRejectSweepFeeRate" + case CreateSessionCodeRejectBlobType: + return "CreateSessionCodeRejectBlobType" + case StateUpdateCodeClientBehind: + return "StateUpdateCodeClientBehind" + case StateUpdateCodeMaxUpdatesExceeded: + return "StateUpdateCodeMaxUpdatesExceeded" + case StateUpdateCodeSeqNumOutOfOrder: + return "StateUpdateCodeSeqNumOutOfOrder" + default: + return fmt.Sprintf("UnknownErrorCode: %d", c) + } +}