github.com/unicornultrafoundation/go-u2u@v1.0.0-rc1.0.20240205080301-e74a83d3fadc/u2u/marshal.go (about)

     1  package u2u
     2  
     3  import "encoding/json"
     4  
     5  func UpdateRules(src Rules, diff []byte) (res Rules, err error) {
     6  	changed := src.Copy()
     7  	err = json.Unmarshal(diff, &changed)
     8  	if err != nil {
     9  		return src, err
    10  	}
    11  	// protect readonly fields
    12  	res = changed
    13  	res.NetworkID = src.NetworkID
    14  	res.Name = src.Name
    15  	return
    16  }