github.com/cranelv/ethereum_mpc@v0.0.0-20191031014521-23aeb1415092/mpcService/step/request_mpcAccount_step.go (about) 1 package step 2 3 import ( 4 "github.com/ethereum/go-ethereum/common" 5 "github.com/ethereum/go-ethereum/mpcService/protocol" 6 "github.com/ethereum/go-ethereum/log" 7 ) 8 9 type RequestMpcAccountStep struct { 10 BaseStep 11 address []byte 12 message map[common.Hash]bool 13 } 14 func (req *RequestMpcAccountStep) InitStep()error{ 15 return nil 16 } 17 func (req *RequestMpcAccountStep) CreateMessage() []protocol.StepMessage { 18 msg := protocol.StepMessage{ 19 Msgcode:protocol.MSG_RequestMPC, 20 PeerID:nil, 21 Peers:req.nodeInfo.GetPeers()} 22 return []protocol.StepMessage{msg} 23 } 24 25 func (req *RequestMpcAccountStep) FinishStep(mpc protocol.MpcManager) error { 26 err := req.BaseStep.FinishStep() 27 if err != nil { 28 return err 29 } 30 return nil 31 } 32 33 func (req *RequestMpcAccountStep) HandleMessage(msg *protocol.StepMessage) bool { 34 log.Info("RequestMpcStep.HandleMessage begin," ,"peerID", msg.PeerID) 35 return true 36 } 37 38 39 func CreateRequestMpcStep(result protocol.MpcResultInterface,nodeinfo protocol.MpcNodeInterface, messageType uint32) protocol.MpcStepFunc { 40 if messageType == protocol.MpcCreateLockAccountLeader{ 41 return &RequestMpcAccountStep{BaseStep: *CreateBaseStep(result,nodeinfo, nodeinfo.NeedQuorum()-1,true), message: make(map[common.Hash]bool)} 42 }else if messageType == protocol.MpcTXSignLeader{ 43 return &RequestMpcSignStep{BaseStep: *CreateBaseStep(result,nodeinfo, nodeinfo.NeedQuorum()-1,true), message: make(map[common.Hash]bool)} 44 } 45 return nil 46 } 47 48