github.com/sixexorg/magnetic-ring@v0.0.0-20191119090307-31705a21e419/store/mainchain/validation/tx_handler_system.go (about)

     1  package validation
     2  
     3  import (
     4  	"github.com/sixexorg/magnetic-ring/core/mainchain/types"
     5  )
     6  
     7  func systemTxRoute(tx *types.Transaction) ([]*OpLog, bool) {
     8  	switch tx.TxType {
     9  	case types.ConsensusLeague:
    10  		return AnalysisConsensusLeague(tx), true
    11  	case types.RaiseUT:
    12  		return AnalysisRaiseUT(tx), true
    13  	case types.EnergyToMain:
    14  		return AnalysisEnergyToMain(tx), true
    15  	case types.ApplyPass:
    16  		return AnalysisApplyPass(tx), true
    17  
    18  	}
    19  	return nil, false
    20  }
    21  
    22  func AnalysisConsensusLeague(tx *types.Transaction) []*OpLog {
    23  	oplogs := make([]*OpLog, 0, 1)
    24  	oplogs = append(oplogs, oplogPraseAddressBigInt(tx.TxData.From, tx.TxData.Fee, League_gas_destroy))
    25  	return oplogs
    26  }
    27  func AnalysisRaiseUT(tx *types.Transaction) []*OpLog {
    28  	oplogs := make([]*OpLog, 0, 4)
    29  	oplogs = append(oplogs, oplogPraseAddresUint64(tx.TxData.From, tx.TxData.Nonce, Account_nonce_add))
    30  	oplogs = append(oplogs, oplogPraseAddressBigInt(tx.TxData.From, tx.TxData.MetaBox, Account_box_sub))
    31  	oplogs = append(oplogs, oplogPraseAddressBigInt(tx.TxData.LeagueId, tx.TxData.MetaBox, League_raise))
    32  	return oplogs
    33  }
    34  func AnalysisEnergyToMain(tx *types.Transaction) []*OpLog {
    35  	oplogs := make([]*OpLog, 0, 1)
    36  	oplogs = append(oplogs, oplogPraseAddressBigInt(tx.TxData.From, tx.TxData.Energy, Account_energy_add))
    37  	//oplogs = append(oplogs, oplogPraseAddressBigInt(tx.TxData.LeagueId, tx.TxData.MetaBox, League_gas_sub))
    38  	return oplogs
    39  }
    40  func AnalysisApplyPass(tx *types.Transaction) []*OpLog {
    41  	oplogs := make([]*OpLog, 0, 1)
    42  	oplogs = append(oplogs, oplogPraseAddresAddress(tx.TxData.From, tx.TxData.LeagueId, League_member_add))
    43  	return oplogs
    44  }