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

Method PushMultData

model/script/script.go:857–879  ·  view source on GitHub ↗
(data [][]byte)

Source from the content-addressed store, hash-verified

855}
856
857func (s *Script) PushMultData(data [][]byte) error {
858 for _, e := range data {
859 dataLen := len(e)
860 if dataLen < opcodes.OP_PUSHDATA1 {
861 s.data = append(s.data, byte(dataLen))
862 } else if dataLen <= 0xff {
863 s.data = append(s.data, opcodes.OP_PUSHDATA1, byte(dataLen))
864 } else if dataLen <= 0xffff {
865 s.data = append(s.data, opcodes.OP_PUSHDATA2)
866 buf := make([]byte, 2)
867 binary.LittleEndian.PutUint16(buf, uint16(dataLen))
868 s.data = append(s.data, buf...)
869 } else {
870 s.data = append(s.data, opcodes.OP_PUSHDATA4)
871 buf := make([]byte, 4)
872 binary.LittleEndian.PutUint32(buf, uint32(dataLen))
873 s.data = append(s.data, buf...)
874 }
875 s.data = append(s.data, e...)
876 }
877 err := s.convertOPS()
878 return err
879}
880
881func (s *Script) Bytes() []byte {
882 return s.data

Callers 4

TestScript_PushMultDataFunction · 0.80
doScriptJSONTestFunction · 0.80
SignRawTransactionFunction · 0.80
CombineSignatureFunction · 0.80

Calls 3

convertOPSMethod · 0.95
PutUint16Method · 0.80
PutUint32Method · 0.80

Tested by 2

TestScript_PushMultDataFunction · 0.64
doScriptJSONTestFunction · 0.64