pushBytes method
dynamic
pushBytes
(Uint8List bytes)
Implementation
pushBytes(Uint8List bytes) {
int len = bytes.lengthInBytes;
if (len == 0) throw ArgumentError('empty bytes');
if (len <= OpCode.pushbytes75 + 1 - OpCode.pushbytes1) {
pushNum(len + OpCode.pushbytes1 - 1);
} else if (len < 0x100) {
pushOpcode(OpCode.pushdata1);
pushNum(len);
} else if (len < 0x10000) {
pushOpcode(OpCode.pushdata2);
pushNum(len, len: 2, bigEndian: false);
} else if (len < 0x100000000) {
pushOpcode(OpCode.pushdata4);
pushNum(len, len: 4, bigEndian: false);
} else {
throw ArgumentError('Invalid bytes len: ' + len.toString());
}
pushRawBytes(bytes);
}