github.com/annchain/OG@v0.0.9/og/protocol/ogmessage/archive/txbase.go (about) 1 package archive 2 3 import ( 4 "github.com/annchain/OG/arefactor/og/types" 5 "github.com/annchain/OG/common/hexutil" 6 ) 7 8 //go:generate msgp 9 var CanRecoverPubFromSig bool 10 11 type TxBaseType uint16 12 13 //add tx types here 14 const ( 15 TxBaseTypeNormal TxBaseType = iota 16 TxBaseTypeSequencer 17 TxBaseTypeCampaign 18 TxBaseTypeTermChange 19 TxBaseTypeArchive 20 TxBaseAction 21 ) 22 23 func (t TxBaseType) String() string { 24 switch t { 25 case TxBaseTypeNormal: 26 return "TX" 27 case TxBaseTypeSequencer: 28 return "SQ" 29 case TxBaseTypeCampaign: 30 return "CP" 31 case TxBaseTypeTermChange: 32 return "TC" 33 case TxBaseTypeArchive: 34 return "AC" 35 case TxBaseAction: 36 return "ATX" 37 default: 38 return "NA" 39 } 40 41 } 42 43 //msgp:tuple TxBaseJson 44 type TxBaseJson struct { 45 Type TxBaseType `json:"type"` 46 Hash types.Hash `json:"hash"` 47 ParentsHash types.Hashes `json:"parents_hash"` 48 AccountNonce uint64 `json:"account_nonce"` 49 Height uint64 `json:"height"` 50 PublicKey PublicKey `json:"public_key"` 51 Signature hexutil.Bytes `json:"signature"` 52 MineNonce uint64 `json:"mine_nonce"` 53 Weight uint64 `json:"weight"` 54 inValid bool `json:"in_valid"` 55 Version byte `json:"version"` 56 verified VerifiedType `json:"-"` 57 } 58 59 // 60 //func (t *TxBase) ToSmallCase() *TxBaseJson { 61 // if t == nil { 62 // return nil 63 // } 64 // b := TxBaseJson{ 65 // Type: t.Type, 66 // Height: t.Height, 67 // Hash: t.Hash, 68 // ParentsHash: t.ParentsHash, 69 // AccountNonce: t.AccountNonce, 70 // PublicKey: t.PublicKey, 71 // Signature: t.Signature, 72 // MineNonce: t.MineNonce, 73 // Weight: t.Weight, 74 // inValid: t.inValid, 75 // } 76 // return &b 77 //} 78 // 79 //func (t *TxBase) ToSmallCaseJson() ([]byte, error) { 80 // b := t.ToSmallCase() 81 // return json.Marshal(b) 82 //} 83 // 84 //func (t *TxBase) SetValid(b bool) { 85 // t.inValid = b 86 //} 87 // 88 //func (t *TxBase) IsVerified() VerifiedType { 89 // return t.verified 90 //} 91 // 92 //func (t *TxBase) SetVerified(v VerifiedType) { 93 // t.verified = t.verified.Merge(v) 94 //} 95 // 96 //func (t *TxBase) Valid() bool { 97 // return t.inValid 98 //} 99 // 100 //func (t *TxBase) GetType() TxBaseType { 101 // return t.Type 102 //} 103 // 104 //func (t *TxBase) GetHeight() uint64 { 105 // return t.Height 106 //} 107 // 108 //func (t *TxBase) GetWeight() uint64 { 109 // return t.Weight 110 //} 111 // 112 //func (t *TxBase) GetHash() common.Hash { 113 // return t.Hash 114 //} 115 // 116 //func (t *TxBase) GetNonce() uint64 { 117 // return t.AccountNonce 118 //} 119 // 120 //func (t *TxBase) GetParents() common.Hashes { 121 // return t.ParentsHash 122 //} 123 // 124 //func (t *TxBase) SetHash(hash common.Hash) { 125 // t.Hash = hash 126 //} 127 // 128 //func (t *TxBase) GetVersion() byte { 129 // return t.Version 130 //}