diff options
Diffstat (limited to 'signer/core/types.go')
-rw-r--r-- | signer/core/types.go | 31 |
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"` |