-
Notifications
You must be signed in to change notification settings - Fork 0
/
assetcreateoperation.go
81 lines (64 loc) · 2.18 KB
/
assetcreateoperation.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
package operations
//go:generate ffjson $GOFILE
import (
"github.com/CybexDex/cybex-go/types"
"github.com/CybexDex/cybex-go/util"
"github.com/juju/errors"
)
func init() {
types.OperationMap[types.OperationTypeAssetCreate] = func() types.Operation {
op := &AssetCreateOperation{}
return op
}
}
type AssetCreateOperation struct {
types.OperationFee
BitassetOptions *types.BitassetOptions `json:"bitasset_opts"`
CommonOptions types.AssetOptions `json:"common_options"`
Extensions types.Extensions `json:"extensions"`
IsPredictionMarket bool `json:"is_prediction_market"`
Issuer types.GrapheneID `json:"issuer"`
Precision types.UInt8 `json:"precision"`
Symbol string `json:"symbol"`
}
func (p AssetCreateOperation) Type() types.OperationType {
return types.OperationTypeAssetCreate
}
func (p AssetCreateOperation) Marshal(enc *util.TypeEncoder) error {
if err := enc.Encode(int8(p.Type())); err != nil {
return errors.Annotate(err, "encode OperationType")
}
if err := enc.Encode(p.Fee); err != nil {
return errors.Annotate(err, "encode fee")
}
if err := enc.Encode(p.Issuer); err != nil {
return errors.Annotate(err, "encode issuer")
}
if err := enc.Encode(p.Symbol); err != nil {
return errors.Annotate(err, "encode Symbol")
}
if err := enc.Encode(p.Precision); err != nil {
return errors.Annotate(err, "encode Precision")
}
if err := enc.Encode(p.CommonOptions); err != nil {
return errors.Annotate(err, "encode CommonOptions")
}
if err := enc.Encode(p.BitassetOptions != nil); err != nil {
return errors.Annotate(err, "encode have BitassetOptions")
}
if err := enc.Encode(p.BitassetOptions); err != nil {
return errors.Annotate(err, "encode BitassetOptions")
}
if err := enc.Encode(p.IsPredictionMarket); err != nil {
return errors.Annotate(err, "encode IsPredictionMarket")
}
if err := enc.Encode(p.Extensions); err != nil {
return errors.Annotate(err, "encode extensions")
}
return nil
}
//NewAssetCreateOperation creates a new AssetCreateOperation
func NewAssetCreateOperation() *AssetCreateOperation {
tx := AssetCreateOperation{}
return &tx
}