forked from denkhaus/go-bitshares
/
gen_assetbitassetdataid.go
88 lines (70 loc) · 2.08 KB
/
gen_assetbitassetdataid.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
// This file was automatically generated by genny.
// Any changes will be lost if this file is regenerated.
// see https://github.com/cheekybits/genny
package types
import (
"fmt"
"github.com/bitcard/go-bitshares/util"
"github.com/denkhaus/logging"
"github.com/juju/errors"
)
type AssetBitAssetDataID struct {
ObjectID
}
func (p AssetBitAssetDataID) Marshal(enc *util.TypeEncoder) error {
if err := enc.EncodeUVarint(uint64(p.Instance())); err != nil {
return errors.Annotate(err, "encode instance")
}
return nil
}
func (p *AssetBitAssetDataID) Unmarshal(dec *util.TypeDecoder) error {
var instance uint64
if err := dec.DecodeUVarint(&instance); err != nil {
return errors.Annotate(err, "decode instance")
}
p.number = UInt64((uint64(SpaceTypeProtocol) << 56) | (uint64(ObjectTypeAssetBitAssetData) << 48) | instance)
return nil
}
type AssetBitAssetDataIDs []AssetBitAssetDataID
func (p AssetBitAssetDataIDs) Marshal(enc *util.TypeEncoder) error {
if err := enc.EncodeUVarint(uint64(len(p))); err != nil {
return errors.Annotate(err, "encode length")
}
for _, ex := range p {
if err := enc.Encode(ex); err != nil {
return errors.Annotate(err, "encode AssetBitAssetDataID")
}
}
return nil
}
func AssetBitAssetDataIDFromObject(ob GrapheneObject) AssetBitAssetDataID {
id, ok := ob.(*AssetBitAssetDataID)
if ok {
return *id
}
p := AssetBitAssetDataID{}
p.MustFromObject(ob)
if p.ObjectType() != ObjectTypeAssetBitAssetData {
panic(fmt.Sprintf("invalid ObjectType: %q has no ObjectType 'ObjectTypeAssetBitAssetData'", p.ID()))
}
return p
}
//NewAssetBitAssetDataID creates an new AssetBitAssetDataID object
func NewAssetBitAssetDataID(id string) GrapheneObject {
gid := new(AssetBitAssetDataID)
if err := gid.Parse(id); err != nil {
logging.Errorf(
"AssetBitAssetDataID parser error %v",
errors.Annotate(err, "Parse"),
)
return nil
}
if gid.ObjectType() != ObjectTypeAssetBitAssetData {
logging.Errorf(
"AssetBitAssetDataID parser error %s",
fmt.Sprintf("%q has no ObjectType 'ObjectTypeAssetBitAssetData'", id),
)
return nil
}
return gid
}