MCPcopy Create free account
hub / github.com/copernet/copernicus / RemoveOpCodeByIndex

Method RemoveOpCodeByIndex

model/script/script.go:379–397  ·  view source on GitHub ↗
(index int)

Source from the content-addressed store, hash-verified

377}
378
379func (s *Script) RemoveOpCodeByIndex(index int) *Script {
380 opCodesLen := len(s.ParsedOpCodes)
381 if index < 0 || index >= opCodesLen {
382 return nil
383 }
384 if index == 0 {
385 if opCodesLen == 1 {
386 return NewEmptyScript()
387 }
388 return NewScriptOps(s.ParsedOpCodes[1:])
389 }
390 if index == opCodesLen-1 {
391 return NewScriptOps(s.ParsedOpCodes[:index])
392 }
393 parsedOpCodes := make([]opcodes.ParsedOpCode, 0, opCodesLen-1)
394 parsedOpCodes = append(parsedOpCodes, s.ParsedOpCodes[:index]...)
395 parsedOpCodes = append(parsedOpCodes, s.ParsedOpCodes[index+1:]...)
396 return NewScriptOps(parsedOpCodes)
397}
398
399func (s *Script) RemoveOpcode(code byte) *Script {
400 parsedOpCodes := make([]opcodes.ParsedOpCode, 0, len(s.ParsedOpCodes))

Callers 2

CombineSignatureFunction · 0.80

Calls 2

NewEmptyScriptFunction · 0.85
NewScriptOpsFunction · 0.85

Tested by 1