-
Notifications
You must be signed in to change notification settings - Fork 15
/
gen_TxTooBig.go
105 lines (86 loc) · 1.94 KB
/
gen_TxTooBig.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
// Code generated by gotemplate. DO NOT EDIT.
package exception
import (
"bytes"
"encoding/json"
"reflect"
"strconv"
"github.com/eosspark/eos-go/log"
)
// template type Exception(PARENT,CODE,WHAT)
var TxTooBigName = reflect.TypeOf(TxTooBig{}).Name()
type TxTooBig struct {
_TransactionException
Elog log.Messages
}
func NewTxTooBig(parent _TransactionException, message log.Message) *TxTooBig {
return &TxTooBig{parent, log.Messages{message}}
}
func (e TxTooBig) Code() int64 {
return 3040013
}
func (e TxTooBig) Name() string {
return TxTooBigName
}
func (e TxTooBig) What() string {
return "Transaction is too big"
}
func (e *TxTooBig) AppendLog(l log.Message) {
e.Elog = append(e.Elog, l)
}
func (e TxTooBig) GetLog() log.Messages {
return e.Elog
}
func (e TxTooBig) TopMessage() string {
for _, l := range e.Elog {
if msg := l.GetMessage(); len(msg) > 0 {
return msg
}
}
return e.String()
}
func (e TxTooBig) DetailMessage() string {
var buffer bytes.Buffer
buffer.WriteString(strconv.Itoa(int(e.Code())))
buffer.WriteByte(' ')
buffer.WriteString(e.Name())
buffer.Write([]byte{':', ' '})
buffer.WriteString(e.What())
buffer.WriteByte('\n')
for _, l := range e.Elog {
buffer.WriteByte('[')
buffer.WriteString(l.GetMessage())
buffer.Write([]byte{']', ' '})
buffer.WriteString(l.GetContext().String())
buffer.WriteByte('\n')
}
return buffer.String()
}
func (e TxTooBig) String() string {
return e.DetailMessage()
}
func (e TxTooBig) MarshalJSON() ([]byte, error) {
type Exception struct {
Code int64 `json:"code"`
Name string `json:"name"`
What string `json:"what"`
}
except := Exception{
Code: 3040013,
Name: TxTooBigName,
What: "Transaction is too big",
}
return json.Marshal(except)
}
func (e TxTooBig) Callback(f interface{}) bool {
switch callback := f.(type) {
case func(*TxTooBig):
callback(&e)
return true
case func(TxTooBig):
callback(e)
return true
default:
return false
}
}