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

Method PushSingleData

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

Source from the content-addressed store, hash-verified

833}
834
835func (s *Script) PushSingleData(data []byte) error {
836 dataLen := len(data)
837 if dataLen < opcodes.OP_PUSHDATA1 {
838 s.data = append(s.data, byte(dataLen))
839 } else if dataLen <= 0xff {
840 s.data = append(s.data, opcodes.OP_PUSHDATA1, byte(dataLen))
841 } else if dataLen <= 0xffff {
842 s.data = append(s.data, opcodes.OP_PUSHDATA2)
843 buf := make([]byte, 2)
844 binary.LittleEndian.PutUint16(buf, uint16(dataLen))
845 s.data = append(s.data, buf...)
846 } else {
847 s.data = append(s.data, opcodes.OP_PUSHDATA4)
848 buf := make([]byte, 4)
849 binary.LittleEndian.PutUint32(buf, uint32(dataLen))
850 s.data = append(s.data, buf...)
851 }
852 s.data = append(s.data, data...)
853 err := s.convertOPS()
854 return err
855}
856
857func (s *Script) PushMultData(data [][]byte) error {
858 for _, e := range data {

Calls 3

convertOPSMethod · 0.95
PutUint16Method · 0.80
PutUint32Method · 0.80