package rulemgr import ( "encoding/json" "github.com/meshplus/bitxhub-kit/types" "gitlab.33.cn/link33/sidecar/internal/port" "gitlab.33.cn/link33/sidecar/model/pb" ) func (rm *RuleMgr) HandleRule(p port.Port, msg *pb.Message) { data := msg.Payload.Data rule := &Rule{} if err := json.Unmarshal(data, rule); err != nil { rm.logger.Error(err) return } ok := true err := rm.Ledger.SetCode(types.NewAddressByStr(rule.Address), rule.Code) if err != nil { ok = false rm.logger.Error(err) } res := RuleResponse{ Ok: ok, } ackData, err := json.Marshal(res) if err != nil { rm.logger.Error(err) return } err = p.AsyncSend(pb.Msg(pb.Message_ACK, true, ackData)) if err != nil { rm.logger.Error(err) } }