code: func (b *ScriptBuilder) AddOps(opcodes []byte) *ScriptBuilder {
  	if b.err != nil {
  		return b
  	}
  
  	// Pushes that would cause the script to exceed the largest allowed
  	// script size would result in a non-canonical script.
  	if len(b.script)+len(opcodes) > MaxScriptSize {
  		str := fmt.Sprintf("adding opcodes would exceed the maximum "+
  			"allowed canonical script length of %d", MaxScriptSize)
  		b.err = ErrScriptNotCanonical(str)
  		return b
  	}
  
  	b.script = append(b.script, opcodes...)
  	return b
  }
docs: // AddOps pushes the passed opcodes to the end of the script.  The script will
  // not be modified if pushing the opcodes would cause the script to exceed the
  // maximum allowed script engine size.