aboutsummaryrefslogtreecommitdiffstats
path: root/signer/core/types.go
diff options
context:
space:
mode:
Diffstat (limited to 'signer/core/types.go')
-rw-r--r--signer/core/types.go31
1 files changed, 31 insertions, 0 deletions
diff --git a/signer/core/types.go b/signer/core/types.go
index 2acc0a4f4..128055774 100644
--- a/signer/core/types.go
+++ b/signer/core/types.go
@@ -18,6 +18,7 @@ package core
import (
"encoding/json"
+ "fmt"
"strings"
"math/big"
@@ -60,6 +61,36 @@ type ValidationMessages struct {
Messages []ValidationInfo
}
+const (
+ WARN = "WARNING"
+ CRIT = "CRITICAL"
+ INFO = "Info"
+)
+
+func (vs *ValidationMessages) crit(msg string) {
+ vs.Messages = append(vs.Messages, ValidationInfo{CRIT, msg})
+}
+func (vs *ValidationMessages) warn(msg string) {
+ vs.Messages = append(vs.Messages, ValidationInfo{WARN, msg})
+}
+func (vs *ValidationMessages) info(msg string) {
+ vs.Messages = append(vs.Messages, ValidationInfo{INFO, msg})
+}
+
+/// getWarnings returns an error with all messages of type WARN of above, or nil if no warnings were present
+func (v *ValidationMessages) getWarnings() error {
+ var messages []string
+ for _, msg := range v.Messages {
+ if msg.Typ == WARN || msg.Typ == CRIT {
+ messages = append(messages, msg.Message)
+ }
+ }
+ if len(messages) > 0 {
+ return fmt.Errorf("Validation failed: %s", strings.Join(messages, ","))
+ }
+ return nil
+}
+
// SendTxArgs represents the arguments to submit a transaction
type SendTxArgs struct {
From common.MixedcaseAddress `json:"from"`