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  //}