toBuffer method
Implementation
List<int> toBuffer({int? size, Endian endian = Endian.big}) {
// List<int> buf = hex.decode(hexStr);
List<int> buf = [];
if (size != null) {
var hexStr = this.bn!.toRadixString(16).padLeft0();
var natlen = hexStr.length ~/ 2;
buf = hex.decode(hexStr);
if (natlen == size) {
//pass
} else if (natlen > size) {
buf = buf.getRange(natlen - buf.length, buf.length).toList();
} else if (natlen < size) {
// var rbuf = List<int?>(size);
List<int> rbuf = List.filled(size, 0);
for (var i = 0; i < buf.length; i++) {
rbuf[rbuf.length - 1 - i] = buf[buf.length - 1 - i];
}
for (var i = 0; i < size - natlen; i++) {
rbuf[i] = 0;
}
buf = rbuf;
}
// buf = hex.decode(this.bn.toRadixString(16).padLeft(size, '0'));
// return this.bn.toRadixString(16).padLeft(size);
} else {
// var hexStr = this.bn.toRadixString(16).padLeft(2, '0');
var hexStr = this.bn!.toRadixString(16).padLeft0();
buf = hex.decode(hexStr);
}
if (endian == Endian.little) {
buf = reverseBuf(buf);
}
// Uint8List a;
// const longzero = Buffer.from([0])
// if (Buffer.compare(buf, longzero) === 0) {
// return Buffer.from([])
// }
// return hex.decode(this.bn.toRadixString(16));
return buf;
}